@videojs/html 10.0.1 → 10.1.0

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.
Files changed (403) hide show
  1. package/README.md +2 -2
  2. package/dist/default/define/audio/compat-skin.css +42 -0
  3. package/dist/default/define/audio/compat-skin2.js +1 -1
  4. package/dist/default/define/audio/scaffold-skin.css +1771 -0
  5. package/dist/default/define/audio/scaffold-skin.js +6 -0
  6. package/dist/default/define/audio/scaffold-skin2.js +4 -0
  7. package/dist/default/define/live-audio/compat-skin.css +42 -0
  8. package/dist/default/define/live-audio/compat-skin2.js +1 -1
  9. package/dist/default/define/live-audio/scaffold-skin.css +1591 -0
  10. package/dist/default/define/live-audio/scaffold-skin.js +6 -0
  11. package/dist/default/define/live-audio/scaffold-skin2.js +4 -0
  12. package/dist/default/define/live-video/compat-skin.css +67 -23
  13. package/dist/default/define/live-video/compat-skin2.js +1 -1
  14. package/dist/default/define/live-video/neutral-skin.css +20 -9
  15. package/dist/default/define/live-video/neutral-skin2.js +1 -1
  16. package/dist/default/define/live-video/scaffold-skin.css +1976 -0
  17. package/dist/default/define/live-video/scaffold-skin.js +6 -0
  18. package/dist/default/define/live-video/scaffold-skin2.js +4 -0
  19. package/dist/default/define/live-video/skin.css +18 -7
  20. package/dist/default/define/live-video/skin2.js +1 -1
  21. package/dist/default/define/media/playerjs-video.js +11 -0
  22. package/dist/default/define/video/compat-skin.css +67 -23
  23. package/dist/default/define/video/compat-skin2.js +1 -1
  24. package/dist/default/define/video/neutral-skin.css +26 -9
  25. package/dist/default/define/video/neutral-skin2.js +1 -1
  26. package/dist/default/define/video/scaffold-skin.css +2216 -0
  27. package/dist/default/define/video/scaffold-skin.js +6 -0
  28. package/dist/default/define/video/scaffold-skin2.js +4 -0
  29. package/dist/default/define/video/skin.css +24 -7
  30. package/dist/default/define/video/skin2.js +1 -1
  31. package/dist/default/icons/dist/element/compat/icons.js +1 -1
  32. package/dist/default/icons/dist/element/index.js +1 -0
  33. package/dist/default/icons/dist/element/scaffold/icons.js +30 -0
  34. package/dist/default/icons/dist/element/scaffold/index.js +8 -0
  35. package/dist/default/icons/dist/html/compat/play.js +1 -1
  36. package/dist/default/icons/dist/html/scaffold/airplay-enter.js +4 -0
  37. package/dist/default/icons/dist/html/scaffold/airplay-exit.js +4 -0
  38. package/dist/default/icons/dist/html/scaffold/captions-off.js +4 -0
  39. package/dist/default/icons/dist/html/scaffold/captions-on.js +4 -0
  40. package/dist/default/icons/dist/html/scaffold/cast-enter.js +4 -0
  41. package/dist/default/icons/dist/html/scaffold/cast-exit.js +4 -0
  42. package/dist/default/icons/dist/html/scaffold/check.js +4 -0
  43. package/dist/default/icons/dist/html/scaffold/chevron.js +4 -0
  44. package/dist/default/icons/dist/html/scaffold/fullscreen-enter.js +4 -0
  45. package/dist/default/icons/dist/html/scaffold/fullscreen-exit.js +4 -0
  46. package/dist/default/icons/dist/html/scaffold/gear.js +4 -0
  47. package/dist/default/icons/dist/html/scaffold/pause.js +4 -0
  48. package/dist/default/icons/dist/html/scaffold/pip-enter.js +4 -0
  49. package/dist/default/icons/dist/html/scaffold/pip-exit.js +4 -0
  50. package/dist/default/icons/dist/html/scaffold/play.js +4 -0
  51. package/dist/default/icons/dist/html/scaffold/quality.js +4 -0
  52. package/dist/default/icons/dist/html/scaffold/restart.js +4 -0
  53. package/dist/default/icons/dist/html/scaffold/seek.js +4 -0
  54. package/dist/default/icons/dist/html/scaffold/speech.js +4 -0
  55. package/dist/default/icons/dist/html/scaffold/speed.js +4 -0
  56. package/dist/default/icons/dist/html/scaffold/spinner.js +4 -0
  57. package/dist/default/icons/dist/html/scaffold/switches.js +4 -0
  58. package/dist/default/icons/dist/html/scaffold/volume-high.js +4 -0
  59. package/dist/default/icons/dist/html/scaffold/volume-low.js +4 -0
  60. package/dist/default/icons/dist/html/scaffold/volume-off.js +4 -0
  61. package/dist/default/icons/element/scaffold/index.js +1 -0
  62. package/dist/default/icons/scaffold/index.js +26 -0
  63. package/dist/default/internal/skins/compat-audio/register.js +1 -0
  64. package/dist/default/internal/skins/compat-audio/skin.css +42 -0
  65. package/dist/default/internal/skins/compat-audio/template.js +18 -16
  66. package/dist/default/internal/skins/compat-live-audio/register.js +1 -0
  67. package/dist/default/internal/skins/compat-live-audio/skin.css +42 -0
  68. package/dist/default/internal/skins/compat-live-audio/template.js +11 -9
  69. package/dist/default/internal/skins/compat-live-video/skin.css +67 -23
  70. package/dist/default/internal/skins/compat-live-video/template.js +20 -18
  71. package/dist/default/internal/skins/compat-video/skin.css +67 -23
  72. package/dist/default/internal/skins/compat-video/template.js +34 -32
  73. package/dist/default/internal/skins/default-audio/template.js +12 -12
  74. package/dist/default/internal/skins/default-live-audio/template.js +5 -5
  75. package/dist/default/internal/skins/default-live-video/skin.css +18 -7
  76. package/dist/default/internal/skins/default-live-video/template.js +16 -16
  77. package/dist/default/internal/skins/default-video/skin.css +24 -7
  78. package/dist/default/internal/skins/default-video/template.js +26 -26
  79. package/dist/default/internal/skins/neutral-audio/template.js +12 -12
  80. package/dist/default/internal/skins/neutral-live-audio/template.js +5 -5
  81. package/dist/default/internal/skins/neutral-live-video/skin.css +20 -9
  82. package/dist/default/internal/skins/neutral-live-video/template.js +16 -16
  83. package/dist/default/internal/skins/neutral-video/skin.css +26 -9
  84. package/dist/default/internal/skins/neutral-video/template.js +26 -26
  85. package/dist/default/internal/skins/scaffold-audio/register.js +73 -0
  86. package/dist/default/internal/skins/scaffold-audio/skin.css +1739 -0
  87. package/dist/default/internal/skins/scaffold-audio/template.js +221 -0
  88. package/dist/default/internal/skins/scaffold-live-audio/register.js +53 -0
  89. package/dist/default/internal/skins/scaffold-live-audio/skin.css +1559 -0
  90. package/dist/default/internal/skins/scaffold-live-audio/template.js +118 -0
  91. package/dist/default/internal/skins/scaffold-live-video/register.js +86 -0
  92. package/dist/default/internal/skins/scaffold-live-video/skin.css +1944 -0
  93. package/dist/default/internal/skins/scaffold-live-video/template.js +241 -0
  94. package/dist/default/internal/skins/scaffold-video/register.js +115 -0
  95. package/dist/default/internal/skins/scaffold-video/skin.css +2184 -0
  96. package/dist/default/internal/skins/scaffold-video/template.js +461 -0
  97. package/dist/default/media/playerjs-video/adapter.js +25 -0
  98. package/dist/default/presets/audio/index.js +2 -1
  99. package/dist/default/presets/audio/scaffold-skin.js +19 -0
  100. package/dist/default/presets/background/skin.js +0 -2
  101. package/dist/default/presets/live-audio/index.js +2 -1
  102. package/dist/default/presets/live-audio/scaffold-skin.js +19 -0
  103. package/dist/default/presets/live-video/index.js +2 -1
  104. package/dist/default/presets/live-video/scaffold-skin.js +19 -0
  105. package/dist/default/presets/skin.js +0 -11
  106. package/dist/default/presets/video/index.js +2 -1
  107. package/dist/default/presets/video/scaffold-skin.js +19 -0
  108. package/dist/default/ui/time-slider/element.js +31 -7
  109. package/dist/default/version.js +1 -1
  110. package/dist/dev/define/audio/compat-skin.css +42 -0
  111. package/dist/dev/define/audio/compat-skin2.js +1 -1
  112. package/dist/dev/define/audio/compat-skin2.js.map +1 -1
  113. package/dist/dev/define/audio/neutral-skin2.js.map +1 -1
  114. package/dist/dev/define/audio/scaffold-skin.css +1771 -0
  115. package/dist/dev/define/audio/scaffold-skin.d.ts +1 -0
  116. package/dist/dev/define/audio/scaffold-skin.js +8 -0
  117. package/dist/dev/define/audio/scaffold-skin.js.map +1 -0
  118. package/dist/dev/define/audio/scaffold-skin2.js +6 -0
  119. package/dist/dev/define/audio/scaffold-skin2.js.map +1 -0
  120. package/dist/dev/define/audio/skin2.js.map +1 -1
  121. package/dist/dev/define/global.js.map +1 -1
  122. package/dist/dev/define/live-audio/compat-skin.css +42 -0
  123. package/dist/dev/define/live-audio/compat-skin2.js +1 -1
  124. package/dist/dev/define/live-audio/compat-skin2.js.map +1 -1
  125. package/dist/dev/define/live-audio/neutral-skin2.js.map +1 -1
  126. package/dist/dev/define/live-audio/scaffold-skin.css +1591 -0
  127. package/dist/dev/define/live-audio/scaffold-skin.d.ts +1 -0
  128. package/dist/dev/define/live-audio/scaffold-skin.js +8 -0
  129. package/dist/dev/define/live-audio/scaffold-skin.js.map +1 -0
  130. package/dist/dev/define/live-audio/scaffold-skin2.js +6 -0
  131. package/dist/dev/define/live-audio/scaffold-skin2.js.map +1 -0
  132. package/dist/dev/define/live-audio/skin2.js.map +1 -1
  133. package/dist/dev/define/live-video/compat-skin.css +67 -23
  134. package/dist/dev/define/live-video/compat-skin2.js +1 -1
  135. package/dist/dev/define/live-video/compat-skin2.js.map +1 -1
  136. package/dist/dev/define/live-video/neutral-skin.css +20 -9
  137. package/dist/dev/define/live-video/neutral-skin2.js +1 -1
  138. package/dist/dev/define/live-video/neutral-skin2.js.map +1 -1
  139. package/dist/dev/define/live-video/scaffold-skin.css +1976 -0
  140. package/dist/dev/define/live-video/scaffold-skin.d.ts +1 -0
  141. package/dist/dev/define/live-video/scaffold-skin.js +8 -0
  142. package/dist/dev/define/live-video/scaffold-skin.js.map +1 -0
  143. package/dist/dev/define/live-video/scaffold-skin2.js +6 -0
  144. package/dist/dev/define/live-video/scaffold-skin2.js.map +1 -0
  145. package/dist/dev/define/live-video/skin.css +18 -7
  146. package/dist/dev/define/live-video/skin2.js +1 -1
  147. package/dist/dev/define/live-video/skin2.js.map +1 -1
  148. package/dist/dev/define/media/playerjs-video.d.ts +15 -0
  149. package/dist/dev/define/media/playerjs-video.js +13 -0
  150. package/dist/dev/define/media/playerjs-video.js.map +1 -0
  151. package/dist/dev/define/video/compat-skin.css +67 -23
  152. package/dist/dev/define/video/compat-skin2.js +1 -1
  153. package/dist/dev/define/video/compat-skin2.js.map +1 -1
  154. package/dist/dev/define/video/neutral-skin.css +26 -9
  155. package/dist/dev/define/video/neutral-skin2.js +1 -1
  156. package/dist/dev/define/video/neutral-skin2.js.map +1 -1
  157. package/dist/dev/define/video/scaffold-skin.css +2216 -0
  158. package/dist/dev/define/video/scaffold-skin.d.ts +1 -0
  159. package/dist/dev/define/video/scaffold-skin.js +8 -0
  160. package/dist/dev/define/video/scaffold-skin.js.map +1 -0
  161. package/dist/dev/define/video/scaffold-skin2.js +6 -0
  162. package/dist/dev/define/video/scaffold-skin2.js.map +1 -0
  163. package/dist/dev/define/video/skin.css +24 -7
  164. package/dist/dev/define/video/skin2.js +1 -1
  165. package/dist/dev/define/video/skin2.js.map +1 -1
  166. package/dist/dev/icons/dist/element/compat/icons.js +1 -1
  167. package/dist/dev/icons/dist/element/compat/icons.js.map +1 -1
  168. package/dist/dev/icons/dist/element/index.js +1 -0
  169. package/dist/dev/icons/dist/element/index.js.map +1 -1
  170. package/dist/dev/icons/dist/element/scaffold/icons.js +32 -0
  171. package/dist/dev/icons/dist/element/scaffold/icons.js.map +1 -0
  172. package/dist/dev/icons/dist/element/scaffold/index.d.ts +1 -0
  173. package/dist/dev/icons/dist/element/scaffold/index.js +10 -0
  174. package/dist/dev/icons/dist/element/scaffold/index.js.map +1 -0
  175. package/dist/dev/icons/dist/html/compat/play.js +1 -1
  176. package/dist/dev/icons/dist/html/compat/play.js.map +1 -1
  177. package/dist/dev/icons/dist/html/scaffold/airplay-enter.js +6 -0
  178. package/dist/dev/icons/dist/html/scaffold/airplay-enter.js.map +1 -0
  179. package/dist/dev/icons/dist/html/scaffold/airplay-exit.js +6 -0
  180. package/dist/dev/icons/dist/html/scaffold/airplay-exit.js.map +1 -0
  181. package/dist/dev/icons/dist/html/scaffold/captions-off.js +6 -0
  182. package/dist/dev/icons/dist/html/scaffold/captions-off.js.map +1 -0
  183. package/dist/dev/icons/dist/html/scaffold/captions-on.js +6 -0
  184. package/dist/dev/icons/dist/html/scaffold/captions-on.js.map +1 -0
  185. package/dist/dev/icons/dist/html/scaffold/cast-enter.js +6 -0
  186. package/dist/dev/icons/dist/html/scaffold/cast-enter.js.map +1 -0
  187. package/dist/dev/icons/dist/html/scaffold/cast-exit.js +6 -0
  188. package/dist/dev/icons/dist/html/scaffold/cast-exit.js.map +1 -0
  189. package/dist/dev/icons/dist/html/scaffold/check.js +6 -0
  190. package/dist/dev/icons/dist/html/scaffold/check.js.map +1 -0
  191. package/dist/dev/icons/dist/html/scaffold/chevron.js +6 -0
  192. package/dist/dev/icons/dist/html/scaffold/chevron.js.map +1 -0
  193. package/dist/dev/icons/dist/html/scaffold/fullscreen-enter.js +6 -0
  194. package/dist/dev/icons/dist/html/scaffold/fullscreen-enter.js.map +1 -0
  195. package/dist/dev/icons/dist/html/scaffold/fullscreen-exit.js +6 -0
  196. package/dist/dev/icons/dist/html/scaffold/fullscreen-exit.js.map +1 -0
  197. package/dist/dev/icons/dist/html/scaffold/gear.js +6 -0
  198. package/dist/dev/icons/dist/html/scaffold/gear.js.map +1 -0
  199. package/dist/dev/icons/dist/html/scaffold/index.d.ts +28 -0
  200. package/dist/dev/icons/dist/html/scaffold/pause.js +6 -0
  201. package/dist/dev/icons/dist/html/scaffold/pause.js.map +1 -0
  202. package/dist/dev/icons/dist/html/scaffold/pip-enter.js +6 -0
  203. package/dist/dev/icons/dist/html/scaffold/pip-enter.js.map +1 -0
  204. package/dist/dev/icons/dist/html/scaffold/pip-exit.js +6 -0
  205. package/dist/dev/icons/dist/html/scaffold/pip-exit.js.map +1 -0
  206. package/dist/dev/icons/dist/html/scaffold/play.js +6 -0
  207. package/dist/dev/icons/dist/html/scaffold/play.js.map +1 -0
  208. package/dist/dev/icons/dist/html/scaffold/quality.js +6 -0
  209. package/dist/dev/icons/dist/html/scaffold/quality.js.map +1 -0
  210. package/dist/dev/icons/dist/html/scaffold/restart.js +6 -0
  211. package/dist/dev/icons/dist/html/scaffold/restart.js.map +1 -0
  212. package/dist/dev/icons/dist/html/scaffold/seek.js +6 -0
  213. package/dist/dev/icons/dist/html/scaffold/seek.js.map +1 -0
  214. package/dist/dev/icons/dist/html/scaffold/speech.js +6 -0
  215. package/dist/dev/icons/dist/html/scaffold/speech.js.map +1 -0
  216. package/dist/dev/icons/dist/html/scaffold/speed.js +6 -0
  217. package/dist/dev/icons/dist/html/scaffold/speed.js.map +1 -0
  218. package/dist/dev/icons/dist/html/scaffold/spinner.js +6 -0
  219. package/dist/dev/icons/dist/html/scaffold/spinner.js.map +1 -0
  220. package/dist/dev/icons/dist/html/scaffold/switches.js +6 -0
  221. package/dist/dev/icons/dist/html/scaffold/switches.js.map +1 -0
  222. package/dist/dev/icons/dist/html/scaffold/volume-high.js +6 -0
  223. package/dist/dev/icons/dist/html/scaffold/volume-high.js.map +1 -0
  224. package/dist/dev/icons/dist/html/scaffold/volume-low.js +6 -0
  225. package/dist/dev/icons/dist/html/scaffold/volume-low.js.map +1 -0
  226. package/dist/dev/icons/dist/html/scaffold/volume-off.js +6 -0
  227. package/dist/dev/icons/dist/html/scaffold/volume-off.js.map +1 -0
  228. package/dist/dev/icons/element/scaffold/index.d.ts +1 -0
  229. package/dist/dev/icons/element/scaffold/index.js +1 -0
  230. package/dist/dev/icons/scaffold/index.d.ts +2 -0
  231. package/dist/dev/icons/scaffold/index.js +26 -0
  232. package/dist/dev/index.d.ts +3 -3
  233. package/dist/dev/internal/skins/compat-audio/register.d.ts +1 -0
  234. package/dist/dev/internal/skins/compat-audio/register.js +1 -0
  235. package/dist/dev/internal/skins/compat-audio/register.js.map +1 -1
  236. package/dist/dev/internal/skins/compat-audio/skin.css +42 -0
  237. package/dist/dev/internal/skins/compat-audio/template.js +18 -16
  238. package/dist/dev/internal/skins/compat-audio/template.js.map +1 -1
  239. package/dist/dev/internal/skins/compat-live-audio/register.d.ts +1 -0
  240. package/dist/dev/internal/skins/compat-live-audio/register.js +1 -0
  241. package/dist/dev/internal/skins/compat-live-audio/register.js.map +1 -1
  242. package/dist/dev/internal/skins/compat-live-audio/skin.css +42 -0
  243. package/dist/dev/internal/skins/compat-live-audio/template.js +11 -9
  244. package/dist/dev/internal/skins/compat-live-audio/template.js.map +1 -1
  245. package/dist/dev/internal/skins/compat-live-video/register.d.ts +1 -1
  246. package/dist/dev/internal/skins/compat-live-video/skin.css +67 -23
  247. package/dist/dev/internal/skins/compat-live-video/template.js +20 -18
  248. package/dist/dev/internal/skins/compat-live-video/template.js.map +1 -1
  249. package/dist/dev/internal/skins/compat-video/register.d.ts +1 -1
  250. package/dist/dev/internal/skins/compat-video/skin.css +67 -23
  251. package/dist/dev/internal/skins/compat-video/template.js +34 -32
  252. package/dist/dev/internal/skins/compat-video/template.js.map +1 -1
  253. package/dist/dev/internal/skins/default-audio/register.d.ts +2 -2
  254. package/dist/dev/internal/skins/default-audio/template.js +12 -12
  255. package/dist/dev/internal/skins/default-audio/template.js.map +1 -1
  256. package/dist/dev/internal/skins/default-live-audio/register.d.ts +1 -1
  257. package/dist/dev/internal/skins/default-live-audio/template.js +5 -5
  258. package/dist/dev/internal/skins/default-live-audio/template.js.map +1 -1
  259. package/dist/dev/internal/skins/default-live-video/register.d.ts +1 -1
  260. package/dist/dev/internal/skins/default-live-video/skin.css +18 -7
  261. package/dist/dev/internal/skins/default-live-video/template.js +16 -16
  262. package/dist/dev/internal/skins/default-live-video/template.js.map +1 -1
  263. package/dist/dev/internal/skins/default-video/register.d.ts +1 -1
  264. package/dist/dev/internal/skins/default-video/skin.css +24 -7
  265. package/dist/dev/internal/skins/default-video/template.js +26 -26
  266. package/dist/dev/internal/skins/default-video/template.js.map +1 -1
  267. package/dist/dev/internal/skins/neutral-audio/register.d.ts +2 -2
  268. package/dist/dev/internal/skins/neutral-audio/template.js +12 -12
  269. package/dist/dev/internal/skins/neutral-audio/template.js.map +1 -1
  270. package/dist/dev/internal/skins/neutral-live-audio/register.d.ts +1 -1
  271. package/dist/dev/internal/skins/neutral-live-audio/template.js +5 -5
  272. package/dist/dev/internal/skins/neutral-live-audio/template.js.map +1 -1
  273. package/dist/dev/internal/skins/neutral-live-video/register.d.ts +1 -1
  274. package/dist/dev/internal/skins/neutral-live-video/skin.css +20 -9
  275. package/dist/dev/internal/skins/neutral-live-video/template.js +16 -16
  276. package/dist/dev/internal/skins/neutral-live-video/template.js.map +1 -1
  277. package/dist/dev/internal/skins/neutral-video/register.d.ts +1 -1
  278. package/dist/dev/internal/skins/neutral-video/skin.css +26 -9
  279. package/dist/dev/internal/skins/neutral-video/template.js +26 -26
  280. package/dist/dev/internal/skins/neutral-video/template.js.map +1 -1
  281. package/dist/dev/internal/skins/scaffold-audio/register.d.ts +44 -0
  282. package/dist/dev/internal/skins/scaffold-audio/register.js +75 -0
  283. package/dist/dev/internal/skins/scaffold-audio/register.js.map +1 -0
  284. package/dist/dev/internal/skins/scaffold-audio/skin.css +1739 -0
  285. package/dist/dev/internal/skins/scaffold-audio/template.js +223 -0
  286. package/dist/dev/internal/skins/scaffold-audio/template.js.map +1 -0
  287. package/dist/dev/internal/skins/scaffold-live-audio/register.d.ts +28 -0
  288. package/dist/dev/internal/skins/scaffold-live-audio/register.js +55 -0
  289. package/dist/dev/internal/skins/scaffold-live-audio/register.js.map +1 -0
  290. package/dist/dev/internal/skins/scaffold-live-audio/skin.css +1559 -0
  291. package/dist/dev/internal/skins/scaffold-live-audio/template.js +120 -0
  292. package/dist/dev/internal/skins/scaffold-live-audio/template.js.map +1 -0
  293. package/dist/dev/internal/skins/scaffold-live-video/register.d.ts +45 -0
  294. package/dist/dev/internal/skins/scaffold-live-video/register.js +88 -0
  295. package/dist/dev/internal/skins/scaffold-live-video/register.js.map +1 -0
  296. package/dist/dev/internal/skins/scaffold-live-video/skin.css +1944 -0
  297. package/dist/dev/internal/skins/scaffold-live-video/template.js +243 -0
  298. package/dist/dev/internal/skins/scaffold-live-video/template.js.map +1 -0
  299. package/dist/dev/internal/skins/scaffold-video/register.d.ts +62 -0
  300. package/dist/dev/internal/skins/scaffold-video/register.js +117 -0
  301. package/dist/dev/internal/skins/scaffold-video/register.js.map +1 -0
  302. package/dist/dev/internal/skins/scaffold-video/skin.css +2184 -0
  303. package/dist/dev/internal/skins/scaffold-video/template.js +463 -0
  304. package/dist/dev/internal/skins/scaffold-video/template.js.map +1 -0
  305. package/dist/dev/media/playerjs-video/adapter.d.ts +11 -0
  306. package/dist/dev/media/playerjs-video/adapter.js +61 -0
  307. package/dist/dev/media/playerjs-video/adapter.js.map +1 -0
  308. package/dist/dev/media/playerjs-video/index.d.ts +2 -0
  309. package/dist/dev/presets/audio/index.d.ts +2 -1
  310. package/dist/dev/presets/audio/index.js +2 -1
  311. package/dist/dev/presets/audio/scaffold-skin.d.ts +15 -0
  312. package/dist/dev/presets/audio/scaffold-skin.js +21 -0
  313. package/dist/dev/presets/audio/scaffold-skin.js.map +1 -0
  314. package/dist/dev/presets/background/skin.js +0 -2
  315. package/dist/dev/presets/background/skin.js.map +1 -1
  316. package/dist/dev/presets/live-audio/index.d.ts +2 -1
  317. package/dist/dev/presets/live-audio/index.js +2 -1
  318. package/dist/dev/presets/live-audio/scaffold-skin.d.ts +15 -0
  319. package/dist/dev/presets/live-audio/scaffold-skin.js +21 -0
  320. package/dist/dev/presets/live-audio/scaffold-skin.js.map +1 -0
  321. package/dist/dev/presets/live-video/index.d.ts +2 -1
  322. package/dist/dev/presets/live-video/index.js +2 -1
  323. package/dist/dev/presets/live-video/scaffold-skin.d.ts +15 -0
  324. package/dist/dev/presets/live-video/scaffold-skin.js +21 -0
  325. package/dist/dev/presets/live-video/scaffold-skin.js.map +1 -0
  326. package/dist/dev/presets/skin.js +0 -11
  327. package/dist/dev/presets/skin.js.map +1 -1
  328. package/dist/dev/presets/video/index.d.ts +2 -1
  329. package/dist/dev/presets/video/index.js +2 -1
  330. package/dist/dev/presets/video/scaffold-skin.d.ts +15 -0
  331. package/dist/dev/presets/video/scaffold-skin.js +21 -0
  332. package/dist/dev/presets/video/scaffold-skin.js.map +1 -0
  333. package/dist/dev/ui/time-slider/element.js +31 -7
  334. package/dist/dev/ui/time-slider/element.js.map +1 -1
  335. package/dist/dev/version.js +1 -1
  336. package/docs/README.md +1 -1
  337. package/docs/guides/build-with-ai.md +1 -1
  338. package/docs/guides/cdn.md +9 -9
  339. package/docs/guides/installation-cdn.md +4 -4
  340. package/docs/guides/installation-shadcn.md +3 -3
  341. package/docs/guides/installation-svelte.md +5 -5
  342. package/docs/guides/installation-vue.md +5 -5
  343. package/docs/guides/installation.md +5 -5
  344. package/docs/guides/internationalization.md +5 -5
  345. package/docs/guides/llms.txt +2 -2
  346. package/docs/guides/media-sources.md +1 -0
  347. package/docs/guides/migrate-from-media-chrome.md +4 -4
  348. package/docs/guides/migrate-from-mux-player.md +6 -6
  349. package/docs/guides/migrate-from-plyr.md +7 -7
  350. package/docs/guides/migrate-from-video-js-8.md +15 -7
  351. package/docs/guides/migrate-from-vidstack.md +2 -2
  352. package/docs/guides/migrate.md +2 -1
  353. package/docs/guides/presets.md +4 -4
  354. package/docs/guides/self-hosting.md +7 -7
  355. package/docs/guides/skins.md +5 -5
  356. package/docs/guides/v10-roadmap.md +2 -2
  357. package/docs/guides/why-videojs.md +3 -3
  358. package/docs/llms.txt +7 -2
  359. package/docs/reference/api/error-codes.md +1 -1
  360. package/docs/reference/api/llms.txt +1 -1
  361. package/docs/reference/api/preset-audio.md +1 -1
  362. package/docs/reference/api/preset-background.md +1 -1
  363. package/docs/reference/api/preset-live-audio.md +1 -1
  364. package/docs/reference/api/preset-live-video.md +1 -1
  365. package/docs/reference/api/preset-video.md +1 -1
  366. package/docs/reference/api/vjs8-legacy-init.md +2 -2
  367. package/docs/reference/components/audio-neutral-skin.md +1 -1
  368. package/docs/reference/components/audio-scaffold-skin.md +39 -0
  369. package/docs/reference/components/audio-skin.md +1 -1
  370. package/docs/reference/components/background-video-skin.md +1 -1
  371. package/docs/reference/components/background-video.md +1 -1
  372. package/docs/reference/components/cloudflare-video.md +1 -1
  373. package/docs/reference/components/dash-video.md +1 -1
  374. package/docs/reference/components/google-cast.md +1 -1
  375. package/docs/reference/components/hls-audio.md +3 -2
  376. package/docs/reference/components/hls-background-video.md +1 -1
  377. package/docs/reference/components/hls-video.md +13 -2
  378. package/docs/reference/components/hlsjs-video.md +11 -1
  379. package/docs/reference/components/icons.md +2 -1
  380. package/docs/reference/components/live-audio-neutral-skin.md +1 -1
  381. package/docs/reference/components/live-audio-scaffold-skin.md +41 -0
  382. package/docs/reference/components/live-audio-skin.md +1 -1
  383. package/docs/reference/components/live-video-neutral-skin.md +1 -1
  384. package/docs/reference/components/live-video-scaffold-skin.md +47 -0
  385. package/docs/reference/components/live-video-skin.md +1 -1
  386. package/docs/reference/components/llms.txt +6 -1
  387. package/docs/reference/components/mux-audio.md +1 -1
  388. package/docs/reference/components/mux-background-video.md +1 -1
  389. package/docs/reference/components/mux-data.md +1 -1
  390. package/docs/reference/components/mux-video.md +1 -1
  391. package/docs/reference/components/native-hls-video.md +1 -1
  392. package/docs/reference/components/playerjs-video.md +197 -0
  393. package/docs/reference/components/shaka-video.md +1 -1
  394. package/docs/reference/components/spotify-audio.md +1 -1
  395. package/docs/reference/components/tiktok-video.md +1 -1
  396. package/docs/reference/components/twitch-video.md +1 -1
  397. package/docs/reference/components/video-neutral-skin.md +1 -1
  398. package/docs/reference/components/video-scaffold-skin.md +51 -0
  399. package/docs/reference/components/video-skin.md +1 -1
  400. package/docs/reference/components/vimeo-video.md +1 -1
  401. package/docs/reference/components/wistia-video.md +5 -1
  402. package/docs/reference/components/youtube-video.md +2 -2
  403. package/package.json +44 -39
@@ -0,0 +1,1739 @@
1
+ @layer base {
2
+ :where(.media-skin) {
3
+ text-align: start;
4
+ text-transform: none;
5
+ letter-spacing: normal;
6
+ font-style: normal;
7
+ font-weight: 400;
8
+ }
9
+
10
+ :where(.media-skin), :where(.media-skin) *, :where(.media-skin) :before, :where(.media-skin) :after {
11
+ box-sizing: border-box;
12
+ border: 0 solid;
13
+ margin: 0;
14
+ padding: 0;
15
+ }
16
+
17
+ :where(.media-skin) button {
18
+ font: inherit;
19
+ color: inherit;
20
+ text-transform: none;
21
+ letter-spacing: inherit;
22
+ appearance: none;
23
+ background: none;
24
+ }
25
+
26
+ :where(.media-skin) img, :where(.media-skin) svg, :where(.media-skin) media-icon {
27
+ max-width: 100%;
28
+ display: block;
29
+ }
30
+
31
+ :where(.media-skin) svg[fill="currentColor"] {
32
+ fill: currentColor;
33
+ }
34
+
35
+ :where(.media-skin) svg[fill="none"] {
36
+ fill: none;
37
+ }
38
+
39
+ :where(.media-skin) svg[stroke="currentColor"] {
40
+ stroke: currentColor;
41
+ }
42
+
43
+ :where(.media-skin) video {
44
+ border-radius: inherit;
45
+ object-fit: var(--media-object-fit, contain);
46
+ object-position: var(--media-object-position, center);
47
+ width: 100%;
48
+ max-width: 100%;
49
+ height: 100%;
50
+ display: block;
51
+ }
52
+
53
+ :where(.media-skin) media-icon > svg {
54
+ width: 100%;
55
+ height: 100%;
56
+ }
57
+
58
+ :where(.media-skin) media-tooltip-group, :where(.media-skin) media-dialog, :where(.media-skin) media-alert-dialog, :where(.media-skin) media-error-dialog, :where(.media-skin) media-controls {
59
+ display: contents;
60
+ }
61
+
62
+ :where(.media-skin) [hidden][hidden] {
63
+ display: none !important;
64
+ }
65
+
66
+ @media (prefers-reduced-motion: no-preference) {
67
+ .media-skin {
68
+ interpolate-size: allow-keywords;
69
+ }
70
+ }
71
+
72
+ @supports not selector(:popover-open) {
73
+ :where(.media-skin) [popover]:not([data-open], [data-ending-style]) {
74
+ display: none !important;
75
+ }
76
+
77
+ .media-skin:is([data-preset="audio"], [data-preset="live-audio"]) {
78
+ overflow: visible !important;
79
+ }
80
+ }
81
+ }
82
+
83
+ @layer components {
84
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-button {
85
+ width: calc(var(--media-spacing) * 8);
86
+ height: calc(var(--media-spacing) * 8);
87
+ cursor: pointer;
88
+ background-color: var(--media-background);
89
+ color: inherit;
90
+ border-radius: 0;
91
+ outline-style: none;
92
+ flex-shrink: 0;
93
+ place-items: center;
94
+ padding: 0;
95
+ display: grid;
96
+ position: relative;
97
+ }
98
+
99
+ @media (hover: hover) {
100
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-button:hover {
101
+ background-color: var(--media-button-highlight);
102
+ }
103
+ }
104
+
105
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-button:focus-visible {
106
+ background-color: var(--media-button-highlight);
107
+ outline-offset: 2px;
108
+ outline-width: 2px;
109
+ outline-style: solid;
110
+ outline-color: var(--media-ring);
111
+ }
112
+
113
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-button:disabled, :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-button[aria-disabled="true"] {
114
+ cursor: not-allowed;
115
+ opacity: .4;
116
+ }
117
+
118
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-button[aria-expanded="true"] {
119
+ background-color: var(--media-button-highlight);
120
+ }
121
+
122
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-button[data-hidden] {
123
+ display: none;
124
+ }
125
+
126
+ @media (forced-colors: active) {
127
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-button {
128
+ color: buttontext;
129
+ forced-color-adjust: none;
130
+ background-color: buttonface;
131
+ border: 1px solid buttontext;
132
+ }
133
+
134
+ @media (hover: hover) {
135
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-button:hover {
136
+ color: highlighttext;
137
+ background-color: highlight;
138
+ }
139
+ }
140
+
141
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-button:focus-visible {
142
+ color: highlighttext;
143
+ background-color: highlight;
144
+ }
145
+
146
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-button[aria-disabled="true"] {
147
+ color: graytext;
148
+ opacity: 1;
149
+ }
150
+
151
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-button[aria-expanded="true"] {
152
+ color: highlighttext;
153
+ background-color: highlight;
154
+ }
155
+ }
156
+
157
+ @media (pointer: coarse) {
158
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-button:before {
159
+ content: "";
160
+ position: absolute;
161
+ inset: -3px;
162
+ }
163
+ }
164
+
165
+ @media (prefers-reduced-transparency: reduce), (prefers-contrast: more) {
166
+ @media (hover: hover) {
167
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-button:hover {
168
+ background-color: var(--media-foreground);
169
+ color: var(--media-background);
170
+ }
171
+ }
172
+
173
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-button:focus-visible, :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-button[aria-expanded="true"] {
174
+ background-color: var(--media-foreground);
175
+ color: var(--media-background);
176
+ }
177
+ }
178
+
179
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-dialog-backdrop {
180
+ z-index: 40;
181
+ background-color: #000;
182
+ position: absolute;
183
+ inset: 0;
184
+ }
185
+
186
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-dialog-backdrop:not([data-open]) {
187
+ display: none;
188
+ }
189
+
190
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-dialog-close {
191
+ height: calc(var(--media-spacing) * 8);
192
+ width: auto;
193
+ padding-inline: calc(var(--media-spacing) * 3);
194
+ border-style: solid;
195
+ border-color: currentColor;
196
+ justify-self: flex-end;
197
+ border-style: solid !important;
198
+ border-width: 1px !important;
199
+ }
200
+
201
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-dialog-description {
202
+ font-size: calc(var(--media-spacing) * 3.5);
203
+ }
204
+
205
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-dialog-popup {
206
+ z-index: 50;
207
+ width: calc(100% - 2rem);
208
+ max-height: calc(100% - 2rem);
209
+ max-width: calc(var(--media-spacing) * 80);
210
+ gap: calc(var(--media-spacing) * 3);
211
+ background-color: var(--media-popover);
212
+ padding: calc(var(--media-spacing) * 5);
213
+ color: var(--media-popover-foreground);
214
+ border-radius: 0;
215
+ outline-style: none;
216
+ display: grid;
217
+ position: absolute;
218
+ top: 50%;
219
+ left: 50%;
220
+ overflow: auto;
221
+ transform: translate(-50%, -50%);
222
+ }
223
+
224
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-dialog-popup:not([data-open]) {
225
+ display: none;
226
+ }
227
+
228
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-dialog-popup:focus-visible {
229
+ outline-offset: -2px;
230
+ outline-width: 2px;
231
+ outline-style: solid;
232
+ outline-color: var(--media-ring);
233
+ }
234
+
235
+ @media (forced-colors: active) {
236
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-dialog-popup {
237
+ border: 1px solid canvastext;
238
+ }
239
+ }
240
+
241
+ @media (prefers-reduced-transparency: reduce), (prefers-contrast: more) {
242
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-dialog-popup {
243
+ border: 1px solid;
244
+ }
245
+ }
246
+
247
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-dialog-title {
248
+ font-size: 1.125rem;
249
+ line-height: 1.55556;
250
+ }
251
+
252
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-status-announcer {
253
+ white-space: nowrap;
254
+ clip: rect(0, 0, 0, 0);
255
+ width: 1px;
256
+ height: 1px;
257
+ position: absolute;
258
+ overflow: hidden;
259
+ }
260
+
261
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-popup {
262
+ color: inherit;
263
+ border-style: solid;
264
+ border-width: 0;
265
+ margin: 0;
266
+ overflow: visible;
267
+ }
268
+
269
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-popup[data-ending-style] {
270
+ transform: none;
271
+ }
272
+
273
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-popup[data-starting-style] {
274
+ transform: translate(var(--media-popup-translate-x-distance, 0), var(--media-popup-translate-y-distance, 0));
275
+ }
276
+
277
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-popup[data-side="bottom"] {
278
+ transform-origin: top;
279
+ --media-popup-translate-y-distance: calc(var(--media-popup-translate-distance) * -1);
280
+ }
281
+
282
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-popup[data-side="left"] {
283
+ transform-origin: 100%;
284
+ --media-popup-translate-x-distance: var(--media-popup-translate-distance);
285
+ }
286
+
287
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-popup[data-side="right"] {
288
+ transform-origin: 0;
289
+ --media-popup-translate-x-distance: calc(var(--media-popup-translate-distance) * -1);
290
+ }
291
+
292
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-popup[data-side="top"] {
293
+ transform-origin: bottom;
294
+ --media-popup-translate-y-distance: var(--media-popup-translate-distance);
295
+ }
296
+
297
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-popup:is([data-starting-style], [data-ending-style]) {
298
+ scale: var(--media-hidden-popup-scale) var(--media-hidden-popup-scale);
299
+ opacity: 0;
300
+ filter: blur(var(--media-hidden-popup-blur));
301
+ }
302
+
303
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-popup-safe-area:before {
304
+ pointer-events: auto;
305
+ content: "";
306
+ position: absolute;
307
+ }
308
+
309
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-popup-safe-area[data-side="bottom"]:before {
310
+ content: "";
311
+ height: var(--media-popup-side-offset);
312
+ inset-inline: 0;
313
+ bottom: 100%;
314
+ }
315
+
316
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-popup-safe-area[data-side="left"]:before {
317
+ content: "";
318
+ width: var(--media-popup-side-offset);
319
+ inset-block: 0;
320
+ left: 100%;
321
+ }
322
+
323
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-popup-safe-area[data-side="right"]:before {
324
+ content: "";
325
+ width: var(--media-popup-side-offset);
326
+ inset-block: 0;
327
+ right: 100%;
328
+ }
329
+
330
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-popup-safe-area[data-side="top"]:before {
331
+ content: "";
332
+ height: var(--media-popup-side-offset);
333
+ inset-inline: 0;
334
+ top: 100%;
335
+ }
336
+
337
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-tooltip-popup {
338
+ pointer-events: none;
339
+ z-index: 20;
340
+ background-color: var(--media-popover);
341
+ padding-inline: calc(var(--media-spacing) * 1.5);
342
+ padding-block: calc(var(--media-spacing) * .5);
343
+ white-space: nowrap;
344
+ color: var(--media-popover-foreground);
345
+ --media-popup-side-offset: var(--media-tooltip-side-offset);
346
+ --media-tooltip-side-offset: calc(var(--media-spacing) * 9);
347
+ border-radius: 0;
348
+ box-shadow: 0 0 #0000, 0 0 #0000, 0 0 #0000, 0 0 #0000, 0 0 #0000;
349
+ }
350
+
351
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-tooltip-popup[data-open] {
352
+ align-items: center;
353
+ gap: var(--media-spacing);
354
+ display: flex;
355
+ }
356
+
357
+ @media (forced-colors: active) {
358
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-tooltip-popup {
359
+ outline-width: 1px;
360
+ outline-style: solid;
361
+ }
362
+ }
363
+
364
+ @media (prefers-reduced-transparency: reduce), (prefers-contrast: more) {
365
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-tooltip-popup {
366
+ outline-width: 1px;
367
+ outline-style: solid;
368
+ }
369
+ }
370
+
371
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-tooltip-shortcut {
372
+ font-family: inherit;
373
+ font-size: calc(var(--media-spacing) * 2.75);
374
+ }
375
+
376
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) :where(.media-airplay-button)[data-airplay-state="connected"] .media-airplay-button-enter-icon, :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-airplay-button-exit-icon {
377
+ display: none;
378
+ }
379
+
380
+ :where(:where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-airplay-button)[data-airplay-state="connected"] .media-airplay-button-exit-icon {
381
+ display: block;
382
+ }
383
+
384
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-button-icon {
385
+ width: calc(var(--media-spacing) * 4.5);
386
+ height: calc(var(--media-spacing) * 4.5);
387
+ grid-row-start: 1;
388
+ grid-column-start: 1;
389
+ }
390
+
391
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) :where(.media-captions-button)[data-active] .media-captions-button-off-icon, :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-captions-button-on-icon {
392
+ display: none;
393
+ }
394
+
395
+ :where(:where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-captions-button)[data-active] .media-captions-button-on-icon {
396
+ display: block;
397
+ }
398
+
399
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-live-button {
400
+ align-items: center;
401
+ gap: calc(var(--media-spacing) * 1.5);
402
+ font-size: calc(var(--media-spacing) * 2.75);
403
+ grid-auto-flow: column;
404
+ width: auto !important;
405
+ padding-inline: calc(var(--media-spacing) * 2.5) !important;
406
+ }
407
+
408
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-live-button-dot {
409
+ width: calc(var(--media-spacing) * 2);
410
+ height: calc(var(--media-spacing) * 2);
411
+ opacity: .4;
412
+ background-color: currentColor;
413
+ border-radius: 0;
414
+ flex-shrink: 0;
415
+ display: inline-block;
416
+ }
417
+
418
+ :where(:where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-live-button)[data-live-edge] .media-live-button-dot {
419
+ opacity: 1;
420
+ background-color: #f43f5e;
421
+ }
422
+
423
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-poster {
424
+ width: 100%;
425
+ height: 100%;
426
+ position: absolute;
427
+ inset: 0;
428
+ }
429
+
430
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-poster:not([data-visible]) {
431
+ display: none;
432
+ }
433
+
434
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-poster-image {
435
+ object-fit: var(--media-object-fit, contain);
436
+ object-position: var(--media-object-position, center);
437
+ width: 100%;
438
+ height: 100%;
439
+ }
440
+
441
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-buffering-indicator {
442
+ pointer-events: none;
443
+ place-items: center;
444
+ display: grid;
445
+ position: absolute;
446
+ inset: 0;
447
+ }
448
+
449
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-buffering-indicator:not([data-visible]) {
450
+ --media-spinner-animation: none;
451
+ display: none;
452
+ }
453
+
454
+ @media (prefers-reduced-motion: reduce) {
455
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-buffering-indicator {
456
+ --media-spinner-animation: none;
457
+ }
458
+ }
459
+
460
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-buffering-indicator-backdrop {
461
+ z-index: 40;
462
+ }
463
+
464
+ :where(:where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-buffering-indicator-controls):not([data-visible]) .media-buffering-indicator-backdrop {
465
+ background-color: #0006;
466
+ }
467
+
468
+ @media (forced-colors: active) {
469
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-buffering-indicator-backdrop {
470
+ background-color: #0000 !important;
471
+ }
472
+ }
473
+
474
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-buffering-indicator-controls {
475
+ display: contents;
476
+ }
477
+
478
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-buffering-indicator-spinner-icon {
479
+ width: calc(var(--media-spacing) * 7);
480
+ height: calc(var(--media-spacing) * 7);
481
+ }
482
+
483
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-button-icon-base {
484
+ width: calc(var(--media-spacing) * 4.5);
485
+ height: calc(var(--media-spacing) * 4.5);
486
+ grid-row-start: 1;
487
+ grid-column-start: 1;
488
+ display: none;
489
+ }
490
+
491
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-play-button-audio {
492
+ display: inline-flex;
493
+ position: relative;
494
+ }
495
+
496
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-play-button-buffering {
497
+ z-index: 20;
498
+ background-color: var(--media-background);
499
+ }
500
+
501
+ :where(:where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-play-button)[data-started]:not([data-paused]):not([data-ended]) .media-play-button-pause-icon, :where(:where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-play-button):not([data-ended]):not([data-started]) .media-play-button-play-icon, :where(:where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-play-button):not([data-ended])[data-paused] .media-play-button-play-icon, :where(:where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-play-button)[data-ended] .media-play-button-restart-icon {
502
+ display: block;
503
+ }
504
+
505
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .video-controls-slider-row {
506
+ width: 100%;
507
+ }
508
+
509
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-time-slider {
510
+ height: calc(var(--media-spacing) * 4);
511
+ min-width: calc(var(--media-spacing) * 12);
512
+ cursor: pointer;
513
+ flex: 1;
514
+ align-items: center;
515
+ display: flex;
516
+ position: relative;
517
+ }
518
+
519
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-time-slider[data-disabled] {
520
+ cursor: not-allowed;
521
+ opacity: .4;
522
+ }
523
+
524
+ @media (forced-colors: active) {
525
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-time-slider[data-disabled] {
526
+ color: graytext;
527
+ opacity: 1;
528
+ }
529
+ }
530
+
531
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-time-slider-audio-buffer {
532
+ background-color: #b3b3b3 !important;
533
+ }
534
+
535
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-time-slider-audio-preview-meta {
536
+ padding-block: calc(var(--media-spacing) * .5);
537
+ color: var(--media-foreground);
538
+ border-radius: 0;
539
+ width: auto !important;
540
+ padding-inline: calc(var(--media-spacing) * 1.5) !important;
541
+ }
542
+
543
+ @media (forced-colors: active) {
544
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-time-slider-audio-preview-meta {
545
+ outline-width: 1px;
546
+ outline-style: solid;
547
+ }
548
+ }
549
+
550
+ @media (prefers-reduced-transparency: reduce), (prefers-contrast: more) {
551
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-time-slider-audio-preview-meta {
552
+ outline-width: 1px;
553
+ outline-style: solid;
554
+ }
555
+ }
556
+
557
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-time-slider-audio-track:before {
558
+ content: "";
559
+ background-color: var(--media-muted) !important;
560
+ }
561
+
562
+ @media (forced-colors: active) {
563
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-time-slider-audio-track:before {
564
+ content: "";
565
+ background-color: canvas !important;
566
+ }
567
+ }
568
+
569
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-time-slider-buffer {
570
+ inset-block: 0;
571
+ left: calc(var(--media-slider-chapter-start, 0%) + var(--media-spacing) * var(--media-chapter-inset-start, 0));
572
+ right: max(calc(100% - var(--media-slider-buffer, 0%)),
573
+ calc(100% - var(--media-slider-chapter-end, 100%) + var(--media-spacing) * var(--media-chapter-inset-end, 0)));
574
+ clip-path: inset(-1px 0);
575
+ background-color: oklab(100% 0 5.96046e-8 / .1);
576
+ border-radius: 0;
577
+ position: absolute;
578
+ }
579
+
580
+ @media (forced-colors: active) {
581
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-time-slider-buffer {
582
+ forced-color-adjust: none;
583
+ background-image: repeating-linear-gradient(135deg, canvastext 0 1px, canvas 1px 3px);
584
+ opacity: 1 !important;
585
+ }
586
+ }
587
+
588
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-time-slider-chapter {
589
+ --media-chapter-inset-end: .5;
590
+ --media-chapter-inset-start: .5;
591
+ clip-path: inset(0 calc(100% - var(--media-slider-chapter-end)) 0 var(--media-slider-chapter-start));
592
+ align-items: center;
593
+ display: flex;
594
+ position: absolute;
595
+ inset: 0;
596
+ }
597
+
598
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-time-slider-chapter:first-of-type {
599
+ --media-chapter-inset-start: 0;
600
+ }
601
+
602
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-time-slider-chapter:last-of-type {
603
+ --media-chapter-inset-end: 0;
604
+ }
605
+
606
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-time-slider-chapter-title {
607
+ text-overflow: ellipsis;
608
+ white-space: nowrap;
609
+ opacity: .7;
610
+ min-width: 0;
611
+ overflow: hidden;
612
+ }
613
+
614
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-time-slider-chapter-title:empty {
615
+ display: none;
616
+ }
617
+
618
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-time-slider-chapters {
619
+ align-items: center;
620
+ width: 100%;
621
+ height: 100%;
622
+ display: flex;
623
+ position: relative;
624
+ }
625
+
626
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-time-slider-fill {
627
+ inset-block: 0;
628
+ left: calc(var(--media-slider-chapter-start, 0%) + var(--media-spacing) * var(--media-chapter-inset-start, 0));
629
+ right: max(calc(100% - var(--media-slider-fill, 0%)),
630
+ calc(100% - var(--media-slider-chapter-end, 100%) + var(--media-spacing) * var(--media-chapter-inset-end, 0)));
631
+ clip-path: inset(-1px 0);
632
+ background-color: var(--media-accent);
633
+ border-radius: 0;
634
+ position: absolute;
635
+ }
636
+
637
+ :where(:where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-time-slider)[data-dragging] .media-time-slider-fill {
638
+ left: calc(var(--media-slider-chapter-start, 0%) + var(--media-spacing) * var(--media-chapter-inset-start, 0));
639
+ right: max(calc(100% - var(--media-slider-pointer, 0%)),
640
+ calc(100% - var(--media-slider-chapter-end, 100%) + var(--media-spacing) * var(--media-chapter-inset-end, 0)));
641
+ clip-path: inset(-1px 0);
642
+ }
643
+
644
+ @media (forced-colors: active) {
645
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-time-slider-fill {
646
+ forced-color-adjust: none;
647
+ background-color: canvas;
648
+ background-image: linear-gradient(highlight, highlight);
649
+ }
650
+ }
651
+
652
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-time-slider-preview {
653
+ pointer-events: none;
654
+ bottom: calc(100% + var(--media-spacing) * 3);
655
+ max-width: calc(var(--media-spacing) * 39);
656
+ transform-origin: bottom;
657
+ justify-items: center;
658
+ gap: var(--media-spacing);
659
+ opacity: 0;
660
+ display: grid;
661
+ }
662
+
663
+ :where(:where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-time-slider)[data-disabled] .media-time-slider-preview {
664
+ display: none;
665
+ }
666
+
667
+ :where(:where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-time-slider)[data-dragging] .media-time-slider-preview, :where(:where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-time-slider)[data-pointing] .media-time-slider-preview {
668
+ opacity: 1;
669
+ }
670
+
671
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-time-slider-preview-label {
672
+ align-items: center;
673
+ gap: calc(var(--media-spacing) * 2);
674
+ min-width: 0;
675
+ max-width: 100%;
676
+ display: flex;
677
+ }
678
+
679
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-time-slider-preview-meta {
680
+ width: 100%;
681
+ min-width: 0;
682
+ padding-inline: calc(var(--media-spacing) * 2);
683
+ padding-block: var(--media-spacing);
684
+ justify-content: center;
685
+ display: flex;
686
+ }
687
+
688
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-time-slider-thumb {
689
+ left: var(--media-slider-fill, 0%);
690
+ width: calc(var(--media-spacing) * 3);
691
+ height: calc(var(--media-spacing) * 3);
692
+ border-style: solid;
693
+ border-width: 1px;
694
+ border-color: var(--media-foreground);
695
+ background-color: var(--media-foreground);
696
+ border-radius: 0;
697
+ outline-style: none;
698
+ position: absolute;
699
+ transform: translateX(-50%);
700
+ }
701
+
702
+ :where(:where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-time-slider)[data-dragging] .media-time-slider-thumb {
703
+ left: var(--media-slider-pointer);
704
+ }
705
+
706
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-time-slider-thumb:focus-visible {
707
+ outline-offset: 2px;
708
+ outline: 2px solid;
709
+ }
710
+
711
+ @media (forced-colors: active) {
712
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-time-slider-thumb {
713
+ forced-color-adjust: none;
714
+ background-color: highlight;
715
+ border: 1px solid canvastext;
716
+ }
717
+ }
718
+
719
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-time-slider-track {
720
+ isolation: isolate;
721
+ height: calc(var(--media-spacing) * 1.5);
722
+ border-radius: 0;
723
+ position: absolute;
724
+ inset-inline: 0;
725
+ }
726
+
727
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-time-slider-track:before {
728
+ inset-block: 0;
729
+ left: calc(var(--media-slider-chapter-start) + var(--media-spacing) * var(--media-chapter-inset-start));
730
+ right: calc(100% - var(--media-slider-chapter-end) + var(--media-spacing) * var(--media-chapter-inset-end));
731
+ clip-path: inset(-1px);
732
+ content: "";
733
+ background-color: oklab(100% 0 5.96046e-8 / .1);
734
+ border-radius: 0;
735
+ position: absolute;
736
+ }
737
+
738
+ @media (forced-colors: active) {
739
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-time-slider-track {
740
+ height: calc(var(--media-spacing) * 1.5);
741
+ }
742
+
743
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-time-slider-track:before {
744
+ content: "";
745
+ forced-color-adjust: none;
746
+ background-color: canvas;
747
+ border: 1px solid canvastext;
748
+ opacity: 1 !important;
749
+ }
750
+ }
751
+
752
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-time-slider-value {
753
+ font-variant-numeric: tabular-nums;
754
+ flex-shrink: 0;
755
+ }
756
+
757
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-slider-thumbnail {
758
+ max-width: calc(var(--media-spacing) * 39);
759
+ background-color: var(--media-background);
760
+ border-radius: 0;
761
+ display: block;
762
+ overflow: hidden;
763
+ }
764
+
765
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-slider-thumbnail-image {
766
+ display: block;
767
+ }
768
+
769
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-mute-button-high-icon {
770
+ display: none;
771
+ }
772
+
773
+ :where(:where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-mute-button):not([data-muted]) .media-mute-button-high-icon {
774
+ display: block;
775
+ }
776
+
777
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-mute-button-off-icon {
778
+ display: none;
779
+ }
780
+
781
+ :where(:where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-mute-button)[data-muted] .media-mute-button-off-icon {
782
+ display: block;
783
+ }
784
+
785
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-volume-popover-popup {
786
+ z-index: 20;
787
+ height: calc(var(--media-spacing) * 24);
788
+ width: calc(var(--media-spacing) * 7);
789
+ background-color: var(--media-popover);
790
+ padding-inline: calc(var(--media-spacing) * 3.5);
791
+ padding-block: calc(var(--media-spacing) * 2.5);
792
+ color: var(--media-popover-foreground);
793
+ --media-popover-side-offset: calc(var(--media-spacing) * 9);
794
+ --media-popup-side-offset: var(--media-popover-side-offset);
795
+ border-radius: 0;
796
+ box-shadow: 0 0 #0000, 0 0 #0000, 0 0 #0000, 0 0 #0000, 0 0 #0000;
797
+ }
798
+
799
+ @media (forced-colors: active) {
800
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-volume-popover-popup {
801
+ outline-width: 1px;
802
+ outline-style: solid;
803
+ }
804
+ }
805
+
806
+ @media (prefers-reduced-transparency: reduce), (prefers-contrast: more) {
807
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-volume-popover-popup {
808
+ outline-width: 1px;
809
+ outline-style: solid;
810
+ }
811
+ }
812
+
813
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-volume-slider {
814
+ cursor: pointer;
815
+ --media-accent: var(--media-accent-color, var(--media-popover-foreground));
816
+ justify-content: center;
817
+ width: 100%;
818
+ height: 100%;
819
+ display: flex;
820
+ position: relative;
821
+ }
822
+
823
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-volume-slider[data-disabled] {
824
+ cursor: not-allowed;
825
+ opacity: .4;
826
+ }
827
+
828
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-volume-slider-fill {
829
+ height: var(--media-slider-fill, 0%);
830
+ background-color: var(--media-accent);
831
+ border-radius: 0;
832
+ width: 100%;
833
+ position: absolute;
834
+ bottom: 0;
835
+ left: 0;
836
+ }
837
+
838
+ @media (forced-colors: active) {
839
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-volume-slider-fill {
840
+ forced-color-adjust: none;
841
+ background-color: highlight;
842
+ }
843
+ }
844
+
845
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-volume-slider-thumb {
846
+ bottom: var(--media-slider-fill, 0%);
847
+ width: calc(var(--media-spacing) * 3);
848
+ height: calc(var(--media-spacing) * 3);
849
+ background-color: var(--media-popover-foreground);
850
+ border-radius: 0;
851
+ position: absolute;
852
+ left: 50%;
853
+ transform: translate(-50%, 50%);
854
+ }
855
+
856
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-volume-slider-thumb:focus-visible {
857
+ outline-offset: 2px;
858
+ outline: 2px solid;
859
+ }
860
+
861
+ @media (forced-colors: active) {
862
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-volume-slider-thumb {
863
+ forced-color-adjust: none;
864
+ background-color: highlight;
865
+ border: 1px solid canvastext;
866
+ }
867
+ }
868
+
869
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-volume-slider-track {
870
+ height: 100%;
871
+ width: var(--media-spacing);
872
+ background-color: gray;
873
+ border-radius: 0;
874
+ position: absolute;
875
+ bottom: 0;
876
+ left: 50%;
877
+ overflow: hidden;
878
+ transform: translateX(-50%);
879
+ }
880
+
881
+ @media (forced-colors: active) {
882
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-volume-slider-track {
883
+ width: calc(var(--media-spacing) * 1.5);
884
+ forced-color-adjust: none;
885
+ background-color: canvas;
886
+ border: 1px solid canvastext;
887
+ }
888
+ }
889
+
890
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .video-controls-bottom {
891
+ pointer-events: auto;
892
+ gap: calc(var(--media-spacing) * 2);
893
+ background-color: var(--media-background);
894
+ padding: calc(var(--media-spacing) * 3);
895
+ inset-inline: 0;
896
+ flex-direction: column;
897
+ display: flex;
898
+ position: absolute;
899
+ bottom: 0;
900
+ }
901
+
902
+ :where(:where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .video-controls-content):not([data-visible]) .video-controls-bottom {
903
+ pointer-events: none;
904
+ opacity: 0;
905
+ }
906
+
907
+ @media (forced-colors: active) {
908
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .video-controls-bottom {
909
+ background-color: canvas;
910
+ border-radius: 0;
911
+ }
912
+ }
913
+
914
+ @media (prefers-reduced-transparency: reduce), (prefers-contrast: more) {
915
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .video-controls-bottom {
916
+ background-color: var(--media-background);
917
+ border-radius: 0;
918
+ }
919
+ }
920
+
921
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .video-controls-buffering {
922
+ display: contents;
923
+ }
924
+
925
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .video-controls-center {
926
+ pointer-events: auto;
927
+ align-items: center;
928
+ gap: calc(var(--media-spacing) * 2);
929
+ display: none;
930
+ position: absolute;
931
+ top: 50%;
932
+ left: 50%;
933
+ transform: translate(-50%, -50%);
934
+ }
935
+
936
+ :where(:where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .video-controls-content):not([data-visible]) .video-controls-center {
937
+ pointer-events: none;
938
+ opacity: 0;
939
+ }
940
+
941
+ :where(:where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .video-controls-buffering)[data-visible] .video-controls-center {
942
+ display: none !important;
943
+ }
944
+
945
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .video-controls-center:where(:dir(rtl), [dir="rtl"], [dir="rtl"] *) {
946
+ flex-direction: row-reverse;
947
+ }
948
+
949
+ @media (forced-colors: active) {
950
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .video-controls-center {
951
+ background-color: #0000 !important;
952
+ }
953
+ }
954
+
955
+ @media (prefers-reduced-transparency: reduce), (prefers-contrast: more) {
956
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .video-controls-center {
957
+ background-color: var(--media-background);
958
+ padding-inline: calc(var(--media-spacing) * 2);
959
+ border-radius: 0;
960
+ }
961
+ }
962
+
963
+ @container media-root (width >= 22.5rem) {
964
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .video-controls-center {
965
+ display: flex;
966
+ }
967
+ }
968
+
969
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .video-controls-center-button {
970
+ background-color: var(--media-background) !important;
971
+ margin: 0 !important;
972
+ }
973
+
974
+ @media (hover: hover) {
975
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .video-controls-center-button:hover {
976
+ background-color: var(--media-button-highlight) !important;
977
+ }
978
+ }
979
+
980
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .video-controls-center-button:focus-visible, :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .video-controls-center-button[aria-expanded="true"] {
981
+ background-color: var(--media-button-highlight) !important;
982
+ }
983
+
984
+ @media (forced-colors: active) {
985
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .video-controls-center-button {
986
+ background-color: buttonface !important;
987
+ }
988
+
989
+ @media (hover: hover) {
990
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .video-controls-center-button:hover {
991
+ background-color: highlight !important;
992
+ }
993
+ }
994
+
995
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .video-controls-center-button:focus-visible, :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .video-controls-center-button[aria-expanded="true"] {
996
+ background-color: highlight !important;
997
+ }
998
+ }
999
+
1000
+ @media (prefers-reduced-transparency: reduce), (prefers-contrast: more) {
1001
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .video-controls-center-button {
1002
+ background-color: var(--media-background) !important;
1003
+ }
1004
+
1005
+ @media (hover: hover) {
1006
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .video-controls-center-button:hover {
1007
+ background-color: var(--media-foreground) !important;
1008
+ }
1009
+ }
1010
+
1011
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .video-controls-center-button:focus-visible, :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .video-controls-center-button[aria-expanded="true"] {
1012
+ background-color: var(--media-foreground) !important;
1013
+ }
1014
+ }
1015
+
1016
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .video-controls-center-play {
1017
+ width: calc(var(--media-spacing) * 14.5) !important;
1018
+ height: calc(var(--media-spacing) * 14.5) !important;
1019
+ }
1020
+
1021
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .video-controls-center-play-icon {
1022
+ width: calc(var(--media-spacing) * 7) !important;
1023
+ height: calc(var(--media-spacing) * 7) !important;
1024
+ }
1025
+
1026
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .video-controls-content {
1027
+ pointer-events: none;
1028
+ z-index: 30;
1029
+ position: absolute;
1030
+ inset: 0;
1031
+ }
1032
+
1033
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .video-controls-group {
1034
+ align-items: center;
1035
+ gap: calc(var(--media-spacing) * 2);
1036
+ display: flex;
1037
+ }
1038
+
1039
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .video-controls-group:where(:dir(rtl), [dir="rtl"], [dir="rtl"] *) {
1040
+ flex-direction: row-reverse;
1041
+ }
1042
+
1043
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .video-controls-row {
1044
+ justify-content: space-between;
1045
+ align-items: center;
1046
+ gap: calc(var(--media-spacing) * 2);
1047
+ display: flex;
1048
+ }
1049
+
1050
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .video-controls-row:where(:dir(rtl), [dir="rtl"], [dir="rtl"] *) {
1051
+ flex-direction: row-reverse;
1052
+ }
1053
+
1054
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .video-controls-start {
1055
+ min-width: 0;
1056
+ }
1057
+
1058
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .video-controls-top {
1059
+ pointer-events: auto;
1060
+ justify-content: flex-end;
1061
+ align-items: center;
1062
+ gap: calc(var(--media-spacing) * 2);
1063
+ padding: calc(var(--media-spacing) * 3);
1064
+ inset-inline: 0;
1065
+ display: flex;
1066
+ position: absolute;
1067
+ top: 0;
1068
+ }
1069
+
1070
+ :where(:where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .video-controls-content):not([data-visible]) .video-controls-top {
1071
+ pointer-events: none;
1072
+ opacity: 0;
1073
+ }
1074
+
1075
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .video-controls-top:where(:dir(rtl), [dir="rtl"], [dir="rtl"] *) {
1076
+ flex-direction: row-reverse;
1077
+ }
1078
+
1079
+ @media (forced-colors: active) {
1080
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .video-controls-top {
1081
+ inset-inline: 0;
1082
+ background-color: canvas;
1083
+ border-radius: 0;
1084
+ justify-content: flex-end;
1085
+ top: 0;
1086
+ border-radius: 0 !important;
1087
+ }
1088
+ }
1089
+
1090
+ @media (prefers-reduced-transparency: reduce), (prefers-contrast: more) {
1091
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .video-controls-top {
1092
+ background-color: var(--media-background);
1093
+ border-radius: 0;
1094
+ }
1095
+ }
1096
+
1097
+ @media (forced-colors: active) {
1098
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .video-controls-video-bottom {
1099
+ inset-inline: 0;
1100
+ bottom: 0;
1101
+ border-radius: 0 !important;
1102
+ }
1103
+ }
1104
+
1105
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-time-current-value {
1106
+ display: none;
1107
+ }
1108
+
1109
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-time-current-value[data-unavailable] {
1110
+ opacity: .5;
1111
+ }
1112
+
1113
+ @container media-root (width >= 20rem) {
1114
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-time-current-value {
1115
+ display: inline;
1116
+ }
1117
+ }
1118
+
1119
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-time-duration-value {
1120
+ opacity: .7;
1121
+ display: none;
1122
+ }
1123
+
1124
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-time-duration-value[data-unavailable] {
1125
+ opacity: .5;
1126
+ }
1127
+
1128
+ @container media-root (width >= 20rem) {
1129
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-time-duration-value {
1130
+ display: inline;
1131
+ }
1132
+ }
1133
+
1134
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-time-group {
1135
+ height: calc(var(--media-spacing) * 4);
1136
+ align-items: center;
1137
+ gap: var(--media-spacing);
1138
+ padding-inline: var(--media-spacing);
1139
+ font-variant-numeric: tabular-nums;
1140
+ flex-shrink: 0;
1141
+ line-height: 1;
1142
+ display: flex;
1143
+ }
1144
+
1145
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-time-group:where(:dir(rtl), [dir="rtl"], [dir="rtl"] *) {
1146
+ flex-direction: row-reverse;
1147
+ }
1148
+
1149
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-time-separator {
1150
+ opacity: .7;
1151
+ display: none;
1152
+ }
1153
+
1154
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-time-separator[data-unavailable] {
1155
+ opacity: .5;
1156
+ }
1157
+
1158
+ @container media-root (width >= 20rem) {
1159
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-time-separator {
1160
+ display: inline;
1161
+ }
1162
+ }
1163
+
1164
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-time-toggle {
1165
+ cursor: pointer;
1166
+ border-radius: 0;
1167
+ outline-style: none;
1168
+ }
1169
+
1170
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-time-toggle:focus-visible {
1171
+ outline-offset: 2px;
1172
+ outline-width: 2px;
1173
+ outline-style: solid;
1174
+ outline-color: var(--media-ring);
1175
+ }
1176
+
1177
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-time-toggle[data-disabled] {
1178
+ cursor: not-allowed;
1179
+ opacity: .4;
1180
+ }
1181
+
1182
+ @media (forced-colors: active) {
1183
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-time-toggle[data-disabled] {
1184
+ color: graytext;
1185
+ opacity: 1;
1186
+ }
1187
+ }
1188
+
1189
+ @container media-root (width >= 20rem) {
1190
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-time-toggle {
1191
+ display: none;
1192
+ }
1193
+ }
1194
+
1195
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .audio-controls-bottom {
1196
+ padding: calc(var(--media-spacing) * 3);
1197
+ position: static !important;
1198
+ }
1199
+
1200
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .audio-controls-content {
1201
+ position: relative !important;
1202
+ inset: auto !important;
1203
+ }
1204
+
1205
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-menu-indicator {
1206
+ opacity: 0;
1207
+ flex-shrink: 0;
1208
+ margin-inline-start: auto;
1209
+ margin-inline-end: calc(var(--media-spacing) * -1);
1210
+ }
1211
+
1212
+ :where(:where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-menu-radio-item)[aria-checked="true"] .media-menu-indicator {
1213
+ opacity: 1;
1214
+ }
1215
+
1216
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-menu-radio-icon {
1217
+ width: calc(var(--media-spacing) * 4.5);
1218
+ height: calc(var(--media-spacing) * 4.5);
1219
+ opacity: .7;
1220
+ flex-shrink: 0;
1221
+ }
1222
+
1223
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-menu-radio-item {
1224
+ min-height: calc(var(--media-spacing) * 8);
1225
+ cursor: pointer;
1226
+ justify-content: space-between;
1227
+ align-items: center;
1228
+ gap: calc(var(--media-spacing) * 3);
1229
+ background-color: var(--media-background);
1230
+ width: 100%;
1231
+ padding-inline: calc(var(--media-spacing) * 2);
1232
+ background-clip: padding-box;
1233
+ border-radius: 0;
1234
+ flex-shrink: 0;
1235
+ padding-block: 0;
1236
+ display: flex;
1237
+ }
1238
+
1239
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-menu-radio-item:focus-visible {
1240
+ outline-offset: -2px;
1241
+ outline: 2px solid;
1242
+ }
1243
+
1244
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-menu-radio-item[data-highlighted] {
1245
+ background-color: var(--media-button-highlight);
1246
+ }
1247
+
1248
+ @media (forced-colors: active) {
1249
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-menu-radio-item[data-highlighted] {
1250
+ background-color: var(--media-accent);
1251
+ color: var(--media-accent-foreground);
1252
+ }
1253
+ }
1254
+
1255
+ @media (prefers-reduced-transparency: reduce), (prefers-contrast: more) {
1256
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-menu-radio-item[data-highlighted] {
1257
+ background-color: var(--media-accent);
1258
+ color: var(--media-accent-foreground);
1259
+ }
1260
+ }
1261
+
1262
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-playback-rate-button {
1263
+ font-variant-numeric: tabular-nums;
1264
+ }
1265
+
1266
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-menu-content {
1267
+ overscroll-behavior: none;
1268
+ max-height: 100%;
1269
+ padding: calc(var(--media-spacing) * 2);
1270
+ clip-path: inset(0);
1271
+ outline-style: none;
1272
+ flex-direction: column;
1273
+ display: flex;
1274
+ position: absolute;
1275
+ overflow: auto;
1276
+ gap: calc(var(--media-spacing) * 2) !important;
1277
+ }
1278
+
1279
+ @media (forced-colors: active) {
1280
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-menu-content {
1281
+ outline-offset: 2px;
1282
+ outline: 2px solid #0000;
1283
+ }
1284
+ }
1285
+
1286
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-menu-content:not([data-submenu]) {
1287
+ inset-inline: 0;
1288
+ top: 0;
1289
+ }
1290
+
1291
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-menu-content:not([data-submenu])[data-child-open] {
1292
+ clip-path: inset(0 0 0 100%);
1293
+ transform: translateX(-100%);
1294
+ }
1295
+
1296
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-menu-content[data-submenu] {
1297
+ z-index: 10;
1298
+ inset-inline: 0;
1299
+ top: 0;
1300
+ }
1301
+
1302
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-menu-content:not([data-submenu])[data-child-open]:where(:dir(rtl), [dir="rtl"], [dir="rtl"] *) {
1303
+ clip-path: inset(0 100% 0 0);
1304
+ transform: translateX(100%);
1305
+ }
1306
+
1307
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-menu-popup {
1308
+ z-index: 20;
1309
+ height: var(--media-menu-height);
1310
+ max-height: min(var(--media-menu-available-height, calc(var(--media-spacing) * 56)),
1311
+ calc(var(--media-spacing) * 56));
1312
+ width: var(--media-menu-width);
1313
+ max-width: var(--media-menu-available-width);
1314
+ min-width: calc(var(--media-spacing) * 44);
1315
+ overscroll-behavior: none;
1316
+ background-color: var(--media-popover);
1317
+ color: var(--media-popover-foreground);
1318
+ --media-popover-side-offset: calc(var(--media-spacing) * 9);
1319
+ --media-popup-side-offset: var(--media-popover-side-offset);
1320
+ border-radius: 0;
1321
+ margin: 0;
1322
+ padding: 0;
1323
+ box-shadow: 0 0 #0000, 0 0 #0000, 0 0 #0000, 0 0 #0000, 0 0 #0000;
1324
+ overflow: hidden !important;
1325
+ }
1326
+
1327
+ @media (forced-colors: active) {
1328
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-menu-popup {
1329
+ outline-width: 1px;
1330
+ outline-style: solid;
1331
+ }
1332
+ }
1333
+
1334
+ @media (prefers-reduced-transparency: reduce), (prefers-contrast: more) {
1335
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-menu-popup {
1336
+ outline-width: 1px;
1337
+ outline-style: solid;
1338
+ }
1339
+ }
1340
+
1341
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-menu-radio-group {
1342
+ gap: calc(var(--media-spacing) * 2);
1343
+ flex-direction: column;
1344
+ display: flex;
1345
+ }
1346
+
1347
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-menu-rate-popup {
1348
+ min-width: 0 !important;
1349
+ }
1350
+
1351
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-seek-button-backward-icon {
1352
+ transform: scaleX(-1);
1353
+ }
1354
+
1355
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-seek-button-backward-label {
1356
+ left: -1px;
1357
+ }
1358
+
1359
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-seek-button-content {
1360
+ display: grid;
1361
+ position: relative;
1362
+ }
1363
+
1364
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-seek-button-forward-label {
1365
+ right: -1px;
1366
+ }
1367
+
1368
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-seek-button-label {
1369
+ bottom: calc(var(--media-spacing) * -.75);
1370
+ font-size: calc(var(--media-spacing) * 2.25);
1371
+ font-variant-numeric: tabular-nums;
1372
+ position: absolute;
1373
+ }
1374
+
1375
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-seek-button-audio {
1376
+ display: none;
1377
+ }
1378
+
1379
+ @container media-root (width >= 24rem) {
1380
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-seek-button-audio {
1381
+ display: grid;
1382
+ }
1383
+ }
1384
+
1385
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-audio, :where(.media-skin[data-theme="scaffold"][data-preset="audio"]).media-audio {
1386
+ aspect-ratio: auto;
1387
+ background-color: var(--media-background);
1388
+ box-shadow: 0 0 #0000, 0 0 #0000, 0 0 #0000, 0 0 #0000, 0 0 #0000;
1389
+ overflow: visible !important;
1390
+ }
1391
+
1392
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-container, :where(.media-skin[data-theme="scaffold"][data-preset="audio"]).media-container {
1393
+ border-radius: var(--media-video-border-radius);
1394
+ width: 100%;
1395
+ font-family: var(--media-font-family, inherit);
1396
+ font-size: calc(var(--media-spacing) * 3.25);
1397
+ color: var(--media-foreground);
1398
+ --spacing: var(--media-spacing);
1399
+ outline-style: none;
1400
+ display: block;
1401
+ position: relative;
1402
+ overflow: hidden;
1403
+ container: media-root / inline-size;
1404
+ }
1405
+
1406
+ :where(.media-skin[data-theme="scaffold"][data-preset="audio"]) .media-container:focus-visible, :where(.media-skin[data-theme="scaffold"][data-preset="audio"]).media-container:focus-visible {
1407
+ outline-offset: -2px;
1408
+ outline-width: 2px;
1409
+ outline-style: solid;
1410
+ outline-color: var(--media-ring);
1411
+ }
1412
+ }
1413
+
1414
+ @layer utilities;
1415
+
1416
+ @layer base.theme {
1417
+ .media-skin {
1418
+ --media-background: oklch(0% 0 0);
1419
+ --media-foreground: oklch(100% 0 0);
1420
+ --media-controls: oklch(0% 0 0 / .35);
1421
+ --media-controls-foreground: var(--media-foreground);
1422
+ --media-popover: oklch(100% 0 0 / .1);
1423
+ --media-popover-foreground: var(--media-foreground);
1424
+ --media-primary: var(--media-accent-color, var(--media-default-accent-color));
1425
+ --media-primary-foreground: var(--media-accent-text-color, var(--media-default-accent-text-color));
1426
+ --media-accent: var(--media-accent-color, color-mix(in oklab, var(--media-default-accent-color) 10%, transparent));
1427
+ --media-accent-foreground: var(--media-accent-text-color, currentColor);
1428
+ --media-muted: oklch(100% 0 0 / .15);
1429
+ --media-muted-foreground: oklch(100% 0 0 / .65);
1430
+ --media-border: oklch(0% 0 0 / .1);
1431
+ --media-ring: oklch(100% 0 0);
1432
+ --media-backdrop: oklch(0% 0 0);
1433
+ --media-live-color: oklch(65% .22 27);
1434
+ --media-shadow-surface: 0 1px 3px 0 oklch(0% 0 0 / .15), 0 1px 2px -1px oklch(0% 0 0 / .15);
1435
+ --media-shadow-surface-inset: inset 0 1px 0 0 #ffffff1a, inset 0 0 0 1px #ffffff0d;
1436
+ --media-shadow-thumb: 0 0 0 1px #0000001a, 0 1px 3px 0 #00000059, 0 1px 2px -1px #00000059;
1437
+ --media-shadow-tooltip: 0 0 0 1px var(--media-border), var(--media-shadow-surface);
1438
+ --media-shadow-separator: 0 1px 0 0 oklch(100% 0 0 / .075);
1439
+ --media-shadow-current-color: oklch(from currentColor 0 0 0 / clamp(0, calc((l - .5) * .5), .15));
1440
+ --media-shadow-subtle-current-color: color-mix(in oklab, var(--media-shadow-current-color) 40%, transparent);
1441
+ --media-text-shadow-dialog: 0 1px 0 #00000040;
1442
+ --media-backdrop-filter-surface: blur(16px) saturate(110%);
1443
+ --media-backdrop-filter-indicator: blur(8px);
1444
+ --media-backdrop-filter-dialog: blur(16px) saturate(110%);
1445
+ --media-control-corner-shape: round;
1446
+ --media-control-radius: 99px;
1447
+ --media-control-size: calc(var(--media-spacing) * 9);
1448
+ --media-controls-radius: var(--media-control-radius);
1449
+ --media-default-accent-color: oklch(100% 0 0);
1450
+ --media-default-accent-text-color: oklch(0% 0 0);
1451
+ --media-duration-instant: 50ms;
1452
+ --media-duration-fast: .1s;
1453
+ --media-duration: .15s;
1454
+ --media-duration-slow: .2s;
1455
+ --media-duration-slower: .25s;
1456
+ --media-duration-controls: .1s;
1457
+ --media-duration-dialog: .35s;
1458
+ --media-duration-indicator: var(--media-duration-slower);
1459
+ --media-duration-menu: .25s;
1460
+ --media-duration-slider: var(--media-duration-fast);
1461
+ --media-delay-dialog: .1s;
1462
+ --media-hidden-scale: .95;
1463
+ --media-hidden-blur: 8px;
1464
+ --media-hidden-offset: calc(var(--media-spacing) * 1);
1465
+ --media-hidden-icon-scale: 0;
1466
+ --media-hidden-indicator-scale: .9;
1467
+ --media-hidden-indicator-offset: -25%;
1468
+ --media-hidden-playback-scale: .85;
1469
+ --media-hidden-popup-scale: .95;
1470
+ --media-hidden-popup-blur: 4px;
1471
+ --media-hidden-preview-scale: .8;
1472
+ --media-hidden-preview-offset: calc(var(--media-spacing) * 2);
1473
+ --media-hidden-seek-offset: 60%;
1474
+ --media-menu-item-radius: calc(var(--media-spacing) * 2);
1475
+ --media-popover-boundary-offset: calc(var(--media-spacing) * 3);
1476
+ --media-popover-side-offset: calc(var(--media-spacing) * 3);
1477
+ --media-popup-radius: calc(var(--media-spacing) * 3);
1478
+ --media-popup-translate-distance: calc(var(--media-spacing) * 2);
1479
+ --media-tooltip-boundary-offset: var(--media-popover-boundary-offset);
1480
+ --media-tooltip-side-offset: var(--media-popover-side-offset);
1481
+ --media-dialog-radius: calc(var(--media-spacing) * 7);
1482
+ --media-dialog-width: calc(100% - var(--media-spacing) * 6);
1483
+ --media-dialog-max-width: calc(var(--media-spacing) * 72);
1484
+ --media-slider-preview-label-offset: calc(var(--media-spacing) * 10.5);
1485
+ --media-video-border-radius: var(--media-border-radius, 28px);
1486
+ --media-scale: 1;
1487
+ --media-scrollbar-thumb-color: color-mix(in oklab, currentColor 30%, transparent);
1488
+ --media-spacing: calc(var(--media-scale-unit, 16px) * var(--media-scale) / 4);
1489
+ scrollbar-color: var(--media-scrollbar-thumb-color) transparent;
1490
+ scrollbar-width: thin;
1491
+ }
1492
+
1493
+ @supports (color: contrast-color(red)) {
1494
+ .media-skin {
1495
+ --media-primary-foreground: var(--media-accent-text-color, contrast-color(var(--media-primary)));
1496
+ --media-accent-foreground: var(--media-accent-text-color, contrast-color(var(--media-accent-color, var(--media-internal-accent-text-fallback, oklch(0% 0 0)))));
1497
+ }
1498
+ }
1499
+
1500
+ @supports (color: oklch(from red l c h)) {
1501
+ .media-skin {
1502
+ --media-shadow-subtle-current-color: oklch(from var(--media-shadow-current-color) l c h / calc(alpha * .4));
1503
+ }
1504
+ }
1505
+
1506
+ @supports (color: oklch(from currentColor l c h)) {
1507
+ .media-skin {
1508
+ --media-scrollbar-thumb-color: oklch(from currentColor l c h / .3);
1509
+ }
1510
+ }
1511
+
1512
+ .media-skin::-webkit-scrollbar-thumb {
1513
+ background: var(--media-scrollbar-thumb-color);
1514
+ border-radius: 9999px;
1515
+ }
1516
+
1517
+ .media-skin:fullscreen {
1518
+ --media-object-fit: contain;
1519
+ --media-video-border-radius: 0;
1520
+ }
1521
+
1522
+ @media (width >= 1280px) {
1523
+ .media-skin:fullscreen {
1524
+ --media-scale: 1.25;
1525
+ }
1526
+ }
1527
+
1528
+ @media (width >= 1536px) {
1529
+ .media-skin:fullscreen {
1530
+ --media-scale: 1.5;
1531
+ }
1532
+ }
1533
+
1534
+ @media (width >= 1920px) {
1535
+ .media-skin:fullscreen {
1536
+ --media-scale: 1.75;
1537
+ }
1538
+ }
1539
+ }
1540
+
1541
+ @layer base.preset {
1542
+ .media-skin:is([data-preset="audio"], [data-preset="live-audio"]) {
1543
+ --media-background: oklch(100% 0 0);
1544
+ --media-foreground: oklch(0% 0 0);
1545
+ --media-controls: oklch(100% 0 0 / .5);
1546
+ --media-controls-foreground: var(--media-foreground);
1547
+ --media-popover: var(--media-controls);
1548
+ --media-popover-foreground: var(--media-foreground);
1549
+ --media-surface-border: oklch(0% 0 0 / .05);
1550
+ --media-primary: var(--media-accent-color, var(--media-foreground));
1551
+ --media-border: oklch(0% 0 0 / .1);
1552
+ --media-ring: var(--media-foreground);
1553
+ --media-default-accent-color: oklch(0% 0 0);
1554
+ --media-default-accent-text-color: oklch(100% 0 0);
1555
+ --media-internal-accent-text-fallback: oklch(100% 0 0);
1556
+ --media-popover-boundary-offset: calc(var(--media-spacing) * 2);
1557
+ --media-popover-side-offset: calc(var(--media-spacing) * 3);
1558
+ --media-slider-preview-label-offset: calc(var(--media-spacing) * 10);
1559
+ }
1560
+
1561
+ @supports (color: light-dark(red, red)) {
1562
+ .media-skin:is([data-preset="audio"], [data-preset="live-audio"]) {
1563
+ --media-background: light-dark(oklch(100% 0 0), oklch(0% 0 0));
1564
+ --media-foreground: light-dark(oklch(0% 0 0), oklch(100% 0 0));
1565
+ --media-controls: light-dark(oklch(100% 0 0 / .5), oklch(0% 0 0 / .4));
1566
+ --media-border: light-dark(oklch(0% 0 0 / .1), oklch(100% 0 0 / .1));
1567
+ --media-default-accent-color: light-dark(oklch(0% 0 0), oklch(100% 0 0));
1568
+ --media-default-accent-text-color: light-dark(oklch(100% 0 0), oklch(0% 0 0));
1569
+ --media-internal-accent-text-fallback: light-dark(oklch(100% 0 0), oklch(0% 0 0));
1570
+ }
1571
+ }
1572
+
1573
+ .media-skin:is([data-preset="audio"], [data-preset="live-audio"])[data-theme="neutral"] {
1574
+ --media-controls: var(--media-background);
1575
+ --media-popover: var(--media-background);
1576
+ --media-controls-radius: calc(var(--media-spacing) * 3.5);
1577
+ --media-popover-boundary-offset: calc(var(--media-spacing) * 3);
1578
+ }
1579
+
1580
+ @media (prefers-reduced-transparency: reduce), (prefers-contrast: more) {
1581
+ .media-skin:is([data-preset="audio"], [data-preset="live-audio"]) {
1582
+ --media-controls: var(--media-background);
1583
+ --media-surface-border: oklch(0% 0 0 / .05);
1584
+ }
1585
+
1586
+ @supports (color: light-dark(red, red)) {
1587
+ .media-skin:is([data-preset="audio"], [data-preset="live-audio"]) {
1588
+ --media-surface-border: light-dark(oklch(0% 0 0 / .05), #0000);
1589
+ }
1590
+ }
1591
+ }
1592
+
1593
+ .media-skin[data-theme="scaffold"] {
1594
+ --media-spacing: calc(var(--media-scale-unit, 16px) / 4);
1595
+ --media-background: transparent;
1596
+ --media-foreground: white;
1597
+ --media-accent: var(--media-accent-color, var(--media-default-accent-color));
1598
+ --media-accent-foreground: var(--media-accent-text-color, black);
1599
+ --media-primary: var(--media-accent);
1600
+ --media-primary-foreground: var(--media-accent-text-color, black);
1601
+ --media-muted: #404040;
1602
+ --media-popover: black;
1603
+ --media-popover-boundary-offset: calc(var(--media-spacing) * 3);
1604
+ --media-tooltip-boundary-offset: var(--media-popover-boundary-offset);
1605
+ --media-popover-foreground: white;
1606
+ --media-ring: var(--media-accent);
1607
+ --media-button-highlight: #fff3;
1608
+ --media-video-border-radius: var(--media-border-radius, 0px);
1609
+ --media-control-radius: 0px;
1610
+ --media-controls-radius: 0px;
1611
+ --media-menu-item-radius: 0px;
1612
+ --media-popup-radius: 0px;
1613
+ --media-dialog-radius: 0px;
1614
+ --media-scrollbar-thumb-color: gray;
1615
+ --media-shadow-surface: none;
1616
+ --media-shadow-surface-inset: none;
1617
+ --media-shadow-thumb: none;
1618
+ --media-backdrop-filter-surface: none;
1619
+ --media-backdrop-filter-indicator: none;
1620
+ --media-backdrop-filter-dialog: none;
1621
+ }
1622
+
1623
+ .media-skin[data-theme="scaffold"][data-preset$="audio"] {
1624
+ --media-foreground: black;
1625
+ --media-muted: #e5e5e5;
1626
+ }
1627
+
1628
+ @supports (color: light-dark(red, red)) {
1629
+ .media-skin[data-theme="scaffold"][data-preset$="audio"] {
1630
+ --media-foreground: light-dark(#000, #fff);
1631
+ --media-muted: light-dark(#e5e5e5, #404040);
1632
+ }
1633
+ }
1634
+
1635
+ @media (prefers-reduced-transparency: reduce), (prefers-contrast: more) {
1636
+ .media-skin[data-theme="scaffold"]:where([data-preset$="video"]) {
1637
+ --media-background: black;
1638
+ }
1639
+ }
1640
+
1641
+ @media (forced-colors: active) {
1642
+ .media-skin[data-theme="scaffold"] {
1643
+ --media-background: Canvas;
1644
+ --media-popover: Canvas;
1645
+ --media-popover-foreground: CanvasText;
1646
+ --media-foreground: CanvasText;
1647
+ --media-accent: Highlight;
1648
+ --media-primary: Highlight;
1649
+ --media-primary-foreground: HighlightText;
1650
+ --media-ring: Highlight;
1651
+ }
1652
+ }
1653
+ }
1654
+
1655
+ @layer base.preferences {
1656
+ @media (pointer: fine) and (prefers-reduced-motion: no-preference) {
1657
+ .media-skin:not([data-controls-visible]) {
1658
+ --media-duration-controls: .3s;
1659
+ }
1660
+ }
1661
+
1662
+ @media (pointer: coarse) and (prefers-reduced-motion: no-preference) {
1663
+ .media-skin:not([data-controls-visible]) {
1664
+ --media-duration-controls: .15s;
1665
+ }
1666
+ }
1667
+
1668
+ @media (prefers-reduced-motion: reduce) {
1669
+ .media-skin {
1670
+ --media-duration-fast: var(--media-duration-instant);
1671
+ --media-duration: var(--media-duration-instant);
1672
+ --media-duration-slow: var(--media-duration-instant);
1673
+ --media-duration-slower: var(--media-duration-instant);
1674
+ --media-duration-controls: var(--media-duration-instant);
1675
+ --media-duration-dialog: var(--media-duration-instant);
1676
+ --media-duration-indicator: var(--media-duration-instant);
1677
+ --media-duration-menu: 0s;
1678
+ --media-duration-slider: 0s;
1679
+ --media-delay-dialog: 0s;
1680
+ --media-hidden-scale: 1;
1681
+ --media-hidden-blur: 0px;
1682
+ --media-hidden-offset: 0px;
1683
+ --media-hidden-icon-scale: 1;
1684
+ --media-hidden-indicator-scale: 1;
1685
+ --media-hidden-indicator-offset: 0px;
1686
+ --media-hidden-playback-scale: 1;
1687
+ --media-hidden-popup-scale: 1;
1688
+ --media-hidden-popup-blur: 0px;
1689
+ --media-hidden-preview-scale: 1;
1690
+ --media-hidden-preview-offset: 0px;
1691
+ --media-hidden-seek-offset: 0px;
1692
+ --media-popup-translate-distance: 0px;
1693
+ --media-spinner-animation: none;
1694
+ --media-icon-airplay-fill-animation: none;
1695
+ --media-icon-airplay-triangle-animation: none;
1696
+ }
1697
+ }
1698
+
1699
+ @media (prefers-reduced-transparency: reduce), (prefers-contrast: more) {
1700
+ .media-skin {
1701
+ --media-popover: var(--media-background);
1702
+ --media-scrollbar-thumb-color: color-mix(in oklab, currentColor 80%, transparent);
1703
+ --media-backdrop-filter-surface: none;
1704
+ --media-backdrop-filter-indicator: none;
1705
+ --media-backdrop-filter-dialog: none;
1706
+ --media-shadow-surface-inset: inset 0 1px 0 0 #ffffff40, inset 0 0 0 1px #ffffff20;
1707
+ scrollbar-width: auto;
1708
+ }
1709
+
1710
+ @supports (color: oklch(from currentColor l c h)) {
1711
+ .media-skin {
1712
+ --media-scrollbar-thumb-color: oklch(from currentColor l c h / .8);
1713
+ }
1714
+ }
1715
+ }
1716
+
1717
+ @media (forced-colors: active) {
1718
+ .media-skin {
1719
+ --media-border: CanvasText;
1720
+ --media-frame-border: CanvasText;
1721
+ --media-popover: Canvas;
1722
+ --media-popover-foreground: CanvasText;
1723
+ --media-ring: CanvasText;
1724
+ --media-shadow-surface-inset: inset 0 1px 0 0 CanvasText, inset 0 0 0 1px CanvasText;
1725
+ }
1726
+ }
1727
+ }
1728
+
1729
+ @property --media-slider-fill {
1730
+ syntax: "<percentage>";
1731
+ inherits: true;
1732
+ initial-value: 0%;
1733
+ }
1734
+
1735
+ @property --media-slider-buffer {
1736
+ syntax: "<percentage>";
1737
+ inherits: true;
1738
+ initial-value: 0%;
1739
+ }