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