@videojs/html 10.0.0-beta.29 → 10.0.0-beta.30
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/cdn/{ar-BgO-vdw6.js → ar-BbHGxPgW.js} +2 -2
- package/cdn/{ar-BgO-vdw6.js.map → ar-BbHGxPgW.js.map} +1 -1
- package/cdn/{ar-DGKbeOEU.js → ar-DsPINVvV.js} +2 -2
- package/cdn/{ar-DGKbeOEU.js.map → ar-DsPINVvV.js.map} +1 -1
- package/cdn/audio-headless.dev.js +1 -1
- package/cdn/audio-headless.js +1 -1
- package/cdn/audio-minimal-ui.dev.js +1 -1
- package/cdn/audio-minimal-ui.js +1 -1
- package/cdn/audio-minimal.dev.js +4 -4
- package/cdn/audio-minimal.dev.js.map +1 -1
- package/cdn/audio-minimal.js +1 -1
- package/cdn/audio-minimal.js.map +1 -1
- package/cdn/audio-ui.dev.js +1 -1
- package/cdn/audio-ui.js +1 -1
- package/cdn/audio.dev.js +4 -4
- package/cdn/audio.dev.js.map +1 -1
- package/cdn/audio.js +1 -1
- package/cdn/audio.js.map +1 -1
- package/cdn/{az-BXA58gAV.js → az-BNG9I9VB.js} +2 -2
- package/cdn/{az-BXA58gAV.js.map → az-BNG9I9VB.js.map} +1 -1
- package/cdn/{az-BT93Xmvh.js → az-q6l4N3j1.js} +2 -2
- package/cdn/{az-BT93Xmvh.js.map → az-q6l4N3j1.js.map} +1 -1
- package/cdn/background.dev.js +1 -1
- package/cdn/background.js +1 -1
- package/cdn/{bg-CNMY77ir.js → bg-BdKU1ynW.js} +2 -2
- package/cdn/{bg-CNMY77ir.js.map → bg-BdKU1ynW.js.map} +1 -1
- package/cdn/{bg-B3I4SlRq.js → bg-DCWtl1c4.js} +2 -2
- package/cdn/{bg-B3I4SlRq.js.map → bg-DCWtl1c4.js.map} +1 -1
- package/cdn/{bn-KcCmQhYd.js → bn-BbmORCrv.js} +2 -2
- package/cdn/{bn-KcCmQhYd.js.map → bn-BbmORCrv.js.map} +1 -1
- package/cdn/{bn-CcLIScl6.js → bn-DZmQ9OJ-.js} +2 -2
- package/cdn/{bn-CcLIScl6.js.map → bn-DZmQ9OJ-.js.map} +1 -1
- package/cdn/{bs-BGd6Lc0X.js → bs-BvptjSqN.js} +2 -2
- package/cdn/{bs-BGd6Lc0X.js.map → bs-BvptjSqN.js.map} +1 -1
- package/cdn/{bs-CS5F7Fa6.js → bs-Cw5PmwUl.js} +2 -2
- package/cdn/{bs-CS5F7Fa6.js.map → bs-Cw5PmwUl.js.map} +1 -1
- package/cdn/{ca-BIdQJZV-.js → ca-Cn5dI2Qs.js} +2 -2
- package/cdn/{ca-BIdQJZV-.js.map → ca-Cn5dI2Qs.js.map} +1 -1
- package/cdn/{ca-tFUfQ2mI.js → ca-CoCZNriH.js} +2 -2
- package/cdn/{ca-tFUfQ2mI.js.map → ca-CoCZNriH.js.map} +1 -1
- package/cdn/compounds-CHlzbAKu.js +8 -0
- package/cdn/compounds-CHlzbAKu.js.map +1 -0
- package/cdn/{compounds-C73u1MeO.js → compounds-D1FPw7jg.js} +99 -109
- package/cdn/compounds-D1FPw7jg.js.map +1 -0
- package/cdn/{create-player-Db1CIvlK.js → create-player-5UrHNqBI.js} +704 -704
- package/cdn/create-player-5UrHNqBI.js.map +1 -0
- package/cdn/create-player-LjvbIxIq.js +2 -0
- package/cdn/create-player-LjvbIxIq.js.map +1 -0
- package/cdn/{cs-B9lsmY_k.js → cs-BV3Sx3fM.js} +2 -2
- package/cdn/{cs-B9lsmY_k.js.map → cs-BV3Sx3fM.js.map} +1 -1
- package/cdn/{cs-CGi94LND.js → cs-D5U7GOvT.js} +2 -2
- package/cdn/{cs-CGi94LND.js.map → cs-D5U7GOvT.js.map} +1 -1
- package/cdn/{cy-m5eMZq7d.js → cy-C1ARfOdw.js} +2 -2
- package/cdn/{cy-m5eMZq7d.js.map → cy-C1ARfOdw.js.map} +1 -1
- package/cdn/{cy-DW6qAdUj.js → cy-DudRluPj.js} +2 -2
- package/cdn/{cy-DW6qAdUj.js.map → cy-DudRluPj.js.map} +1 -1
- package/cdn/{da-B5RntG8L.js → da-B7ZwuW3M.js} +2 -2
- package/cdn/{da-B5RntG8L.js.map → da-B7ZwuW3M.js.map} +1 -1
- package/cdn/{da-BW7obU8g.js → da-II10K6Ey.js} +2 -2
- package/cdn/{da-BW7obU8g.js.map → da-II10K6Ey.js.map} +1 -1
- package/cdn/{de-D3KzJ5Tz.js → de-B6OPMaJ5.js} +2 -2
- package/cdn/{de-D3KzJ5Tz.js.map → de-B6OPMaJ5.js.map} +1 -1
- package/cdn/{de-B1BbfHoj.js → de-Dp0rNs6I.js} +2 -2
- package/cdn/{de-B1BbfHoj.js.map → de-Dp0rNs6I.js.map} +1 -1
- package/cdn/device-pixel-ratio-BuD3pqk8.js +2 -0
- package/cdn/device-pixel-ratio-BuD3pqk8.js.map +1 -0
- package/cdn/device-pixel-ratio-mmUkCbE0.js +48 -0
- package/cdn/device-pixel-ratio-mmUkCbE0.js.map +1 -0
- package/cdn/{el-DpHi5eUV.js → el-EOboxCMK.js} +2 -2
- package/cdn/{el-DpHi5eUV.js.map → el-EOboxCMK.js.map} +1 -1
- package/cdn/{el-B0opiKbz.js → el-KnLx85RQ.js} +2 -2
- package/cdn/{el-B0opiKbz.js.map → el-KnLx85RQ.js.map} +1 -1
- package/cdn/{error-surface-D0bo71gD.js → error-surface-BOIu7qNS.js} +30 -13
- package/cdn/error-surface-BOIu7qNS.js.map +1 -0
- package/cdn/{error-surface-BID4D3DW.js → error-surface-CK9nYgD5.js} +2 -2
- package/cdn/error-surface-CK9nYgD5.js.map +1 -0
- package/cdn/{es-DPmLLGjd.js → es--93P_KGd.js} +2 -2
- package/cdn/{es-DPmLLGjd.js.map → es--93P_KGd.js.map} +1 -1
- package/cdn/{es-R4DSKG7w.js → es-COk6VYCt.js} +2 -2
- package/cdn/{es-R4DSKG7w.js.map → es-COk6VYCt.js.map} +1 -1
- package/cdn/{et-DQHjBg68.js → et-B_7oInYP.js} +2 -2
- package/cdn/{et-DQHjBg68.js.map → et-B_7oInYP.js.map} +1 -1
- package/cdn/{et-Ba6ZgMTe.js → et-aUy-aqQn.js} +2 -2
- package/cdn/{et-Ba6ZgMTe.js.map → et-aUy-aqQn.js.map} +1 -1
- package/cdn/{eu-CBUcm8xq.js → eu-B6ITLPO5.js} +2 -2
- package/cdn/{eu-CBUcm8xq.js.map → eu-B6ITLPO5.js.map} +1 -1
- package/cdn/{eu-DXctohCN.js → eu-BG9wftF5.js} +2 -2
- package/cdn/{eu-DXctohCN.js.map → eu-BG9wftF5.js.map} +1 -1
- package/cdn/{fa-BSekhYli.js → fa-Dh0ufSh-.js} +2 -2
- package/cdn/{fa-BSekhYli.js.map → fa-Dh0ufSh-.js.map} +1 -1
- package/cdn/{fa-DVErbQrK.js → fa-Vvr1px4j.js} +2 -2
- package/cdn/{fa-DVErbQrK.js.map → fa-Vvr1px4j.js.map} +1 -1
- package/cdn/{fi-CvnyRW00.js → fi-BG_ciEXf.js} +2 -2
- package/cdn/{fi-CvnyRW00.js.map → fi-BG_ciEXf.js.map} +1 -1
- package/cdn/{fi-CFpiNsK2.js → fi-XtLm7xkM.js} +2 -2
- package/cdn/{fi-CFpiNsK2.js.map → fi-XtLm7xkM.js.map} +1 -1
- package/cdn/{fr-V1tRQlCS.js → fr-BXWr8Jqu.js} +2 -2
- package/cdn/{fr-V1tRQlCS.js.map → fr-BXWr8Jqu.js.map} +1 -1
- package/cdn/{fr-DFpP-osm.js → fr-CHcVddjH.js} +2 -2
- package/cdn/{fr-DFpP-osm.js.map → fr-CHcVddjH.js.map} +1 -1
- package/cdn/{gd-BSg8cDZO.js → gd-4GF6aH0c.js} +2 -2
- package/cdn/{gd-BSg8cDZO.js.map → gd-4GF6aH0c.js.map} +1 -1
- package/cdn/{gd-qpj49Ajf.js → gd-DjfDHZSD.js} +2 -2
- package/cdn/{gd-qpj49Ajf.js.map → gd-DjfDHZSD.js.map} +1 -1
- package/cdn/{gesture-element-CeRy1IVs.js → gesture-element-BbNy1Pjt.js} +2 -2
- package/cdn/{gesture-element-CeRy1IVs.js.map → gesture-element-BbNy1Pjt.js.map} +1 -1
- package/cdn/{gesture-element-DB67OYCE.js → gesture-element-KdpjbbBD.js} +3 -3
- package/cdn/{gesture-element-DB67OYCE.js.map → gesture-element-KdpjbbBD.js.map} +1 -1
- package/cdn/{gl-BkUKK3Id.js → gl-CMgj66_6.js} +2 -2
- package/cdn/{gl-BkUKK3Id.js.map → gl-CMgj66_6.js.map} +1 -1
- package/cdn/{gl-9SEblv-S.js → gl-D9ioIzwX.js} +2 -2
- package/cdn/{gl-9SEblv-S.js.map → gl-D9ioIzwX.js.map} +1 -1
- package/cdn/{he-1PXxurjR.js → he-CfWrcfG4.js} +2 -2
- package/cdn/{he-1PXxurjR.js.map → he-CfWrcfG4.js.map} +1 -1
- package/cdn/{he-DA_NFjk3.js → he-DfwOOgbT.js} +2 -2
- package/cdn/{he-DA_NFjk3.js.map → he-DfwOOgbT.js.map} +1 -1
- package/cdn/{hi-u7gnYTbQ.js → hi-BZ3n5dDB.js} +2 -2
- package/cdn/{hi-u7gnYTbQ.js.map → hi-BZ3n5dDB.js.map} +1 -1
- package/cdn/{hi-qm1t0A8G.js → hi-D3c9qx7l.js} +2 -2
- package/cdn/{hi-qm1t0A8G.js.map → hi-D3c9qx7l.js.map} +1 -1
- package/cdn/{hr-BlnRGxrs.js → hr-DEA0U32S.js} +2 -2
- package/cdn/{hr-BlnRGxrs.js.map → hr-DEA0U32S.js.map} +1 -1
- package/cdn/{hr-YlMHxjnx.js → hr-WZJQxYNC.js} +2 -2
- package/cdn/{hr-YlMHxjnx.js.map → hr-WZJQxYNC.js.map} +1 -1
- package/cdn/{hu-Cpl4civp.js → hu-Ci9TDNn-.js} +2 -2
- package/cdn/{hu-Cpl4civp.js.map → hu-Ci9TDNn-.js.map} +1 -1
- package/cdn/{hu-CfmcttWR.js → hu-XOjo5JlM.js} +2 -2
- package/cdn/{hu-CfmcttWR.js.map → hu-XOjo5JlM.js.map} +1 -1
- package/cdn/{i18n-D0nhPa0m.js → i18n-DeI9j-ko.js} +2 -2
- package/cdn/{i18n-D0nhPa0m.js.map → i18n-DeI9j-ko.js.map} +1 -1
- package/cdn/i18n-R3TQ8P2f.js +2 -0
- package/cdn/{i18n-CpBDXf6M.js.map → i18n-R3TQ8P2f.js.map} +1 -1
- package/cdn/i18n.dev.js +53 -53
- package/cdn/i18n.js +1 -1
- package/cdn/{id-COi2HloV.js → id-D2Z0jj2m.js} +2 -2
- package/cdn/{id-COi2HloV.js.map → id-D2Z0jj2m.js.map} +1 -1
- package/cdn/{id-Be_i6jhO.js → id-D9XC3sJi.js} +2 -2
- package/cdn/{id-Be_i6jhO.js.map → id-D9XC3sJi.js.map} +1 -1
- package/cdn/{it-B18weK94.js → it-CDVRQsJC.js} +2 -2
- package/cdn/{it-B18weK94.js.map → it-CDVRQsJC.js.map} +1 -1
- package/cdn/{it-DKKYDPD1.js → it-tbmwIgns.js} +2 -2
- package/cdn/{it-DKKYDPD1.js.map → it-tbmwIgns.js.map} +1 -1
- package/cdn/{ja-CeZwzavz.js → ja-Di4sbE9W.js} +2 -2
- package/cdn/{ja-CeZwzavz.js.map → ja-Di4sbE9W.js.map} +1 -1
- package/cdn/{ja-Bk6dXsfM.js → ja-DuWgmes7.js} +2 -2
- package/cdn/{ja-Bk6dXsfM.js.map → ja-DuWgmes7.js.map} +1 -1
- package/cdn/{ko-DpALhNiw.js → ko-BX5hcvm_.js} +2 -2
- package/cdn/{ko-DpALhNiw.js.map → ko-BX5hcvm_.js.map} +1 -1
- package/cdn/{ko-DzP46eEm.js → ko-CvalpIGs.js} +2 -2
- package/cdn/{ko-DzP46eEm.js.map → ko-CvalpIGs.js.map} +1 -1
- package/cdn/{live-button-element-Co8z2LkI.js → live-button-element-C-WypudK.js} +2 -2
- package/cdn/{live-button-element-Co8z2LkI.js.map → live-button-element-C-WypudK.js.map} +1 -1
- package/cdn/{live-button-element-zE-8uoR2.js → live-button-element-CylfQD0v.js} +3 -3
- package/cdn/{live-button-element-zE-8uoR2.js.map → live-button-element-CylfQD0v.js.map} +1 -1
- package/cdn/live-video-minimal.dev.js +7 -7
- package/cdn/live-video-minimal.dev.js.map +1 -1
- package/cdn/live-video-minimal.js +1 -1
- package/cdn/live-video-minimal.js.map +1 -1
- package/cdn/live-video.dev.js +8 -8
- package/cdn/live-video.dev.js.map +1 -1
- package/cdn/live-video.js +1 -1
- package/cdn/live-video.js.map +1 -1
- package/cdn/locales/ar.dev.js +1 -1
- package/cdn/locales/ar.js +1 -1
- package/cdn/locales/az.dev.js +1 -1
- package/cdn/locales/az.js +1 -1
- package/cdn/locales/bg.dev.js +1 -1
- package/cdn/locales/bg.js +1 -1
- package/cdn/locales/bn.dev.js +1 -1
- package/cdn/locales/bn.js +1 -1
- package/cdn/locales/bs.dev.js +1 -1
- package/cdn/locales/bs.js +1 -1
- package/cdn/locales/ca.dev.js +1 -1
- package/cdn/locales/ca.js +1 -1
- package/cdn/locales/cs.dev.js +1 -1
- package/cdn/locales/cs.js +1 -1
- package/cdn/locales/cy.dev.js +1 -1
- package/cdn/locales/cy.js +1 -1
- package/cdn/locales/da.dev.js +1 -1
- package/cdn/locales/da.js +1 -1
- package/cdn/locales/de.dev.js +1 -1
- package/cdn/locales/de.js +1 -1
- package/cdn/locales/el.dev.js +1 -1
- package/cdn/locales/el.js +1 -1
- package/cdn/locales/es.dev.js +1 -1
- package/cdn/locales/es.js +1 -1
- package/cdn/locales/et.dev.js +1 -1
- package/cdn/locales/et.js +1 -1
- package/cdn/locales/eu.dev.js +1 -1
- package/cdn/locales/eu.js +1 -1
- package/cdn/locales/fa.dev.js +1 -1
- package/cdn/locales/fa.js +1 -1
- package/cdn/locales/fi.dev.js +1 -1
- package/cdn/locales/fi.js +1 -1
- package/cdn/locales/fr.dev.js +1 -1
- package/cdn/locales/fr.js +1 -1
- package/cdn/locales/gd.dev.js +1 -1
- package/cdn/locales/gd.js +1 -1
- package/cdn/locales/gl.dev.js +1 -1
- package/cdn/locales/gl.js +1 -1
- package/cdn/locales/he.dev.js +1 -1
- package/cdn/locales/he.js +1 -1
- package/cdn/locales/hi.dev.js +1 -1
- package/cdn/locales/hi.js +1 -1
- package/cdn/locales/hr.dev.js +1 -1
- package/cdn/locales/hr.js +1 -1
- package/cdn/locales/hu.dev.js +1 -1
- package/cdn/locales/hu.js +1 -1
- package/cdn/locales/id.dev.js +1 -1
- package/cdn/locales/id.js +1 -1
- package/cdn/locales/it.dev.js +1 -1
- package/cdn/locales/it.js +1 -1
- package/cdn/locales/ja.dev.js +1 -1
- package/cdn/locales/ja.js +1 -1
- package/cdn/locales/ko.dev.js +1 -1
- package/cdn/locales/ko.js +1 -1
- package/cdn/locales/lt.dev.js +1 -1
- package/cdn/locales/lt.js +1 -1
- package/cdn/locales/lv.dev.js +1 -1
- package/cdn/locales/lv.js +1 -1
- package/cdn/locales/mr.dev.js +1 -1
- package/cdn/locales/mr.js +1 -1
- package/cdn/locales/nb.dev.js +1 -1
- package/cdn/locales/nb.js +1 -1
- package/cdn/locales/ne.dev.js +1 -1
- package/cdn/locales/ne.js +1 -1
- package/cdn/locales/nl.dev.js +1 -1
- package/cdn/locales/nl.js +1 -1
- package/cdn/locales/nn.dev.js +1 -1
- package/cdn/locales/nn.js +1 -1
- package/cdn/locales/oc.dev.js +1 -1
- package/cdn/locales/oc.js +1 -1
- package/cdn/locales/pl.dev.js +1 -1
- package/cdn/locales/pl.js +1 -1
- package/cdn/locales/pt-BR.dev.js +1 -1
- package/cdn/locales/pt-BR.js +1 -1
- package/cdn/locales/pt-PT.dev.js +1 -1
- package/cdn/locales/pt-PT.js +1 -1
- package/cdn/locales/pt.dev.js +1 -1
- package/cdn/locales/pt.js +1 -1
- package/cdn/locales/ro.dev.js +1 -1
- package/cdn/locales/ro.js +1 -1
- package/cdn/locales/ru.dev.js +1 -1
- package/cdn/locales/ru.js +1 -1
- package/cdn/locales/sk.dev.js +1 -1
- package/cdn/locales/sk.js +1 -1
- package/cdn/locales/sl.dev.js +1 -1
- package/cdn/locales/sl.js +1 -1
- package/cdn/locales/sr.dev.js +1 -1
- package/cdn/locales/sr.js +1 -1
- package/cdn/locales/sv.dev.js +1 -1
- package/cdn/locales/sv.js +1 -1
- package/cdn/locales/te.dev.js +1 -1
- package/cdn/locales/te.js +1 -1
- package/cdn/locales/th.dev.js +1 -1
- package/cdn/locales/th.js +1 -1
- package/cdn/locales/tr.dev.js +1 -1
- package/cdn/locales/tr.js +1 -1
- package/cdn/locales/uk.dev.js +1 -1
- package/cdn/locales/uk.js +1 -1
- package/cdn/locales/vi.dev.js +1 -1
- package/cdn/locales/vi.js +1 -1
- package/cdn/locales/zh-CN.dev.js +1 -1
- package/cdn/locales/zh-CN.js +1 -1
- package/cdn/locales/zh-TW.dev.js +1 -1
- package/cdn/locales/zh-TW.js +1 -1
- package/cdn/locales/zh.dev.js +1 -1
- package/cdn/locales/zh.js +1 -1
- package/cdn/{lt-CJC2CVhF.js → lt-DLXeAqcs.js} +2 -2
- package/cdn/{lt-CJC2CVhF.js.map → lt-DLXeAqcs.js.map} +1 -1
- package/cdn/{lt-y_SCQZXc.js → lt-ZQzwrnWQ.js} +2 -2
- package/cdn/{lt-y_SCQZXc.js.map → lt-ZQzwrnWQ.js.map} +1 -1
- package/cdn/{lv-E4LvfHSK.js → lv-CsVQVy3v.js} +2 -2
- package/cdn/{lv-E4LvfHSK.js.map → lv-CsVQVy3v.js.map} +1 -1
- package/cdn/{lv-CfdIbjKR.js → lv-RRA9zY_N.js} +2 -2
- package/cdn/{lv-CfdIbjKR.js.map → lv-RRA9zY_N.js.map} +1 -1
- package/cdn/media/cloudflare-video.dev.js +2 -2
- package/cdn/media/cloudflare-video.js +1 -1
- package/cdn/media/hls-audio.dev.js +1 -1
- package/cdn/media/hls-audio.js +1 -1
- package/cdn/media/hls-background-video.dev.js +1 -1
- package/cdn/media/hls-background-video.js +1 -1
- package/cdn/media/hls-video.dev.js +1 -1
- package/cdn/media/hls-video.js +1 -1
- package/cdn/media/mux-audio/spf.dev.js +1 -1
- package/cdn/media/mux-audio/spf.js +1 -1
- package/cdn/media/mux-background-video.dev.js +1 -1
- package/cdn/media/mux-background-video.js +1 -1
- package/cdn/media/mux-data.dev.js +1 -1
- package/cdn/media/mux-data.dev.js.map +1 -1
- package/cdn/media/mux-data.js +1 -1
- package/cdn/media/mux-data.js.map +1 -1
- package/cdn/media/mux-video/spf.dev.js +1 -1
- package/cdn/media/mux-video/spf.js +1 -1
- package/cdn/media/shaka-video.dev.d.ts +1 -0
- package/cdn/media/shaka-video.dev.js +35132 -0
- package/cdn/media/shaka-video.dev.js.map +1 -0
- package/cdn/media/shaka-video.js +55 -0
- package/cdn/media/shaka-video.js.map +1 -0
- package/cdn/media/spotify-audio.dev.js +2 -2
- package/cdn/media/spotify-audio.js +1 -1
- package/cdn/media/tiktok-video.dev.js +2 -2
- package/cdn/media/tiktok-video.js +1 -1
- package/cdn/media/twitch-video.dev.js +1 -1
- package/cdn/media/twitch-video.js +1 -1
- package/cdn/media/vimeo-video.dev.js +2 -2
- package/cdn/media/vimeo-video.js +2 -2
- package/cdn/media/youtube-video.dev.js +2 -2
- package/cdn/media/youtube-video.js +1 -1
- package/cdn/{media-mYKOAsk3.js → media-B4uT13xV.js} +13 -29
- package/cdn/media-B4uT13xV.js.map +1 -0
- package/cdn/{media-DI6DvYm3.js → media-B6LoDnMy.js} +57 -3
- package/cdn/media-B6LoDnMy.js.map +1 -0
- package/cdn/media-D6Xer97u.js +2 -0
- package/cdn/media-D6Xer97u.js.map +1 -0
- package/cdn/media-DdApyCAP.js +2 -0
- package/cdn/media-DdApyCAP.js.map +1 -0
- package/cdn/{media-D4tG62L5.js → media-YTtOjoEw.js} +2 -2
- package/cdn/{media-D4tG62L5.js.map → media-YTtOjoEw.js.map} +1 -1
- package/cdn/{media-BI8caj07.js → media-aZ7x4gGL.js} +3 -3
- package/cdn/{media-BI8caj07.js.map → media-aZ7x4gGL.js.map} +1 -1
- package/cdn/minimal-ui-D3XCtSx_.js +2 -0
- package/cdn/{minimal-ui-BXrq3z4U.js.map → minimal-ui-D3XCtSx_.js.map} +1 -1
- package/cdn/{minimal-ui-BCIESK8f.js → minimal-ui-KUzZkG_3.js} +8 -8
- package/cdn/{minimal-ui-BCIESK8f.js.map → minimal-ui-KUzZkG_3.js.map} +1 -1
- package/cdn/{minimal-ui-DEalpMk6.js → minimal-ui-ajeAXABk.js} +4 -4
- package/cdn/{minimal-ui-DEalpMk6.js.map → minimal-ui-ajeAXABk.js.map} +1 -1
- package/cdn/{minimal-ui-vY3QgohH.js → minimal-ui-p9QCZfCz.js} +2 -2
- package/cdn/{minimal-ui-vY3QgohH.js.map → minimal-ui-p9QCZfCz.js.map} +1 -1
- package/cdn/{mr-C4OijKV_.js → mr-CZ7oMzua.js} +2 -2
- package/cdn/{mr-C4OijKV_.js.map → mr-CZ7oMzua.js.map} +1 -1
- package/cdn/{mr-DmbgkSem.js → mr-CgFYVcpx.js} +2 -2
- package/cdn/{mr-DmbgkSem.js.map → mr-CgFYVcpx.js.map} +1 -1
- package/cdn/{nb-Bx5aKqbD.js → nb-DWtHJLYf.js} +2 -2
- package/cdn/{nb-Bx5aKqbD.js.map → nb-DWtHJLYf.js.map} +1 -1
- package/cdn/{nb-DQ3Nq1ZC.js → nb-ahqFuIy4.js} +2 -2
- package/cdn/{nb-DQ3Nq1ZC.js.map → nb-ahqFuIy4.js.map} +1 -1
- package/cdn/{ne-DTL8Y04V.js → ne-CFkutVHH.js} +2 -2
- package/cdn/{ne-DTL8Y04V.js.map → ne-CFkutVHH.js.map} +1 -1
- package/cdn/{ne-BM_WgrGC.js → ne-DQx0S7DC.js} +2 -2
- package/cdn/{ne-BM_WgrGC.js.map → ne-DQx0S7DC.js.map} +1 -1
- package/cdn/{nl-C7CWKQe5.js → nl-BbWS-uoT.js} +2 -2
- package/cdn/{nl-C7CWKQe5.js.map → nl-BbWS-uoT.js.map} +1 -1
- package/cdn/{nl-DMt-nkiN.js → nl-V4DJd2nd.js} +2 -2
- package/cdn/{nl-DMt-nkiN.js.map → nl-V4DJd2nd.js.map} +1 -1
- package/cdn/{nn-BOoGZjkf.js → nn-BoY6X0bu.js} +2 -2
- package/cdn/{nn-BOoGZjkf.js.map → nn-BoY6X0bu.js.map} +1 -1
- package/cdn/{nn-CT846E14.js → nn-Bp2EWBHZ.js} +2 -2
- package/cdn/{nn-CT846E14.js.map → nn-Bp2EWBHZ.js.map} +1 -1
- package/cdn/observe-elements-B4q3zaDw.js +79 -0
- package/cdn/observe-elements-B4q3zaDw.js.map +1 -0
- package/cdn/observe-elements-BivD4tHs.js +2 -0
- package/cdn/observe-elements-BivD4tHs.js.map +1 -0
- package/cdn/{oc-DQgnGeb2.js → oc-BJrdQkma.js} +2 -2
- package/cdn/{oc-DQgnGeb2.js.map → oc-BJrdQkma.js.map} +1 -1
- package/cdn/{oc-ClJwr9d0.js → oc-Dto6NU-U.js} +2 -2
- package/cdn/{oc-ClJwr9d0.js.map → oc-Dto6NU-U.js.map} +1 -1
- package/cdn/{pl-B7SFuF8C.js → pl-BmUKjVFU.js} +2 -2
- package/cdn/{pl-B7SFuF8C.js.map → pl-BmUKjVFU.js.map} +1 -1
- package/cdn/{pl-DWVOOhfp.js → pl-HlPnZjYT.js} +2 -2
- package/cdn/{pl-DWVOOhfp.js.map → pl-HlPnZjYT.js.map} +1 -1
- package/cdn/{player-B3GlPF90.js → player-B5zkgqwT.js} +2 -2
- package/cdn/{player-B3GlPF90.js.map → player-B5zkgqwT.js.map} +1 -1
- package/cdn/{player-DPDmTRvg.js → player-BXQMSpgR.js} +2 -2
- package/cdn/{player-DPDmTRvg.js.map → player-BXQMSpgR.js.map} +1 -1
- package/cdn/{player-CtTC7qa5.js → player-BuxifKSM.js} +2 -2
- package/cdn/{player-CtTC7qa5.js.map → player-BuxifKSM.js.map} +1 -1
- package/cdn/{player-DrDd7LJi.js → player-CngT-cVQ.js} +2 -2
- package/cdn/{player-DrDd7LJi.js.map → player-CngT-cVQ.js.map} +1 -1
- package/cdn/{player-L5UpZmT4.js → player-DMP2pc3L.js} +2 -2
- package/cdn/{player-L5UpZmT4.js.map → player-DMP2pc3L.js.map} +1 -1
- package/cdn/{player-DKkph8UM.js → player-POHYt5tr.js} +2 -2
- package/cdn/{player-DKkph8UM.js.map → player-POHYt5tr.js.map} +1 -1
- package/cdn/{poster-element-B5tdJ2ub.js → poster-element-CuCEBVr3.js} +3 -11
- package/cdn/poster-element-CuCEBVr3.js.map +1 -0
- package/cdn/{poster-element-B8QwXSU_.js → poster-element-Djlm5fwC.js} +2 -2
- package/cdn/{poster-element-B8QwXSU_.js.map → poster-element-Djlm5fwC.js.map} +1 -1
- package/cdn/{pt-BR-Dx0zZKM6.js → pt-BR-Cfv1ox9K.js} +2 -2
- package/cdn/{pt-BR-Dx0zZKM6.js.map → pt-BR-Cfv1ox9K.js.map} +1 -1
- package/cdn/{pt-BR-BweixWSY.js → pt-BR-j4XWQBdJ.js} +2 -2
- package/cdn/{pt-BR-BweixWSY.js.map → pt-BR-j4XWQBdJ.js.map} +1 -1
- package/cdn/{pt-C0Z9dXhV.js → pt-BUBSLaBp.js} +3 -3
- package/cdn/{pt-C0Z9dXhV.js.map → pt-BUBSLaBp.js.map} +1 -1
- package/cdn/{pt-PT-Di4o8ntw.js → pt-PT-DQ0otVWH.js} +2 -2
- package/cdn/{pt-PT-Di4o8ntw.js.map → pt-PT-DQ0otVWH.js.map} +1 -1
- package/cdn/{pt-PT-DlHt57Eg.js → pt-PT-DdJVXfMB.js} +2 -2
- package/cdn/{pt-PT-DlHt57Eg.js.map → pt-PT-DdJVXfMB.js.map} +1 -1
- package/cdn/pt-akbpk7gG.js +2 -0
- package/cdn/{pt-ohZp6iM5.js.map → pt-akbpk7gG.js.map} +1 -1
- package/cdn/relocation-pipelines-CBzRuD_s.js +2 -0
- package/cdn/relocation-pipelines-CBzRuD_s.js.map +1 -0
- package/cdn/{relocation-pipelines-Dh8CcgHw.js → relocation-pipelines-R2UVEy5p.js} +38 -2
- package/cdn/relocation-pipelines-R2UVEy5p.js.map +1 -0
- package/cdn/resolution-C4bCDOw4.js +2 -0
- package/cdn/resolution-C4bCDOw4.js.map +1 -0
- package/cdn/resolution-DPr_vTWF.js +29 -0
- package/cdn/resolution-DPr_vTWF.js.map +1 -0
- package/cdn/{ro-BB4KBp_W.js → ro-BiexogxI.js} +2 -2
- package/cdn/{ro-BB4KBp_W.js.map → ro-BiexogxI.js.map} +1 -1
- package/cdn/{ro-BU9kKrWV.js → ro-X-mft-iF.js} +2 -2
- package/cdn/{ro-BU9kKrWV.js.map → ro-X-mft-iF.js.map} +1 -1
- package/cdn/rolldown-runtime-KW3qVizi.js +42 -0
- package/cdn/rolldown-runtime-QTnfLwEv.js +1 -0
- package/cdn/{ru-CajU7FT2.js → ru-15_5g81L.js} +2 -2
- package/cdn/{ru-CajU7FT2.js.map → ru-15_5g81L.js.map} +1 -1
- package/cdn/{ru-BrWt8VXI.js → ru-GHEfsz_c.js} +2 -2
- package/cdn/{ru-BrWt8VXI.js.map → ru-GHEfsz_c.js.map} +1 -1
- package/cdn/{seek-button-element-5co-k0Dx.js → seek-button-element-BD2caCd5.js} +3 -3
- package/cdn/{seek-button-element-5co-k0Dx.js.map → seek-button-element-BD2caCd5.js.map} +1 -1
- package/cdn/{seek-button-element-B8TkILg-.js → seek-button-element-CgaXVFPS.js} +2 -2
- package/cdn/{seek-button-element-B8TkILg-.js.map → seek-button-element-CgaXVFPS.js.map} +1 -1
- package/cdn/{sk-DOZafohX.js → sk-BEvGx8AE.js} +2 -2
- package/cdn/{sk-DOZafohX.js.map → sk-BEvGx8AE.js.map} +1 -1
- package/cdn/{sk-XGkesNm5.js → sk-CbZOx0Xf.js} +2 -2
- package/cdn/{sk-XGkesNm5.js.map → sk-CbZOx0Xf.js.map} +1 -1
- package/cdn/{skin-element-DrkI8xuM.js → skin-element-DE8OodF5.js} +2 -2
- package/cdn/skin-element-DE8OodF5.js.map +1 -0
- package/cdn/{skin-element-DvX6Bxsv.js → skin-element-PDwjO4v0.js} +2 -10
- package/cdn/{skin-element-DvX6Bxsv.js.map → skin-element-PDwjO4v0.js.map} +1 -1
- package/cdn/{sl-CHuwx211.js → sl-BqYDAX6g.js} +2 -2
- package/cdn/{sl-CHuwx211.js.map → sl-BqYDAX6g.js.map} +1 -1
- package/cdn/{sl-CuZgo3JI.js → sl-D7uEXtkn.js} +2 -2
- package/cdn/{sl-CuZgo3JI.js.map → sl-D7uEXtkn.js.map} +1 -1
- package/cdn/{sr-BsZrd40u.js → sr-CBBykxkN.js} +2 -2
- package/cdn/{sr-BsZrd40u.js.map → sr-CBBykxkN.js.map} +1 -1
- package/cdn/{sr-CzT_52m8.js → sr-D10ir4DL.js} +2 -2
- package/cdn/{sr-CzT_52m8.js.map → sr-D10ir4DL.js.map} +1 -1
- package/cdn/{sv-CsISpTMM.js → sv-BGcohnZb.js} +2 -2
- package/cdn/{sv-CsISpTMM.js.map → sv-BGcohnZb.js.map} +1 -1
- package/cdn/{sv-hxsarb6k.js → sv-he8gk9up.js} +2 -2
- package/cdn/{sv-hxsarb6k.js.map → sv-he8gk9up.js.map} +1 -1
- package/cdn/{te-DUaUnw1d.js → te-DhEDBJ0Q.js} +2 -2
- package/cdn/{te-DUaUnw1d.js.map → te-DhEDBJ0Q.js.map} +1 -1
- package/cdn/{te-CG0NRKuG.js → te-Dw2hLtHG.js} +2 -2
- package/cdn/{te-CG0NRKuG.js.map → te-Dw2hLtHG.js.map} +1 -1
- package/cdn/{text-element-BoY6AhMn.js → text-element-BJyj7nLo.js} +2 -2
- package/cdn/{text-element-BoY6AhMn.js.map → text-element-BJyj7nLo.js.map} +1 -1
- package/cdn/{text-element-cg6l21cd.js → text-element-dyiwucQB.js} +2 -2
- package/cdn/{text-element-cg6l21cd.js.map → text-element-dyiwucQB.js.map} +1 -1
- package/cdn/{th-BYS5ZpYb.js → th-B3iYzmd5.js} +2 -2
- package/cdn/{th-BYS5ZpYb.js.map → th-B3iYzmd5.js.map} +1 -1
- package/cdn/{th-Bx_CvtvC.js → th-BMZDRGQ7.js} +2 -2
- package/cdn/{th-Bx_CvtvC.js.map → th-BMZDRGQ7.js.map} +1 -1
- package/cdn/{time-slider-chapters-element-CznFQWFm.js → time-slider-chapters-element-BTMqnBhM.js} +3 -3
- package/cdn/{time-slider-chapters-element-CznFQWFm.js.map → time-slider-chapters-element-BTMqnBhM.js.map} +1 -1
- package/cdn/{time-slider-chapters-element-BfLjdnU4.js → time-slider-chapters-element-b6oeaZtJ.js} +2 -2
- package/cdn/{time-slider-chapters-element-BfLjdnU4.js.map → time-slider-chapters-element-b6oeaZtJ.js.map} +1 -1
- package/cdn/{tr-5Cegmhcj.js → tr-BJOEOizJ.js} +2 -2
- package/cdn/{tr-5Cegmhcj.js.map → tr-BJOEOizJ.js.map} +1 -1
- package/cdn/{tr-BV5YcpOy.js → tr-CdLz59Rt.js} +2 -2
- package/cdn/{tr-BV5YcpOy.js.map → tr-CdLz59Rt.js.map} +1 -1
- package/cdn/{ui-BwzqkJNK.js → ui-BsUcH4YJ.js} +7 -7
- package/cdn/{ui-BwzqkJNK.js.map → ui-BsUcH4YJ.js.map} +1 -1
- package/cdn/{ui-fnKp94a7.js → ui-CtONjPC2.js} +9 -9
- package/cdn/{ui-fnKp94a7.js.map → ui-CtONjPC2.js.map} +1 -1
- package/cdn/ui-CxftD4RF.js +2 -0
- package/cdn/{ui-DayfItun.js.map → ui-CxftD4RF.js.map} +1 -1
- package/cdn/ui-DLvwCbsU.js +2 -0
- package/cdn/{ui-PSnD-pv8.js.map → ui-DLvwCbsU.js.map} +1 -1
- package/cdn/{uk-DsHkf0ZB.js → uk-BTa1prcg.js} +2 -2
- package/cdn/{uk-DsHkf0ZB.js.map → uk-BTa1prcg.js.map} +1 -1
- package/cdn/{uk-D2WGhYFz.js → uk-BW53WsQa.js} +2 -2
- package/cdn/{uk-D2WGhYFz.js.map → uk-BW53WsQa.js.map} +1 -1
- package/cdn/{vi-DBLOO1G4.js → vi-CGDf02ms.js} +2 -2
- package/cdn/{vi-DBLOO1G4.js.map → vi-CGDf02ms.js.map} +1 -1
- package/cdn/{vi-CORn5e7t.js → vi-CcOG_Tlw.js} +2 -2
- package/cdn/{vi-CORn5e7t.js.map → vi-CcOG_Tlw.js.map} +1 -1
- package/cdn/video-headless.dev.js +1 -1
- package/cdn/video-headless.js +1 -1
- package/cdn/video-minimal-ui.dev.js +1 -1
- package/cdn/video-minimal-ui.js +1 -1
- package/cdn/video-minimal.dev.js +4 -4
- package/cdn/video-minimal.dev.js.map +1 -1
- package/cdn/video-minimal.js +1 -1
- package/cdn/video-minimal.js.map +1 -1
- package/cdn/video-ui.dev.js +1 -1
- package/cdn/video-ui.js +1 -1
- package/cdn/video.dev.js +5 -5
- package/cdn/video.dev.js.map +1 -1
- package/cdn/video.js +1 -1
- package/cdn/video.js.map +1 -1
- package/cdn/{zh-R2vnxJiQ.js → zh-34ObMhvt.js} +3 -3
- package/cdn/{zh-R2vnxJiQ.js.map → zh-34ObMhvt.js.map} +1 -1
- package/cdn/{zh-CN-Cga4L1h3.js → zh-CN-C_IU0JUw.js} +2 -2
- package/cdn/{zh-CN-Cga4L1h3.js.map → zh-CN-C_IU0JUw.js.map} +1 -1
- package/cdn/{zh-CN-xq6taoBE.js → zh-CN-rZeJec8v.js} +2 -2
- package/cdn/{zh-CN-xq6taoBE.js.map → zh-CN-rZeJec8v.js.map} +1 -1
- package/cdn/zh-Cf3NSZs8.js +2 -0
- package/cdn/{zh-CtBcRYRs.js.map → zh-Cf3NSZs8.js.map} +1 -1
- package/cdn/{zh-TW-DWI1-WUt.js → zh-TW-5fFrgVzt.js} +2 -2
- package/cdn/{zh-TW-DWI1-WUt.js.map → zh-TW-5fFrgVzt.js.map} +1 -1
- package/cdn/{zh-TW-Dca2WbyD.js → zh-TW-BvuhCu_U.js} +2 -2
- package/cdn/{zh-TW-Dca2WbyD.js.map → zh-TW-BvuhCu_U.js.map} +1 -1
- package/dist/default/_virtual/inline-css_src/define/audio/minimal-skin.js +1 -1
- package/dist/default/_virtual/inline-css_src/define/audio/minimal-skin.js.map +1 -1
- package/dist/default/_virtual/inline-css_src/define/audio/skin.js +1 -1
- package/dist/default/_virtual/inline-css_src/define/audio/skin.js.map +1 -1
- package/dist/default/_virtual/inline-css_src/define/live-audio/minimal-skin.js +1 -1
- package/dist/default/_virtual/inline-css_src/define/live-audio/minimal-skin.js.map +1 -1
- package/dist/default/_virtual/inline-css_src/define/live-audio/skin.js +1 -1
- package/dist/default/_virtual/inline-css_src/define/live-audio/skin.js.map +1 -1
- package/dist/default/_virtual/inline-css_src/define/live-video/minimal-skin.js +1 -1
- package/dist/default/_virtual/inline-css_src/define/live-video/minimal-skin.js.map +1 -1
- package/dist/default/_virtual/inline-css_src/define/live-video/skin.js +1 -1
- package/dist/default/_virtual/inline-css_src/define/live-video/skin.js.map +1 -1
- package/dist/default/_virtual/inline-css_src/define/video/minimal-skin.js +1 -1
- package/dist/default/_virtual/inline-css_src/define/video/minimal-skin.js.map +1 -1
- package/dist/default/_virtual/inline-css_src/define/video/skin.js +1 -1
- package/dist/default/_virtual/inline-css_src/define/video/skin.js.map +1 -1
- package/dist/default/define/audio/minimal-skin.css +1 -3
- package/dist/default/define/audio/skin.css +1 -3
- package/dist/default/define/live-audio/minimal-skin.css +1 -3
- package/dist/default/define/live-audio/skin.css +1 -3
- package/dist/default/define/live-video/minimal-skin.css +2 -31
- package/dist/default/define/live-video/skin.css +2 -33
- package/dist/default/define/media/shaka-video.js +13 -0
- package/dist/default/define/media/shaka-video.js.map +1 -0
- package/dist/default/define/skin-element.js +0 -8
- package/dist/default/define/skin-element.js.map +1 -1
- package/dist/default/define/ui/title.js +7 -0
- package/dist/default/define/ui/title.js.map +1 -0
- package/dist/default/define/video/minimal-skin.css +2 -31
- package/dist/default/define/video/skin.css +2 -33
- package/dist/default/index.js +2 -1
- package/dist/default/media/shaka-video/media.js +9 -0
- package/dist/default/media/shaka-video/media.js.map +1 -0
- package/dist/default/skins/dist/default/default/tailwind/components/button.js +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/button.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/menu.js +2 -2
- package/dist/default/skins/dist/default/default/tailwind/components/menu.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/poster.js +1 -7
- package/dist/default/skins/dist/default/default/tailwind/components/poster.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js +1 -10
- package/dist/default/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/button.js +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/button.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/menu.js +2 -2
- package/dist/default/skins/dist/default/minimal/tailwind/components/menu.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/poster.js +1 -7
- package/dist/default/skins/dist/default/minimal/tailwind/components/poster.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js +1 -10
- package/dist/default/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
- package/dist/default/ui/poster/poster-element.js +0 -8
- package/dist/default/ui/poster/poster-element.js.map +1 -1
- package/dist/default/ui/thumbnail/thumbnail-element.js +22 -7
- package/dist/default/ui/thumbnail/thumbnail-element.js.map +1 -1
- package/dist/default/ui/time/time-element.js +2 -3
- package/dist/default/ui/time/time-element.js.map +1 -1
- package/dist/default/ui/title/title-element.js +37 -0
- package/dist/default/ui/title/title-element.js.map +1 -0
- package/dist/dev/_virtual/inline-css_src/define/audio/minimal-skin.js +1 -1
- package/dist/dev/_virtual/inline-css_src/define/audio/minimal-skin.js.map +1 -1
- package/dist/dev/_virtual/inline-css_src/define/audio/skin.js +1 -1
- package/dist/dev/_virtual/inline-css_src/define/audio/skin.js.map +1 -1
- package/dist/dev/_virtual/inline-css_src/define/live-audio/minimal-skin.js +1 -1
- package/dist/dev/_virtual/inline-css_src/define/live-audio/minimal-skin.js.map +1 -1
- package/dist/dev/_virtual/inline-css_src/define/live-audio/skin.js +1 -1
- package/dist/dev/_virtual/inline-css_src/define/live-audio/skin.js.map +1 -1
- package/dist/dev/_virtual/inline-css_src/define/live-video/minimal-skin.js +1 -1
- package/dist/dev/_virtual/inline-css_src/define/live-video/minimal-skin.js.map +1 -1
- package/dist/dev/_virtual/inline-css_src/define/live-video/skin.js +1 -1
- package/dist/dev/_virtual/inline-css_src/define/live-video/skin.js.map +1 -1
- package/dist/dev/_virtual/inline-css_src/define/video/minimal-skin.js +1 -1
- package/dist/dev/_virtual/inline-css_src/define/video/minimal-skin.js.map +1 -1
- package/dist/dev/_virtual/inline-css_src/define/video/skin.js +1 -1
- package/dist/dev/_virtual/inline-css_src/define/video/skin.js.map +1 -1
- package/dist/dev/define/audio/minimal-skin.css +1 -3
- package/dist/dev/define/audio/skin.css +1 -3
- package/dist/dev/define/live-audio/minimal-skin.css +1 -3
- package/dist/dev/define/live-audio/skin.css +1 -3
- package/dist/dev/define/live-video/minimal-skin.css +2 -31
- package/dist/dev/define/live-video/skin.css +2 -33
- package/dist/dev/define/media/shaka-video.d.ts +14 -0
- package/dist/dev/define/media/shaka-video.d.ts.map +1 -0
- package/dist/dev/define/media/shaka-video.js +13 -0
- package/dist/dev/define/media/shaka-video.js.map +1 -0
- package/dist/dev/define/skin-element.d.ts +0 -2
- package/dist/dev/define/skin-element.d.ts.map +1 -1
- package/dist/dev/define/skin-element.js +0 -8
- package/dist/dev/define/skin-element.js.map +1 -1
- package/dist/dev/define/ui/title.d.ts +8 -0
- package/dist/dev/define/ui/title.d.ts.map +1 -0
- package/dist/dev/define/ui/title.js +7 -0
- package/dist/dev/define/ui/title.js.map +1 -0
- package/dist/dev/define/video/minimal-skin.css +2 -31
- package/dist/dev/define/video/skin.css +2 -33
- package/dist/dev/index.d.ts +3 -2
- package/dist/dev/index.js +2 -1
- package/dist/dev/media/shaka-video/index.d.ts +2 -0
- package/dist/dev/media/shaka-video/media.d.ts +19 -0
- package/dist/dev/media/shaka-video/media.d.ts.map +1 -0
- package/dist/dev/media/shaka-video/media.js +9 -0
- package/dist/dev/media/shaka-video/media.js.map +1 -0
- package/dist/dev/packages/skins/dist/default/default/tailwind/components/button.js +1 -1
- package/dist/dev/packages/skins/dist/default/default/tailwind/components/button.js.map +1 -1
- package/dist/dev/packages/skins/dist/default/default/tailwind/components/menu.js +2 -2
- package/dist/dev/packages/skins/dist/default/default/tailwind/components/menu.js.map +1 -1
- package/dist/dev/packages/skins/dist/default/default/tailwind/components/poster.js +1 -7
- package/dist/dev/packages/skins/dist/default/default/tailwind/components/poster.js.map +1 -1
- package/dist/dev/packages/skins/dist/default/default/tailwind/video.tailwind.js +1 -10
- package/dist/dev/packages/skins/dist/default/default/tailwind/video.tailwind.js.map +1 -1
- package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/button.js +1 -1
- package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/button.js.map +1 -1
- package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/menu.js +2 -2
- package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/menu.js.map +1 -1
- package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/poster.js +1 -7
- package/dist/dev/packages/skins/dist/default/minimal/tailwind/components/poster.js.map +1 -1
- package/dist/dev/packages/skins/dist/default/minimal/tailwind/video.tailwind.js +1 -10
- package/dist/dev/packages/skins/dist/default/minimal/tailwind/video.tailwind.js.map +1 -1
- package/dist/dev/ui/captions-button/captions-button-element.d.ts +1 -0
- package/dist/dev/ui/captions-button/captions-button-element.d.ts.map +1 -1
- package/dist/dev/ui/poster/poster-element.d.ts +0 -2
- package/dist/dev/ui/poster/poster-element.d.ts.map +1 -1
- package/dist/dev/ui/poster/poster-element.js +0 -8
- package/dist/dev/ui/poster/poster-element.js.map +1 -1
- package/dist/dev/ui/thumbnail/thumbnail-element.d.ts.map +1 -1
- package/dist/dev/ui/thumbnail/thumbnail-element.js +22 -7
- package/dist/dev/ui/thumbnail/thumbnail-element.js.map +1 -1
- package/dist/dev/ui/time/time-element.d.ts.map +1 -1
- package/dist/dev/ui/time/time-element.js +2 -3
- package/dist/dev/ui/time/time-element.js.map +1 -1
- package/dist/dev/ui/title/title-element.d.ts +18 -0
- package/dist/dev/ui/title/title-element.d.ts.map +1 -0
- package/dist/dev/ui/title/title-element.js +38 -0
- package/dist/dev/ui/title/title-element.js.map +1 -0
- package/docs/README.md +1 -1
- package/docs/concepts/presets.md +4 -4
- package/docs/concepts/skins.md +6 -37
- package/docs/how-to/add-a-poster-placeholder.md +52 -0
- package/docs/how-to/customize-skins.md +6 -70
- package/docs/how-to/migrate-from-mux-player.md +12 -6
- package/docs/llms.txt +3 -0
- package/docs/reference/feature-fullscreen.md +7 -8
- package/docs/reference/feature-metadata.md +141 -0
- package/docs/reference/feature-orientation-lock.md +99 -7
- package/docs/reference/feature-text-tracks.md +10 -0
- package/docs/reference/menu.md +0 -1
- package/docs/reference/thumbnail.md +4 -0
- package/docs/reference/title.md +211 -0
- package/package.json +9 -9
- package/cdn/compounds-C4YYLyL2.js +0 -8
- package/cdn/compounds-C4YYLyL2.js.map +0 -1
- package/cdn/compounds-C73u1MeO.js.map +0 -1
- package/cdn/create-player-BU8LDJDL.js +0 -2
- package/cdn/create-player-BU8LDJDL.js.map +0 -1
- package/cdn/create-player-Db1CIvlK.js.map +0 -1
- package/cdn/error-surface-BID4D3DW.js.map +0 -1
- package/cdn/error-surface-D0bo71gD.js.map +0 -1
- package/cdn/i18n-CpBDXf6M.js +0 -2
- package/cdn/media-CQxFuDcv.js +0 -2
- package/cdn/media-CQxFuDcv.js.map +0 -1
- package/cdn/media-DI6DvYm3.js.map +0 -1
- package/cdn/media-mYKOAsk3.js.map +0 -1
- package/cdn/media-zReLnePj.js +0 -2
- package/cdn/media-zReLnePj.js.map +0 -1
- package/cdn/minimal-ui-BXrq3z4U.js +0 -2
- package/cdn/poster-element-B5tdJ2ub.js.map +0 -1
- package/cdn/pt-ohZp6iM5.js +0 -2
- package/cdn/relocation-pipelines-Dh8CcgHw.js.map +0 -1
- package/cdn/relocation-pipelines-DunE4gcV.js +0 -2
- package/cdn/relocation-pipelines-DunE4gcV.js.map +0 -1
- package/cdn/rolldown-runtime-DK3Fl9T5.js +0 -1
- package/cdn/rolldown-runtime-w6R9maHv.js +0 -18
- package/cdn/skin-element-DrkI8xuM.js.map +0 -1
- package/cdn/ui-DayfItun.js +0 -2
- package/cdn/ui-PSnD-pv8.js +0 -2
- package/cdn/zh-CtBcRYRs.js +0 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"live-video-minimal.dev.js","names":["styles"],"sources":["../inline-css:src/define/live-video/minimal-skin.js","../src/define/live-video/minimal-ui.ts","../src/define/live-video/minimal-skin.ts"],"sourcesContent":["export default \"/* -------------------------------------------------------------------------- */\\n/* Global styles for the host document, outside of the Shadow DOM */\\n/* -------------------------------------------------------------------------- */\\n\\nvideo-player,\\nlive-video-player,\\nmedia-i18n {\\n display: contents;\\n}\\n\\n/*\\nRequired to override any default video and image styles (such as\\nTailwind's CSS reset) and ensure they fill the container as expected.\\n*/\\nvideo-player video,\\nvideo-player [slot=\\\"poster\\\"],\\nlive-video-player video,\\nlive-video-player [slot=\\\"poster\\\"] {\\n display: block;\\n width: 100%;\\n height: 100%;\\n}\\n\\nvideo-player video::-webkit-media-text-track-container,\\nlive-video-player video::-webkit-media-text-track-container {\\n z-index: 1;\\n font-family: inherit;\\n scale: 0.98;\\n translate: 0 var(--media-caption-track-y, 0);\\n transition: translate var(--media-caption-track-duration, 0) ease-out;\\n transition-delay: var(--media-caption-track-delay, 0);\\n}\\n\\n/* -------------------------------------------------------------------------- */\\n/* Shared styles for all HTML skins */\\n/* -------------------------------------------------------------------------- */\\n\\nmedia-tooltip-group {\\n display: contents;\\n}\\n\\n:host {\\n /* `display:grid` fixes a weird issue with Safari when setting aspect-ratio */\\n display: grid;\\n width: 100%;\\n}\\n\\nmedia-container {\\n min-width: 0;\\n min-height: 0;\\n}\\n\\n/* Hide the volume popover when its slider is unavailable. */\\n.media-popover--volume:has(media-volume-slider[data-hidden]) {\\n display: none;\\n}\\n\\n.media-sr-only {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n padding: 0;\\n margin: -1px;\\n overflow: hidden;\\n white-space: nowrap;\\n border: 0;\\n clip: rect(0, 0, 0, 0);\\n}\\n\\n\\n.media-minimal-skin *,\\n.media-minimal-skin *::before,\\n.media-minimal-skin *::after {\\n box-sizing: border-box;\\n}\\n.media-minimal-skin img,\\n.media-minimal-skin video,\\n.media-minimal-skin svg {\\n display: block;\\n max-width: 100%;\\n}\\n.media-minimal-skin button {\\n font: inherit;\\n}\\n.media-minimal-skin [hidden][hidden] {\\n /* Keep authored templates hidden even when component classes set display. */\\n display: none;\\n}\\n@media (prefers-reduced-motion: no-preference) {\\n .media-minimal-skin {\\n interpolate-size: allow-keywords;\\n }\\n}\\n\\n.media-minimal-skin {\\n /* Colors */\\n --accent-color: var(--media-accent-color, var(--default-accent-color));\\n --accent-contrast-color: contrast-color(var(--accent-color));\\n --accent-background-color: var(\\n --media-accent-color,\\n oklch(from var(--default-accent-color) l c h / calc(alpha * 0.1))\\n );\\n --accent-text-color: var(--media-accent-text-color, contrast-color(var(--media-accent-color, oklch(0 0 0))));\\n --shadow-current-color: oklch(from currentColor 0 0 0 / clamp(0, calc((l - 0.5) * 0.5), 0.15));\\n --shadow-subtle-current-color: oklch(from var(--shadow-current-color) l c h / calc(alpha * 0.4));\\n --scrollbar-thumb-color: oklch(from currentColor l c h / 0.3);\\n\\n /* Scaling - used in video fullscreen to scale the UI. */\\n --scale: 1;\\n /* Fixed scaling unit to avoid inheriting the document's root font size. This must be a CSS <length>. */\\n --scale-unit: var(--media-scale-unit, 16px);\\n --size: calc(var(--scale-unit) * var(--scale));\\n /* Create a Tailwind-like spacing unit where 1 equals 4px with default scaling. */\\n --spacing: calc(var(--size) / 4);\\n\\n /* Font sizes */\\n --font-size-medium: calc(0.9375 * var(--size)); /* 15px */\\n --font-size-base: calc(0.8125 * var(--size)); /* 13px */\\n --font-size-small: calc(0.6875 * var(--size)); /* 11px */\\n --font-size-tiny: calc(0.5625 * var(--size)); /* 9px */\\n --media-icon-size: calc(1.125 * var(--size)); /* 18px */\\n\\n /* Radii */\\n --container-border-radius: var(--media-border-radius, 0.75rem);\\n\\n position: relative;\\n display: block;\\n width: 100%;\\n height: 100%;\\n container: media-root / inline-size;\\n font-family:\\n Inter Variable,\\n Inter,\\n ui-sans-serif,\\n system-ui,\\n sans-serif;\\n font-size: var(--font-size-base);\\n -webkit-font-smoothing: auto;\\n -moz-osx-font-smoothing: auto;\\n line-height: 1.5;\\n letter-spacing: normal;\\n outline: 2px solid transparent;\\n outline-offset: -4px;\\n scrollbar-color: var(--scrollbar-thumb-color) transparent;\\n scrollbar-width: thin;\\n border-radius: var(--container-border-radius);\\n isolation: isolate;\\n transition-timing-function: ease-out;\\n transition-duration: 100ms;\\n transition-property: outline-offset, outline-color;\\n\\n &:focus-visible {\\n outline-color: var(--focus-ring-color);\\n outline-offset: 2px;\\n }\\n\\n &::-webkit-scrollbar-thumb {\\n background: var(--scrollbar-thumb-color);\\n border-radius: 9999px;\\n }\\n\\n @media (prefers-reduced-transparency: reduce) or (prefers-contrast: more) {\\n --scrollbar-thumb-color: oklch(from currentColor l c h / 0.8);\\n scrollbar-width: auto;\\n }\\n}\\n\\n.media-minimal-skin ::slotted(video),\\n.media-minimal-skin video {\\n display: block;\\n width: 100%;\\n height: 100%;\\n object-fit: var(--media-object-fit, contain);\\n object-position: var(--media-object-position, center);\\n}\\n.media-minimal-skin ::slotted(video) {\\n border-radius: var(--container-border-radius);\\n}\\n.media-minimal-skin video {\\n border-radius: inherit;\\n}\\n\\n.media-minimal-skin:fullscreen ::slotted(video),\\n.media-minimal-skin:fullscreen video {\\n object-fit: contain;\\n}\\n\\n.media-minimal-skin .media-overlay {\\n position: absolute;\\n inset: 0;\\n pointer-events: none;\\n background-image: linear-gradient(\\n to top,\\n oklch(0 0 0 / 0.7),\\n oklch(0 0 0 / 0.5) calc(var(--spacing) * 30),\\n oklch(0 0 0 / 0)\\n );\\n border-radius: inherit;\\n opacity: 0;\\n backdrop-filter: blur(0) saturate(1);\\n transition-timing-function: ease-out;\\n transition-duration: var(--controls-transition-duration);\\n transition-property: opacity, backdrop-filter;\\n}\\n\\n.media-minimal-skin .media-error ~ .media-overlay {\\n transition-delay: var(--error-dialog-transition-delay);\\n transition-duration: var(--error-dialog-transition-duration);\\n}\\n\\n.media-minimal-skin .media-controls[data-visible] ~ .media-overlay,\\n.media-minimal-skin .media-error[data-open] ~ .media-overlay {\\n opacity: 1;\\n}\\n\\n.media-minimal-skin .media-buffering-indicator[data-visible] ~ .media-overlay {\\n background: oklch(0 0 0 / 0.35);\\n opacity: 1;\\n backdrop-filter: blur(8px);\\n}\\n\\n.media-minimal-skin .media-error[data-open] ~ .media-overlay {\\n backdrop-filter: blur(16px) saturate(1.2);\\n}\\n\\n.media-minimal-skin .media-buffering-indicator {\\n position: absolute;\\n inset: 0;\\n z-index: 10;\\n display: none;\\n place-content: center;\\n color: oklch(1 0 0);\\n pointer-events: none;\\n\\n &:not([data-visible]) {\\n --media-spinner-animation: none;\\n }\\n\\n &[data-visible] {\\n display: grid;\\n }\\n\\n @media (prefers-reduced-motion: reduce) {\\n --media-spinner-animation: none;\\n }\\n}\\n\\n.media-minimal-skin .media-error:not([data-open]) {\\n display: none;\\n}\\n\\n.media-minimal-skin .media-error__title {\\n font-weight: 600;\\n line-height: 1.25;\\n}\\n\\n.media-minimal-skin .media-error__description {\\n overflow-wrap: anywhere;\\n opacity: 0.7;\\n}\\n\\n.media-minimal-skin .media-error__actions {\\n display: flex;\\n gap: calc(var(--spacing) * 2);\\n\\n > * {\\n flex: 1;\\n }\\n}\\n\\n.media-minimal-skin .media-error[data-open] ~ .media-controls * {\\n visibility: hidden;\\n}\\n\\n.media-minimal-skin .media-controls {\\n --media-popover-side-offset: calc(var(--spacing) * (var(--base-side-offset, 2) + 1));\\n --media-tooltip-side-offset: var(--media-popover-side-offset);\\n --media-popover-boundary-offset: calc(var(--spacing) * (var(--base-boundary-offset, 0) + 1));\\n --media-tooltip-boundary-offset: var(--media-popover-boundary-offset);\\n\\n display: flex;\\n align-items: center;\\n padding: calc(var(--spacing) * 1);\\n container: media-controls / inline-size;\\n text-shadow: 0 1px 0 var(--shadow-current-color);\\n background-color: var(--controls-background-color);\\n backdrop-filter: var(--controls-backdrop-filter);\\n}\\n\\n.media-minimal-skin .media-time-controls {\\n display: flex;\\n flex: 1;\\n flex-direction: row-reverse;\\n gap: calc(var(--spacing) * 3);\\n align-items: center;\\n container: media-time-controls / inline-size;\\n}\\n\\n.media-minimal-skin .media-time-group {\\n display: flex;\\n gap: calc(var(--spacing) * 1);\\n align-items: center;\\n}\\n\\n.media-minimal-skin .media-time {\\n font-variant-numeric: tabular-nums;\\n}\\n\\n.media-minimal-skin .media-time[role=\\\"button\\\"] {\\n cursor: pointer;\\n outline: 2px solid transparent;\\n outline-offset: -2px;\\n border-radius: calc(var(--spacing) * 1);\\n transition-timing-function: ease-out;\\n transition-duration: 100ms;\\n transition-property: outline-color, outline-offset;\\n\\n @supports (corner-shape: squircle) {\\n border-radius: calc(var(--spacing) * 4);\\n corner-shape: squircle;\\n }\\n\\n &:focus-visible {\\n outline-color: var(--focus-ring-color);\\n outline-offset: 2px;\\n }\\n}\\n\\n.media-minimal-skin .media-time--current,\\n.media-minimal-skin .media-time-separator {\\n display: none;\\n}\\n\\n@container media-root (width > 42rem) {\\n .media-minimal-skin .media-time-controls {\\n flex-direction: row;\\n }\\n\\n .media-minimal-skin .media-time--duration,\\n .media-minimal-skin .media-time-separator {\\n color: oklch(from currentColor l c h / 0.6);\\n }\\n\\n .media-minimal-skin .media-time--current,\\n .media-minimal-skin .media-time-separator {\\n display: inline;\\n }\\n}\\n\\n/* Base button */\\n.media-minimal-skin .media-button {\\n display: flex;\\n flex-shrink: 0;\\n align-items: center;\\n justify-content: center;\\n height: calc(var(--spacing) * 9.5);\\n min-height: 0;\\n padding: calc(var(--spacing) * 2) calc(var(--spacing) * 4);\\n text-align: center;\\n touch-action: manipulation;\\n cursor: pointer;\\n user-select: none;\\n outline: 2px solid transparent;\\n outline-offset: -2px;\\n border: none;\\n border-radius: calc(var(--spacing) * 2);\\n transition-timing-function: ease-out;\\n transition-duration: 150ms;\\n transition-property: background-color, outline-offset, scale;\\n /* Fix weird jumping when clicking on the buttons in Safari. */\\n will-change: scale;\\n\\n &:focus-visible {\\n outline-color: var(--focus-ring-color);\\n outline-offset: 2px;\\n }\\n\\n &:active:not([aria-disabled=\\\"true\\\"]) {\\n scale: 0.97;\\n }\\n\\n &[aria-disabled=\\\"true\\\"] {\\n cursor: not-allowed;\\n opacity: 0.5;\\n }\\n}\\n\\n@supports (corner-shape: squircle) {\\n .media-minimal-skin .media-button {\\n border-radius: calc(var(--spacing) * 4);\\n corner-shape: squircle;\\n }\\n}\\n\\n/* Primary button variant */\\n.media-minimal-skin .media-button--primary {\\n font-weight: 500;\\n color: var(--accent-contrast-color);\\n text-shadow: none;\\n background: var(--accent-color);\\n}\\n\\n/* Subtle button variant */\\n.media-minimal-skin .media-button--subtle {\\n color: inherit;\\n text-shadow: inherit;\\n background: transparent;\\n\\n &:not([aria-disabled=\\\"true\\\"]) {\\n &:hover,\\n &:focus-visible,\\n &[aria-expanded=\\\"true\\\"] {\\n color: var(--accent-text-color);\\n text-decoration: none;\\n background-color: var(--accent-background-color);\\n }\\n }\\n}\\n\\n/* Icon button variant */\\n.media-minimal-skin .media-button--icon {\\n display: grid;\\n aspect-ratio: 1;\\n padding: 0;\\n\\n &:active:not([aria-disabled=\\\"true\\\"]) {\\n scale: 0.97;\\n }\\n\\n .media-icon__container {\\n display: grid;\\n }\\n\\n .media-icon {\\n grid-area: 1 / 1;\\n filter: drop-shadow(0 1px 0 var(--shadow-current-color));\\n transition-timing-function: ease-out;\\n transition-duration: 150ms;\\n transition-property: opacity, scale;\\n }\\n}\\n\\n/* Seek button */\\n.media-minimal-skin .media-button--seek {\\n .media-icon__label {\\n position: absolute;\\n right: -1px;\\n bottom: -3px;\\n font-size: 0.715em; /* 10px */\\n font-weight: 500;\\n font-variant-numeric: tabular-nums;\\n letter-spacing: -0.05em;\\n }\\n\\n &:has(.media-icon--flipped) .media-icon__label {\\n right: unset;\\n left: -1px;\\n }\\n}\\n\\n/* Playback rate button */\\n.media-minimal-skin .media-button--playback-rate {\\n padding: 0;\\n font-variant-numeric: tabular-nums;\\n\\n &::after {\\n width: 4ch;\\n content: attr(data-rate) \\\"\\\\00D7\\\";\\n }\\n\\n &[data-inline-rate-label]::after {\\n content: none;\\n }\\n}\\n\\n/* Settings button */\\n.media-minimal-skin .media-button--settings {\\n .media-icon--settings {\\n transition: transform 150ms ease-in-out;\\n\\n @media (prefers-reduced-motion: reduce) {\\n transition-duration: 0ms;\\n }\\n }\\n\\n &[aria-expanded=\\\"true\\\"] .media-icon--settings {\\n transform: rotate(90deg);\\n }\\n}\\n\\n/* Live button — wide pill button with a status dot (gray → red at the live\\n edge) rendered via ::before, and \\\"LIVE\\\" text rendered as the button's own\\n text content. */\\n.media-minimal-skin .media-button--live {\\n display: inline-flex;\\n gap: calc(var(--spacing) * 1.5);\\n align-items: center;\\n width: auto;\\n aspect-ratio: auto;\\n padding: calc(var(--spacing) * 2) calc(var(--spacing) * 3);\\n font-size: var(--font-size-small);\\n font-weight: 600;\\n line-height: 1;\\n text-transform: uppercase;\\n letter-spacing: 0.05em;\\n\\n &::before {\\n display: inline-block;\\n flex-shrink: 0;\\n width: calc(var(--spacing) * 2);\\n height: calc(var(--spacing) * 2);\\n content: \\\"\\\";\\n background-color: oklch(from currentColor l c h / 0.4);\\n border-radius: 50%;\\n transition: background-color 150ms ease-out;\\n }\\n\\n &[data-live-edge]::before {\\n background-color: oklch(0.65 0.22 27);\\n }\\n}\\n\\n@media (prefers-reduced-motion: reduce) {\\n .media-minimal-skin .media-button {\\n scale: 1;\\n transition-property: background-color, outline-offset;\\n will-change: auto;\\n }\\n}\\n\\n.media-minimal-skin .media-button-group {\\n display: flex;\\n gap: 1px;\\n align-items: center;\\n}\\n\\n.media-minimal-skin .media-badge {\\n padding: calc(var(--spacing) * 1) calc(var(--spacing) * 1.5);\\n font-size: var(--font-size-small);\\n font-weight: 500;\\n line-height: 1;\\n color: oklch(from currentColor l c h / 0.85);\\n white-space: nowrap;\\n background-color: oklch(from currentColor l c h / 0.1);\\n border-radius: calc(var(--spacing) * 1);\\n}\\n\\n.media-minimal-skin .media-icon__container {\\n position: relative;\\n}\\n\\n.media-minimal-skin .media-icon {\\n flex-shrink: 0;\\n width: var(--media-icon-size);\\n height: var(--media-icon-size);\\n}\\n.media-minimal-skin .media-icon--flipped {\\n scale: -1 1;\\n}\\n\\n.media-minimal-skin media-poster,\\n.media-minimal-skin > img {\\n position: absolute;\\n inset: 0;\\n width: 100%;\\n height: 100%;\\n pointer-events: none;\\n transition: opacity 0.25s;\\n}\\n.media-minimal-skin media-poster:not([data-visible]),\\n.media-minimal-skin > img:not([data-visible]),\\n.media-minimal-skin > img[data-visible]:not([data-loaded]) {\\n opacity: 0;\\n}\\n.media-minimal-skin media-poster ::slotted(img),\\n.media-minimal-skin media-poster img {\\n position: absolute;\\n inset: 0;\\n width: 100%;\\n height: 100%;\\n object-fit: var(--media-object-fit, contain);\\n object-position: var(--media-object-position, center);\\n border-radius: var(--container-border-radius);\\n}\\n.media-minimal-skin > img {\\n object-fit: var(--media-object-fit, contain);\\n object-position: var(--media-object-position, center);\\n border-radius: inherit;\\n}\\n\\n/* Blurred placeholder: HTML path targets media-poster::before, React path targets the skin container::before */\\n.media-minimal-skin media-poster::before,\\n.media-minimal-skin::before {\\n position: absolute;\\n inset: 0;\\n pointer-events: none;\\n content: \\\"\\\";\\n background-image: var(--media-poster-placeholder, none);\\n background-repeat: no-repeat;\\n background-position: var(--media-object-position, center);\\n background-size: var(--media-object-fit, contain);\\n filter: blur(var(--media-poster-placeholder-blur, 20px));\\n}\\n\\n/* React path: hidden by default, transitions in while poster loads */\\n.media-minimal-skin::before {\\n opacity: 0;\\n transition: opacity 0.25s;\\n}\\n/* Show placeholder while the poster is visible but not yet loaded */\\n.media-minimal-skin:has(img[data-visible]:not([data-loaded]))::before {\\n opacity: 1;\\n}\\n\\n.media-minimal-skin:fullscreen media-poster ::slotted(img),\\n.media-minimal-skin:fullscreen media-poster img,\\n.media-minimal-skin:fullscreen > img {\\n object-fit: contain;\\n}\\n\\n.media-minimal-skin .media-thumbnail {\\n position: relative;\\n pointer-events: none;\\n background-color: oklch(0 0 0 / 0.9);\\n border-radius: calc(var(--spacing) * 2);\\n\\n &::after {\\n position: absolute;\\n inset: 0;\\n content: \\\"\\\";\\n border-radius: inherit;\\n box-shadow:\\n 0 0 0 1px oklch(0 0 0 / 0.05),\\n 0 1px 3px 0 oklch(0 0 0 / 0.2),\\n 0 1px 2px -1px oklch(0 0 0 / 0.2);\\n }\\n\\n .media-thumbnail__image {\\n position: relative;\\n display: block;\\n max-width: var(--thumbnail-max-width);\\n max-height: var(--thumbnail-max-height);\\n overflow: clip;\\n border-radius: inherit;\\n }\\n\\n .media-thumbnail__spinner {\\n position: absolute;\\n top: 50%;\\n left: 50%;\\n opacity: 0;\\n translate: -50% -50%;\\n }\\n\\n .media-thumbnail__image,\\n .media-thumbnail__spinner {\\n transition: opacity 150ms ease-out;\\n }\\n\\n &:not(:has(.media-thumbnail__image[data-loading])) {\\n .media-thumbnail__spinner {\\n --media-spinner-animation: none;\\n }\\n }\\n\\n @media (prefers-reduced-motion: reduce) {\\n --media-spinner-animation: none;\\n }\\n\\n &:has(.media-thumbnail__image[data-loading]) {\\n width: var(--thumbnail-max-width);\\n max-width: 100%;\\n aspect-ratio: 16 / 9;\\n overflow: hidden;\\n\\n .media-thumbnail__image {\\n opacity: 0;\\n }\\n .media-thumbnail__spinner {\\n opacity: 1;\\n }\\n }\\n}\\n\\n.media-minimal-skin .media-slider {\\n --track-size: calc(var(--spacing) * 1);\\n --track-highlighted-size: calc(var(--spacing) * 1.75);\\n --track-border-radius: 99px;\\n --thumb-size: calc(var(--spacing) * 3);\\n --chapter-gap: calc(var(--spacing) * 1);\\n --chapter-inset-start: calc(var(--chapter-gap) / 2);\\n --chapter-inset-end: calc(var(--chapter-gap) / 2);\\n\\n position: relative;\\n display: flex;\\n flex: 1;\\n align-items: center;\\n justify-content: center;\\n cursor: pointer;\\n outline: none;\\n border-radius: var(--track-border-radius);\\n\\n &[data-orientation=\\\"horizontal\\\"] {\\n width: var(--slider-width, 100%);\\n min-width: calc(var(--spacing) * 20);\\n height: var(--slider-height, calc(var(--spacing) * 8));\\n }\\n &[data-orientation=\\\"vertical\\\"] {\\n width: var(--slider-width, calc(var(--spacing) * 8));\\n height: var(--slider-height, calc(var(--spacing) * 20));\\n }\\n\\n /* Track */\\n .media-slider__track {\\n position: relative;\\n overflow: hidden;\\n user-select: none;\\n background-color: oklch(from currentColor l c h / 0.2);\\n border-radius: inherit;\\n isolation: isolate;\\n\\n &[data-orientation=\\\"horizontal\\\"] {\\n width: 100%;\\n height: var(--track-size);\\n }\\n &[data-orientation=\\\"vertical\\\"] {\\n width: var(--track-size);\\n height: 100%;\\n }\\n }\\n\\n /* Shared track fills */\\n .media-slider__buffer,\\n .media-slider__fill {\\n position: absolute;\\n pointer-events: none;\\n border-radius: inherit;\\n\\n &[data-orientation=\\\"horizontal\\\"] {\\n inset-block: 0;\\n left: 0;\\n width: 100%;\\n }\\n &[data-orientation=\\\"vertical\\\"] {\\n inset-inline: 0;\\n bottom: 0;\\n height: 100%;\\n }\\n\\n @media (prefers-reduced-motion: no-preference) {\\n transition: clip-path 200ms ease-out;\\n }\\n }\\n &[data-dragging],\\n &[data-seeking] {\\n .media-slider__fill,\\n .media-slider__buffer {\\n transition-duration: 0ms;\\n }\\n }\\n\\n /* Buffer */\\n .media-slider__buffer {\\n background-color: oklch(from currentColor l c h / 0.2);\\n\\n &[data-orientation=\\\"horizontal\\\"] {\\n clip-path: inset(0 calc(100% - var(--media-slider-buffer)) 0 0 round var(--track-border-radius));\\n }\\n &[data-orientation=\\\"vertical\\\"] {\\n clip-path: inset(calc(100% - var(--media-slider-buffer)) 0 0 0 round var(--track-border-radius));\\n }\\n }\\n\\n /* Fill */\\n .media-slider__fill {\\n background-color: var(--accent-color);\\n\\n &[data-orientation=\\\"horizontal\\\"] {\\n clip-path: inset(0 calc(100% - var(--media-slider-fill)) 0 0 round var(--track-border-radius));\\n }\\n &[data-orientation=\\\"vertical\\\"] {\\n clip-path: inset(calc(100% - var(--media-slider-fill)) 0 0 0 round var(--track-border-radius));\\n }\\n }\\n &[data-dragging] {\\n .media-slider__fill[data-orientation=\\\"horizontal\\\"] {\\n clip-path: inset(0 calc(100% - var(--media-slider-pointer)) 0 0 round var(--track-border-radius));\\n }\\n .media-slider__fill[data-orientation=\\\"vertical\\\"] {\\n clip-path: inset(calc(100% - var(--media-slider-pointer)) 0 0 0 round var(--track-border-radius));\\n }\\n }\\n\\n /* Chapters */\\n .media-slider__chapters {\\n position: relative;\\n display: flex;\\n flex: 1;\\n align-items: center;\\n min-width: 0;\\n min-height: 0;\\n border-radius: inherit;\\n\\n &[data-orientation=\\\"horizontal\\\"] {\\n width: 100%;\\n height: 100%;\\n }\\n &[data-orientation=\\\"vertical\\\"] {\\n flex-direction: column-reverse;\\n width: 100%;\\n height: 100%;\\n }\\n }\\n\\n .media-slider__chapter {\\n position: absolute;\\n inset: 0;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n min-width: 0;\\n min-height: 0;\\n\\n &:first-child {\\n --chapter-inset-start: 0px;\\n }\\n &:last-child {\\n --chapter-inset-end: 0px;\\n }\\n\\n .media-slider__chapter-track {\\n border-radius: var(--track-border-radius);\\n\\n @media (prefers-reduced-motion: no-preference) {\\n transition: 200ms ease-out;\\n transition-property: height, width;\\n }\\n }\\n\\n &[data-orientation=\\\"horizontal\\\"] {\\n clip-path: inset(0 calc(100% - var(--media-slider-chapter-end)) 0 var(--media-slider-chapter-start));\\n\\n .media-slider__chapter-track {\\n height: var(--track-size);\\n clip-path: inset(\\n 0 calc(100% - var(--media-slider-chapter-end) + var(--chapter-inset-end)) 0\\n calc(var(--media-slider-chapter-start) + var(--chapter-inset-start)) round var(--track-border-radius)\\n );\\n }\\n\\n &[data-highlighted] .media-slider__chapter-track {\\n height: var(--track-highlighted-size);\\n }\\n }\\n\\n &[data-orientation=\\\"vertical\\\"] {\\n clip-path: inset(calc(100% - var(--media-slider-chapter-end)) 0 var(--media-slider-chapter-start) 0);\\n\\n .media-slider__chapter-track {\\n width: var(--track-size);\\n clip-path: inset(\\n calc(100% - var(--media-slider-chapter-end) + var(--chapter-inset-end)) 0\\n calc(var(--media-slider-chapter-start) + var(--chapter-inset-start)) 0 round var(--track-border-radius)\\n );\\n }\\n\\n &[data-highlighted] .media-slider__chapter-track {\\n width: var(--track-highlighted-size);\\n }\\n }\\n }\\n\\n /* Thumb */\\n .media-slider__thumb {\\n position: absolute;\\n z-index: 10;\\n width: var(--thumb-size);\\n height: var(--thumb-size);\\n user-select: none;\\n outline: 2px solid transparent;\\n outline-offset: -2px;\\n background-color: currentColor;\\n border-radius: calc(Infinity * 1px);\\n box-shadow:\\n 0 0 0 1px var(--shadow-current-color, oklch(0 0 0 / 0.15)),\\n 0 1px 3px 0 oklch(0 0 0 / 0.15),\\n 0 1px 2px -1px oklch(0 0 0 / 0.15);\\n opacity: 0;\\n transform-origin: center;\\n scale: 0.7;\\n translate: -50% -50%;\\n\\n &[data-orientation=\\\"horizontal\\\"] {\\n top: 50%;\\n left: var(--media-slider-fill);\\n }\\n &[data-orientation=\\\"vertical\\\"] {\\n top: calc(100% - var(--media-slider-fill));\\n left: 50%;\\n }\\n\\n &:focus-visible {\\n outline-color: var(--focus-ring-color);\\n outline-offset: 2px;\\n }\\n\\n &:focus-visible,\\n &.media-slider__thumb--persistent {\\n opacity: 1;\\n scale: 1;\\n }\\n\\n @media (prefers-reduced-motion: no-preference) {\\n transition-timing-function: ease-out;\\n transition-duration: 150ms;\\n transition-property: opacity, outline-offset, left, top, scale;\\n }\\n }\\n\\n @media (hover: hover) and (pointer: fine) {\\n &:hover .media-slider__thumb {\\n opacity: 1;\\n scale: 1;\\n }\\n }\\n\\n &[data-dragging] .media-slider__thumb {\\n opacity: 1;\\n scale: 0.9;\\n\\n @media (prefers-reduced-motion: no-preference) {\\n transition-property: opacity, outline-offset, scale;\\n }\\n\\n &[data-orientation=\\\"horizontal\\\"] {\\n left: var(--media-slider-pointer);\\n }\\n &[data-orientation=\\\"vertical\\\"] {\\n top: calc(100% - var(--media-slider-pointer));\\n }\\n }\\n\\n /* Preview */\\n .media-slider__preview {\\n --max-size-factor: 28;\\n --max-size: min(calc(var(--spacing) * var(--max-size-factor)), 100cqi);\\n\\n min-width: 100%;\\n height: calc(var(--spacing) * 1);\\n\\n @container media-root (width > 32rem) {\\n --max-size-factor: 36;\\n }\\n\\n @container media-root (width > 42rem) {\\n --max-size-factor: 48;\\n }\\n\\n .media-slider__thumbnail,\\n .media-slider__value {\\n position: absolute;\\n left: var(--preview-left, var(--media-slider-pointer));\\n max-width: var(--max-size);\\n opacity: 0;\\n filter: blur(8px);\\n transform-origin: bottom;\\n scale: 0.8;\\n translate: -50% calc(var(--spacing) * 2);\\n transition-timing-function: ease-out;\\n transition-duration: 150ms;\\n transition-property: filter, opacity, scale;\\n }\\n\\n .media-slider__thumbnail {\\n --thumbnail-max-width: var(--max-size);\\n --thumbnail-max-height: var(--max-size);\\n bottom: calc(100% + (var(--spacing) * 11));\\n }\\n\\n .media-slider__value {\\n bottom: calc(100% + (var(--spacing) * 5));\\n display: flex;\\n flex-direction: row-reverse;\\n gap: calc(var(--spacing) * 2);\\n justify-content: center;\\n padding-inline: calc(var(--spacing) * 3);\\n text-shadow: 0 1px 0 var(--shadow-current-color);\\n }\\n\\n .media-slider__chapter-title {\\n min-width: 0;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n\\n &:empty {\\n display: none;\\n }\\n }\\n\\n &::before {\\n position: absolute;\\n z-index: 1;\\n pointer-events: none;\\n content: \\\"\\\";\\n background-color: oklch(from currentColor l c h / 0.35);\\n opacity: 0;\\n scale: 0.5;\\n translate: -50% -50%;\\n transition-timing-function: ease-out;\\n transition-duration: 200ms;\\n transition-property: opacity, scale;\\n }\\n\\n &[data-orientation=\\\"horizontal\\\"]::before {\\n top: 50%;\\n left: var(--media-slider-pointer);\\n width: 1px;\\n height: calc(var(--spacing) * 5);\\n }\\n &[data-orientation=\\\"vertical\\\"]::before {\\n top: calc(100% - var(--media-slider-pointer));\\n left: 50%;\\n width: calc(var(--spacing) * 5);\\n height: 1px;\\n }\\n\\n &[data-pointing]:not([data-dragging])::before {\\n opacity: 1;\\n scale: 1;\\n }\\n }\\n\\n &:is([data-pointing], :has(:focus-visible))\\n .media-slider__preview\\n :is(.media-slider__value, .media-slider__thumbnail) {\\n opacity: 1;\\n filter: blur(0);\\n scale: 1;\\n }\\n}\\n\\n.media-minimal-skin {\\n --popup-transition:\\n opacity var(--popup-transition-timing-function) var(--popup-transition-duration),\\n filter var(--popup-transition-timing-function) var(--popup-transition-duration),\\n transform var(--popup-transition-timing-function) var(--popup-transition-duration),\\n scale var(--popup-transition-timing-function) var(--popup-transition-duration);\\n}\\n\\n.media-minimal-skin .media-popover,\\n.media-minimal-skin .media-tooltip {\\n --popup-translate-distance: calc(var(--spacing) * 2);\\n margin: 0;\\n overflow: visible;\\n color: inherit;\\n border: 0;\\n transition: var(--popup-transition);\\n\\n &[data-starting-style],\\n &[data-ending-style] {\\n opacity: 0;\\n /* We have to use transform here for translate as the translate property is used for positioning by core. */\\n transform: translate(var(--popup-translate-x-distance, 0), var(--popup-translate-y-distance, 0));\\n scale: 0.95;\\n }\\n\\n &[data-ending-style] {\\n filter: blur(4px);\\n transform: none;\\n /* Speed up the exit transition. */\\n transition-duration: max(0ms, calc(var(--popup-transition-duration) - 50ms));\\n }\\n\\n &[data-side=\\\"top\\\"] {\\n --popup-translate-y-distance: var(--popup-translate-distance);\\n transform-origin: bottom;\\n }\\n &[data-side=\\\"bottom\\\"] {\\n --popup-translate-y-distance: calc(var(--popup-translate-distance) * -1);\\n transform-origin: top;\\n }\\n &[data-side=\\\"left\\\"] {\\n --popup-translate-x-distance: var(--popup-translate-distance);\\n transform-origin: right;\\n }\\n &[data-side=\\\"right\\\"] {\\n --popup-translate-x-distance: calc(var(--popup-translate-distance) * -1);\\n transform-origin: left;\\n }\\n\\n /* Safe area between trigger and popup */\\n &::before {\\n position: absolute;\\n pointer-events: inherit;\\n content: \\\"\\\";\\n }\\n\\n &[data-side=\\\"top\\\"]::before,\\n &[data-side=\\\"bottom\\\"]::before {\\n inset-inline: 0;\\n width: 100%;\\n }\\n &[data-side=\\\"top\\\"]::before {\\n top: 100%;\\n }\\n &[data-side=\\\"bottom\\\"]::before {\\n bottom: 100%;\\n }\\n\\n &[data-side=\\\"left\\\"]::before,\\n &[data-side=\\\"right\\\"]::before {\\n inset-block: 0;\\n height: 100%;\\n }\\n &[data-side=\\\"left\\\"]::before {\\n left: 100%;\\n }\\n &[data-side=\\\"right\\\"]::before {\\n right: 100%;\\n }\\n}\\n\\n.media-minimal-skin .media-popover {\\n &[data-side=\\\"top\\\"]::before,\\n &[data-side=\\\"bottom\\\"]::before {\\n height: var(--media-popover-side-offset);\\n }\\n &[data-side=\\\"left\\\"]::before,\\n &[data-side=\\\"right\\\"]::before {\\n width: var(--media-popover-side-offset);\\n }\\n}\\n\\n.media-minimal-skin .media-tooltip {\\n padding: calc(var(--spacing) * 1) calc(var(--spacing) * 2);\\n font-size: var(--font-size-base);\\n color: var(--tooltip-text-color);\\n white-space: nowrap;\\n background-color: var(--tooltip-background-color);\\n border-radius: calc(var(--spacing) * 2);\\n box-shadow:\\n 0 0 0 1px var(--tooltip-border-color),\\n 0 4px 6px -1px oklch(0 0 0 / 0.2),\\n 0 2px 4px -2px oklch(0 0 0 / 0.2);\\n backdrop-filter: var(--tooltip-backdrop-filter);\\n\\n /* `display: flex` must not apply while closed — it overrides UA `[popover]` hiding. */\\n &[data-open] {\\n display: flex;\\n column-gap: calc(var(--spacing) * 1);\\n align-items: center;\\n }\\n\\n &[data-side=\\\"top\\\"]::before,\\n &[data-side=\\\"bottom\\\"]::before {\\n height: var(--media-tooltip-side-offset);\\n }\\n &[data-side=\\\"left\\\"]::before,\\n &[data-side=\\\"right\\\"]::before {\\n width: var(--media-tooltip-side-offset);\\n }\\n\\n .media-tooltip__kbd {\\n min-width: 1.5em;\\n padding: 0.1em;\\n margin-right: calc(var(--spacing) * -1);\\n font-family: inherit;\\n font-size: var(--font-size-small);\\n font-weight: 600;\\n line-height: 1.25;\\n text-align: center;\\n background-color: oklch(from currentColor l c h / 0.15);\\n border-radius: calc(var(--spacing) * 1);\\n }\\n}\\n\\n.media-minimal-skin .media-popover--volume:has(media-volume-slider[data-hidden]) {\\n display: none;\\n}\\n\\n.media-minimal-skin .media-menu {\\n --menu-transition-duration: 250ms;\\n --menu-max-height: calc(var(--spacing) * 56);\\n --menu-padding: calc(var(--spacing) * 1);\\n --menu-border-radius: calc(var(--spacing) * 2.5);\\n --menu-item-border-radius: calc(var(--menu-border-radius) - var(--menu-padding));\\n box-sizing: border-box;\\n min-width: max-content;\\n max-width: var(--media-popover-available-width, none);\\n max-height: min(var(--media-popover-available-height, var(--menu-max-height)), var(--menu-max-height));\\n padding: var(--menu-padding);\\n overflow: auto;\\n overscroll-behavior: none;\\n background-color: var(--popover-background-color);\\n border-radius: var(--menu-border-radius);\\n box-shadow:\\n 0 0 0 1px var(--popover-border-color),\\n 0 4px 6px -1px oklch(0 0 0 / 0.1),\\n 0 2px 4px -2px oklch(0 0 0 / 0.1);\\n backdrop-filter: var(--popover-backdrop-filter);\\n\\n @media (prefers-reduced-motion: reduce) {\\n --menu-transition-duration: 0ms;\\n }\\n\\n & > .media-menu__panel {\\n position: absolute;\\n inset-inline: 0;\\n top: 0;\\n z-index: 10;\\n max-height: inherit;\\n padding: var(--menu-padding);\\n overflow: auto;\\n overscroll-behavior: none;\\n outline: none;\\n translate: 0 0;\\n transition-timing-function: ease-out;\\n transition-duration: var(--menu-transition-duration);\\n transition-property: translate, filter;\\n will-change: translate, filter;\\n\\n &:where([data-starting-style], [data-ending-style]) {\\n overflow: hidden;\\n pointer-events: none;\\n filter: blur(8px);\\n translate: 100% 0;\\n }\\n }\\n\\n .media-menu__separator {\\n margin: calc(var(--spacing) * 1) 0;\\n border-bottom: 1px solid oklch(1 0 0 / 0.1);\\n }\\n\\n .media-menu__group {\\n anchor-scope: --menu-item-highlight-anchor;\\n display: flex;\\n flex-direction: column;\\n gap: calc(var(--spacing) * 0.5);\\n\\n @supports (top: anchor(top)) {\\n &::before {\\n position: absolute;\\n position-anchor: --menu-item-highlight-anchor;\\n inset: anchor(inside);\\n /* Firefox treats the moving highlight as a content shift and re-scrolls\\n the menu while hovering. Exclude it from scroll anchoring. */\\n overflow-anchor: none;\\n pointer-events: none;\\n content: \\\"\\\";\\n background-color: var(--accent-background-color);\\n border-radius: var(--menu-item-border-radius);\\n transition: inset 100ms ease-in-out;\\n }\\n\\n &:has([data-highlighted=\\\"\\\"])::before {\\n transition-duration: 0ms;\\n }\\n }\\n }\\n\\n .media-menu__item,\\n .media-menu__back {\\n position: relative;\\n display: flex;\\n gap: calc(var(--spacing) * 1.5);\\n align-items: center;\\n padding: calc(var(--spacing) * 1.5) calc(var(--spacing) * 2);\\n text-align: left;\\n text-shadow: 0 1px 0 var(--shadow-current-color);\\n cursor: pointer;\\n user-select: none;\\n outline: 2px solid transparent;\\n outline-offset: -2px;\\n border-radius: var(--menu-item-border-radius);\\n transition: background-color, color;\\n transition-timing-function: ease-in-out;\\n transition-duration: 100ms;\\n\\n .media-icon {\\n flex-shrink: 0;\\n color: oklch(from currentColor l c h / 0.5);\\n filter: drop-shadow(0 1px 0 var(--shadow-current-color));\\n }\\n\\n &:focus-visible {\\n outline-color: var(--focus-ring-color);\\n outline-offset: 2px;\\n }\\n\\n &:hover,\\n &[data-highlighted] {\\n color: var(--accent-text-color);\\n background-color: var(--accent-background-color);\\n\\n .media-icon {\\n color: inherit;\\n }\\n }\\n\\n @supports (top: anchor(top)) {\\n transition-duration: 50ms;\\n\\n &:hover,\\n &[data-highlighted] {\\n transition-duration: 200ms;\\n }\\n }\\n }\\n\\n .media-menu__indicator {\\n flex-shrink: 0;\\n margin-right: calc(var(--spacing) * -1);\\n margin-left: auto;\\n opacity: 0;\\n }\\n\\n .media-menu__item {\\n justify-content: space-between;\\n font-variant-numeric: tabular-nums;\\n color: inherit;\\n\\n &[aria-disabled=\\\"true\\\"] {\\n pointer-events: none;\\n cursor: not-allowed;\\n opacity: 0.5;\\n }\\n\\n &[aria-checked=\\\"true\\\"] .media-menu__indicator {\\n opacity: 1;\\n }\\n\\n &[data-availability=\\\"unavailable\\\"],\\n &[data-availability=\\\"unsupported\\\"] {\\n display: none;\\n }\\n\\n &[data-highlighted] {\\n @supports (top: anchor(top)) {\\n anchor-name: --menu-item-highlight-anchor;\\n background-color: transparent;\\n }\\n }\\n }\\n\\n .media-menu__tier {\\n padding-top: 1px;\\n padding-left: calc(var(--spacing) * 0.5);\\n font-size: var(--font-size-tiny);\\n font-weight: 600;\\n line-height: 1;\\n color: oklch(from currentColor l c h / 0.7);\\n }\\n\\n .media-menu__back {\\n width: 100%;\\n margin-bottom: calc(var(--spacing) * 0.5);\\n }\\n\\n .media-menu__hint {\\n display: inline-flex;\\n gap: calc(var(--spacing) * 1);\\n align-items: center;\\n min-width: 0;\\n padding-left: calc(var(--spacing) * 2);\\n margin-left: auto;\\n color: oklch(from currentColor l c h / 0.65);\\n }\\n\\n .media-menu__hint-label {\\n max-width: calc(var(--spacing) * 24);\\n overflow: hidden;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n }\\n\\n .media-menu__chevron {\\n width: calc(var(--spacing) * 3.5);\\n height: calc(var(--spacing) * 3.5);\\n }\\n\\n /* Settings menu */\\n &.media-menu--settings {\\n width: var(--media-menu-width);\\n min-width: calc(var(--spacing) * 48);\\n height: var(--media-menu-height);\\n overflow: hidden;\\n /* Only the menu size changes between panels. */\\n transition:\\n var(--popup-transition),\\n width var(--popup-transition-timing-function) var(--menu-transition-duration),\\n height var(--popup-transition-timing-function) var(--menu-transition-duration);\\n\\n & > :not([data-submenu]) {\\n translate: 0 0;\\n transition:\\n translate var(--menu-transition-duration) ease-out,\\n filter var(--menu-transition-duration) ease-out;\\n will-change: translate, filter;\\n }\\n\\n &[data-submenu-expanded=\\\"true\\\"] > :not([data-submenu]) {\\n filter: blur(8px);\\n translate: -100% 0;\\n }\\n\\n /* WebKit can restart the covered-content transition while the\\n anchor-positioned highlight remains active. */\\n &[data-submenu-expanded] > :not([data-submenu])::before {\\n display: none;\\n }\\n\\n /* Don't transition size on open/close. */\\n &[data-starting-style],\\n &[data-ending-style] {\\n transition: var(--popup-transition);\\n }\\n }\\n}\\n\\n.media-minimal-skin {\\n --media-caption-track-duration: var(--controls-transition-duration);\\n --media-caption-track-delay: 25ms;\\n --media-caption-track-y: calc(var(--spacing) * -2);\\n\\n &:has(.media-controls[data-visible]) {\\n --media-caption-track-y: calc(var(--spacing) * -18);\\n }\\n\\n @container media-root (width > 42rem) {\\n &:has(.media-controls[data-visible]) > * {\\n --media-caption-track-y: calc(var(--spacing) * -12);\\n }\\n }\\n}\\n\\n.media-minimal-skin video::-webkit-media-text-track-container {\\n z-index: 1;\\n font-family: inherit;\\n scale: 0.98;\\n translate: 0 var(--media-caption-track-y);\\n transition: translate var(--media-caption-track-duration) ease-out;\\n transition-delay: var(--media-caption-track-delay);\\n}\\n\\n.media-minimal-skin .media-input-indicator-overlay {\\n position: absolute;\\n inset: 0;\\n display: grid;\\n grid-template-columns: 1fr 1fr 1fr;\\n align-items: center;\\n justify-items: center;\\n overflow: hidden;\\n color: oklch(1 0 0);\\n pointer-events: none;\\n border-radius: inherit;\\n}\\n\\n.media-minimal-skin {\\n .media-volume-indicator,\\n .media-status-indicator--state {\\n position: absolute;\\n inset-inline: 0;\\n top: 0;\\n display: flex;\\n justify-content: center;\\n padding-top: calc(var(--spacing) * 3);\\n padding-bottom: calc(var(--spacing) * 32);\\n color: inherit;\\n text-shadow: 0 1px 0 var(--shadow-current-color);\\n pointer-events: none;\\n background-image: linear-gradient(\\n to bottom,\\n oklch(0 0 0 / 0.35),\\n oklch(0 0 0 / 0.2) calc(var(--spacing) * 12),\\n oklch(0 0 0 / 0)\\n );\\n transform-origin: top center;\\n transition-timing-function: ease-out;\\n transition-duration: 100ms;\\n\\n .media-volume-indicator__content,\\n .media-status-indicator__content {\\n display: flex;\\n gap: calc(var(--spacing) * 2);\\n align-items: center;\\n justify-content: space-between;\\n padding: calc(var(--spacing) * 1) calc(var(--spacing) * 2.5);\\n }\\n\\n .media-icon {\\n display: none;\\n flex-shrink: 0;\\n filter: drop-shadow(0 1px 0 var(--shadow-current-color));\\n }\\n\\n .media-volume-indicator__value,\\n .media-status-indicator__value {\\n margin-left: auto;\\n }\\n\\n @media (pointer: fine) {\\n transition-property: translate, filter, opacity;\\n will-change: translate, filter, opacity;\\n }\\n\\n @media (pointer: coarse) {\\n transition-property: translate, opacity;\\n will-change: translate, opacity;\\n }\\n\\n @media (pointer: fine) and (prefers-reduced-motion: no-preference) {\\n transition-property: translate, filter, opacity;\\n }\\n\\n @media (prefers-reduced-transparency: reduce) or (prefers-contrast: more) {\\n .media-volume-indicator__content,\\n .media-status-indicator__content {\\n background: var(--controls-background-color);\\n border-radius: calc(var(--spacing) * 2);\\n }\\n }\\n\\n &[data-starting-style],\\n &[data-ending-style] {\\n opacity: 0;\\n transition-timing-function: ease-in;\\n transition-duration: 400ms;\\n\\n @media (pointer: fine) and (prefers-reduced-motion: no-preference) {\\n filter: blur(8px);\\n }\\n }\\n\\n &[data-ending-style] {\\n @media (prefers-reduced-motion: no-preference) {\\n translate: 0 -100%;\\n }\\n }\\n }\\n\\n .media-seek-indicator,\\n .media-status-indicator--playback {\\n display: grid;\\n grid-row: 1;\\n grid-column: 2;\\n place-content: center;\\n padding: calc(var(--spacing) * 4);\\n text-align: center;\\n }\\n}\\n\\n.media-minimal-skin .media-volume-indicator {\\n .media-volume-indicator__content {\\n width: min(80%, calc(var(--spacing) * 56));\\n transform: translateX(0);\\n }\\n\\n .media-volume-indicator__progress {\\n position: relative;\\n width: 100%;\\n height: calc(var(--spacing) * 0.75);\\n background: oklch(from currentColor l c h / 0.2);\\n border-radius: calc(Infinity * 1px);\\n box-shadow: 0 1px 0 var(--shadow-subtle-current-color);\\n\\n &::before {\\n position: absolute;\\n inset-block: 0;\\n left: 0;\\n width: var(--media-volume-fill, 0%);\\n content: \\\"\\\";\\n background: var(--accent-color);\\n border-radius: inherit;\\n transition: width 200ms linear;\\n }\\n }\\n\\n &[data-level=\\\"high\\\"] .media-icon--volume-high,\\n &[data-level=\\\"low\\\"] .media-icon--volume-low,\\n &[data-level=\\\"off\\\"] .media-icon--volume-off {\\n display: block;\\n }\\n\\n @media (prefers-reduced-motion: no-preference) {\\n &[data-min]:not([data-starting-style], [data-ending-style]) .media-volume-indicator__content,\\n &[data-max]:not([data-starting-style], [data-ending-style]) .media-volume-indicator__content {\\n transform: translateX(0.25px);\\n transition: transform 300ms linear(0, -24 20%, 16 40%, -8 60%, 4 80%, 1);\\n }\\n }\\n}\\n\\n.media-minimal-skin .media-status-indicator--state {\\n &[data-status=\\\"captions-on\\\"] .media-icon--captions-on,\\n &[data-status=\\\"captions-off\\\"] .media-icon--captions-off,\\n &[data-status=\\\"fullscreen\\\"] .media-icon--fullscreen-enter,\\n &[data-status=\\\"exit-fullscreen\\\"] .media-icon--fullscreen-exit,\\n &[data-status=\\\"pip\\\"] .media-icon--pip-enter,\\n &[data-status=\\\"exit-pip\\\"] .media-icon--pip-exit {\\n display: block;\\n }\\n}\\n\\n.media-minimal-skin .media-status-indicator--playback {\\n transition-timing-function: ease-out;\\n transition-duration: 200ms;\\n transition-property: opacity, scale;\\n\\n .media-icon {\\n grid-area: 1 / 1;\\n width: calc(var(--media-icon-size) * 2);\\n height: calc(var(--media-icon-size) * 2);\\n opacity: 0;\\n scale: 0;\\n transition-timing-function: ease-out;\\n transition-duration: 150ms;\\n transition-property: opacity, scale;\\n }\\n\\n &[data-status=\\\"pause\\\"] .media-icon--pause,\\n &[data-status=\\\"play\\\"] .media-icon--play {\\n opacity: 1;\\n scale: 1;\\n }\\n\\n &[data-starting-style],\\n &[data-ending-style] {\\n opacity: 0;\\n scale: 0.85;\\n }\\n\\n &[data-ending-style] {\\n transition-timing-function: ease-in;\\n transition-duration: 100ms;\\n }\\n\\n @media (prefers-reduced-motion: reduce) {\\n transition-duration: 50ms;\\n transition-property: opacity;\\n\\n &[data-starting-style],\\n &[data-ending-style],\\n .media-icon {\\n scale: 1;\\n }\\n\\n .media-icon {\\n transition-duration: 50ms;\\n transition-property: opacity;\\n }\\n }\\n}\\n\\n.media-minimal-skin .media-seek-indicator {\\n gap: calc(var(--spacing) * 1);\\n\\n .media-seek-indicator__value {\\n font-variant-numeric: tabular-nums;\\n }\\n\\n @container media-root (width > 24rem) {\\n padding: calc(var(--spacing) * 6);\\n }\\n\\n &[data-direction=\\\"backward\\\"] {\\n grid-column: 1;\\n justify-self: left;\\n }\\n\\n &[data-direction=\\\"forward\\\"] {\\n grid-column: 3;\\n justify-self: right;\\n }\\n\\n .media-icon--seek {\\n display: block;\\n width: calc(var(--media-icon-size) * 1.5);\\n height: calc(var(--media-icon-size) * 1.5);\\n }\\n\\n &[data-direction=\\\"backward\\\"] .media-icon--seek {\\n scale: -1 1;\\n }\\n\\n @media (prefers-reduced-motion: no-preference) {\\n .media-icon--seek {\\n transition-timing-function: ease-in-out;\\n transition-duration: 200ms;\\n transition-property: translate, opacity;\\n }\\n\\n &[data-starting-style] .media-icon--seek,\\n &[data-ending-style] .media-icon--seek {\\n opacity: 0;\\n }\\n\\n &[data-direction=\\\"forward\\\"][data-starting-style] .media-icon--seek {\\n translate: -60% 0;\\n }\\n\\n &[data-direction=\\\"backward\\\"][data-starting-style] .media-icon--seek {\\n translate: 60% 0;\\n }\\n }\\n}\\n\\n/* ==========================================================================\\n Icon State Visibility for Video Skins\\n\\n Data-attribute-driven visibility rules for multi-state icon buttons shared\\n by the HTML and React skins.\\n ========================================================================== */\\n\\n/* --- All icons hidden by default --- */\\n\\n.media-button--play .media-icon,\\n.media-button--mute .media-icon,\\n.media-button--fullscreen .media-icon,\\n.media-button--pip .media-icon,\\n.media-button--cast .media-icon,\\n.media-button--airplay .media-icon,\\n.media-button--captions .media-icon {\\n opacity: 0;\\n}\\n.media-button--play .media-icon {\\n scale: 0;\\n}\\n\\n/* --- Active icon per state --- */\\n\\n/* Play: ended → restart */\\n.media-button--play[data-ended] .media-icon--restart,\\n/* Play: paused or not yet started (not ended) → play */\\n.media-button--play:not([data-ended])[data-paused] .media-icon--play,\\n.media-button--play:not([data-ended]):not([data-started]) .media-icon--play,\\n/* Play: started and not paused/ended → pause */\\n.media-button--play[data-started]:not([data-paused]):not([data-ended]) .media-icon--pause,\\n/* Mute: muted → volume off */\\n.media-button--mute[data-muted] .media-icon--volume-off,\\n/* Mute: volume low (not muted) → volume low */\\n.media-button--mute:not([data-muted])[data-volume-level=\\\"low\\\"] .media-icon--volume-low,\\n/* Mute: volume high (not muted, not low) → volume high */\\n.media-button--mute:not([data-muted]):not([data-volume-level=\\\"low\\\"]) .media-icon--volume-high,\\n/* Fullscreen: not fullscreen → enter */\\n.media-button--fullscreen:not([data-fullscreen]) .media-icon--fullscreen-enter,\\n/* Fullscreen: fullscreen → exit */\\n.media-button--fullscreen[data-fullscreen] .media-icon--fullscreen-exit,\\n/* Picture-in-Picture: not active → enter */\\n.media-button--pip:not([data-pip]) .media-icon--pip-enter,\\n/* Picture-in-Picture: active → exit */\\n.media-button--pip[data-pip] .media-icon--pip-exit,\\n/* Cast: not connected → enter */\\n.media-button--cast:not([data-cast-state=\\\"connected\\\"]) .media-icon--cast-enter,\\n/* Cast: connected → exit */\\n.media-button--cast[data-cast-state=\\\"connected\\\"] .media-icon--cast-exit,\\n/* AirPlay: not connected → enter */\\n.media-button--airplay:not([data-airplay-state=\\\"connected\\\"]) .media-icon--airplay-enter,\\n/* AirPlay: connected → exit */\\n.media-button--airplay[data-airplay-state=\\\"connected\\\"] .media-icon--airplay-exit,\\n/* Captions: not active → captions off */\\n.media-button--captions:not([data-active]) .media-icon--captions-off,\\n/* Captions: active → captions on */\\n.media-button--captions[data-active] .media-icon--captions-on {\\n opacity: 1;\\n scale: 1;\\n}\\n\\n/* --- Pause keyframe animations on inactive icons --- */\\n\\n/* The airplay-exit SVG defines its keyframes against CSS variables (mirroring\\n the spinner pattern). When the AirPlay session isn't active the SVG is\\n still in the DOM — just `display: none` — so its animations would keep\\n running. Set the variables to `none` to short-circuit the keyframes. */\\n.media-button--airplay:not([data-airplay-state=\\\"connected\\\"]) {\\n --media-icon-airplay-fill-animation: none;\\n --media-icon-airplay-triangle-animation: none;\\n}\\n\\n@media (prefers-reduced-motion: reduce) {\\n .media-button--airplay {\\n --media-icon--airplay__fill-animation: none;\\n --media-icon--airplay__triangle-animation: none;\\n }\\n}\\n\\n\\n/* Container */\\n\\n.media-minimal-skin--video {\\n --default-accent-color: oklch(1 0 0);\\n --border-color: light-dark(oklch(0 0 0 / 0.15), oklch(1 0 0 / 0.15));\\n --focus-ring-color: light-dark(oklch(0 0 0), oklch(1 0 0));\\n --media-video-border-radius: var(--container-border-radius);\\n\\n --controls-background-color: transparent;\\n --controls-transition-duration: 100ms;\\n --controls-transition-timing-function: ease-out;\\n\\n --error-dialog-transition-duration: 150ms;\\n --error-dialog-transition-delay: 100ms;\\n --error-dialog-transition-timing-function: ease-out;\\n\\n --popup-transition-duration: 100ms;\\n --popup-transition-timing-function: ease-out;\\n\\n --popover-backdrop-filter: blur(16px) saturate(1.5);\\n --popover-background-color: oklch(0 0 0 / 0.5);\\n --popover-border-color: oklch(1 0 0 / 0.1);\\n\\n --tooltip-backdrop-filter: var(--popover-backdrop-filter);\\n --tooltip-background-color: var(--popover-background-color);\\n --tooltip-border-color: var(--popover-border-color);\\n\\n --tooltip-text-color: currentColor;\\n\\n overflow: clip;\\n background: oklch(0 0 0);\\n\\n @media (prefers-reduced-motion: reduce) {\\n --error-dialog-transition-duration: 50ms;\\n --error-dialog-transition-delay: 0ms;\\n --popup-transition-duration: 0ms;\\n\\n .media-error__dialog {\\n scale: 1;\\n transition-property: opacity;\\n }\\n }\\n\\n @media (prefers-reduced-transparency: reduce) or (prefers-contrast: more) {\\n --controls-background-color: oklch(0 0 0);\\n --tooltip-background-color: oklch(0 0 0);\\n }\\n\\n &:has(.media-controls:not([data-visible])) {\\n /* Slight delay to hide controls on non-touch devices after interaction */\\n @media (pointer: fine) {\\n --controls-transition-duration: 300ms;\\n }\\n @media (pointer: coarse) {\\n --controls-transition-duration: 150ms;\\n }\\n @media (prefers-reduced-motion: reduce) {\\n --controls-transition-duration: 50ms;\\n }\\n }\\n\\n /* Inner border ring */\\n &::after {\\n position: absolute;\\n inset: 0;\\n z-index: 10;\\n pointer-events: none;\\n content: \\\"\\\";\\n border-radius: inherit;\\n box-shadow: inset 0 0 0 1px var(--border-color);\\n }\\n\\n &:fullscreen {\\n --container-border-radius: 0;\\n\\n &::after {\\n display: none;\\n }\\n\\n @media (width >= 1280px) {\\n --scale: 1.25;\\n }\\n @media (width >= 1536px) {\\n --scale: 1.5;\\n }\\n @media (width >= 1920px) {\\n --scale: 1.75;\\n }\\n }\\n\\n * {\\n --focus-ring-color: oklch(1 0 0);\\n }\\n}\\n\\n/* Error Dialog */\\n\\n.media-minimal-skin--video .media-error {\\n position: absolute;\\n inset: 0;\\n z-index: 20;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n pointer-events: none;\\n outline: none;\\n}\\n\\n.media-minimal-skin--video .media-error__dialog {\\n display: flex;\\n flex-direction: column;\\n gap: calc(var(--spacing) * 3);\\n width: 100%;\\n max-width: calc(var(--spacing) * 64);\\n padding: calc(var(--spacing) * 4);\\n color: oklch(1 0 0);\\n text-shadow: 0 1px 0 oklch(0 0 0 / 0.5);\\n pointer-events: auto;\\n transition-delay: var(--error-dialog-transition-delay);\\n transition-timing-function: var(--error-dialog-transition-timing-function);\\n transition-duration: var(--error-dialog-transition-duration);\\n transition-property: opacity, scale;\\n}\\n\\n.media-minimal-skin--video .media-error__content {\\n display: flex;\\n flex-direction: column;\\n gap: calc(var(--spacing) * 2);\\n padding: calc(var(--spacing) * 1.5) 0;\\n}\\n\\n.media-minimal-skin--video .media-error__title {\\n font-size: var(--font-size-medium);\\n}\\n\\n.media-minimal-skin--video .media-error[data-starting-style] .media-error__dialog,\\n.media-minimal-skin--video .media-error[data-ending-style] .media-error__dialog {\\n opacity: 0;\\n scale: 0.95;\\n}\\n.media-minimal-skin--video .media-error[data-ending-style] .media-error__dialog {\\n transition-delay: 0ms;\\n}\\n\\n/* Controls (hide/show behavior) */\\n\\n.media-minimal-skin--video .media-controls {\\n --base-side-offset: 5;\\n --base-boundary-offset: 1;\\n --inset-factor: 1;\\n --inset: calc(var(--spacing) * var(--inset-factor));\\n --volume-mask: linear-gradient(to right, transparent 10%, #000 25%, #000 100%);\\n\\n position: absolute;\\n inset-inline: var(--inset);\\n bottom: var(--inset);\\n z-index: 10;\\n flex-wrap: wrap;\\n column-gap: calc(var(--spacing) * 2);\\n color: oklch(1 0 0);\\n border-radius: calc(var(--spacing) * 3);\\n transition-timing-function: var(--controls-transition-timing-function);\\n /* Speed up the entry transition */\\n transition-duration: calc(var(--controls-transition-duration) / 2);\\n\\n @media (pointer: fine) {\\n transition-property: translate, filter, opacity;\\n will-change: translate, filter, opacity;\\n }\\n\\n @media (pointer: coarse) {\\n transition-property: translate, opacity;\\n will-change: translate, opacity;\\n }\\n\\n &:not([data-visible]) {\\n pointer-events: none;\\n opacity: 0;\\n transition-duration: var(--controls-transition-duration);\\n\\n @media (pointer: fine) and (prefers-reduced-motion: no-preference) {\\n filter: blur(8px);\\n }\\n\\n @media (prefers-reduced-motion: no-preference) {\\n translate: 0 100%;\\n }\\n }\\n\\n .media-time-controls {\\n --slider-height: calc(var(--spacing) * 5);\\n\\n flex: 0 0 100%;\\n order: -1;\\n padding-inline: calc(var(--spacing) * 1.5);\\n }\\n\\n .media-button-group:first-child {\\n flex: 1;\\n text-align: left;\\n }\\n\\n .media-button-group:last-child {\\n flex: 1;\\n justify-content: end;\\n }\\n\\n :is(.media-time-controls, .media-button-group:last-child) {\\n mask-image: var(--volume-mask-image, none);\\n mask-repeat: no-repeat;\\n mask-position: var(--volume-mask-position, 100% 0);\\n mask-size: var(--volume-mask-size, 200% 100%);\\n transition: mask-position 50ms ease-out;\\n }\\n\\n @container media-root (width <= 42rem) {\\n .media-popover--volume {\\n --media-popover-side-offset: calc(var(--spacing) * 3);\\n }\\n }\\n\\n &:has(.media-button--mute[aria-expanded=\\\"true\\\"]) {\\n @container media-root (width <= 42rem) {\\n .media-button-group:last-child {\\n --volume-mask-image: var(--volume-mask);\\n --volume-mask-position: 0 0;\\n --volume-mask-size: 400% 100%;\\n }\\n }\\n\\n @container media-root (width > 42rem) {\\n .media-time-controls {\\n --volume-mask-image: var(--volume-mask);\\n --volume-mask-position: 0 0;\\n }\\n }\\n }\\n\\n @container media-root (width > 42rem) {\\n --inset-factor: 2;\\n --base-side-offset: 2;\\n\\n flex-wrap: nowrap;\\n\\n .media-time-controls {\\n --slider-height: calc(var(--spacing) * 8);\\n\\n flex: 1;\\n order: unset;\\n }\\n\\n .media-button-group:first-child,\\n .media-button-group:last-child {\\n flex: 0 0 auto;\\n }\\n }\\n}\\n\\n.media-minimal-skin--video .media-error[data-open] ~ .media-controls {\\n display: none;\\n}\\n\\n/* Hide cursor when controls are hidden */\\n.media-minimal-skin--video:has(.media-controls:not([data-visible])) {\\n cursor: none;\\n}\\n\\n/* Popups & Animations */\\n\\n.media-minimal-skin--video .media-popover--volume {\\n padding: 0;\\n background: transparent;\\n}\\n\\n/* Slider preview */\\n\\n.media-minimal-skin--video .media-slider .media-slider__preview {\\n --preview-end-inset: calc(100cqi - 100%);\\n --preview-left: clamp(\\n calc(var(--max-size) / 2),\\n var(--media-slider-pointer),\\n calc(100% - var(--max-size) / 2 + var(--preview-end-inset))\\n );\\n\\n @container media-root (width > 42rem) {\\n --preview-left: var(--media-slider-pointer);\\n }\\n}\\n\\n\";","// Registers the live video player, container, and all video UI custom\n// elements used by the minimal skin without creating a skin element. Use\n// this entry when building an ejected (light DOM) player layout for live\n// HLS / DASH streams.\nimport { AirPlayButtonElement } from '@/ui/airplay-button/airplay-button-element';\nimport { MediaContainerElement } from '../../media/container-element';\nimport { BufferingIndicatorElement } from '../../ui/buffering-indicator/buffering-indicator-element';\nimport { CaptionsButtonElement } from '../../ui/captions-button/captions-button-element';\nimport { CaptionsRadioGroupElement } from '../../ui/captions-radio-group/captions-radio-group-element';\nimport { CastButtonElement } from '../../ui/cast-button/cast-button-element';\nimport { FullscreenButtonElement } from '../../ui/fullscreen-button/fullscreen-button-element';\nimport { GestureElement } from '../../ui/gesture/gesture-element';\nimport { HotkeyElement } from '../../ui/hotkey/hotkey-element';\nimport { LiveButtonElement } from '../../ui/live-button/live-button-element';\nimport { MuteButtonElement } from '../../ui/mute-button/mute-button-element';\nimport { PiPButtonElement } from '../../ui/pip-button/pip-button-element';\nimport { PlayButtonElement } from '../../ui/play-button/play-button-element';\nimport { PopoverElement } from '../../ui/popover/popover-element';\nimport { PosterElement } from '../../ui/poster/poster-element';\nimport { safeDefine } from '../safe-define';\nimport {\n defineControls,\n defineErrorDialog,\n defineInputIndicators,\n defineMenu,\n defineTime,\n defineTimeSlider,\n defineTooltip,\n defineVolumeSlider,\n} from '../ui/compounds';\n\n// Value import — player.ts body runs before this module's body.\nimport { LiveVideoPlayerElement } from './player';\n\n// ── Registration (providers / parents first) ────────────────────────────\n\nsafeDefine(LiveVideoPlayerElement);\nsafeDefine(MediaContainerElement);\n\n// Compound groups.\ndefineControls();\ndefineErrorDialog();\ndefineInputIndicators();\ndefineTimeSlider();\ndefineVolumeSlider();\ndefineTime();\ndefineMenu();\ndefineTooltip();\n\n// Standalone elements.\nsafeDefine(AirPlayButtonElement);\nsafeDefine(BufferingIndicatorElement);\nsafeDefine(CaptionsButtonElement);\nsafeDefine(CaptionsRadioGroupElement);\nsafeDefine(CastButtonElement);\nsafeDefine(FullscreenButtonElement);\nsafeDefine(GestureElement);\nsafeDefine(HotkeyElement);\nsafeDefine(LiveButtonElement);\nsafeDefine(MuteButtonElement);\nsafeDefine(PiPButtonElement);\nsafeDefine(PlayButtonElement);\nsafeDefine(PopoverElement);\nsafeDefine(PosterElement);\n","import { renderIcon } from '@videojs/icons/render/minimal';\nimport { createShadowStyle, createTemplate } from '@videojs/utils/dom';\nimport { safeDefine } from '../safe-define';\nimport { SkinElement } from '../skin-element';\nimport styles from './minimal-skin.css?inline';\n\n// Register the live video player, container, and minimal UI custom elements.\nimport './minimal-ui';\n\nfunction getTemplateHTML() {\n return /*html*/ `\n <media-container class=\"media-minimal-skin media-minimal-skin--video\">\n <!-- @deprecated slot=\"media\" is no longer required, use the default slot instead -->\n <slot name=\"media\"></slot>\n <slot></slot>\n\n <media-poster>\n <slot name=\"poster\">\n <img alt=\"\" decoding=\"async\">\n </slot>\n </media-poster>\n\n <media-buffering-indicator class=\"media-buffering-indicator\">\n ${renderIcon('spinner', { class: 'media-icon' })}\n </media-buffering-indicator>\n\n <media-error-dialog class=\"media-error\">\n <div class=\"media-error__dialog\">\n <div class=\"media-error__content\">\n <media-alert-dialog-title class=\"media-error__title\"></media-alert-dialog-title>\n <media-alert-dialog-description class=\"media-error__description\"></media-alert-dialog-description>\n </div>\n <div class=\"media-error__actions\">\n <media-alert-dialog-close class=\"media-button media-button--primary\"></media-alert-dialog-close>\n </div>\n </div>\n </media-error-dialog>\n\n <media-controls class=\"media-controls\">\n <media-tooltip-group>\n <div class=\"media-button-group\">\n <media-play-button commandfor=\"play-tooltip\" class=\"media-button media-button--subtle media-button--icon media-button--play\">\n ${renderIcon('restart', { class: 'media-icon media-icon--restart' })}\n ${renderIcon('play', { class: 'media-icon media-icon--play' })}\n ${renderIcon('pause', { class: 'media-icon media-icon--pause' })}\n </media-play-button>\n <media-tooltip id=\"play-tooltip\" side=\"top\" class=\"media-tooltip\">\n <media-tooltip-label></media-tooltip-label>\n <media-tooltip-shortcut class=\"media-tooltip__kbd\"></media-tooltip-shortcut>\n </media-tooltip>\n\n <media-live-button class=\"media-button media-button--subtle media-button--live\"></media-live-button>\n\n <media-mute-button commandfor=\"live-video-volume-popover\" class=\"media-button media-button--subtle media-button--icon media-button--mute\">\n ${renderIcon('volume-off', { class: 'media-icon media-icon--volume-off' })}\n ${renderIcon('volume-low', { class: 'media-icon media-icon--volume-low' })}\n ${renderIcon('volume-high', { class: 'media-icon media-icon--volume-high' })}\n </media-mute-button>\n\n <media-popover id=\"live-video-volume-popover\" open-on-hover delay=\"200\" close-delay=\"100\" side=\"right\" class=\"media-popover media-popover--volume\">\n <media-volume-slider class=\"media-slider\" orientation=\"horizontal\" thumb-alignment=\"edge\">\n <media-slider-track class=\"media-slider__track\">\n <media-slider-fill class=\"media-slider__fill\"></media-slider-fill>\n </media-slider-track>\n <media-slider-thumb class=\"media-slider__thumb media-slider__thumb--persistent\"></media-slider-thumb>\n </media-volume-slider>\n </media-popover>\n </div>\n\n <div class=\"media-time-controls\" aria-hidden=\"true\"></div>\n\n <div class=\"media-button-group\">\n <media-captions-button menu-for=\"captions-menu\" commandfor=\"captions-tooltip\" class=\"media-button media-button--subtle media-button--icon media-button--captions\">\n ${renderIcon('captions-off', { class: 'media-icon media-icon--captions-off' })}\n ${renderIcon('captions-on', { class: 'media-icon media-icon--captions-on' })}\n </media-captions-button>\n <media-menu id=\"captions-menu\" side=\"top\" align=\"center\" class=\"media-popover media-menu media-menu--captions\">\n <media-captions-radio-group class=\"media-menu__group\">\n <template>\n <media-menu-radio-item class=\"media-menu__item\">\n <span data-part=\"label\"></span>\n <media-menu-item-indicator force-mount class=\"media-menu__indicator\">\n ${renderIcon('check', { class: 'media-icon' })}\n </media-menu-item-indicator>\n </media-menu-radio-item>\n </template>\n </media-captions-radio-group>\n </media-menu>\n <media-tooltip id=\"captions-tooltip\" side=\"top\" class=\"media-tooltip\">\n <media-tooltip-label></media-tooltip-label>\n <media-tooltip-shortcut class=\"media-tooltip__kbd\"></media-tooltip-shortcut>\n </media-tooltip>\n\n <media-cast-button commandfor=\"cast-tooltip\" class=\"media-button media-button--subtle media-button--icon media-button--cast\">\n ${renderIcon('cast-enter', { class: 'media-icon media-icon--cast-enter' })}\n ${renderIcon('cast-exit', { class: 'media-icon media-icon--cast-exit' })}\n </media-cast-button>\n <media-tooltip id=\"cast-tooltip\" side=\"top\" class=\"media-tooltip\">\n <media-tooltip-label></media-tooltip-label>\n <media-tooltip-shortcut class=\"media-tooltip__kbd\"></media-tooltip-shortcut>\n </media-tooltip>\n\n <media-airplay-button commandfor=\"airplay-tooltip\" class=\"media-button media-button--subtle media-button--icon media-button--airplay\">\n ${renderIcon('airplay-enter', { class: 'media-icon media-icon--airplay-enter' })}\n ${renderIcon('airplay-exit', { class: 'media-icon media-icon--airplay-exit' })} \n </media-airplay-button>\n <media-tooltip id=\"airplay-tooltip\" side=\"top\" class=\"media-tooltip\">\n <media-tooltip-label></media-tooltip-label>\n <media-tooltip-shortcut class=\"media-tooltip__kbd\"></media-tooltip-shortcut>\n </media-tooltip>\n\n <media-pip-button commandfor=\"pip-tooltip\" class=\"media-button media-button--subtle media-button--icon media-button--pip\">\n ${renderIcon('pip-enter', { class: 'media-icon media-icon--pip-enter' })}\n ${renderIcon('pip-exit', { class: 'media-icon media-icon--pip-exit' })}\n </media-pip-button>\n <media-tooltip id=\"pip-tooltip\" side=\"top\" class=\"media-tooltip\">\n <media-tooltip-label></media-tooltip-label>\n <media-tooltip-shortcut class=\"media-tooltip__kbd\"></media-tooltip-shortcut>\n </media-tooltip>\n\n <media-fullscreen-button commandfor=\"fullscreen-tooltip\" class=\"media-button media-button--subtle media-button--icon media-button--fullscreen\">\n ${renderIcon('fullscreen-enter', { class: 'media-icon media-icon--fullscreen-enter' })}\n ${renderIcon('fullscreen-exit', { class: 'media-icon media-icon--fullscreen-exit' })}\n </media-fullscreen-button>\n <media-tooltip id=\"fullscreen-tooltip\" side=\"top\" class=\"media-tooltip\">\n <media-tooltip-label></media-tooltip-label>\n <media-tooltip-shortcut class=\"media-tooltip__kbd\"></media-tooltip-shortcut>\n </media-tooltip>\n </div>\n </media-tooltip-group>\n </media-controls>\n\n <div class=\"media-overlay\"></div>\n\n <!-- Hotkeys -->\n <media-hotkey keys=\"Space\" action=\"togglePaused\"></media-hotkey>\n <media-hotkey keys=\"k\" action=\"togglePaused\"></media-hotkey>\n <media-hotkey keys=\"m\" action=\"toggleMuted\"></media-hotkey>\n <media-hotkey keys=\"f\" action=\"toggleFullscreen\"></media-hotkey>\n <media-hotkey keys=\"c\" action=\"toggleSubtitles\"></media-hotkey>\n <media-hotkey keys=\"i\" action=\"togglePictureInPicture\"></media-hotkey>\n <media-hotkey keys=\"ArrowUp\" action=\"volumeStep\" value=\"0.05\"></media-hotkey>\n <media-hotkey keys=\"ArrowDown\" action=\"volumeStep\" value=\"-0.05\"></media-hotkey>\n\n <!-- Gestures -->\n <media-gesture type=\"tap\" action=\"togglePaused\" pointer=\"mouse\" region=\"center\"></media-gesture>\n <media-gesture type=\"tap\" action=\"toggleControls\" pointer=\"touch\"></media-gesture>\n <media-gesture type=\"doubletap\" action=\"toggleFullscreen\" region=\"center\"></media-gesture>\n\n <!-- Input Indicators -->\n <media-status-announcer class=\"media-sr-only\"></media-status-announcer>\n <div class=\"media-input-indicator-overlay\">\n <media-volume-indicator hidden class=\"media-volume-indicator\">\n <media-volume-indicator-fill class=\"media-volume-indicator__content\">\n ${renderIcon('volume-high', { class: 'media-icon media-icon--volume-high' })}\n ${renderIcon('volume-low', { class: 'media-icon media-icon--volume-low' })}\n ${renderIcon('volume-off', { class: 'media-icon media-icon--volume-off' })}\n <div class=\"media-volume-indicator__progress\" aria-hidden=\"true\"></div>\n <media-volume-indicator-value class=\"media-volume-indicator__value\"></media-volume-indicator-value>\n </media-volume-indicator-fill>\n </media-volume-indicator>\n <media-status-indicator\n hidden\n actions=\"toggleSubtitles toggleFullscreen togglePictureInPicture\"\n class=\"media-status-indicator media-status-indicator--state\"\n >\n <div class=\"media-status-indicator__content\">\n ${renderIcon('captions-on', { class: 'media-icon media-icon--captions-on' })}\n ${renderIcon('captions-off', { class: 'media-icon media-icon--captions-off' })}\n ${renderIcon('fullscreen-enter', { class: 'media-icon media-icon--fullscreen-enter' })}\n ${renderIcon('fullscreen-exit', { class: 'media-icon media-icon--fullscreen-exit' })}\n ${renderIcon('pip-enter', { class: 'media-icon media-icon--pip-enter' })}\n ${renderIcon('pip-exit', { class: 'media-icon media-icon--pip-exit' })}\n <media-status-indicator-value class=\"media-status-indicator__value\"></media-status-indicator-value>\n </div>\n </media-status-indicator>\n <media-status-indicator hidden actions=\"togglePaused\" class=\"media-status-indicator media-status-indicator--playback\">\n ${renderIcon('play', { class: 'media-icon media-icon--play' })}\n ${renderIcon('pause', { class: 'media-icon media-icon--pause' })}\n </media-status-indicator>\n </div>\n </media-container>\n `;\n}\n\nexport class MinimalLiveVideoSkinElement extends SkinElement {\n static readonly tagName = 'live-video-minimal-skin';\n static styles = createShadowStyle(styles);\n static template = createTemplate(getTemplateHTML());\n}\n\nsafeDefine(MinimalLiveVideoSkinElement);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [MinimalLiveVideoSkinElement.tagName]: MinimalLiveVideoSkinElement;\n }\n}\n"],"mappings":";;;;;;;;;;;;AAAA,2BAAe;;;;ACoCf,WAAW,sBAAsB;AACjC,WAAW,qBAAqB;AAGhC,eAAe;AACf,kBAAkB;AAClB,sBAAsB;AACtB,iBAAiB;AACjB,mBAAmB;AACnB,WAAW;AACX,WAAW;AACX,cAAc;AAGd,WAAW,oBAAoB;AAC/B,WAAW,yBAAyB;AACpC,WAAW,qBAAqB;AAChC,WAAW,yBAAyB;AACpC,WAAW,iBAAiB;AAC5B,WAAW,uBAAuB;AAClC,WAAW,cAAc;AACzB,WAAW,aAAa;AACxB,WAAW,iBAAiB;AAC5B,WAAW,iBAAiB;AAC5B,WAAW,gBAAgB;AAC3B,WAAW,iBAAiB;AAC5B,WAAW,cAAc;AACzB,WAAW,aAAa;;;;ACtDxB,SAAS,kBAAkB;CACzB,OAAgB;;;;;;;;;;;;;UAaR,WAAW,WAAW,EAAE,OAAO,aAAa,CAAC,EAAE;;;;;;;;;;;;;;;;;;;gBAmBzC,WAAW,WAAW,EAAE,OAAO,iCAAiC,CAAC,EAAE;gBACnE,WAAW,QAAQ,EAAE,OAAO,8BAA8B,CAAC,EAAE;gBAC7D,WAAW,SAAS,EAAE,OAAO,+BAA+B,CAAC,EAAE;;;;;;;;;;gBAU/D,WAAW,cAAc,EAAE,OAAO,oCAAoC,CAAC,EAAE;gBACzE,WAAW,cAAc,EAAE,OAAO,oCAAoC,CAAC,EAAE;gBACzE,WAAW,eAAe,EAAE,OAAO,qCAAqC,CAAC,EAAE;;;;;;;;;;;;;;;;;gBAiB3E,WAAW,gBAAgB,EAAE,OAAO,sCAAsC,CAAC,EAAE;gBAC7E,WAAW,eAAe,EAAE,OAAO,qCAAqC,CAAC,EAAE;;;;;;;;wBAQnE,WAAW,SAAS,EAAE,OAAO,aAAa,CAAC,EAAE;;;;;;;;;;;;gBAYrD,WAAW,cAAc,EAAE,OAAO,oCAAoC,CAAC,EAAE;gBACzE,WAAW,aAAa,EAAE,OAAO,mCAAmC,CAAC,EAAE;;;;;;;;gBAQvE,WAAW,iBAAiB,EAAE,OAAO,uCAAuC,CAAC,EAAE;gBAC/E,WAAW,gBAAgB,EAAE,OAAO,sCAAsC,CAAC,EAAE;;;;;;;;gBAQ7E,WAAW,aAAa,EAAE,OAAO,mCAAmC,CAAC,EAAE;gBACvE,WAAW,YAAY,EAAE,OAAO,kCAAkC,CAAC,EAAE;;;;;;;;gBAQrE,WAAW,oBAAoB,EAAE,OAAO,0CAA0C,CAAC,EAAE;gBACrF,WAAW,mBAAmB,EAAE,OAAO,yCAAyC,CAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAgCrF,WAAW,eAAe,EAAE,OAAO,qCAAqC,CAAC,EAAE;cAC3E,WAAW,cAAc,EAAE,OAAO,oCAAoC,CAAC,EAAE;cACzE,WAAW,cAAc,EAAE,OAAO,oCAAoC,CAAC,EAAE;;;;;;;;;;;cAWzE,WAAW,eAAe,EAAE,OAAO,qCAAqC,CAAC,EAAE;cAC3E,WAAW,gBAAgB,EAAE,OAAO,sCAAsC,CAAC,EAAE;cAC7E,WAAW,oBAAoB,EAAE,OAAO,0CAA0C,CAAC,EAAE;cACrF,WAAW,mBAAmB,EAAE,OAAO,yCAAyC,CAAC,EAAE;cACnF,WAAW,aAAa,EAAE,OAAO,mCAAmC,CAAC,EAAE;cACvE,WAAW,YAAY,EAAE,OAAO,kCAAkC,CAAC,EAAE;;;;;YAKvE,WAAW,QAAQ,EAAE,OAAO,8BAA8B,CAAC,EAAE;YAC7D,WAAW,SAAS,EAAE,OAAO,+BAA+B,CAAC,EAAE;;;;;AAK3E;AAEA,IAAa,8BAAb,cAAiD,YAAY;;iBACjC;;;gBACV,kBAAkBA,oBAAM;;;kBACtB,eAAe,gBAAgB,CAAC;;AACpD;AAEA,WAAW,2BAA2B"}
|
|
1
|
+
{"version":3,"file":"live-video-minimal.dev.js","names":["styles"],"sources":["../inline-css:src/define/live-video/minimal-skin.js","../src/define/live-video/minimal-ui.ts","../src/define/live-video/minimal-skin.ts"],"sourcesContent":["export default \"/* -------------------------------------------------------------------------- */\\n/* Global styles for the host document, outside of the Shadow DOM */\\n/* -------------------------------------------------------------------------- */\\n\\nvideo-player,\\nlive-video-player,\\nmedia-i18n {\\n display: contents;\\n}\\n\\n/*\\nRequired to override any default video and image styles (such as\\nTailwind's CSS reset) and ensure they fill the container as expected.\\n*/\\nvideo-player video,\\nvideo-player [slot=\\\"poster\\\"],\\nlive-video-player video,\\nlive-video-player [slot=\\\"poster\\\"] {\\n display: block;\\n width: 100%;\\n height: 100%;\\n}\\n\\nvideo-player video::-webkit-media-text-track-container,\\nlive-video-player video::-webkit-media-text-track-container {\\n z-index: 1;\\n font-family: inherit;\\n scale: 0.98;\\n translate: 0 var(--media-caption-track-y, 0);\\n transition: translate var(--media-caption-track-duration, 0) ease-out;\\n transition-delay: var(--media-caption-track-delay, 0);\\n}\\n\\n/* -------------------------------------------------------------------------- */\\n/* Shared styles for all HTML skins */\\n/* -------------------------------------------------------------------------- */\\n\\nmedia-tooltip-group {\\n display: contents;\\n}\\n\\n:host {\\n /* `display:grid` fixes a weird issue with Safari when setting aspect-ratio */\\n display: grid;\\n width: 100%;\\n}\\n\\nmedia-container {\\n min-width: 0;\\n min-height: 0;\\n}\\n\\n/* Hide the volume popover when its slider is unavailable. */\\n.media-popover--volume:has(media-volume-slider[data-hidden]) {\\n display: none;\\n}\\n\\n.media-sr-only {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n padding: 0;\\n margin: -1px;\\n overflow: hidden;\\n white-space: nowrap;\\n border: 0;\\n clip: rect(0, 0, 0, 0);\\n}\\n\\n\\n.media-minimal-skin *,\\n.media-minimal-skin *::before,\\n.media-minimal-skin *::after {\\n box-sizing: border-box;\\n}\\n.media-minimal-skin img,\\n.media-minimal-skin video,\\n.media-minimal-skin svg {\\n display: block;\\n max-width: 100%;\\n}\\n.media-minimal-skin button {\\n font: inherit;\\n}\\n.media-minimal-skin [hidden][hidden] {\\n /* Keep authored templates hidden even when component classes set display. */\\n display: none;\\n}\\n@media (prefers-reduced-motion: no-preference) {\\n .media-minimal-skin {\\n interpolate-size: allow-keywords;\\n }\\n}\\n\\n.media-minimal-skin {\\n /* Colors */\\n --accent-color: var(--media-accent-color, var(--default-accent-color));\\n --accent-contrast-color: contrast-color(var(--accent-color));\\n --accent-background-color: var(\\n --media-accent-color,\\n oklch(from var(--default-accent-color) l c h / calc(alpha * 0.1))\\n );\\n --accent-text-color: var(--media-accent-text-color, contrast-color(var(--media-accent-color, oklch(0 0 0))));\\n --shadow-current-color: oklch(from currentColor 0 0 0 / clamp(0, calc((l - 0.5) * 0.5), 0.15));\\n --shadow-subtle-current-color: oklch(from var(--shadow-current-color) l c h / calc(alpha * 0.4));\\n --scrollbar-thumb-color: oklch(from currentColor l c h / 0.3);\\n\\n /* Scaling - used in video fullscreen to scale the UI. */\\n --scale: 1;\\n /* Fixed scaling unit to avoid inheriting the document's root font size. This must be a CSS <length>. */\\n --scale-unit: var(--media-scale-unit, 16px);\\n --size: calc(var(--scale-unit) * var(--scale));\\n /* Create a Tailwind-like spacing unit where 1 equals 4px with default scaling. */\\n --spacing: calc(var(--size) / 4);\\n\\n /* Font sizes */\\n --font-size-medium: calc(0.9375 * var(--size)); /* 15px */\\n --font-size-base: calc(0.8125 * var(--size)); /* 13px */\\n --font-size-small: calc(0.6875 * var(--size)); /* 11px */\\n --font-size-tiny: calc(0.5625 * var(--size)); /* 9px */\\n --media-icon-size: calc(1.125 * var(--size)); /* 18px */\\n\\n /* Radii */\\n --container-border-radius: var(--media-border-radius, 0.75rem);\\n\\n position: relative;\\n display: block;\\n width: 100%;\\n height: 100%;\\n container: media-root / inline-size;\\n font-family:\\n Inter Variable,\\n Inter,\\n ui-sans-serif,\\n system-ui,\\n sans-serif;\\n font-size: var(--font-size-base);\\n -webkit-font-smoothing: auto;\\n -moz-osx-font-smoothing: auto;\\n line-height: 1.5;\\n letter-spacing: normal;\\n outline: 2px solid transparent;\\n outline-offset: -4px;\\n scrollbar-color: var(--scrollbar-thumb-color) transparent;\\n scrollbar-width: thin;\\n border-radius: var(--container-border-radius);\\n isolation: isolate;\\n transition-timing-function: ease-out;\\n transition-duration: 100ms;\\n transition-property: outline-offset, outline-color;\\n\\n &:focus-visible {\\n outline-color: var(--focus-ring-color);\\n outline-offset: 2px;\\n }\\n\\n &::-webkit-scrollbar-thumb {\\n background: var(--scrollbar-thumb-color);\\n border-radius: 9999px;\\n }\\n\\n @media (prefers-reduced-transparency: reduce) or (prefers-contrast: more) {\\n --scrollbar-thumb-color: oklch(from currentColor l c h / 0.8);\\n scrollbar-width: auto;\\n }\\n}\\n\\n.media-minimal-skin ::slotted(video),\\n.media-minimal-skin video {\\n display: block;\\n width: 100%;\\n height: 100%;\\n object-fit: var(--media-object-fit, contain);\\n object-position: var(--media-object-position, center);\\n}\\n.media-minimal-skin ::slotted(video) {\\n border-radius: var(--container-border-radius);\\n}\\n.media-minimal-skin video {\\n border-radius: inherit;\\n}\\n\\n.media-minimal-skin:fullscreen ::slotted(video),\\n.media-minimal-skin:fullscreen video {\\n object-fit: contain;\\n}\\n\\n.media-minimal-skin .media-overlay {\\n position: absolute;\\n inset: 0;\\n pointer-events: none;\\n background-image: linear-gradient(\\n to top,\\n oklch(0 0 0 / 0.7),\\n oklch(0 0 0 / 0.5) calc(var(--spacing) * 30),\\n oklch(0 0 0 / 0)\\n );\\n border-radius: inherit;\\n opacity: 0;\\n backdrop-filter: blur(0) saturate(1);\\n transition-timing-function: ease-out;\\n transition-duration: var(--controls-transition-duration);\\n transition-property: opacity, backdrop-filter;\\n}\\n\\n.media-minimal-skin .media-error ~ .media-overlay {\\n transition-delay: var(--error-dialog-transition-delay);\\n transition-duration: var(--error-dialog-transition-duration);\\n}\\n\\n.media-minimal-skin .media-controls[data-visible] ~ .media-overlay,\\n.media-minimal-skin .media-error[data-open] ~ .media-overlay {\\n opacity: 1;\\n}\\n\\n.media-minimal-skin .media-buffering-indicator[data-visible] ~ .media-overlay {\\n background: oklch(0 0 0 / 0.35);\\n opacity: 1;\\n backdrop-filter: blur(8px);\\n}\\n\\n.media-minimal-skin .media-error[data-open] ~ .media-overlay {\\n backdrop-filter: blur(16px) saturate(1.2);\\n}\\n\\n.media-minimal-skin .media-buffering-indicator {\\n position: absolute;\\n inset: 0;\\n z-index: 10;\\n display: none;\\n place-content: center;\\n color: oklch(1 0 0);\\n pointer-events: none;\\n\\n &:not([data-visible]) {\\n --media-spinner-animation: none;\\n }\\n\\n &[data-visible] {\\n display: grid;\\n }\\n\\n @media (prefers-reduced-motion: reduce) {\\n --media-spinner-animation: none;\\n }\\n}\\n\\n.media-minimal-skin .media-error:not([data-open]) {\\n display: none;\\n}\\n\\n.media-minimal-skin .media-error__title {\\n font-weight: 600;\\n line-height: 1.25;\\n}\\n\\n.media-minimal-skin .media-error__description {\\n overflow-wrap: anywhere;\\n opacity: 0.7;\\n}\\n\\n.media-minimal-skin .media-error__actions {\\n display: flex;\\n gap: calc(var(--spacing) * 2);\\n\\n > * {\\n flex: 1;\\n }\\n}\\n\\n.media-minimal-skin .media-error[data-open] ~ .media-controls * {\\n visibility: hidden;\\n}\\n\\n.media-minimal-skin .media-controls {\\n --media-popover-side-offset: calc(var(--spacing) * (var(--base-side-offset, 2) + 1));\\n --media-tooltip-side-offset: var(--media-popover-side-offset);\\n --media-popover-boundary-offset: calc(var(--spacing) * (var(--base-boundary-offset, 0) + 1));\\n --media-tooltip-boundary-offset: var(--media-popover-boundary-offset);\\n\\n display: flex;\\n align-items: center;\\n padding: calc(var(--spacing) * 1);\\n container: media-controls / inline-size;\\n text-shadow: 0 1px 0 var(--shadow-current-color);\\n background-color: var(--controls-background-color);\\n backdrop-filter: var(--controls-backdrop-filter);\\n}\\n\\n.media-minimal-skin .media-time-controls {\\n display: flex;\\n flex: 1;\\n flex-direction: row-reverse;\\n gap: calc(var(--spacing) * 3);\\n align-items: center;\\n container: media-time-controls / inline-size;\\n}\\n\\n.media-minimal-skin .media-time-group {\\n display: flex;\\n gap: calc(var(--spacing) * 1);\\n align-items: center;\\n}\\n\\n.media-minimal-skin .media-time {\\n font-variant-numeric: tabular-nums;\\n}\\n\\n.media-minimal-skin .media-time[role=\\\"button\\\"] {\\n cursor: pointer;\\n outline: 2px solid transparent;\\n outline-offset: -2px;\\n border-radius: calc(var(--spacing) * 1);\\n transition-timing-function: ease-out;\\n transition-duration: 100ms;\\n transition-property: outline-color, outline-offset;\\n\\n @supports (corner-shape: squircle) {\\n border-radius: calc(var(--spacing) * 4);\\n corner-shape: squircle;\\n }\\n\\n &:focus-visible {\\n outline-color: var(--focus-ring-color);\\n outline-offset: 2px;\\n }\\n}\\n\\n.media-minimal-skin .media-time--current,\\n.media-minimal-skin .media-time-separator {\\n display: none;\\n}\\n\\n@container media-root (width > 42rem) {\\n .media-minimal-skin .media-time-controls {\\n flex-direction: row;\\n }\\n\\n .media-minimal-skin .media-time--duration,\\n .media-minimal-skin .media-time-separator {\\n color: oklch(from currentColor l c h / 0.6);\\n }\\n\\n .media-minimal-skin .media-time--current,\\n .media-minimal-skin .media-time-separator {\\n display: inline;\\n }\\n}\\n\\n/* Base button */\\n.media-minimal-skin .media-button {\\n display: flex;\\n flex-shrink: 0;\\n align-items: center;\\n justify-content: center;\\n height: calc(var(--spacing) * 9.5);\\n min-height: 0;\\n padding: calc(var(--spacing) * 2) calc(var(--spacing) * 4);\\n text-align: center;\\n touch-action: manipulation;\\n cursor: pointer;\\n user-select: none;\\n outline: 2px solid transparent;\\n outline-offset: -2px;\\n border: none;\\n border-radius: calc(var(--spacing) * 2);\\n transition-timing-function: ease-out;\\n transition-duration: 150ms;\\n transition-property: background-color, outline-offset, scale;\\n /* Fix weird jumping when clicking on the buttons in Safari. */\\n will-change: scale;\\n\\n &:focus-visible {\\n outline-color: var(--focus-ring-color);\\n outline-offset: 2px;\\n }\\n\\n &:active:not([aria-disabled=\\\"true\\\"]) {\\n scale: 0.97;\\n }\\n\\n &[aria-disabled=\\\"true\\\"] {\\n cursor: not-allowed;\\n opacity: 0.5;\\n }\\n}\\n\\n@supports (corner-shape: squircle) {\\n .media-minimal-skin .media-button {\\n border-radius: calc(var(--spacing) * 4);\\n corner-shape: squircle;\\n }\\n}\\n\\n/* Primary button variant */\\n.media-minimal-skin .media-button--primary {\\n font-weight: 500;\\n color: var(--accent-contrast-color);\\n text-shadow: none;\\n background: var(--accent-color);\\n}\\n\\n/* Subtle button variant */\\n.media-minimal-skin .media-button--subtle {\\n color: inherit;\\n text-shadow: inherit;\\n background: transparent;\\n\\n &:not([aria-disabled=\\\"true\\\"]) {\\n &:hover,\\n &:focus-visible,\\n &[aria-expanded=\\\"true\\\"] {\\n color: var(--accent-text-color);\\n text-decoration: none;\\n background-color: var(--accent-background-color);\\n }\\n }\\n}\\n\\n/* Icon button variant */\\n.media-minimal-skin .media-button--icon {\\n display: grid;\\n aspect-ratio: 1;\\n padding: 0;\\n\\n &:active:not([aria-disabled=\\\"true\\\"]) {\\n scale: 0.97;\\n }\\n\\n .media-icon__container {\\n display: grid;\\n }\\n\\n .media-icon {\\n grid-area: 1 / 1;\\n filter: drop-shadow(0 1px 0 var(--shadow-current-color));\\n transition-timing-function: ease-out;\\n transition-duration: 150ms;\\n transition-property: opacity, scale;\\n }\\n}\\n\\n/* Seek button */\\n.media-minimal-skin .media-button--seek {\\n .media-icon__label {\\n position: absolute;\\n right: -1px;\\n bottom: -3px;\\n font-size: 0.715em; /* 10px */\\n font-weight: 500;\\n font-variant-numeric: tabular-nums;\\n letter-spacing: -0.05em;\\n }\\n\\n &:has(.media-icon--flipped) .media-icon__label {\\n right: unset;\\n left: -1px;\\n }\\n}\\n\\n/* Playback rate button */\\n.media-minimal-skin .media-button--playback-rate {\\n padding: 0;\\n font-variant-numeric: tabular-nums;\\n\\n &::after {\\n width: 4ch;\\n content: attr(data-rate) \\\"\\\\00D7\\\";\\n }\\n\\n &[data-inline-rate-label]::after {\\n content: none;\\n }\\n}\\n\\n/* Settings button */\\n.media-minimal-skin .media-button--settings {\\n .media-icon--settings {\\n transition: transform 150ms ease-in-out;\\n\\n @media (prefers-reduced-motion: reduce) {\\n transition-duration: 0ms;\\n }\\n }\\n\\n &[aria-expanded=\\\"true\\\"] .media-icon--settings {\\n transform: rotate(90deg);\\n }\\n}\\n\\n/* Live button — wide pill button with a status dot (gray → red at the live\\n edge) rendered via ::before, and \\\"LIVE\\\" text rendered as the button's own\\n text content. */\\n.media-minimal-skin .media-button--live {\\n display: inline-flex;\\n gap: calc(var(--spacing) * 1.5);\\n align-items: center;\\n width: auto;\\n aspect-ratio: auto;\\n padding: calc(var(--spacing) * 2) calc(var(--spacing) * 3);\\n font-size: var(--font-size-small);\\n font-weight: 600;\\n line-height: 1;\\n text-transform: uppercase;\\n letter-spacing: 0.05em;\\n\\n &::before {\\n display: inline-block;\\n flex-shrink: 0;\\n width: calc(var(--spacing) * 2);\\n height: calc(var(--spacing) * 2);\\n content: \\\"\\\";\\n background-color: oklch(from currentColor l c h / 0.4);\\n border-radius: 50%;\\n transition: background-color 150ms ease-out;\\n }\\n\\n &[data-live-edge]::before {\\n background-color: oklch(0.65 0.22 27);\\n }\\n}\\n\\n@media (prefers-reduced-motion: reduce) {\\n .media-minimal-skin .media-button {\\n scale: 1;\\n transition-property: background-color;\\n will-change: auto;\\n }\\n}\\n\\n.media-minimal-skin .media-button-group {\\n display: flex;\\n gap: 1px;\\n align-items: center;\\n}\\n\\n.media-minimal-skin .media-badge {\\n padding: calc(var(--spacing) * 1) calc(var(--spacing) * 1.5);\\n font-size: var(--font-size-small);\\n font-weight: 500;\\n line-height: 1;\\n color: oklch(from currentColor l c h / 0.85);\\n white-space: nowrap;\\n background-color: oklch(from currentColor l c h / 0.1);\\n border-radius: calc(var(--spacing) * 1);\\n}\\n\\n.media-minimal-skin .media-icon__container {\\n position: relative;\\n}\\n\\n.media-minimal-skin .media-icon {\\n flex-shrink: 0;\\n width: var(--media-icon-size);\\n height: var(--media-icon-size);\\n}\\n.media-minimal-skin .media-icon--flipped {\\n scale: -1 1;\\n}\\n\\n.media-minimal-skin media-poster,\\n.media-minimal-skin > img {\\n position: absolute;\\n inset: 0;\\n width: 100%;\\n height: 100%;\\n pointer-events: none;\\n transition: opacity 0.25s;\\n}\\n.media-minimal-skin media-poster:not([data-visible]),\\n.media-minimal-skin > img:not([data-visible]) {\\n opacity: 0;\\n}\\n.media-minimal-skin media-poster ::slotted(img),\\n.media-minimal-skin media-poster img {\\n position: absolute;\\n inset: 0;\\n width: 100%;\\n height: 100%;\\n object-fit: var(--media-object-fit, contain);\\n object-position: var(--media-object-position, center);\\n border-radius: var(--container-border-radius);\\n}\\n.media-minimal-skin > img {\\n object-fit: var(--media-object-fit, contain);\\n object-position: var(--media-object-position, center);\\n border-radius: inherit;\\n}\\n\\n.media-minimal-skin:fullscreen media-poster ::slotted(img),\\n.media-minimal-skin:fullscreen media-poster img,\\n.media-minimal-skin:fullscreen > img {\\n object-fit: contain;\\n}\\n\\n.media-minimal-skin .media-thumbnail {\\n position: relative;\\n pointer-events: none;\\n background-color: oklch(0 0 0 / 0.9);\\n border-radius: calc(var(--spacing) * 2);\\n\\n &::after {\\n position: absolute;\\n inset: 0;\\n content: \\\"\\\";\\n border-radius: inherit;\\n box-shadow:\\n 0 0 0 1px oklch(0 0 0 / 0.05),\\n 0 1px 3px 0 oklch(0 0 0 / 0.2),\\n 0 1px 2px -1px oklch(0 0 0 / 0.2);\\n }\\n\\n .media-thumbnail__image {\\n position: relative;\\n display: block;\\n max-width: var(--thumbnail-max-width);\\n max-height: var(--thumbnail-max-height);\\n overflow: clip;\\n border-radius: inherit;\\n }\\n\\n .media-thumbnail__spinner {\\n position: absolute;\\n top: 50%;\\n left: 50%;\\n opacity: 0;\\n translate: -50% -50%;\\n }\\n\\n .media-thumbnail__image,\\n .media-thumbnail__spinner {\\n transition: opacity 150ms ease-out;\\n }\\n\\n &:not(:has(.media-thumbnail__image[data-loading])) {\\n .media-thumbnail__spinner {\\n --media-spinner-animation: none;\\n }\\n }\\n\\n @media (prefers-reduced-motion: reduce) {\\n --media-spinner-animation: none;\\n }\\n\\n &:has(.media-thumbnail__image[data-loading]) {\\n width: var(--thumbnail-max-width);\\n max-width: 100%;\\n aspect-ratio: 16 / 9;\\n overflow: hidden;\\n\\n .media-thumbnail__image {\\n opacity: 0;\\n }\\n .media-thumbnail__spinner {\\n opacity: 1;\\n }\\n }\\n}\\n\\n.media-minimal-skin .media-slider {\\n --track-size: calc(var(--spacing) * 1);\\n --track-highlighted-size: calc(var(--spacing) * 1.75);\\n --track-border-radius: 99px;\\n --thumb-size: calc(var(--spacing) * 3);\\n --chapter-gap: calc(var(--spacing) * 1);\\n --chapter-inset-start: calc(var(--chapter-gap) / 2);\\n --chapter-inset-end: calc(var(--chapter-gap) / 2);\\n\\n position: relative;\\n display: flex;\\n flex: 1;\\n align-items: center;\\n justify-content: center;\\n cursor: pointer;\\n outline: none;\\n border-radius: var(--track-border-radius);\\n\\n &[data-orientation=\\\"horizontal\\\"] {\\n width: var(--slider-width, 100%);\\n min-width: calc(var(--spacing) * 20);\\n height: var(--slider-height, calc(var(--spacing) * 8));\\n }\\n &[data-orientation=\\\"vertical\\\"] {\\n width: var(--slider-width, calc(var(--spacing) * 8));\\n height: var(--slider-height, calc(var(--spacing) * 20));\\n }\\n\\n /* Track */\\n .media-slider__track {\\n position: relative;\\n overflow: hidden;\\n user-select: none;\\n background-color: oklch(from currentColor l c h / 0.2);\\n border-radius: inherit;\\n isolation: isolate;\\n\\n &[data-orientation=\\\"horizontal\\\"] {\\n width: 100%;\\n height: var(--track-size);\\n }\\n &[data-orientation=\\\"vertical\\\"] {\\n width: var(--track-size);\\n height: 100%;\\n }\\n }\\n\\n /* Shared track fills */\\n .media-slider__buffer,\\n .media-slider__fill {\\n position: absolute;\\n pointer-events: none;\\n border-radius: inherit;\\n\\n &[data-orientation=\\\"horizontal\\\"] {\\n inset-block: 0;\\n left: 0;\\n width: 100%;\\n }\\n &[data-orientation=\\\"vertical\\\"] {\\n inset-inline: 0;\\n bottom: 0;\\n height: 100%;\\n }\\n\\n @media (prefers-reduced-motion: no-preference) {\\n transition: clip-path 200ms ease-out;\\n }\\n }\\n &[data-dragging],\\n &[data-seeking] {\\n .media-slider__fill,\\n .media-slider__buffer {\\n transition-duration: 0ms;\\n }\\n }\\n\\n /* Buffer */\\n .media-slider__buffer {\\n background-color: oklch(from currentColor l c h / 0.2);\\n\\n &[data-orientation=\\\"horizontal\\\"] {\\n clip-path: inset(0 calc(100% - var(--media-slider-buffer)) 0 0 round var(--track-border-radius));\\n }\\n &[data-orientation=\\\"vertical\\\"] {\\n clip-path: inset(calc(100% - var(--media-slider-buffer)) 0 0 0 round var(--track-border-radius));\\n }\\n }\\n\\n /* Fill */\\n .media-slider__fill {\\n background-color: var(--accent-color);\\n\\n &[data-orientation=\\\"horizontal\\\"] {\\n clip-path: inset(0 calc(100% - var(--media-slider-fill)) 0 0 round var(--track-border-radius));\\n }\\n &[data-orientation=\\\"vertical\\\"] {\\n clip-path: inset(calc(100% - var(--media-slider-fill)) 0 0 0 round var(--track-border-radius));\\n }\\n }\\n &[data-dragging] {\\n .media-slider__fill[data-orientation=\\\"horizontal\\\"] {\\n clip-path: inset(0 calc(100% - var(--media-slider-pointer)) 0 0 round var(--track-border-radius));\\n }\\n .media-slider__fill[data-orientation=\\\"vertical\\\"] {\\n clip-path: inset(calc(100% - var(--media-slider-pointer)) 0 0 0 round var(--track-border-radius));\\n }\\n }\\n\\n /* Chapters */\\n .media-slider__chapters {\\n position: relative;\\n display: flex;\\n flex: 1;\\n align-items: center;\\n min-width: 0;\\n min-height: 0;\\n border-radius: inherit;\\n\\n &[data-orientation=\\\"horizontal\\\"] {\\n width: 100%;\\n height: 100%;\\n }\\n &[data-orientation=\\\"vertical\\\"] {\\n flex-direction: column-reverse;\\n width: 100%;\\n height: 100%;\\n }\\n }\\n\\n .media-slider__chapter {\\n position: absolute;\\n inset: 0;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n min-width: 0;\\n min-height: 0;\\n\\n &:first-child {\\n --chapter-inset-start: 0px;\\n }\\n &:last-child {\\n --chapter-inset-end: 0px;\\n }\\n\\n .media-slider__chapter-track {\\n border-radius: var(--track-border-radius);\\n\\n @media (prefers-reduced-motion: no-preference) {\\n transition: 200ms ease-out;\\n transition-property: height, width;\\n }\\n }\\n\\n &[data-orientation=\\\"horizontal\\\"] {\\n clip-path: inset(0 calc(100% - var(--media-slider-chapter-end)) 0 var(--media-slider-chapter-start));\\n\\n .media-slider__chapter-track {\\n height: var(--track-size);\\n clip-path: inset(\\n 0 calc(100% - var(--media-slider-chapter-end) + var(--chapter-inset-end)) 0\\n calc(var(--media-slider-chapter-start) + var(--chapter-inset-start)) round var(--track-border-radius)\\n );\\n }\\n\\n &[data-highlighted] .media-slider__chapter-track {\\n height: var(--track-highlighted-size);\\n }\\n }\\n\\n &[data-orientation=\\\"vertical\\\"] {\\n clip-path: inset(calc(100% - var(--media-slider-chapter-end)) 0 var(--media-slider-chapter-start) 0);\\n\\n .media-slider__chapter-track {\\n width: var(--track-size);\\n clip-path: inset(\\n calc(100% - var(--media-slider-chapter-end) + var(--chapter-inset-end)) 0\\n calc(var(--media-slider-chapter-start) + var(--chapter-inset-start)) 0 round var(--track-border-radius)\\n );\\n }\\n\\n &[data-highlighted] .media-slider__chapter-track {\\n width: var(--track-highlighted-size);\\n }\\n }\\n }\\n\\n /* Thumb */\\n .media-slider__thumb {\\n position: absolute;\\n z-index: 10;\\n width: var(--thumb-size);\\n height: var(--thumb-size);\\n user-select: none;\\n outline: 2px solid transparent;\\n outline-offset: -2px;\\n background-color: currentColor;\\n border-radius: calc(Infinity * 1px);\\n box-shadow:\\n 0 0 0 1px var(--shadow-current-color, oklch(0 0 0 / 0.15)),\\n 0 1px 3px 0 oklch(0 0 0 / 0.15),\\n 0 1px 2px -1px oklch(0 0 0 / 0.15);\\n opacity: 0;\\n transform-origin: center;\\n scale: 0.7;\\n translate: -50% -50%;\\n\\n &[data-orientation=\\\"horizontal\\\"] {\\n top: 50%;\\n left: var(--media-slider-fill);\\n }\\n &[data-orientation=\\\"vertical\\\"] {\\n top: calc(100% - var(--media-slider-fill));\\n left: 50%;\\n }\\n\\n &:focus-visible {\\n outline-color: var(--focus-ring-color);\\n outline-offset: 2px;\\n }\\n\\n &:focus-visible,\\n &.media-slider__thumb--persistent {\\n opacity: 1;\\n scale: 1;\\n }\\n\\n @media (prefers-reduced-motion: no-preference) {\\n transition-timing-function: ease-out;\\n transition-duration: 150ms;\\n transition-property: opacity, outline-offset, left, top, scale;\\n }\\n }\\n\\n @media (hover: hover) and (pointer: fine) {\\n &:hover .media-slider__thumb {\\n opacity: 1;\\n scale: 1;\\n }\\n }\\n\\n &[data-dragging] .media-slider__thumb {\\n opacity: 1;\\n scale: 0.9;\\n\\n @media (prefers-reduced-motion: no-preference) {\\n transition-property: opacity, outline-offset, scale;\\n }\\n\\n &[data-orientation=\\\"horizontal\\\"] {\\n left: var(--media-slider-pointer);\\n }\\n &[data-orientation=\\\"vertical\\\"] {\\n top: calc(100% - var(--media-slider-pointer));\\n }\\n }\\n\\n /* Preview */\\n .media-slider__preview {\\n --max-size-factor: 28;\\n --max-size: min(calc(var(--spacing) * var(--max-size-factor)), 100cqi);\\n\\n min-width: 100%;\\n height: calc(var(--spacing) * 1);\\n\\n @container media-root (width > 32rem) {\\n --max-size-factor: 36;\\n }\\n\\n @container media-root (width > 42rem) {\\n --max-size-factor: 48;\\n }\\n\\n .media-slider__thumbnail,\\n .media-slider__value {\\n position: absolute;\\n left: var(--preview-left, var(--media-slider-pointer));\\n max-width: var(--max-size);\\n opacity: 0;\\n filter: blur(8px);\\n transform-origin: bottom;\\n scale: 0.8;\\n translate: -50% calc(var(--spacing) * 2);\\n transition-timing-function: ease-out;\\n transition-duration: 150ms;\\n transition-property: filter, opacity, scale;\\n }\\n\\n .media-slider__thumbnail {\\n --thumbnail-max-width: var(--max-size);\\n --thumbnail-max-height: var(--max-size);\\n bottom: calc(100% + (var(--spacing) * 11));\\n }\\n\\n .media-slider__value {\\n bottom: calc(100% + (var(--spacing) * 5));\\n display: flex;\\n flex-direction: row-reverse;\\n gap: calc(var(--spacing) * 2);\\n justify-content: center;\\n padding-inline: calc(var(--spacing) * 3);\\n text-shadow: 0 1px 0 var(--shadow-current-color);\\n }\\n\\n .media-slider__chapter-title {\\n min-width: 0;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n\\n &:empty {\\n display: none;\\n }\\n }\\n\\n &::before {\\n position: absolute;\\n z-index: 1;\\n pointer-events: none;\\n content: \\\"\\\";\\n background-color: oklch(from currentColor l c h / 0.35);\\n opacity: 0;\\n scale: 0.5;\\n translate: -50% -50%;\\n transition-timing-function: ease-out;\\n transition-duration: 200ms;\\n transition-property: opacity, scale;\\n }\\n\\n &[data-orientation=\\\"horizontal\\\"]::before {\\n top: 50%;\\n left: var(--media-slider-pointer);\\n width: 1px;\\n height: calc(var(--spacing) * 5);\\n }\\n &[data-orientation=\\\"vertical\\\"]::before {\\n top: calc(100% - var(--media-slider-pointer));\\n left: 50%;\\n width: calc(var(--spacing) * 5);\\n height: 1px;\\n }\\n\\n &[data-pointing]:not([data-dragging])::before {\\n opacity: 1;\\n scale: 1;\\n }\\n }\\n\\n &:is([data-pointing], :has(:focus-visible))\\n .media-slider__preview\\n :is(.media-slider__value, .media-slider__thumbnail) {\\n opacity: 1;\\n filter: blur(0);\\n scale: 1;\\n }\\n}\\n\\n.media-minimal-skin {\\n --popup-transition:\\n opacity var(--popup-transition-timing-function) var(--popup-transition-duration),\\n filter var(--popup-transition-timing-function) var(--popup-transition-duration),\\n transform var(--popup-transition-timing-function) var(--popup-transition-duration),\\n scale var(--popup-transition-timing-function) var(--popup-transition-duration);\\n}\\n\\n.media-minimal-skin .media-popover,\\n.media-minimal-skin .media-tooltip {\\n --popup-translate-distance: calc(var(--spacing) * 2);\\n margin: 0;\\n overflow: visible;\\n color: inherit;\\n border: 0;\\n transition: var(--popup-transition);\\n\\n &[data-starting-style],\\n &[data-ending-style] {\\n opacity: 0;\\n /* We have to use transform here for translate as the translate property is used for positioning by core. */\\n transform: translate(var(--popup-translate-x-distance, 0), var(--popup-translate-y-distance, 0));\\n scale: 0.95;\\n }\\n\\n &[data-ending-style] {\\n filter: blur(4px);\\n transform: none;\\n /* Speed up the exit transition. */\\n transition-duration: max(0ms, calc(var(--popup-transition-duration) - 50ms));\\n }\\n\\n &[data-side=\\\"top\\\"] {\\n --popup-translate-y-distance: var(--popup-translate-distance);\\n transform-origin: bottom;\\n }\\n &[data-side=\\\"bottom\\\"] {\\n --popup-translate-y-distance: calc(var(--popup-translate-distance) * -1);\\n transform-origin: top;\\n }\\n &[data-side=\\\"left\\\"] {\\n --popup-translate-x-distance: var(--popup-translate-distance);\\n transform-origin: right;\\n }\\n &[data-side=\\\"right\\\"] {\\n --popup-translate-x-distance: calc(var(--popup-translate-distance) * -1);\\n transform-origin: left;\\n }\\n\\n /* Safe area between trigger and popup */\\n &::before {\\n position: absolute;\\n pointer-events: inherit;\\n content: \\\"\\\";\\n }\\n\\n &[data-side=\\\"top\\\"]::before,\\n &[data-side=\\\"bottom\\\"]::before {\\n inset-inline: 0;\\n width: 100%;\\n }\\n &[data-side=\\\"top\\\"]::before {\\n top: 100%;\\n }\\n &[data-side=\\\"bottom\\\"]::before {\\n bottom: 100%;\\n }\\n\\n &[data-side=\\\"left\\\"]::before,\\n &[data-side=\\\"right\\\"]::before {\\n inset-block: 0;\\n height: 100%;\\n }\\n &[data-side=\\\"left\\\"]::before {\\n left: 100%;\\n }\\n &[data-side=\\\"right\\\"]::before {\\n right: 100%;\\n }\\n}\\n\\n.media-minimal-skin .media-popover {\\n &[data-side=\\\"top\\\"]::before,\\n &[data-side=\\\"bottom\\\"]::before {\\n height: var(--media-popover-side-offset);\\n }\\n &[data-side=\\\"left\\\"]::before,\\n &[data-side=\\\"right\\\"]::before {\\n width: var(--media-popover-side-offset);\\n }\\n}\\n\\n.media-minimal-skin .media-tooltip {\\n padding: calc(var(--spacing) * 1) calc(var(--spacing) * 2);\\n font-size: var(--font-size-base);\\n color: var(--tooltip-text-color);\\n white-space: nowrap;\\n background-color: var(--tooltip-background-color);\\n border-radius: calc(var(--spacing) * 2);\\n box-shadow:\\n 0 0 0 1px var(--tooltip-border-color),\\n 0 4px 6px -1px oklch(0 0 0 / 0.2),\\n 0 2px 4px -2px oklch(0 0 0 / 0.2);\\n backdrop-filter: var(--tooltip-backdrop-filter);\\n\\n /* `display: flex` must not apply while closed — it overrides UA `[popover]` hiding. */\\n &[data-open] {\\n display: flex;\\n column-gap: calc(var(--spacing) * 1);\\n align-items: center;\\n }\\n\\n &[data-side=\\\"top\\\"]::before,\\n &[data-side=\\\"bottom\\\"]::before {\\n height: var(--media-tooltip-side-offset);\\n }\\n &[data-side=\\\"left\\\"]::before,\\n &[data-side=\\\"right\\\"]::before {\\n width: var(--media-tooltip-side-offset);\\n }\\n\\n .media-tooltip__kbd {\\n min-width: 1.5em;\\n padding: 0.1em;\\n margin-right: calc(var(--spacing) * -1);\\n font-family: inherit;\\n font-size: var(--font-size-small);\\n font-weight: 600;\\n line-height: 1.25;\\n text-align: center;\\n background-color: oklch(from currentColor l c h / 0.15);\\n border-radius: calc(var(--spacing) * 1);\\n }\\n}\\n\\n.media-minimal-skin .media-popover--volume:has(media-volume-slider[data-hidden]) {\\n display: none;\\n}\\n\\n.media-minimal-skin .media-menu {\\n --menu-transition-duration: 250ms;\\n --menu-max-height: calc(var(--spacing) * 56);\\n --menu-padding: calc(var(--spacing) * 1);\\n --menu-border-radius: calc(var(--spacing) * 2.5);\\n --menu-item-border-radius: calc(var(--menu-border-radius) - var(--menu-padding));\\n box-sizing: border-box;\\n min-width: max-content;\\n max-width: var(--media-popover-available-width, none);\\n max-height: min(var(--media-popover-available-height, var(--menu-max-height)), var(--menu-max-height));\\n padding: var(--menu-padding);\\n overflow: auto;\\n overscroll-behavior: none;\\n background-color: var(--popover-background-color);\\n border-radius: var(--menu-border-radius);\\n box-shadow:\\n 0 0 0 1px var(--popover-border-color),\\n 0 4px 6px -1px oklch(0 0 0 / 0.1),\\n 0 2px 4px -2px oklch(0 0 0 / 0.1);\\n backdrop-filter: var(--popover-backdrop-filter);\\n\\n @media (prefers-reduced-motion: reduce) {\\n --menu-transition-duration: 0ms;\\n }\\n\\n & > .media-menu__panel {\\n position: absolute;\\n inset-inline: 0;\\n top: 0;\\n z-index: 10;\\n max-height: inherit;\\n padding: var(--menu-padding);\\n overflow: auto;\\n overscroll-behavior: none;\\n outline: none;\\n translate: 0 0;\\n transition-timing-function: ease-out;\\n transition-duration: var(--menu-transition-duration);\\n transition-property: translate, filter;\\n\\n &:where([data-starting-style], [data-ending-style]) {\\n overflow: hidden;\\n pointer-events: none;\\n filter: blur(8px);\\n translate: 100% 0;\\n }\\n }\\n\\n .media-menu__separator {\\n margin: calc(var(--spacing) * 1) 0;\\n border-bottom: 1px solid oklch(1 0 0 / 0.1);\\n }\\n\\n .media-menu__group {\\n anchor-scope: --menu-item-highlight-anchor;\\n display: flex;\\n flex-direction: column;\\n gap: calc(var(--spacing) * 0.5);\\n\\n @supports (top: anchor(top)) {\\n &::before {\\n position: absolute;\\n position-anchor: --menu-item-highlight-anchor;\\n inset: anchor(inside);\\n /* Firefox treats the moving highlight as a content shift and re-scrolls\\n the menu while hovering. Exclude it from scroll anchoring. */\\n overflow-anchor: none;\\n pointer-events: none;\\n content: \\\"\\\";\\n background-color: var(--accent-background-color);\\n border-radius: var(--menu-item-border-radius);\\n transition: inset 100ms ease-in-out;\\n }\\n\\n &:has([data-highlighted=\\\"\\\"])::before {\\n transition-duration: 0ms;\\n }\\n }\\n }\\n\\n .media-menu__item,\\n .media-menu__back {\\n position: relative;\\n display: flex;\\n gap: calc(var(--spacing) * 1.5);\\n align-items: center;\\n padding: calc(var(--spacing) * 1.5) calc(var(--spacing) * 2);\\n text-align: left;\\n text-shadow: 0 1px 0 var(--shadow-current-color);\\n cursor: pointer;\\n user-select: none;\\n outline: 2px solid transparent;\\n outline-offset: -2px;\\n border-radius: var(--menu-item-border-radius);\\n transition: background-color, color;\\n transition-timing-function: ease-in-out;\\n transition-duration: 100ms;\\n\\n .media-icon {\\n flex-shrink: 0;\\n color: oklch(from currentColor l c h / 0.5);\\n filter: drop-shadow(0 1px 0 var(--shadow-current-color));\\n }\\n\\n &:focus-visible {\\n outline-color: var(--focus-ring-color);\\n outline-offset: 2px;\\n }\\n\\n &:hover,\\n &[data-highlighted] {\\n color: var(--accent-text-color);\\n background-color: var(--accent-background-color);\\n\\n .media-icon {\\n color: inherit;\\n }\\n }\\n\\n @supports (top: anchor(top)) {\\n transition-duration: 50ms;\\n\\n &:hover,\\n &[data-highlighted] {\\n transition-duration: 200ms;\\n }\\n }\\n }\\n\\n .media-menu__indicator {\\n flex-shrink: 0;\\n margin-right: calc(var(--spacing) * -1);\\n margin-left: auto;\\n opacity: 0;\\n }\\n\\n .media-menu__item {\\n justify-content: space-between;\\n font-variant-numeric: tabular-nums;\\n color: inherit;\\n\\n &[aria-disabled=\\\"true\\\"] {\\n pointer-events: none;\\n cursor: not-allowed;\\n opacity: 0.5;\\n }\\n\\n &[aria-checked=\\\"true\\\"] .media-menu__indicator {\\n opacity: 1;\\n }\\n\\n &[data-availability=\\\"unavailable\\\"],\\n &[data-availability=\\\"unsupported\\\"] {\\n display: none;\\n }\\n\\n &[data-highlighted] {\\n @supports (top: anchor(top)) {\\n anchor-name: --menu-item-highlight-anchor;\\n background-color: transparent;\\n }\\n }\\n }\\n\\n .media-menu__tier {\\n padding-top: 1px;\\n padding-left: calc(var(--spacing) * 0.5);\\n font-size: var(--font-size-tiny);\\n font-weight: 600;\\n line-height: 1;\\n color: oklch(from currentColor l c h / 0.7);\\n }\\n\\n .media-menu__back {\\n width: 100%;\\n margin-bottom: calc(var(--spacing) * 0.5);\\n }\\n\\n .media-menu__hint {\\n display: inline-flex;\\n gap: calc(var(--spacing) * 1);\\n align-items: center;\\n min-width: 0;\\n padding-left: calc(var(--spacing) * 2);\\n margin-left: auto;\\n color: oklch(from currentColor l c h / 0.65);\\n }\\n\\n .media-menu__hint-label {\\n max-width: calc(var(--spacing) * 24);\\n overflow: hidden;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n }\\n\\n .media-menu__chevron {\\n width: calc(var(--spacing) * 3.5);\\n height: calc(var(--spacing) * 3.5);\\n }\\n\\n /* Settings menu */\\n &.media-menu--settings {\\n width: var(--media-menu-width);\\n min-width: calc(var(--spacing) * 48);\\n height: var(--media-menu-height);\\n overflow: hidden;\\n /* Only the menu size changes between panels. */\\n transition:\\n var(--popup-transition),\\n width var(--popup-transition-timing-function) var(--menu-transition-duration),\\n height var(--popup-transition-timing-function) var(--menu-transition-duration);\\n\\n & > :not([data-submenu]) {\\n translate: 0 0;\\n transition:\\n translate var(--menu-transition-duration) ease-out,\\n filter var(--menu-transition-duration) ease-out;\\n }\\n\\n &[data-submenu-expanded=\\\"true\\\"] > :not([data-submenu]) {\\n filter: blur(8px);\\n translate: -100% 0;\\n }\\n\\n /* WebKit can restart the covered-content transition while the\\n anchor-positioned highlight remains active. */\\n &[data-submenu-expanded] > :not([data-submenu])::before {\\n display: none;\\n }\\n\\n /* Don't transition size on open/close. */\\n &[data-starting-style],\\n &[data-ending-style] {\\n transition: var(--popup-transition);\\n }\\n }\\n}\\n\\n.media-minimal-skin {\\n --media-caption-track-duration: var(--controls-transition-duration);\\n --media-caption-track-delay: 25ms;\\n --media-caption-track-y: calc(var(--spacing) * -2);\\n\\n &:has(.media-controls[data-visible]) {\\n --media-caption-track-y: calc(var(--spacing) * -18);\\n }\\n\\n @container media-root (width > 42rem) {\\n &:has(.media-controls[data-visible]) > * {\\n --media-caption-track-y: calc(var(--spacing) * -12);\\n }\\n }\\n}\\n\\n.media-minimal-skin video::-webkit-media-text-track-container {\\n z-index: 1;\\n font-family: inherit;\\n scale: 0.98;\\n translate: 0 var(--media-caption-track-y);\\n transition: translate var(--media-caption-track-duration) ease-out;\\n transition-delay: var(--media-caption-track-delay);\\n}\\n\\n.media-minimal-skin .media-input-indicator-overlay {\\n position: absolute;\\n inset: 0;\\n display: grid;\\n grid-template-columns: 1fr 1fr 1fr;\\n align-items: center;\\n justify-items: center;\\n overflow: hidden;\\n color: oklch(1 0 0);\\n pointer-events: none;\\n border-radius: inherit;\\n}\\n\\n.media-minimal-skin {\\n .media-volume-indicator,\\n .media-status-indicator--state {\\n position: absolute;\\n inset-inline: 0;\\n top: 0;\\n display: flex;\\n justify-content: center;\\n padding-top: calc(var(--spacing) * 3);\\n padding-bottom: calc(var(--spacing) * 32);\\n color: inherit;\\n text-shadow: 0 1px 0 var(--shadow-current-color);\\n pointer-events: none;\\n background-image: linear-gradient(\\n to bottom,\\n oklch(0 0 0 / 0.35),\\n oklch(0 0 0 / 0.2) calc(var(--spacing) * 12),\\n oklch(0 0 0 / 0)\\n );\\n transform-origin: top center;\\n transition-timing-function: ease-out;\\n transition-duration: 100ms;\\n\\n .media-volume-indicator__content,\\n .media-status-indicator__content {\\n display: flex;\\n gap: calc(var(--spacing) * 2);\\n align-items: center;\\n justify-content: space-between;\\n padding: calc(var(--spacing) * 1) calc(var(--spacing) * 2.5);\\n }\\n\\n .media-icon {\\n display: none;\\n flex-shrink: 0;\\n filter: drop-shadow(0 1px 0 var(--shadow-current-color));\\n }\\n\\n .media-volume-indicator__value,\\n .media-status-indicator__value {\\n margin-left: auto;\\n }\\n\\n @media (pointer: fine) {\\n transition-property: translate, filter, opacity;\\n will-change: translate, filter, opacity;\\n }\\n\\n @media (pointer: coarse) {\\n transition-property: translate, opacity;\\n will-change: translate, opacity;\\n }\\n\\n @media (pointer: fine) and (prefers-reduced-motion: no-preference) {\\n transition-property: translate, filter, opacity;\\n }\\n\\n @media (prefers-reduced-transparency: reduce) or (prefers-contrast: more) {\\n .media-volume-indicator__content,\\n .media-status-indicator__content {\\n background: var(--controls-background-color);\\n border-radius: calc(var(--spacing) * 2);\\n }\\n }\\n\\n &[data-starting-style],\\n &[data-ending-style] {\\n opacity: 0;\\n transition-timing-function: ease-in;\\n transition-duration: 400ms;\\n\\n @media (pointer: fine) and (prefers-reduced-motion: no-preference) {\\n filter: blur(8px);\\n }\\n }\\n\\n &[data-ending-style] {\\n @media (prefers-reduced-motion: no-preference) {\\n translate: 0 -100%;\\n }\\n }\\n }\\n\\n .media-seek-indicator,\\n .media-status-indicator--playback {\\n display: grid;\\n grid-row: 1;\\n grid-column: 2;\\n place-content: center;\\n padding: calc(var(--spacing) * 4);\\n text-align: center;\\n }\\n}\\n\\n.media-minimal-skin .media-volume-indicator {\\n .media-volume-indicator__content {\\n width: min(80%, calc(var(--spacing) * 56));\\n transform: translateX(0);\\n }\\n\\n .media-volume-indicator__progress {\\n position: relative;\\n width: 100%;\\n height: calc(var(--spacing) * 0.75);\\n background: oklch(from currentColor l c h / 0.2);\\n border-radius: calc(Infinity * 1px);\\n box-shadow: 0 1px 0 var(--shadow-subtle-current-color);\\n\\n &::before {\\n position: absolute;\\n inset-block: 0;\\n left: 0;\\n width: var(--media-volume-fill, 0%);\\n content: \\\"\\\";\\n background: var(--accent-color);\\n border-radius: inherit;\\n transition: width 200ms linear;\\n }\\n }\\n\\n &[data-level=\\\"high\\\"] .media-icon--volume-high,\\n &[data-level=\\\"low\\\"] .media-icon--volume-low,\\n &[data-level=\\\"off\\\"] .media-icon--volume-off {\\n display: block;\\n }\\n\\n @media (prefers-reduced-motion: no-preference) {\\n &[data-min]:not([data-starting-style], [data-ending-style]) .media-volume-indicator__content,\\n &[data-max]:not([data-starting-style], [data-ending-style]) .media-volume-indicator__content {\\n transform: translateX(0.25px);\\n transition: transform 300ms linear(0, -24 20%, 16 40%, -8 60%, 4 80%, 1);\\n }\\n }\\n}\\n\\n.media-minimal-skin .media-status-indicator--state {\\n &[data-status=\\\"captions-on\\\"] .media-icon--captions-on,\\n &[data-status=\\\"captions-off\\\"] .media-icon--captions-off,\\n &[data-status=\\\"fullscreen\\\"] .media-icon--fullscreen-enter,\\n &[data-status=\\\"exit-fullscreen\\\"] .media-icon--fullscreen-exit,\\n &[data-status=\\\"pip\\\"] .media-icon--pip-enter,\\n &[data-status=\\\"exit-pip\\\"] .media-icon--pip-exit {\\n display: block;\\n }\\n}\\n\\n.media-minimal-skin .media-status-indicator--playback {\\n transition-timing-function: ease-out;\\n transition-duration: 200ms;\\n transition-property: opacity, scale;\\n\\n .media-icon {\\n grid-area: 1 / 1;\\n width: calc(var(--media-icon-size) * 2);\\n height: calc(var(--media-icon-size) * 2);\\n opacity: 0;\\n scale: 0;\\n transition-timing-function: ease-out;\\n transition-duration: 150ms;\\n transition-property: opacity, scale;\\n }\\n\\n &[data-status=\\\"pause\\\"] .media-icon--pause,\\n &[data-status=\\\"play\\\"] .media-icon--play {\\n opacity: 1;\\n scale: 1;\\n }\\n\\n &[data-starting-style],\\n &[data-ending-style] {\\n opacity: 0;\\n scale: 0.85;\\n }\\n\\n &[data-ending-style] {\\n transition-timing-function: ease-in;\\n transition-duration: 100ms;\\n }\\n\\n @media (prefers-reduced-motion: reduce) {\\n transition-duration: 50ms;\\n transition-property: opacity;\\n\\n &[data-starting-style],\\n &[data-ending-style],\\n .media-icon {\\n scale: 1;\\n }\\n\\n .media-icon {\\n transition-duration: 50ms;\\n transition-property: opacity;\\n }\\n }\\n}\\n\\n.media-minimal-skin .media-seek-indicator {\\n gap: calc(var(--spacing) * 1);\\n\\n .media-seek-indicator__value {\\n font-variant-numeric: tabular-nums;\\n }\\n\\n @container media-root (width > 24rem) {\\n padding: calc(var(--spacing) * 6);\\n }\\n\\n &[data-direction=\\\"backward\\\"] {\\n grid-column: 1;\\n justify-self: left;\\n }\\n\\n &[data-direction=\\\"forward\\\"] {\\n grid-column: 3;\\n justify-self: right;\\n }\\n\\n .media-icon--seek {\\n display: block;\\n width: calc(var(--media-icon-size) * 1.5);\\n height: calc(var(--media-icon-size) * 1.5);\\n }\\n\\n &[data-direction=\\\"backward\\\"] .media-icon--seek {\\n scale: -1 1;\\n }\\n\\n @media (prefers-reduced-motion: no-preference) {\\n .media-icon--seek {\\n transition-timing-function: ease-in-out;\\n transition-duration: 200ms;\\n transition-property: translate, opacity;\\n }\\n\\n &[data-starting-style] .media-icon--seek,\\n &[data-ending-style] .media-icon--seek {\\n opacity: 0;\\n }\\n\\n &[data-direction=\\\"forward\\\"][data-starting-style] .media-icon--seek {\\n translate: -60% 0;\\n }\\n\\n &[data-direction=\\\"backward\\\"][data-starting-style] .media-icon--seek {\\n translate: 60% 0;\\n }\\n }\\n}\\n\\n/* ==========================================================================\\n Icon State Visibility for Video Skins\\n\\n Data-attribute-driven visibility rules for multi-state icon buttons shared\\n by the HTML and React skins.\\n ========================================================================== */\\n\\n/* --- All icons hidden by default --- */\\n\\n.media-button--play .media-icon,\\n.media-button--mute .media-icon,\\n.media-button--fullscreen .media-icon,\\n.media-button--pip .media-icon,\\n.media-button--cast .media-icon,\\n.media-button--airplay .media-icon,\\n.media-button--captions .media-icon {\\n opacity: 0;\\n}\\n.media-button--play .media-icon {\\n scale: 0;\\n}\\n\\n/* --- Active icon per state --- */\\n\\n/* Play: ended → restart */\\n.media-button--play[data-ended] .media-icon--restart,\\n/* Play: paused or not yet started (not ended) → play */\\n.media-button--play:not([data-ended])[data-paused] .media-icon--play,\\n.media-button--play:not([data-ended]):not([data-started]) .media-icon--play,\\n/* Play: started and not paused/ended → pause */\\n.media-button--play[data-started]:not([data-paused]):not([data-ended]) .media-icon--pause,\\n/* Mute: muted → volume off */\\n.media-button--mute[data-muted] .media-icon--volume-off,\\n/* Mute: volume low (not muted) → volume low */\\n.media-button--mute:not([data-muted])[data-volume-level=\\\"low\\\"] .media-icon--volume-low,\\n/* Mute: volume high (not muted, not low) → volume high */\\n.media-button--mute:not([data-muted]):not([data-volume-level=\\\"low\\\"]) .media-icon--volume-high,\\n/* Fullscreen: not fullscreen → enter */\\n.media-button--fullscreen:not([data-fullscreen]) .media-icon--fullscreen-enter,\\n/* Fullscreen: fullscreen → exit */\\n.media-button--fullscreen[data-fullscreen] .media-icon--fullscreen-exit,\\n/* Picture-in-Picture: not active → enter */\\n.media-button--pip:not([data-pip]) .media-icon--pip-enter,\\n/* Picture-in-Picture: active → exit */\\n.media-button--pip[data-pip] .media-icon--pip-exit,\\n/* Cast: not connected → enter */\\n.media-button--cast:not([data-cast-state=\\\"connected\\\"]) .media-icon--cast-enter,\\n/* Cast: connected → exit */\\n.media-button--cast[data-cast-state=\\\"connected\\\"] .media-icon--cast-exit,\\n/* AirPlay: not connected → enter */\\n.media-button--airplay:not([data-airplay-state=\\\"connected\\\"]) .media-icon--airplay-enter,\\n/* AirPlay: connected → exit */\\n.media-button--airplay[data-airplay-state=\\\"connected\\\"] .media-icon--airplay-exit,\\n/* Captions: not active → captions off */\\n.media-button--captions:not([data-active]) .media-icon--captions-off,\\n/* Captions: active → captions on */\\n.media-button--captions[data-active] .media-icon--captions-on {\\n opacity: 1;\\n scale: 1;\\n}\\n\\n/* --- Pause keyframe animations on inactive icons --- */\\n\\n/* The airplay-exit SVG defines its keyframes against CSS variables (mirroring\\n the spinner pattern). When the AirPlay session isn't active the SVG is\\n still in the DOM — just `display: none` — so its animations would keep\\n running. Set the variables to `none` to short-circuit the keyframes. */\\n.media-button--airplay:not([data-airplay-state=\\\"connected\\\"]) {\\n --media-icon-airplay-fill-animation: none;\\n --media-icon-airplay-triangle-animation: none;\\n}\\n\\n@media (prefers-reduced-motion: reduce) {\\n .media-button--airplay {\\n --media-icon--airplay__fill-animation: none;\\n --media-icon--airplay__triangle-animation: none;\\n }\\n}\\n\\n\\n/* Container */\\n\\n.media-minimal-skin--video {\\n --default-accent-color: oklch(1 0 0);\\n --border-color: light-dark(oklch(0 0 0 / 0.15), oklch(1 0 0 / 0.15));\\n --focus-ring-color: light-dark(oklch(0 0 0), oklch(1 0 0));\\n --media-video-border-radius: var(--container-border-radius);\\n\\n --controls-background-color: transparent;\\n --controls-transition-duration: 100ms;\\n --controls-transition-timing-function: ease-out;\\n\\n --error-dialog-transition-duration: 150ms;\\n --error-dialog-transition-delay: 100ms;\\n --error-dialog-transition-timing-function: ease-out;\\n\\n --popup-transition-duration: 100ms;\\n --popup-transition-timing-function: ease-out;\\n\\n --popover-backdrop-filter: blur(16px) saturate(1.5);\\n --popover-background-color: oklch(0 0 0 / 0.5);\\n --popover-border-color: oklch(1 0 0 / 0.1);\\n\\n --tooltip-backdrop-filter: var(--popover-backdrop-filter);\\n --tooltip-background-color: var(--popover-background-color);\\n --tooltip-border-color: var(--popover-border-color);\\n\\n --tooltip-text-color: currentColor;\\n\\n overflow: clip;\\n background: oklch(0 0 0);\\n\\n @media (prefers-reduced-motion: reduce) {\\n --error-dialog-transition-duration: 50ms;\\n --error-dialog-transition-delay: 0ms;\\n --popup-transition-duration: 0ms;\\n\\n .media-error__dialog {\\n scale: 1;\\n transition-property: opacity;\\n }\\n }\\n\\n @media (prefers-reduced-transparency: reduce) or (prefers-contrast: more) {\\n --controls-background-color: oklch(0 0 0);\\n --tooltip-background-color: oklch(0 0 0);\\n }\\n\\n &:has(.media-controls:not([data-visible])) {\\n /* Slight delay to hide controls on non-touch devices after interaction */\\n @media (pointer: fine) {\\n --controls-transition-duration: 300ms;\\n }\\n @media (pointer: coarse) {\\n --controls-transition-duration: 150ms;\\n }\\n @media (prefers-reduced-motion: reduce) {\\n --controls-transition-duration: 50ms;\\n }\\n }\\n\\n /* Inner border ring */\\n &::after {\\n position: absolute;\\n inset: 0;\\n z-index: 10;\\n pointer-events: none;\\n content: \\\"\\\";\\n border-radius: inherit;\\n box-shadow: inset 0 0 0 1px var(--border-color);\\n }\\n\\n &:fullscreen {\\n --container-border-radius: 0;\\n\\n &::after {\\n display: none;\\n }\\n\\n @media (width >= 1280px) {\\n --scale: 1.25;\\n }\\n @media (width >= 1536px) {\\n --scale: 1.5;\\n }\\n @media (width >= 1920px) {\\n --scale: 1.75;\\n }\\n }\\n\\n * {\\n --focus-ring-color: oklch(1 0 0);\\n }\\n}\\n\\n/* Error Dialog */\\n\\n.media-minimal-skin--video .media-error {\\n position: absolute;\\n inset: 0;\\n z-index: 20;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n pointer-events: none;\\n outline: none;\\n}\\n\\n.media-minimal-skin--video .media-error__dialog {\\n display: flex;\\n flex-direction: column;\\n gap: calc(var(--spacing) * 3);\\n width: 100%;\\n max-width: calc(var(--spacing) * 64);\\n padding: calc(var(--spacing) * 4);\\n color: oklch(1 0 0);\\n text-shadow: 0 1px 0 oklch(0 0 0 / 0.5);\\n pointer-events: auto;\\n transition-delay: var(--error-dialog-transition-delay);\\n transition-timing-function: var(--error-dialog-transition-timing-function);\\n transition-duration: var(--error-dialog-transition-duration);\\n transition-property: opacity, scale;\\n}\\n\\n.media-minimal-skin--video .media-error__content {\\n display: flex;\\n flex-direction: column;\\n gap: calc(var(--spacing) * 2);\\n padding: calc(var(--spacing) * 1.5) 0;\\n}\\n\\n.media-minimal-skin--video .media-error__title {\\n font-size: var(--font-size-medium);\\n}\\n\\n.media-minimal-skin--video .media-error[data-starting-style] .media-error__dialog,\\n.media-minimal-skin--video .media-error[data-ending-style] .media-error__dialog {\\n opacity: 0;\\n scale: 0.95;\\n}\\n.media-minimal-skin--video .media-error[data-ending-style] .media-error__dialog {\\n transition-delay: 0ms;\\n}\\n\\n/* Controls (hide/show behavior) */\\n\\n.media-minimal-skin--video .media-controls {\\n --base-side-offset: 5;\\n --base-boundary-offset: 1;\\n --inset-factor: 1;\\n --inset: calc(var(--spacing) * var(--inset-factor));\\n --volume-mask: linear-gradient(to right, transparent 10%, #000 25%, #000 100%);\\n\\n position: absolute;\\n inset-inline: var(--inset);\\n bottom: var(--inset);\\n z-index: 10;\\n flex-wrap: wrap;\\n column-gap: calc(var(--spacing) * 2);\\n color: oklch(1 0 0);\\n border-radius: calc(var(--spacing) * 3);\\n transition-timing-function: var(--controls-transition-timing-function);\\n /* Speed up the entry transition */\\n transition-duration: calc(var(--controls-transition-duration) / 2);\\n\\n @media (pointer: fine) {\\n transition-property: translate, filter, opacity;\\n }\\n\\n @media (pointer: coarse) {\\n transition-property: translate, opacity;\\n }\\n\\n &:not([data-visible]) {\\n pointer-events: none;\\n opacity: 0;\\n transition-duration: var(--controls-transition-duration);\\n\\n @media (pointer: fine) and (prefers-reduced-motion: no-preference) {\\n filter: blur(8px);\\n }\\n\\n @media (prefers-reduced-motion: no-preference) {\\n translate: 0 100%;\\n }\\n }\\n\\n .media-time-controls {\\n --slider-height: calc(var(--spacing) * 5);\\n\\n flex: 0 0 100%;\\n order: -1;\\n padding-inline: calc(var(--spacing) * 1.5);\\n }\\n\\n .media-button-group:first-child {\\n flex: 1;\\n text-align: left;\\n }\\n\\n .media-button-group:last-child {\\n flex: 1;\\n justify-content: end;\\n }\\n\\n :is(.media-time-controls, .media-button-group:last-child) {\\n mask-image: var(--volume-mask-image, none);\\n mask-repeat: no-repeat;\\n mask-position: var(--volume-mask-position, 100% 0);\\n mask-size: var(--volume-mask-size, 200% 100%);\\n transition: mask-position 50ms ease-out;\\n }\\n\\n @container media-root (width <= 42rem) {\\n .media-popover--volume {\\n --media-popover-side-offset: calc(var(--spacing) * 3);\\n }\\n }\\n\\n &:has(.media-button--mute[aria-expanded=\\\"true\\\"]) {\\n @container media-root (width <= 42rem) {\\n .media-button-group:last-child {\\n --volume-mask-image: var(--volume-mask);\\n --volume-mask-position: 0 0;\\n --volume-mask-size: 400% 100%;\\n }\\n }\\n\\n @container media-root (width > 42rem) {\\n .media-time-controls {\\n --volume-mask-image: var(--volume-mask);\\n --volume-mask-position: 0 0;\\n }\\n }\\n }\\n\\n @container media-root (width > 42rem) {\\n --inset-factor: 2;\\n --base-side-offset: 2;\\n\\n flex-wrap: nowrap;\\n\\n .media-time-controls {\\n --slider-height: calc(var(--spacing) * 8);\\n\\n flex: 1;\\n order: unset;\\n }\\n\\n .media-button-group:first-child,\\n .media-button-group:last-child {\\n flex: 0 0 auto;\\n }\\n }\\n}\\n\\n.media-minimal-skin--video .media-error[data-open] ~ .media-controls {\\n display: none;\\n}\\n\\n/* Hide cursor when controls are hidden */\\n.media-minimal-skin--video:has(.media-controls:not([data-visible])) {\\n cursor: none;\\n}\\n\\n/* Popups & Animations */\\n\\n.media-minimal-skin--video .media-popover--volume {\\n padding: 0;\\n background: transparent;\\n}\\n\\n/* Slider preview */\\n\\n.media-minimal-skin--video .media-slider .media-slider__preview {\\n --preview-end-inset: calc(100cqi - 100%);\\n --preview-left: clamp(\\n calc(var(--max-size) / 2),\\n var(--media-slider-pointer),\\n calc(100% - var(--max-size) / 2 + var(--preview-end-inset))\\n );\\n\\n @container media-root (width > 42rem) {\\n --preview-left: var(--media-slider-pointer);\\n }\\n}\\n\\n\";","// Registers the live video player, container, and all video UI custom\n// elements used by the minimal skin without creating a skin element. Use\n// this entry when building an ejected (light DOM) player layout for live\n// HLS / DASH streams.\nimport { AirPlayButtonElement } from '@/ui/airplay-button/airplay-button-element';\nimport { MediaContainerElement } from '../../media/container-element';\nimport { BufferingIndicatorElement } from '../../ui/buffering-indicator/buffering-indicator-element';\nimport { CaptionsButtonElement } from '../../ui/captions-button/captions-button-element';\nimport { CaptionsRadioGroupElement } from '../../ui/captions-radio-group/captions-radio-group-element';\nimport { CastButtonElement } from '../../ui/cast-button/cast-button-element';\nimport { FullscreenButtonElement } from '../../ui/fullscreen-button/fullscreen-button-element';\nimport { GestureElement } from '../../ui/gesture/gesture-element';\nimport { HotkeyElement } from '../../ui/hotkey/hotkey-element';\nimport { LiveButtonElement } from '../../ui/live-button/live-button-element';\nimport { MuteButtonElement } from '../../ui/mute-button/mute-button-element';\nimport { PiPButtonElement } from '../../ui/pip-button/pip-button-element';\nimport { PlayButtonElement } from '../../ui/play-button/play-button-element';\nimport { PopoverElement } from '../../ui/popover/popover-element';\nimport { PosterElement } from '../../ui/poster/poster-element';\nimport { safeDefine } from '../safe-define';\nimport {\n defineControls,\n defineErrorDialog,\n defineInputIndicators,\n defineMenu,\n defineTime,\n defineTimeSlider,\n defineTooltip,\n defineVolumeSlider,\n} from '../ui/compounds';\n\n// Value import — player.ts body runs before this module's body.\nimport { LiveVideoPlayerElement } from './player';\n\n// ── Registration (providers / parents first) ────────────────────────────\n\nsafeDefine(LiveVideoPlayerElement);\nsafeDefine(MediaContainerElement);\n\n// Compound groups.\ndefineControls();\ndefineErrorDialog();\ndefineInputIndicators();\ndefineTimeSlider();\ndefineVolumeSlider();\ndefineTime();\ndefineMenu();\ndefineTooltip();\n\n// Standalone elements.\nsafeDefine(AirPlayButtonElement);\nsafeDefine(BufferingIndicatorElement);\nsafeDefine(CaptionsButtonElement);\nsafeDefine(CaptionsRadioGroupElement);\nsafeDefine(CastButtonElement);\nsafeDefine(FullscreenButtonElement);\nsafeDefine(GestureElement);\nsafeDefine(HotkeyElement);\nsafeDefine(LiveButtonElement);\nsafeDefine(MuteButtonElement);\nsafeDefine(PiPButtonElement);\nsafeDefine(PlayButtonElement);\nsafeDefine(PopoverElement);\nsafeDefine(PosterElement);\n","import { renderIcon } from '@videojs/icons/render/minimal';\nimport { createShadowStyle, createTemplate } from '@videojs/utils/dom';\nimport { safeDefine } from '../safe-define';\nimport { SkinElement } from '../skin-element';\nimport styles from './minimal-skin.css?inline';\n\n// Register the live video player, container, and minimal UI custom elements.\nimport './minimal-ui';\n\nfunction getTemplateHTML() {\n return /*html*/ `\n <media-container class=\"media-minimal-skin media-minimal-skin--video\">\n <!-- @deprecated slot=\"media\" is no longer required, use the default slot instead -->\n <slot name=\"media\"></slot>\n <slot></slot>\n\n <media-poster>\n <slot name=\"poster\">\n <img alt=\"\" decoding=\"async\">\n </slot>\n </media-poster>\n\n <media-buffering-indicator class=\"media-buffering-indicator\">\n ${renderIcon('spinner', { class: 'media-icon' })}\n </media-buffering-indicator>\n\n <media-error-dialog class=\"media-error\">\n <div class=\"media-error__dialog\">\n <div class=\"media-error__content\">\n <media-alert-dialog-title class=\"media-error__title\"></media-alert-dialog-title>\n <media-alert-dialog-description class=\"media-error__description\"></media-alert-dialog-description>\n </div>\n <div class=\"media-error__actions\">\n <media-alert-dialog-close class=\"media-button media-button--primary\"></media-alert-dialog-close>\n </div>\n </div>\n </media-error-dialog>\n\n <media-controls class=\"media-controls\">\n <media-tooltip-group>\n <div class=\"media-button-group\">\n <media-play-button commandfor=\"play-tooltip\" class=\"media-button media-button--subtle media-button--icon media-button--play\">\n ${renderIcon('restart', { class: 'media-icon media-icon--restart' })}\n ${renderIcon('play', { class: 'media-icon media-icon--play' })}\n ${renderIcon('pause', { class: 'media-icon media-icon--pause' })}\n </media-play-button>\n <media-tooltip id=\"play-tooltip\" side=\"top\" class=\"media-tooltip\">\n <media-tooltip-label></media-tooltip-label>\n <media-tooltip-shortcut class=\"media-tooltip__kbd\"></media-tooltip-shortcut>\n </media-tooltip>\n\n <media-live-button class=\"media-button media-button--subtle media-button--live\"></media-live-button>\n\n <media-mute-button commandfor=\"live-video-volume-popover\" class=\"media-button media-button--subtle media-button--icon media-button--mute\">\n ${renderIcon('volume-off', { class: 'media-icon media-icon--volume-off' })}\n ${renderIcon('volume-low', { class: 'media-icon media-icon--volume-low' })}\n ${renderIcon('volume-high', { class: 'media-icon media-icon--volume-high' })}\n </media-mute-button>\n\n <media-popover id=\"live-video-volume-popover\" open-on-hover delay=\"200\" close-delay=\"100\" side=\"right\" class=\"media-popover media-popover--volume\">\n <media-volume-slider class=\"media-slider\" orientation=\"horizontal\" thumb-alignment=\"edge\">\n <media-slider-track class=\"media-slider__track\">\n <media-slider-fill class=\"media-slider__fill\"></media-slider-fill>\n </media-slider-track>\n <media-slider-thumb class=\"media-slider__thumb media-slider__thumb--persistent\"></media-slider-thumb>\n </media-volume-slider>\n </media-popover>\n </div>\n\n <div class=\"media-time-controls\" aria-hidden=\"true\"></div>\n\n <div class=\"media-button-group\">\n <media-captions-button menu-for=\"captions-menu\" commandfor=\"captions-tooltip\" class=\"media-button media-button--subtle media-button--icon media-button--captions\">\n ${renderIcon('captions-off', { class: 'media-icon media-icon--captions-off' })}\n ${renderIcon('captions-on', { class: 'media-icon media-icon--captions-on' })}\n </media-captions-button>\n <media-menu id=\"captions-menu\" side=\"top\" align=\"center\" class=\"media-popover media-menu media-menu--captions\">\n <media-captions-radio-group class=\"media-menu__group\">\n <template>\n <media-menu-radio-item class=\"media-menu__item\">\n <span data-part=\"label\"></span>\n <media-menu-item-indicator force-mount class=\"media-menu__indicator\">\n ${renderIcon('check', { class: 'media-icon' })}\n </media-menu-item-indicator>\n </media-menu-radio-item>\n </template>\n </media-captions-radio-group>\n </media-menu>\n <media-tooltip id=\"captions-tooltip\" side=\"top\" class=\"media-tooltip\">\n <media-tooltip-label></media-tooltip-label>\n <media-tooltip-shortcut class=\"media-tooltip__kbd\"></media-tooltip-shortcut>\n </media-tooltip>\n\n <media-cast-button commandfor=\"cast-tooltip\" class=\"media-button media-button--subtle media-button--icon media-button--cast\">\n ${renderIcon('cast-enter', { class: 'media-icon media-icon--cast-enter' })}\n ${renderIcon('cast-exit', { class: 'media-icon media-icon--cast-exit' })}\n </media-cast-button>\n <media-tooltip id=\"cast-tooltip\" side=\"top\" class=\"media-tooltip\">\n <media-tooltip-label></media-tooltip-label>\n <media-tooltip-shortcut class=\"media-tooltip__kbd\"></media-tooltip-shortcut>\n </media-tooltip>\n\n <media-airplay-button commandfor=\"airplay-tooltip\" class=\"media-button media-button--subtle media-button--icon media-button--airplay\">\n ${renderIcon('airplay-enter', { class: 'media-icon media-icon--airplay-enter' })}\n ${renderIcon('airplay-exit', { class: 'media-icon media-icon--airplay-exit' })} \n </media-airplay-button>\n <media-tooltip id=\"airplay-tooltip\" side=\"top\" class=\"media-tooltip\">\n <media-tooltip-label></media-tooltip-label>\n <media-tooltip-shortcut class=\"media-tooltip__kbd\"></media-tooltip-shortcut>\n </media-tooltip>\n\n <media-pip-button commandfor=\"pip-tooltip\" class=\"media-button media-button--subtle media-button--icon media-button--pip\">\n ${renderIcon('pip-enter', { class: 'media-icon media-icon--pip-enter' })}\n ${renderIcon('pip-exit', { class: 'media-icon media-icon--pip-exit' })}\n </media-pip-button>\n <media-tooltip id=\"pip-tooltip\" side=\"top\" class=\"media-tooltip\">\n <media-tooltip-label></media-tooltip-label>\n <media-tooltip-shortcut class=\"media-tooltip__kbd\"></media-tooltip-shortcut>\n </media-tooltip>\n\n <media-fullscreen-button commandfor=\"fullscreen-tooltip\" class=\"media-button media-button--subtle media-button--icon media-button--fullscreen\">\n ${renderIcon('fullscreen-enter', { class: 'media-icon media-icon--fullscreen-enter' })}\n ${renderIcon('fullscreen-exit', { class: 'media-icon media-icon--fullscreen-exit' })}\n </media-fullscreen-button>\n <media-tooltip id=\"fullscreen-tooltip\" side=\"top\" class=\"media-tooltip\">\n <media-tooltip-label></media-tooltip-label>\n <media-tooltip-shortcut class=\"media-tooltip__kbd\"></media-tooltip-shortcut>\n </media-tooltip>\n </div>\n </media-tooltip-group>\n </media-controls>\n\n <div class=\"media-overlay\"></div>\n\n <!-- Hotkeys -->\n <media-hotkey keys=\"Space\" action=\"togglePaused\"></media-hotkey>\n <media-hotkey keys=\"k\" action=\"togglePaused\"></media-hotkey>\n <media-hotkey keys=\"m\" action=\"toggleMuted\"></media-hotkey>\n <media-hotkey keys=\"f\" action=\"toggleFullscreen\"></media-hotkey>\n <media-hotkey keys=\"c\" action=\"toggleSubtitles\"></media-hotkey>\n <media-hotkey keys=\"i\" action=\"togglePictureInPicture\"></media-hotkey>\n <media-hotkey keys=\"ArrowUp\" action=\"volumeStep\" value=\"0.05\"></media-hotkey>\n <media-hotkey keys=\"ArrowDown\" action=\"volumeStep\" value=\"-0.05\"></media-hotkey>\n\n <!-- Gestures -->\n <media-gesture type=\"tap\" action=\"togglePaused\" pointer=\"mouse\" region=\"center\"></media-gesture>\n <media-gesture type=\"tap\" action=\"toggleControls\" pointer=\"touch\"></media-gesture>\n <media-gesture type=\"doubletap\" action=\"toggleFullscreen\" region=\"center\"></media-gesture>\n\n <!-- Input Indicators -->\n <media-status-announcer class=\"media-sr-only\"></media-status-announcer>\n <div class=\"media-input-indicator-overlay\">\n <media-volume-indicator hidden class=\"media-volume-indicator\">\n <media-volume-indicator-fill class=\"media-volume-indicator__content\">\n ${renderIcon('volume-high', { class: 'media-icon media-icon--volume-high' })}\n ${renderIcon('volume-low', { class: 'media-icon media-icon--volume-low' })}\n ${renderIcon('volume-off', { class: 'media-icon media-icon--volume-off' })}\n <div class=\"media-volume-indicator__progress\" aria-hidden=\"true\"></div>\n <media-volume-indicator-value class=\"media-volume-indicator__value\"></media-volume-indicator-value>\n </media-volume-indicator-fill>\n </media-volume-indicator>\n <media-status-indicator\n hidden\n actions=\"toggleSubtitles toggleFullscreen togglePictureInPicture\"\n class=\"media-status-indicator media-status-indicator--state\"\n >\n <div class=\"media-status-indicator__content\">\n ${renderIcon('captions-on', { class: 'media-icon media-icon--captions-on' })}\n ${renderIcon('captions-off', { class: 'media-icon media-icon--captions-off' })}\n ${renderIcon('fullscreen-enter', { class: 'media-icon media-icon--fullscreen-enter' })}\n ${renderIcon('fullscreen-exit', { class: 'media-icon media-icon--fullscreen-exit' })}\n ${renderIcon('pip-enter', { class: 'media-icon media-icon--pip-enter' })}\n ${renderIcon('pip-exit', { class: 'media-icon media-icon--pip-exit' })}\n <media-status-indicator-value class=\"media-status-indicator__value\"></media-status-indicator-value>\n </div>\n </media-status-indicator>\n <media-status-indicator hidden actions=\"togglePaused\" class=\"media-status-indicator media-status-indicator--playback\">\n ${renderIcon('play', { class: 'media-icon media-icon--play' })}\n ${renderIcon('pause', { class: 'media-icon media-icon--pause' })}\n </media-status-indicator>\n </div>\n </media-container>\n `;\n}\n\nexport class MinimalLiveVideoSkinElement extends SkinElement {\n static readonly tagName = 'live-video-minimal-skin';\n static styles = createShadowStyle(styles);\n static template = createTemplate(getTemplateHTML());\n}\n\nsafeDefine(MinimalLiveVideoSkinElement);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [MinimalLiveVideoSkinElement.tagName]: MinimalLiveVideoSkinElement;\n }\n}\n"],"mappings":";;;;;;;;;;;;AAAA,2BAAe;;;;ACoCf,WAAW,sBAAsB;AACjC,WAAW,qBAAqB;AAGhC,eAAe;AACf,kBAAkB;AAClB,sBAAsB;AACtB,iBAAiB;AACjB,mBAAmB;AACnB,WAAW;AACX,WAAW;AACX,cAAc;AAGd,WAAW,oBAAoB;AAC/B,WAAW,yBAAyB;AACpC,WAAW,qBAAqB;AAChC,WAAW,yBAAyB;AACpC,WAAW,iBAAiB;AAC5B,WAAW,uBAAuB;AAClC,WAAW,cAAc;AACzB,WAAW,aAAa;AACxB,WAAW,iBAAiB;AAC5B,WAAW,iBAAiB;AAC5B,WAAW,gBAAgB;AAC3B,WAAW,iBAAiB;AAC5B,WAAW,cAAc;AACzB,WAAW,aAAa;;;;ACtDxB,SAAS,kBAAkB;CACzB,OAAgB;;;;;;;;;;;;;UAaR,WAAW,WAAW,EAAE,OAAO,aAAa,CAAC,EAAE;;;;;;;;;;;;;;;;;;;gBAmBzC,WAAW,WAAW,EAAE,OAAO,iCAAiC,CAAC,EAAE;gBACnE,WAAW,QAAQ,EAAE,OAAO,8BAA8B,CAAC,EAAE;gBAC7D,WAAW,SAAS,EAAE,OAAO,+BAA+B,CAAC,EAAE;;;;;;;;;;gBAU/D,WAAW,cAAc,EAAE,OAAO,oCAAoC,CAAC,EAAE;gBACzE,WAAW,cAAc,EAAE,OAAO,oCAAoC,CAAC,EAAE;gBACzE,WAAW,eAAe,EAAE,OAAO,qCAAqC,CAAC,EAAE;;;;;;;;;;;;;;;;;gBAiB3E,WAAW,gBAAgB,EAAE,OAAO,sCAAsC,CAAC,EAAE;gBAC7E,WAAW,eAAe,EAAE,OAAO,qCAAqC,CAAC,EAAE;;;;;;;;wBAQnE,WAAW,SAAS,EAAE,OAAO,aAAa,CAAC,EAAE;;;;;;;;;;;;gBAYrD,WAAW,cAAc,EAAE,OAAO,oCAAoC,CAAC,EAAE;gBACzE,WAAW,aAAa,EAAE,OAAO,mCAAmC,CAAC,EAAE;;;;;;;;gBAQvE,WAAW,iBAAiB,EAAE,OAAO,uCAAuC,CAAC,EAAE;gBAC/E,WAAW,gBAAgB,EAAE,OAAO,sCAAsC,CAAC,EAAE;;;;;;;;gBAQ7E,WAAW,aAAa,EAAE,OAAO,mCAAmC,CAAC,EAAE;gBACvE,WAAW,YAAY,EAAE,OAAO,kCAAkC,CAAC,EAAE;;;;;;;;gBAQrE,WAAW,oBAAoB,EAAE,OAAO,0CAA0C,CAAC,EAAE;gBACrF,WAAW,mBAAmB,EAAE,OAAO,yCAAyC,CAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAgCrF,WAAW,eAAe,EAAE,OAAO,qCAAqC,CAAC,EAAE;cAC3E,WAAW,cAAc,EAAE,OAAO,oCAAoC,CAAC,EAAE;cACzE,WAAW,cAAc,EAAE,OAAO,oCAAoC,CAAC,EAAE;;;;;;;;;;;cAWzE,WAAW,eAAe,EAAE,OAAO,qCAAqC,CAAC,EAAE;cAC3E,WAAW,gBAAgB,EAAE,OAAO,sCAAsC,CAAC,EAAE;cAC7E,WAAW,oBAAoB,EAAE,OAAO,0CAA0C,CAAC,EAAE;cACrF,WAAW,mBAAmB,EAAE,OAAO,yCAAyC,CAAC,EAAE;cACnF,WAAW,aAAa,EAAE,OAAO,mCAAmC,CAAC,EAAE;cACvE,WAAW,YAAY,EAAE,OAAO,kCAAkC,CAAC,EAAE;;;;;YAKvE,WAAW,QAAQ,EAAE,OAAO,8BAA8B,CAAC,EAAE;YAC7D,WAAW,SAAS,EAAE,OAAO,+BAA+B,CAAC,EAAE;;;;;AAK3E;AAEA,IAAa,8BAAb,cAAiD,YAAY;;iBACjC;;;gBACV,kBAAkBA,oBAAM;;;kBACtB,eAAe,gBAAgB,CAAC;;AACpD;AAEA,WAAW,2BAA2B"}
|