myetv-player 1.6.4 → 1.6.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/css/myetv-player.css +6 -2
- package/css/myetv-player.min.css +1 -1
- package/dist/myetv-player.js +91 -4
- package/dist/myetv-player.min.js +73 -3
- package/package.json +2 -1
package/README.md
CHANGED
|
@@ -114,6 +114,7 @@ const player = new MYETVvideoplayer('my-video', {
|
|
|
114
114
|
| `showPictureInPicture` | boolean | `true` | Show Picture-in-Picture button |
|
|
115
115
|
| `showSubtitles` | boolean | `true` | Show subtitles controls (the button) - it is automatically true only if subtitles track are detected |
|
|
116
116
|
| `subtitlesEnabled` | boolean | `false` | Enable/Disable subtitles at player ready |
|
|
117
|
+
| `showSettingsMenu` | boolean | `true` | Show/Hide the settings menu in the top-bar |
|
|
117
118
|
| `chapters` | string | json | Enable/Disable chapters: chapter can be in json format or string format (see below) |
|
|
118
119
|
| `plugins` | string | json | Add a customized plugin to the player to extend its functionality (see below) |
|
|
119
120
|
| `seekHandleShape` | string | `true` | Edit the shape of the seek controlbar. Shape type: none, circle, square, diamond, arrow, triangle, heart, star |
|
package/css/myetv-player.css
CHANGED
|
@@ -457,7 +457,7 @@ body {
|
|
|
457
457
|
justify-content: space-between;
|
|
458
458
|
align-items: flex-start;
|
|
459
459
|
padding: 15px 20px;
|
|
460
|
-
background: linear-gradient(to bottom, rgba(0, 0, 0,
|
|
460
|
+
background: linear-gradient(to bottom, rgba(0, 0, 0, var(--player-topbar-opacity, 0.95)) 0%, rgba(0, 0, 0, calc(var(--player-topbar-opacity, 0.95) * 0.68)) 50%, rgba(0, 0, 0, 0) 100%);
|
|
461
461
|
backdrop-filter: blur(5px);
|
|
462
462
|
z-index: 20;
|
|
463
463
|
opacity: 0;
|
|
@@ -465,6 +465,10 @@ body {
|
|
|
465
465
|
transition: all 0.3s ease;
|
|
466
466
|
pointer-events: none;
|
|
467
467
|
}
|
|
468
|
+
.player-top-bar.no-title-background {
|
|
469
|
+
background: transparent;
|
|
470
|
+
backdrop-filter: none;
|
|
471
|
+
}
|
|
468
472
|
.player-top-bar .top-bar-title {
|
|
469
473
|
flex: 1;
|
|
470
474
|
margin-right: 20px;
|
|
@@ -789,7 +793,7 @@ body .video-wrapper .player-top-bar.persistent {
|
|
|
789
793
|
bottom: 0;
|
|
790
794
|
left: 0;
|
|
791
795
|
right: 0;
|
|
792
|
-
background: var(--
|
|
796
|
+
background: rgba(0, 0, 0, var(--control-bar-opacity, 0.95));
|
|
793
797
|
padding: var(--player-controls-padding);
|
|
794
798
|
opacity: 0;
|
|
795
799
|
transform: translateY(100%);
|
package/css/myetv-player.min.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
:root{--player-primary-color: goldenrod;--player-primary-hover: #daa520;--player-primary-dark: #b8860b;--player-button-color: white;--player-button-hover: rgba(255, 255, 255, 0.1);--player-button-active: rgba(255, 255, 255, 0.2);--player-text-color: white;--player-text-secondary: rgba(255, 255, 255, 0.8);--player-bg-primary: #000;--player-bg-controls: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, 0.8) 100%);--player-bg-title-overlay: linear-gradient(180deg, rgba(0, 0, 0, 0.8) 0%, transparent 100%);--player-bg-menu: rgba(20, 20, 20, 0.95);--player-bg-loading: rgba(0, 0, 0, 0.7);--player-border-radius: 12px;--player-controls-padding: 20px 15px 15px;--player-title-overlay-padding: 15px 20px 25px;--player-button-padding: 8px;--player-icon-size: 20px;--player-progress-height: 6px;--player-progress-bg: rgba(255, 255, 255, 0.2);--player-progress-buffer: rgba(255, 255, 255, 0.3);--player-progress-handle-size: 16px;--player-volume-height: 4px;--player-volume-bg: rgba(255, 255, 255, 0.2);--player-volume-handle-size: 14px;--player-volume-fill: 100%;--player-transition-fast: 0.2s ease;--player-transition-normal: 0.3s ease;--player-shadow-main: 0 8px 32px rgba(0, 0, 0, 0.3);--player-shadow-menu: 0 4px 16px rgba(0, 0, 0, 0.2);--player-shadow-tooltip: 0 3px 12px rgba(0, 0, 0, 0.4)}*{box-sizing:border-box}body{margin:0;padding:20px;background:#1a1a1a;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}.video-container{max-width:1200px;margin:0 auto;background:var(--player-bg-primary);border-radius:var(--player-border-radius);box-shadow:var(--player-shadow-main);position:relative}.video-container:fullscreen,.video-container:-webkit-full-screen,.video-container:-moz-full-screen{width:100vw;height:100vh;border-radius:0}.video-wrapper{position:relative;width:100%;background:var(--player-bg-primary);overflow:visible !important}.video-wrapper.player-initialized .video-player{visibility:visible;opacity:1;transition:opacity .3s ease;pointer-events:auto}.video-wrapper.player-initialized .initial-loading{opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;transition-delay:.2s;display:none;transition-delay:.5s}.video-wrapper:not(.has-controls) .video-watermark.hide-on-autohide{visibility:hidden;opacity:0}.hidden{display:none !important}.player-theme-dark{--player-bg-primary: #1a1a1a;--player-bg-controls: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, 0.9) 100%);--player-bg-title-overlay: linear-gradient(180deg, rgba(30, 30, 30, 0.9) 0%, transparent 100%);--player-bg-menu: rgba(30, 30, 30, 0.95)}.video-player{width:100%;height:auto;display:block;min-height:300px;-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden;will-change:transform;visibility:visible;opacity:1;position:relative;z-index:1;transition:none}.video-wrapper.player-initialized .video-player{visibility:visible;opacity:1;transition:opacity .3s ease;pointer-events:auto}.video-player::-webkit-media-controls-panel,.video-player::-webkit-media-controls-play-button,.video-player::-webkit-media-controls-start-playback-button,.video-player::-webkit-media-controls-timeline,.video-player::-webkit-media-controls-current-time-display,.video-player::-webkit-media-controls-time-remaining-display,.video-player::-webkit-media-controls-mute-button,.video-player::-webkit-media-controls-toggle-closed-captions-button,.video-player::-webkit-media-controls-volume-slider,.video-player::-webkit-media-controls-fullscreen-button,.video-player::-webkit-media-controls-seek-back-button,.video-player::-webkit-media-controls-seek-forward-button,.video-player::-webkit-media-controls-rewind-button,.video-player::-webkit-media-controls-return-to-realtime-button,.video-player::-webkit-media-controls-overlay-play-button{display:none !important;visibility:hidden !important;opacity:0 !important}.video-player::-moz-media-controls{display:none !important}.initial-loading{position:absolute;top:0;left:0;width:100%;height:100%;background:var(--player-bg-primary);display:flex;align-items:center;justify-content:center;z-index:20}.video-wrapper.player-initialized .initial-loading{opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;transition-delay:.2s}.video-wrapper.player-initialized .initial-loading{display:none;transition-delay:.5s}.loading-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:var(--player-bg-loading);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity var(--player-transition-normal);z-index:15}.loading-overlay.active{opacity:1;visibility:visible}.loading-spinner{width:50px;height:50px;border:3px solid hsla(0,0%,100%,.3);border-top:3px solid var(--player-primary-color);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.video-player::cue{background:rgba(0,0,0,.8);color:#fff;font-size:18px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;font-weight:500;text-shadow:2px 2px 4px rgba(0,0,0,.8);padding:8px 12px;border-radius:6px;line-height:1.4}.video-player::cue(.highlight){background:var(--player-primary-color);color:#000}.video-player::cue(b){font-weight:700}.video-player::cue(i){font-style:italic}.video-poster-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-size:cover;background-position:center;background-repeat:no-repeat;z-index:1;cursor:pointer;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;pointer-events:none}.video-poster-overlay.visible{opacity:1;visibility:visible;pointer-events:auto}.video-poster-overlay.hidden{opacity:0;visibility:hidden;pointer-events:none}.video-poster-overlay.visible:hover{opacity:.95}.video-poster-overlay::after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);width:80px;height:80px;background:rgba(0,0,0,.7);border-radius:50%;border:3px solid var(--player-primary-color);opacity:0;transition:opacity .3s ease,transform .3s ease,border-color .3s ease;pointer-events:none}.video-poster-overlay.visible:hover::after{opacity:1;transform:translate(-50%, -50%) scale(1.1);border-color:var(--player-primary-hover);box-shadow:0 0 20px var(--player-primary-color)}.video-poster-overlay::before{content:"";position:absolute;top:50%;left:50%;transform:translate(-40%, -50%);width:0;height:0;border-style:solid;border-width:15px 0 15px 25px;border-color:rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0) var(--player-primary-color);z-index:2;opacity:0;transition:opacity .3s ease,border-color .3s ease;pointer-events:none}.video-poster-overlay.visible:hover::before{opacity:1;border-color:rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0) var(--player-primary-hover)}.initial-loading{position:absolute;top:0;left:0;width:100%;height:100%;background:var(--player-bg-primary);display:flex;align-items:center;justify-content:center;z-index:20;flex-direction:column;gap:15px}.video-wrapper.player-initialized .initial-loading{opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;transition-delay:.2s}.video-wrapper.player-initialized .initial-loading{display:none;transition-delay:.5s}.loading-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:var(--player-bg-loading);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity var(--player-transition-normal);z-index:15;flex-direction:column;gap:15px}.loading-overlay.active{opacity:1;visibility:visible}.loading-spinner{width:50px;height:50px;border:3px solid hsla(0,0%,100%,.3);border-top:3px solid var(--player-primary-color);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.loading-text{color:var(--player-text-color);font-size:14px;font-weight:500;text-shadow:0 2px 4px rgba(0,0,0,.5);letter-spacing:.5px;margin-top:10px;text-align:center}.title-overlay{position:absolute;top:0;left:0;right:0;background:var(--player-bg-title-overlay);padding:var(--player-title-overlay-padding);opacity:0;transform:translateY(-100%);transition:all var(--player-transition-normal);z-index:15;pointer-events:none}.title-overlay.show{opacity:1;transform:translateY(0)}.title-overlay.show.persistent{opacity:1;transform:translateY(0)}.title-text{color:var(--player-text-color);font-size:18px;font-weight:600;line-height:1.3;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 2px 8px rgba(0,0,0,.7);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.player-top-bar{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:flex-start;padding:15px 20px;background:linear-gradient(to bottom, rgba(0, 0, 0, calc(var(--player-topbar-opacity, 0.95) * 0.89)) 0%, rgba(0, 0, 0, calc(var(--player-topbar-opacity, 0.95) * 0.68)) 50%, rgba(0, 0, 0, 0) 100%);backdrop-filter:blur(5px);z-index:20;opacity:0;transform:translateY(-100%);transition:all .3s ease;pointer-events:none}.player-top-bar .top-bar-title{flex:1;margin-right:20px;pointer-events:none;min-width:0;max-width:calc(100% - 80px)}.player-top-bar .top-bar-title .video-title{color:#fff;font-size:18px;font-weight:600;margin:0 0 4px 0;text-shadow:0 2px 4px rgba(0,0,0,.8);line-height:1.3;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.player-top-bar .top-bar-title .video-subtitle{color:hsla(0,0%,100%,.8);font-size:14px;text-shadow:0 1px 3px rgba(0,0,0,.8);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.player-top-bar .top-bar-spacer{flex:1}.player-top-bar .settings-control{pointer-events:all;position:relative;flex-shrink:0}.player-top-bar .settings-control .settings-btn{background:rgba(0,0,0,.6);backdrop-filter:blur(10px);padding:10px;border-radius:50%;border:1px solid hsla(0,0%,100%,.15);transition:all .3s ease;cursor:pointer}.player-top-bar .settings-control .settings-btn:hover,.player-top-bar .settings-control .settings-btn.active{background:rgba(0,0,0,.9);border-color:hsla(0,0%,100%,.3);transform:rotate(90deg)}.player-top-bar .settings-control .settings-btn .icon svg{display:block}.player-top-bar .settings-control .settings-menu{position:absolute;top:calc(100% + 10px);right:0;min-width:240px;max-width:320px;background:rgba(28,28,28,.98);backdrop-filter:blur(20px);border-radius:8px;border:1px solid hsla(0,0%,100%,.1);box-shadow:0 8px 32px rgba(0,0,0,.6);opacity:0;visibility:hidden;transform:translateY(-10px);transition:all .3s ease;max-height:600px !important;min-height:200px;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:hsla(0,0%,100%,.3) rgba(0,0,0,0)}.player-top-bar .settings-control .settings-menu::-webkit-scrollbar{width:6px}.player-top-bar .settings-control .settings-menu::-webkit-scrollbar-track{background:hsla(0,0%,100%,.05);border-radius:3px}.player-top-bar .settings-control .settings-menu::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.3);border-radius:3px}.player-top-bar .settings-control .settings-menu::-webkit-scrollbar-thumb:hover{background:hsla(0,0%,100%,.5)}.player-top-bar .settings-control .settings-menu.active{opacity:1;visibility:visible;transform:translateY(0)}.settings-expandable-wrapper{border-bottom:1px solid hsla(0,0%,100%,.05)}.settings-expandable-wrapper:last-child{border-bottom:none}.settings-option{padding:12px 16px;cursor:pointer;transition:background .2s ease;display:flex;justify-content:space-between;align-items:center;color:#fff;user-select:none}.settings-option:hover{background:hsla(0,0%,100%,.1)}.settings-option .settings-option-label{flex:1;color:#fff;font-size:14px;font-weight:400}.settings-option .settings-option-label strong{font-weight:600;margin-left:4px}.settings-option .expand-arrow{color:hsla(0,0%,100%,.6);font-size:12px;transition:transform .3s ease;margin-left:10px;line-height:1}.settings-expandable-content{background:rgba(0,0,0,.3);max-height:250px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:hsla(0,0%,100%,.2) rgba(0,0,0,0)}.settings-expandable-content::-webkit-scrollbar{width:4px}.settings-expandable-content::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.2);border-radius:2px}.settings-expandable-content::-webkit-scrollbar-thumb:hover{background:hsla(0,0%,100%,.3)}.settings-suboption{padding:10px 20px 10px 32px;cursor:pointer;transition:background .2s ease;color:hsla(0,0%,100%,.8);font-size:13px;user-select:none}.settings-suboption:hover{background:hsla(0,0%,100%,.08);color:hsla(0,0%,100%,.95)}.settings-suboption.active{background:hsla(0,0%,100%,.15);color:#fff;font-weight:500;position:relative}.settings-suboption.active::before{content:"✓";position:absolute;left:12px;color:var(--player-primary-color, #ff0000);font-weight:700}body .video-wrapper:hover .player-top-bar,body .video-wrapper .player-top-bar{opacity:0 !important;transform:translateY(-100%) !important;transition:all .3s ease !important}body .video-wrapper.has-controls .player-top-bar{opacity:1 !important;transform:translateY(0) !important}body .video-wrapper .player-top-bar.persistent{opacity:1 !important;transform:translateY(0) !important}@media(max-width: 768px){.player-top-bar{padding:12px 15px}.player-top-bar .top-bar-title{margin-right:15px;max-width:calc(100% - 70px)}.player-top-bar .top-bar-title .video-title{font-size:16px}.player-top-bar .top-bar-title .video-subtitle{font-size:13px}.player-top-bar .settings-control .settings-btn{padding:8px}.player-top-bar .settings-control .settings-btn .icon svg{width:18px;height:18px}.player-top-bar .settings-control .settings-menu{min-width:200px;max-height:400px}}@media(max-width: 480px){.player-top-bar{padding:10px 12px}.player-top-bar .top-bar-title{margin-right:10px;max-width:calc(100% - 60px)}.player-top-bar .top-bar-title .video-title{font-size:14px}.player-top-bar .top-bar-title .video-subtitle{font-size:12px}.player-top-bar .settings-control .settings-btn{padding:6px}.player-top-bar .settings-control .settings-btn .icon svg{width:16px;height:16px}.player-top-bar .settings-control .settings-menu{min-width:180px;max-height:300px}}.video-wrapper:fullscreen .player-top-bar,.video-wrapper:-webkit-full-screen .player-top-bar,.video-wrapper:-moz-full-screen .player-top-bar{padding:20px 30px}.video-wrapper:fullscreen .player-top-bar .top-bar-title .video-title,.video-wrapper:-webkit-full-screen .player-top-bar .top-bar-title .video-title,.video-wrapper:-moz-full-screen .player-top-bar .top-bar-title .video-title{font-size:22px}.video-wrapper:fullscreen .player-top-bar .settings-control .settings-btn,.video-wrapper:-webkit-full-screen .player-top-bar .settings-control .settings-btn,.video-wrapper:-moz-full-screen .player-top-bar .settings-control .settings-btn{padding:12px}.title-text{color:var(--player-text-color);font-size:18px;font-weight:600;line-height:1.3;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 2px 8px rgba(0,0,0,.7);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.subtitle-text{color:var(--player-text-color);font-size:14px;font-weight:400;line-height:1.3;margin:5px 0 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 2px 8px rgba(0,0,0,.7);opacity:.9;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.chapter-name{font-size:13px;font-weight:500;color:hsla(0,0%,100%,.9);margin-top:6px;max-width:400px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:opacity .3s}.controls{position:absolute;bottom:0;left:0;right:0;background:var(--player-bg-controls);padding:var(--player-controls-padding);opacity:0;transform:translateY(100%);transition:all var(--player-transition-normal);z-index:10;min-height:70px !important;box-sizing:border-box}.controls.show{opacity:1;transform:translateY(0);position:absolute !important;bottom:0 !important;z-index:20 !important}.play-icon svg,.pause-icon svg,.volume-icon svg,.mute-icon svg,.playlist-prev-btn .icon svg,.playlist-next-btn .icon svg,.subtitles-btn .icon svg,.fullscreen-icon svg,.exit-fullscreen-icon svg,.pip-icon svg,.pip-exit-icon svg{width:16px;height:16px;display:block}.controls-main{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:44px !important;flex-shrink:0}.controls-left,.controls-right{display:flex;align-items:center;gap:8px;flex-shrink:1;min-width:0}.control-btn{background:none;border:none;color:var(--player-button-color);cursor:pointer;padding:var(--player-button-padding);border-radius:6px;display:flex;align-items:center;justify-content:center;gap:5px;transition:all var(--player-transition-fast);font-size:14px;font-weight:500;position:relative;flex-shrink:1;min-width:0;white-space:nowrap;vertical-align:middle}.control-btn:hover{background:var(--player-button-hover);transform:scale(1.05)}.control-btn:active{transform:scale(0.95);background:var(--player-button-active)}.subtitles-btn{position:relative}.quality-btn{min-height:36px;padding:6px 8px}.quality-btn-text{display:flex;flex-direction:column;align-items:center;line-height:1}.selected-quality{font-size:14px;font-weight:500;color:var(--player-button-color)}.current-quality{font-size:10px;font-weight:400;color:var(--player-text-secondary);opacity:.8;margin-top:2px;line-height:1}.time-display{color:var(--player-text-color);font-size:14px;font-weight:500;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.1;gap:0;font-variant-numeric:tabular-nums;flex-shrink:2;min-width:0;margin:0 5px}.time-display .duration{font-size:10px;color:var(--player-text-secondary);opacity:.8;font-weight:400}.icon{width:var(--player-icon-size);height:var(--player-icon-size);display:flex;align-items:center;justify-content:center;font-size:16px}.hidden{display:none !important}.controls-right .brand-logo{height:44px;max-width:120px;object-fit:contain;margin-right:10px;pointer-events:auto;opacity:.8;transition:opacity var(--player-transition-fast);order:-1;flex-shrink:1}.controls-right .brand-logo:hover{opacity:1}.controls-right .brand-logo-link{order:-1;margin-right:10px;display:inline-block;text-decoration:none}.controls-right .brand-logo-link .brand-logo{margin-right:0}.video-wrapper.hide-cursor{cursor:none !important}.video-wrapper.hide-cursor .controls{cursor:default !important}.video-wrapper.hide-cursor .control-btn{cursor:pointer !important}.video-wrapper.hide-cursor iframe{cursor:auto !important;pointer-events:auto !important}.play-from-start-btn .restart-icon{display:inline-flex;align-items:center;justify-content:center}.control-btn .icon{display:inline-flex;align-items:center;justify-content:center}.progress-container{width:100%;height:var(--player-progress-height);background:var(--player-progress-bg);border-radius:calc(var(--player-progress-height)/2);margin-bottom:15px;position:relative;cursor:pointer}.progress-bar{width:100%;height:100%;position:relative;border-radius:calc(var(--player-progress-height)/2);overflow:hidden}.progress-buffer{height:100%;background:var(--player-progress-buffer);width:0%;border-radius:calc(var(--player-progress-height)/2);transition:width var(--player-transition-fast)}.progress-filled{position:absolute;top:0;left:0;height:100%;background:var(--player-primary-color);width:0%;border-radius:calc(var(--player-progress-height)/2);transition:width .1s ease}.progress-handle{position:absolute;top:50%;transform:translate(-50%, -50%);width:var(--player-progress-handle-size);height:var(--player-progress-handle-size);background:var(--player-primary-color);border-radius:50%;opacity:1;transition:opacity var(--player-transition-fast);z-index:2;left:0%;box-shadow:0 2px 8px rgba(0,0,0,.3);pointer-events:all;touch-action:none}.progress-handle::before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);width:44px;height:44px;border-radius:50%}.progress-container:hover .progress-handle{opacity:1}.progress-container:hover .progress-filled{background:var(--player-primary-hover)}.seek-tooltip{position:absolute;bottom:100%;left:0;background:rgba(0,0,0,.9);color:#fff;padding:6px 10px;border-radius:6px;font-size:12px;font-weight:500;white-space:nowrap;opacity:0;visibility:hidden;transform:translateX(-50%) translateY(-8px);transition:all .15s ease;z-index:1000;box-shadow:var(--player-shadow-tooltip);font-variant-numeric:tabular-nums;backdrop-filter:blur(8px);border:1px solid hsla(0,0%,100%,.1)}.seek-tooltip::after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);width:0;height:0;border-left:5px solid rgba(0,0,0,0);border-right:5px solid rgba(0,0,0,0);border-top:5px solid rgba(0,0,0,.9)}.seek-tooltip.visible{opacity:1;visibility:visible;transform:translateX(-50%) translateY(-4px)}.chapter-markers-container{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:3}.chapter-marker{position:absolute;top:0;height:100%;width:3px;background:var(--player-primary-color);opacity:.7;cursor:pointer;pointer-events:auto;transition:all var(--player-transition-fast);border-radius:2px;transform:translateX(-50%)}.chapter-marker:hover{opacity:1;width:4px;height:120%;top:-10%;box-shadow:0 0 8px var(--player-primary-color)}.chapter-marker.active{background:var(--player-primary-hover);opacity:1;width:4px}.chapter-tooltip{position:absolute;bottom:100%;left:0;background:rgba(0,0,0,.95);backdrop-filter:blur(10px);border-radius:8px;padding:0;margin-bottom:12px;opacity:0;visibility:hidden;transition:all .2s ease;transform:translateX(-50%) translateY(-8px);z-index:1000;box-shadow:var(--player-shadow-tooltip);border:1px solid hsla(0,0%,100%,.15);min-width:200px;max-width:300px;overflow:hidden;pointer-events:none}.chapter-tooltip::after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);width:0;height:0;border-left:6px solid rgba(0,0,0,0);border-right:6px solid rgba(0,0,0,0);border-top:6px solid rgba(0,0,0,.95)}.chapter-tooltip-image{width:100%;height:150px;background-size:cover;background-position:center;background-repeat:no-repeat;display:none;border-bottom:1px solid hsla(0,0%,100%,.1)}.chapter-tooltip-title{padding:10px 12px 6px;color:var(--player-text-color);font-size:14px;font-weight:600;line-height:1.3;word-wrap:break-word}.chapter-tooltip-time{padding:0 12px 10px;color:var(--player-text-secondary);font-size:12px;font-weight:400;font-variant-numeric:tabular-nums}.progress-handle-circle{border-radius:50%}.progress-handle-square{border-radius:2px}.progress-handle-diamond{border-radius:2px;transform:translate(-50%, -50%) rotate(45deg)}.progress-handle-arrow{border-radius:0;clip-path:polygon(0% 50%, 60% 0%, 60% 35%, 100% 35%, 100% 65%, 60% 65%, 60% 100%)}.progress-handle-triangle{border-radius:0;clip-path:polygon(50% 0%, 0% 100%, 100% 100%)}.progress-handle-heart{border-radius:0}.progress-handle-heart::before{content:"❤";font-size:12px;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%)}.progress-handle-star{border-radius:0;clip-path:polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%)}.progress-handle-none{opacity:0 !important}.progress-handle::after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);width:44px;height:44px;border-radius:50%}.progress-container.seeking .progress-bar{height:calc(var(--player-progress-height)*2);transition:height .15s ease}.progress-container.seeking .progress-handle{transform:translate(-50%, -50%) scale(1.4);transition:transform .15s ease}@media(hover: hover)and (pointer: fine){.progress-container:hover .progress-bar{height:calc(var(--player-progress-height)*1.3);transition:height .15s ease}}.chapter-segment{box-sizing:border-box}.chapter-marker:hover{background:rgba(0,0,0,.9) !important}.chapter-tooltip{animation:fadeIn .15s ease-in-out}@keyframes fadeIn{from{opacity:0;transform:translateX(-50%) translateY(-5px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.progress-container:hover .chapter-segment{background:hsla(0,0%,100%,.4) !important}.chapter-tooltip{animation:fadeIn .15s ease-in-out}.chapter-tooltip .chapter-tooltip-content{display:flex;flex-direction:column}.chapter-tooltip .chapter-tooltip-image{background-size:cover;background-position:center;background-repeat:no-repeat;border-radius:3px}.chapter-tooltip .chapter-tooltip-title{line-height:1.3}.chapter-tooltip .chapter-tooltip-time{opacity:.8}@keyframes fadeIn{from{opacity:0;transform:translateX(-50%) translateY(-5px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.chapter-tooltip-hover .chapter-tooltip-content{display:flex;flex-direction:column;gap:6px}.chapter-tooltip-hover .chapter-tooltip-image{width:100%;aspect-ratio:16/9;background-size:cover;background-position:center;background-repeat:no-repeat;border-radius:3px;max-width:180px}.chapter-tooltip-hover .chapter-tooltip-title{font-size:13px;font-weight:600;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chapter-tooltip-hover .chapter-tooltip-time{font-size:12px;font-weight:400;color:hsla(0,0%,100%,.8);max-width:180px}@media(max-width: 1200px){.chapter-tooltip-hover .chapter-tooltip-image{max-width:150px}.chapter-tooltip-hover .chapter-tooltip-title,.chapter-tooltip-hover .chapter-tooltip-time{max-width:150px}}@media(max-width: 768px){.chapter-tooltip-hover .chapter-tooltip-image{max-width:100px}.chapter-tooltip-hover .chapter-tooltip-title,.chapter-tooltip-hover .chapter-tooltip-time{max-width:100px}}@media(max-width: 480px){.chapter-tooltip-hover .chapter-tooltip-image{max-width:80px}.chapter-tooltip-hover .chapter-tooltip-title{font-size:11px;max-width:80px}.chapter-tooltip-hover .chapter-tooltip-time{font-size:10px;max-width:80px}}.volume-container{display:flex;align-items:center;gap:8px;position:relative;flex-shrink:2;min-width:0}.volume-slider{width:60px;height:var(--player-volume-height);background:var(--player-volume-bg);border-radius:calc(var(--player-volume-height)/2);outline:none;cursor:pointer;-webkit-appearance:none;transition:all var(--player-transition-fast)}.volume-tooltip{position:absolute;bottom:210%;transition:opacity .15s ease,transform .15s ease;left:0;transform:translateX(-50%);background:rgba(0,0,0,.9);color:#fff;padding:6px 10px;border-radius:6px;font-size:12px;font-weight:500;white-space:nowrap;opacity:0;visibility:hidden;z-index:1000;box-shadow:var(--player-shadow-tooltip);pointer-events:none;backdrop-filter:blur(8px);border:1px solid hsla(0,0%,100%,.1)}.volume-tooltip::after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);width:0;height:0;border-left:6px solid rgba(0,0,0,0);border-right:6px solid rgba(0,0,0,0);border-top:6px solid rgba(0,0,0,.9)}.volume-container:hover .volume-tooltip,.volume-tooltip.visible{opacity:1;visibility:visible}.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;width:var(--player-volume-handle-size);height:var(--player-volume-handle-size);border-radius:50%;background:var(--player-primary-dark);cursor:pointer;transition:all var(--player-transition-fast);box-shadow:0 2px 6px rgba(0,0,0,.2);margin-top:calc((var(--player-volume-height) - var(--player-volume-handle-size))/2);transform:translateY(0)}.volume-slider::-webkit-slider-thumb:hover{transform:translateY(0) scale(1.2);background:var(--player-primary-color)}.volume-slider::-moz-range-thumb{width:var(--player-volume-handle-size);height:var(--player-volume-handle-size);border-radius:50%;background:var(--player-primary-dark);cursor:pointer;border:none;box-shadow:0 2px 6px rgba(0,0,0,.2);transition:all var(--player-transition-fast);margin-top:0;transform:translateY(calc((var(--player-volume-height) - var(--player-volume-handle-size)) / 2))}.volume-slider::-moz-range-thumb:hover{background:var(--player-primary-color);transform:translateY(calc((var(--player-volume-height) - var(--player-volume-handle-size)) / 2)) scale(1.1)}.volume-slider::-webkit-slider-runnable-track{height:var(--player-volume-height);background:linear-gradient(to right, var(--player-primary-dark) 0%, var(--player-primary-dark) var(--player-volume-fill), var(--player-volume-bg) var(--player-volume-fill), var(--player-volume-bg) 100%);border-radius:calc(var(--player-volume-height)/2);transition:background var(--player-transition-fast);margin:0;border:none}.volume-slider::-moz-range-track{height:var(--player-volume-height);background:linear-gradient(to right, var(--player-primary-dark) 0%, var(--player-primary-dark) var(--player-volume-fill), var(--player-volume-bg) var(--player-volume-fill), var(--player-volume-bg) 100%);border-radius:calc(var(--player-volume-height)/2);border:none;transition:background var(--player-transition-fast);margin:0}.quality-control{position:relative}.subtitles-control{display:none !important}.speed-control{display:none !important}.speed-menu,.quality-menu,.subtitles-menu{position:absolute;bottom:100%;right:0;background:var(--player-bg-menu);backdrop-filter:blur(10px);border-radius:8px;padding:8px 0;margin-bottom:10px;opacity:0;visibility:hidden;transition:all var(--player-transition-fast);min-width:140px;border:1px solid hsla(0,0%,100%,.1);z-index:100;box-shadow:var(--player-shadow-menu)}.speed-menu.active,.quality-menu.active,.subtitles-menu.active{opacity:1 !important;visibility:visible !important;pointer-events:all !important}.speed-option,.quality-option,.subtitles-option{padding:8px 16px;color:var(--player-text-color);cursor:pointer;transition:all var(--player-transition-fast);font-size:14px;display:flex;align-items:center;justify-content:space-between}.speed-option:hover,.quality-option:hover,.subtitles-option:hover{background:hsla(0,0%,100%,.1);color:var(--player-primary-color)}.speed-option.active,.quality-option.active,.subtitles-option.active{color:var(--player-primary-color);font-weight:600;background:hsla(0,0%,100%,.05)}.subtitles-option.selected,.subtitles-option.active{color:var(--player-primary-color);background:hsla(0,0%,100%,.1);position:relative}.subtitles-option.selected::after,.subtitles-option.active::after{content:"✓";position:absolute;right:10px;font-weight:bold}.quality-option.selected{color:var(--player-primary-color);font-weight:600}.quality-option.selected::after{content:"Selected";font-size:12px;color:var(--player-primary-color);font-weight:400;margin-left:8px}.quality-option.playing{background:hsla(0,0%,100%,.05)}.quality-option.playing::after{content:"Playing";font-size:12px;color:#4caf50;font-weight:400;margin-left:8px}.quality-option.selected.playing::after{content:"Active";font-size:12px;color:var(--player-primary-color);font-weight:500;margin-left:8px}.subtitles-option.active::after{content:"✓";font-size:12px;color:var(--player-primary-color)}.settings-control{position:relative;display:block !important}.settings-btn{background:none;border:none;color:var(--player-button-color);cursor:pointer;padding:var(--player-button-padding);border-radius:6px;display:flex;align-items:center;gap:5px;transition:all var(--player-transition-fast);font-size:14px;font-weight:500;position:relative;flex-shrink:0;min-width:0;white-space:nowrap}.settings-btn:hover{background:var(--player-button-hover);transform:scale(1.05)}.settings-btn:active{transform:scale(0.95);background:var(--player-button-active)}.settings-menu{position:absolute;bottom:100%;right:0;background:var(--player-bg-menu);backdrop-filter:blur(10px);border-radius:8px;padding:8px 0;margin-bottom:10px;opacity:0;visibility:hidden;transition:all var(--player-transition-fast);min-width:180px;border:1px solid hsla(0,0%,100%,.1);z-index:100;box-shadow:var(--player-shadow-menu);max-height:200px;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:var(--player-primary-color) hsla(0,0%,100%,.05)}.settings-menu.active{opacity:1 !important;visibility:visible !important;pointer-events:all !important}.settings-menu::-webkit-scrollbar{width:8px}.settings-menu::-webkit-scrollbar-track{background:hsla(0,0%,100%,.05);border-radius:10px}.settings-menu::-webkit-scrollbar-thumb{background:var(--player-primary-color);border-radius:10px;border:2px solid rgba(0,0,0,0);background-clip:content-box}.settings-menu::-webkit-scrollbar-thumb:hover{background:var(--player-primary-hover, var(--player-primary-color));background-clip:content-box}.settings-option{padding:8px 16px;color:var(--player-text-color);cursor:pointer;transition:all var(--player-transition-fast);font-size:14px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid hsla(0,0%,100%,.05);position:relative}.settings-option:last-child{border-bottom:none}.settings-option:hover{background:hsla(0,0%,100%,.1);color:var(--player-primary-color)}.settings-option-label{display:flex;align-items:center;gap:8px;flex:1}.settings-option-value{font-size:12px;color:var(--player-text-secondary);opacity:.8}.settings-expandable-wrapper{position:relative;display:block}.settings-option.expandable-trigger{display:flex;justify-content:space-between;align-items:center;cursor:pointer}.settings-option.expandable-trigger .settings-option-label{font-size:14px}.settings-option.expandable-trigger .expand-arrow{font-size:12px;transition:transform .2s ease;margin-left:8px}.settings-option.expandable-trigger:hover{background:hsla(0,0%,100%,.1)}.settings-expandable-content{padding-left:15px;margin-top:4px;display:none;background:rgba(0,0,0,.3);border-left:3px solid var(--player-primary-color)}.settings-expandable-content.active{display:block}.settings-suboption{padding:8px 12px;cursor:pointer;color:#fff;font-size:13px;white-space:normal;word-wrap:break-word;opacity:.8;transition:opacity .2s;display:flex;align-items:center;justify-content:space-between}.settings-suboption:hover{opacity:1;background:hsla(0,0%,100%,.1)}.settings-suboption.active{opacity:1;font-weight:bold;color:var(--player-primary-color)}.settings-suboption.active::after{content:"✓";font-size:12px}@media(max-width: 768px){.settings-menu>.settings-option{font-size:13px}.settings-suboption{font-size:12px;padding:7px 10px}}@media(max-width: 600px){.settings-menu>.settings-option{font-size:12px}.settings-suboption{font-size:11px;padding:6px 8px}}@media(max-width: 450px){.settings-menu>.settings-option{font-size:11px}.settings-suboption{font-size:10px;padding:5px 6px}}@media(max-width: 350px){.settings-control{display:block !important}.pip-btn{display:none !important}}.audio-player{width:320px;height:80px}.audio-player video{display:none !important}.audio-player .controls-wrapper{height:60px}.audio-player .audio-wave-canvas{display:block;width:100%;height:60px;background-color:#222;border-radius:4px;margin-top:5px}.player-theme-blue{--player-primary-color: #2196F3;--player-primary-hover: #1976D2;--player-primary-dark: #1565C0}.player-theme-green{--player-primary-color: #4CAF50;--player-primary-hover: #45a049;--player-primary-dark: #388e3c}.player-theme-red{--player-primary-color: #f44336;--player-primary-hover: #d32f2f;--player-primary-dark: #c62828}.video-watermark{position:absolute;z-index:15;pointer-events:auto;opacity:.7;transition:opacity .3s ease,visibility .3s ease,bottom .3s ease}.video-watermark{visibility:visible;opacity:.7}.video-wrapper:not(.has-controls) .video-watermark.hide-on-autohide{visibility:hidden;opacity:0}.video-wrapper.has-controls .video-watermark{visibility:visible;opacity:.7}.video-watermark:hover{opacity:1}.video-watermark img{display:block;max-width:150px;max-height:80px;width:auto;height:auto;object-fit:contain}.video-watermark.watermark-topleft{top:15px;left:15px}.video-watermark.watermark-topright{top:15px;right:15px}.video-watermark.watermark-bottomleft{bottom:calc(var(--player-controls-height, 70px) + 15px);left:15px}.video-watermark.watermark-bottomright{bottom:calc(var(--player-controls-height, 70px) + 15px);right:15px}.video-wrapper:not(.has-controls) .video-watermark.watermark-bottomleft:not(.hide-on-autohide){bottom:15px}.video-wrapper:not(.has-controls) .video-watermark.watermark-bottomright:not(.hide-on-autohide){bottom:15px}.video-wrapper.has-controls .video-watermark.watermark-bottomleft,.video-wrapper.has-controls .video-watermark.watermark-bottomright{bottom:calc(var(--player-controls-height, 70px) + 15px)}@media(max-width: 768px){.video-watermark img{max-width:100px;max-height:50px}.video-watermark.watermark-topleft,.video-watermark.watermark-topright{top:10px}.video-watermark.watermark-topleft,.video-watermark.watermark-bottomleft{left:10px}.video-watermark.watermark-topright,.video-watermark.watermark-bottomright{right:10px}.video-watermark.watermark-bottomleft,.video-watermark.watermark-bottomright{bottom:calc(var(--player-controls-height, 60px) + 10px)}.video-wrapper:not(.has-controls) .video-watermark.watermark-bottomleft:not(.hide-on-autohide),.video-wrapper:not(.has-controls) .video-watermark.watermark-bottomright:not(.hide-on-autohide){bottom:10px}}@media(max-width: 480px){.video-watermark.watermark-bottomleft,.video-watermark.watermark-bottomright{bottom:calc(var(--player-controls-height, 55px) + 10px)}.video-wrapper:not(.has-controls) .video-watermark.watermark-bottomleft:not(.hide-on-autohide),.video-wrapper:not(.has-controls) .video-watermark.watermark-bottomright:not(.hide-on-autohide){bottom:8px}}.video-watermark[style*="cursor: pointer"]{cursor:pointer !important}@media(max-width: 768px){.controls-left,.controls-right{gap:8px}.volume-slider{width:50px}.time-display{font-size:12px}.icon{font-size:14px}.control-btn{padding:6px}.quality-btn{min-height:32px;padding:4px 6px}.selected-quality{font-size:12px}.current-quality{font-size:9px}.seek-tooltip{font-size:11px;padding:4px 8px}.title-overlay{padding:12px 15px 20px}.title-text{font-size:16px}.video-player::cue{font-size:16px;padding:6px 10px}.controls-right .brand-logo{height:36px;max-width:100px;margin-right:8px}}@media(max-width: 480px){.controls-left,.controls-right{gap:6px}.progress-container{margin-bottom:10px}.controls-main{padding-top:6px}.volume-container{flex-shrink:3}.volume-slider{width:35px}.quality-btn{min-height:28px;padding:3px 5px}.selected-quality{font-size:11px}.current-quality{font-size:8px}.seek-tooltip{font-size:10px;padding:3px 6px}.title-overlay{padding:10px 12px 18px}.title-text{font-size:14px}.video-player::cue{font-size:14px;padding:4px 8px}.controls-right .brand-logo{height:28px;max-width:80px;margin-right:5px}}@media(max-width: 350px){.controls-left,.controls-right{gap:4px}.control-btn{padding:4px}.icon{font-size:12px}.quality-btn{min-height:24px;padding:2px 4px}.selected-quality{font-size:10px}.current-quality{font-size:7px}.controls-right .brand-logo{height:22px;max-width:50px;margin-right:3px}.volume-slider{width:30px}.settings-menu{min-width:160px;font-size:12px}.settings-option{padding:6px 12px;font-size:12px}.settings-submenu{min-width:130px}.settings-suboption{padding:6px 12px;font-size:11px}}@media(max-width: 280px){.controls-left,.controls-right{gap:3px}.control-btn{padding:3px}.icon{font-size:10px}.quality-btn{min-height:20px;padding:1px 3px}.selected-quality{font-size:9px}.current-quality{font-size:6px}.controls-right .brand-logo{height:18px;max-width:40px;margin-right:2px}.volume-slider{width:25px}.settings-menu{min-width:140px;font-size:11px}.settings-option{padding:5px 10px;font-size:11px}.settings-submenu{min-width:120px}.settings-suboption{padding:5px 10px;font-size:10px}}@media(max-width: 600px){.controls-main{overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.controls-main::-webkit-scrollbar{display:none}.controls-left,.controls-right{flex-wrap:nowrap;white-space:nowrap;flex-shrink:1;min-width:fit-content}}.controls-right .playlist-prev-btn,.controls-right .playlist-next-btn{display:none}.controls-right .playlist-prev-btn.playlist-active,.controls-right .playlist-next-btn.playlist-active{display:flex}.playlist-prev-btn .icon::before{content:"⏮"}.playlist-next-btn .icon::before{content:"⏭"}.playlist-prev-btn:disabled,.playlist-next-btn:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.playlist-prev-btn:disabled .icon,.playlist-next-btn:disabled .icon{opacity:.5}@media(max-width: 768px){.playlist-prev-btn .icon::before,.playlist-next-btn .icon::before{font-size:16px}}@media(max-width: 480px){.playlist-prev-btn .icon::before,.playlist-next-btn .icon::before{font-size:14px}}.video-container:fullscreen,.video-container:-webkit-full-screen,.video-container:-moz-full-screen{width:100vw;height:100vh;border-radius:0}@keyframes qualityChange{0%{opacity:.7}50%{opacity:.3}100%{opacity:1}}.quality-changing{animation:qualityChange .5s ease-in-out}.control-btn:focus{outline:2px solid var(--player-primary-color);outline-offset:2px}.volume-slider:focus{outline:2px solid var(--player-primary-color);outline-offset:2px}.player-large-controls{--player-icon-size: 24px;--player-button-padding: 12px;--player-progress-height: 8px;--player-progress-handle-size: 20px;--player-title-overlay-padding: 18px 24px 30px}.player-compact-controls{--player-icon-size: 16px;--player-button-padding: 4px;--player-controls-padding: 15px 10px 10px;--player-title-overlay-padding: 12px 16px 20px}@-moz-document url-prefix(){.volume-slider::-moz-range-thumb{transform:translateY(calc((var(--player-volume-height) - var(--player-volume-handle-size)) / 2 - 2px))}.volume-slider::-moz-range-thumb:hover{transform:translateY(calc((var(--player-volume-height) - var(--player-volume-handle-size)) / 2 - 2px)) scale(1.1)}.volume-slider::-moz-range-track{height:var(--player-volume-height);background:linear-gradient(to right, var(--player-primary-dark) 0%, var(--player-primary-dark) var(--player-volume-fill), var(--player-volume-bg) var(--player-volume-fill), var(--player-volume-bg) 100%);border-radius:calc(var(--player-volume-height)/2);border:none;transition:background var(--player-transition-fast);margin:0}}@supports(-moz-appearance: none){.volume-slider{margin-top:-1px}.volume-slider::-moz-range-thumb{transform:translateY(calc((var(--player-volume-height) - var(--player-volume-handle-size)) / 2 - 1.5px))}.volume-slider::-moz-range-thumb:hover{transform:translateY(calc((var(--player-volume-height) - var(--player-volume-handle-size)) / 2 - 1.5px)) scale(1.1)}}@-moz-document url-prefix(){.volume-container{position:relative;top:2px !important}.volume-slider::-moz-range-thumb{margin-top:-6px !important;transform:translateY(-2px) !important}.volume-slider::-moz-range-thumb:hover{transform:translateY(-2px) scale(1.1) !important}}.video-player{object-position:center center}.resolution-normal .video-player{object-fit:contain;object-position:center center}.resolution-4-3 .video-player{object-fit:fill;aspect-ratio:4/3}.resolution-4-3 .video-wrapper{aspect-ratio:4/3}.resolution-16-9 .video-player{object-fit:fill;aspect-ratio:16/9}.resolution-16-9 .video-wrapper{aspect-ratio:16/9}.resolution-stretched .video-player{object-fit:fill;width:100%;height:100%}.resolution-stretched .video-wrapper{height:auto;min-height:300px}.resolution-fit-to-screen .video-player{object-fit:cover;object-position:center center;width:100%;height:100%}.resolution-fit-to-screen .video-wrapper{height:100vh;max-height:100vh}.resolution-scale-to-fit .video-player{object-fit:contain;object-position:center center;width:100%;height:100%;max-width:100vw;max-height:100vh}.resolution-scale-to-fit .video-wrapper{display:flex;align-items:center;justify-content:center;height:70vh;min-height:400px;background:var(--player-bg-primary, #000)}@media(orientation: portrait){.resolution-scale-to-fit .video-wrapper{height:50vh;min-height:350px}}@media(orientation: landscape){.resolution-scale-to-fit .video-wrapper{height:80vh;min-height:450px}}@media(max-width: 768px){.resolution-fit-to-screen .video-wrapper{height:50vh;min-height:250px}.resolution-4-3 .video-wrapper,.resolution-16-9 .video-wrapper{min-height:200px}.resolution-scale-to-fit .video-wrapper{height:45vh;min-height:300px}}@media(max-width: 480px){.resolution-fit-to-screen .video-wrapper{height:40vh;min-height:200px}.resolution-4-3 .video-wrapper,.resolution-16-9 .video-wrapper{min-height:180px}.resolution-scale-to-fit .video-wrapper{height:40vh;min-height:250px}}.video-player{transition:object-fit .3s ease,aspect-ratio .3s ease}.video-wrapper{transition:aspect-ratio .3s ease,height .3s ease}@supports not (aspect-ratio: 1){.resolution-4-3 .video-wrapper{padding-bottom:75%;height:0;position:relative}.resolution-4-3 .video-player{position:absolute;top:0;left:0;width:100%;height:100%}.resolution-16-9 .video-wrapper{padding-bottom:56.25%;height:0;position:relative}.resolution-16-9 .video-player{position:absolute;top:0;left:0;width:100%;height:100%}}.quality-changing .video-player{filter:brightness(0.7)}.resolution-debug .video-wrapper::before{content:"Resolution: " attr(data-resolution);position:absolute;top:10px;left:10px;background:rgba(0,0,0,.7);color:#fff;padding:5px 10px;border-radius:4px;font-size:12px;z-index:1000;pointer-events:none}.controls,.controls-main,.controls-left,.controls-right{overflow:visible !important}.controls-left,.controls-right{flex-wrap:nowrap !important;white-space:nowrap !important}.control-btn{min-width:0 !important;white-space:nowrap !important}video::cue{background-color:rgba(0,0,0,.8);color:#fff;font-family:Arial,Helvetica,sans-serif;font-size:18px;font-weight:normal;line-height:1.2;text-shadow:1px 1px 1px rgba(0,0,0,.8);padding:4px 8px;border-radius:4px;white-space:pre-line}video::-webkit-media-text-track-display{color:#fff;font-family:Arial,Helvetica,sans-serif;background-color:rgba(0,0,0,.8);border-radius:4px;padding:4px 8px;font-size:18px;text-shadow:1px 1px 1px rgba(0,0,0,.8)}.custom-subtitle-overlay{font-size:clamp(12px,4vw,18px)}@media(max-width: 768px){.custom-subtitle-overlay{font-size:16px !important;bottom:70px !important;max-width:85% !important;padding:6px 12px !important;line-height:1.2 !important}}@media(max-width: 480px){.custom-subtitle-overlay{font-size:14px !important;bottom:60px !important;max-width:90% !important;padding:5px 10px !important;line-height:1.15 !important}}@media(max-width: 360px){.custom-subtitle-overlay{font-size:12px !important;bottom:50px !important;max-width:95% !important;padding:4px 8px !important}}@media(max-height: 500px)and (orientation: landscape){.custom-subtitle-overlay{font-size:13px !important;bottom:45px !important;max-width:85% !important;padding:4px 10px !important}}.speed-menu,.quality-menu,.subtitles-menu{max-height:200px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--player-primary-color) hsla(0,0%,100%,.1)}.speed-menu::-webkit-scrollbar,.quality-menu::-webkit-scrollbar,.subtitles-menu::-webkit-scrollbar{width:6px}.speed-menu::-webkit-scrollbar-track,.quality-menu::-webkit-scrollbar-track,.subtitles-menu::-webkit-scrollbar-track{background:hsla(0,0%,100%,.1);border-radius:3px}.speed-menu::-webkit-scrollbar-thumb,.quality-menu::-webkit-scrollbar-thumb,.subtitles-menu::-webkit-scrollbar-thumb{background:var(--player-primary-color);border-radius:3px}.speed-menu::-webkit-scrollbar-thumb:hover,.quality-menu::-webkit-scrollbar-thumb:hover,.subtitles-menu::-webkit-scrollbar-thumb:hover{background:var(--player-primary-hover)}@media(max-height: 400px){.speed-menu,.quality-menu,.subtitles-menu{max-height:150px}}@media(max-height: 300px){.speed-menu,.quality-menu,.subtitles-menu{max-height:120px}}.settings-submenu{max-height:180px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--player-primary-color) hsla(0,0%,100%,.1)}.settings-submenu::-webkit-scrollbar{width:6px}.settings-submenu::-webkit-scrollbar-track{background:hsla(0,0%,100%,.1);border-radius:3px}.settings-submenu::-webkit-scrollbar-thumb{background:var(--player-primary-color);border-radius:3px}.settings-submenu::-webkit-scrollbar-thumb:hover{background:var(--player-primary-hover)}@media(max-width: 350px){.settings-submenu{max-height:140px}}@media(max-height: 400px){.settings-submenu{max-height:120px}}.volume-container{position:relative;display:flex;align-items:center;gap:var(--player-controls-gap)}.volume-container[data-mobile-slider=show] .volume-slider{width:80px;height:var(--player-volume-height);background:var(--player-volume-bg);border-radius:calc(var(--player-volume-height)/2);transition:all .3s ease}@media(max-width: 1200px){.volume-container[data-mobile-slider=show] .volume-slider{width:70px}}@media(max-width: 900px){.volume-container[data-mobile-slider=show] .volume-slider{width:60px}}@media(max-width: 768px){.volume-container[data-mobile-slider=show] .volume-slider{width:50px}}@media(max-width: 600px){.volume-container[data-mobile-slider=show] .volume-slider{width:40px}}@media(max-width: 550px){.volume-container[data-mobile-slider=show] .volume-tooltip{display:none !important}.volume-container[data-mobile-slider=show]{pointer-events:auto !important;position:relative}.mute-btn{position:relative;z-index:100;pointer-events:auto !important}.volume-container[data-mobile-slider=show] .volume-slider{position:absolute;opacity:0;visibility:hidden;pointer-events:none;width:0;height:0;transform:translateX(-100%);transition:opacity 0s ease,visibility 0s ease 2s,width 0s ease 2s}.controls-left:hover .volume-container[data-mobile-slider=show] .volume-slider,.mute-btn:hover~.volume-container[data-mobile-slider=show] .volume-slider,.volume-container[data-mobile-slider=show]:hover .volume-slider,.volume-slider:hover{position:absolute;opacity:1;visibility:visible;pointer-events:auto !important;width:90px !important;height:auto;bottom:auto;top:50%;left:5px;transform:translateY(-50%);z-index:19;background:rgba(0,0,0,.92) !important;border:1px solid hsla(0,0%,100%,.15);border-radius:8px;padding:10px 14px;box-shadow:0 4px 16px rgba(0,0,0,.6);backdrop-filter:blur(10px);transition:opacity .2s ease,visibility 0s ease,width .2s ease}.controls-left:has(.volume-container[data-mobile-slider=show]):hover{pointer-events:auto !important}.controls-left:hover .volume-slider::-webkit-slider-runnable-track,.volume-container[data-mobile-slider=show]:hover .volume-slider::-webkit-slider-runnable-track,.volume-slider:hover::-webkit-slider-runnable-track{width:60px;height:4px !important;background:linear-gradient(to right, var(--player-primary-color) 0%, var(--player-primary-color) var(--player-volume-fill, 50%), rgba(255, 255, 255, 0.4) var(--player-volume-fill, 50%), rgba(255, 255, 255, 0.4) 100%) !important;border-radius:2px}.controls-left:hover .volume-slider::-webkit-slider-thumb,.volume-container[data-mobile-slider=show]:hover .volume-slider::-webkit-slider-thumb,.volume-slider:hover::-webkit-slider-thumb{opacity:1 !important;visibility:visible !important;-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:#fff;cursor:pointer;box-shadow:0 2px 6px rgba(0,0,0,.5);margin-top:-5px}}.chapter-markers-container{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:3}.chapter-marker{position:absolute;top:0;height:100%;width:3px;background:var(--player-primary-color);opacity:.7;cursor:pointer;pointer-events:auto;transition:all var(--player-transition-fast);border-radius:2px;transform:translateX(-50%)}.chapter-marker:hover{opacity:1;width:4px;height:120%;top:-10%;box-shadow:0 0 8px var(--player-primary-color)}.chapter-marker.active{background:var(--player-primary-hover);opacity:1;width:4px}.chapter-tooltip{position:absolute;bottom:100%;left:0;background:rgba(0,0,0,.95);backdrop-filter:blur(10px);border-radius:8px;padding:0;margin-bottom:12px;opacity:0;visibility:hidden;transition:all .2s ease;transform:translateX(-50%) translateY(-8px);z-index:1000;box-shadow:var(--player-shadow-tooltip);border:1px solid hsla(0,0%,100%,.15);min-width:200px;max-width:300px;overflow:hidden;pointer-events:none}.chapter-tooltip::after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);width:0;height:0;border-left:6px solid rgba(0,0,0,0);border-right:6px solid rgba(0,0,0,0);border-top:6px solid rgba(0,0,0,.95)}.chapter-tooltip-image{width:100%;height:150px;background-size:cover;background-position:center;background-repeat:no-repeat;display:none;border-bottom:1px solid hsla(0,0%,100%,.1)}.chapter-tooltip-title{padding:10px 12px 6px;color:var(--player-text-color);font-size:14px;font-weight:600;line-height:1.3;word-wrap:break-word}.chapter-tooltip-time{padding:0 12px 10px;color:var(--player-text-secondary);font-size:12px;font-weight:400;font-variant-numeric:tabular-nums}@media(max-width: 480px){.chapter-marker{width:2px}.chapter-marker:hover{width:3px}.chapter-tooltip{min-width:160px;max-width:250px}.chapter-tooltip-image{height:100px}}.video-poster-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-size:cover;background-position:center;background-repeat:no-repeat;z-index:1;cursor:pointer;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;pointer-events:none}.video-poster-overlay.visible{opacity:1;visibility:visible;pointer-events:auto}.video-poster-overlay.hidden{opacity:0;visibility:hidden;pointer-events:none}.video-poster-overlay.visible:hover{opacity:.95}.video-poster-overlay::after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);width:80px;height:80px;background:rgba(0,0,0,.7);border-radius:50%;border:3px solid var(--player-primary-color);opacity:0;transition:opacity .3s ease,transform .3s ease,border-color .3s ease;pointer-events:none}.video-poster-overlay.visible:hover::after{opacity:1;transform:translate(-50%, -50%) scale(1.1);border-color:var(--player-primary-hover);box-shadow:0 0 20px var(--player-primary-color)}.video-poster-overlay::before{content:"";position:absolute;top:50%;left:50%;transform:translate(-40%, -50%);width:0;height:0;border-style:solid;border-width:15px 0 15px 25px;border-color:rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0) var(--player-primary-color);z-index:2;opacity:0;transition:opacity .3s ease,border-color .3s ease;pointer-events:none}.video-poster-overlay.visible:hover::before{opacity:1;border-color:rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0) var(--player-primary-hover)}@media(max-width: 768px){.video-poster-overlay::after{width:60px;height:60px}.video-poster-overlay::before{border-width:12px 0 12px 20px}}@media(max-width: 480px){.video-poster-overlay::after{width:50px;height:50px}.video-poster-overlay::before{border-width:10px 0 10px 16px}}.video-poster-overlay.hidden{transition:opacity .5s ease,visibility 0s ease .5s}.player-theme-blue .video-poster-overlay::after{border-color:#2196f3}.player-theme-blue .video-poster-overlay.visible:hover::after{border-color:#1976d2;box-shadow:0 0 20px #2196f3}.player-theme-blue .video-poster-overlay::before{border-color:rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0) #2196f3}.player-theme-blue .video-poster-overlay.visible:hover::before{border-color:rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0) #1976d2}.player-theme-green .video-poster-overlay::after{border-color:#4caf50}.player-theme-green .video-poster-overlay.visible:hover::after{border-color:#45a049;box-shadow:0 0 20px #4caf50}.player-theme-green .video-poster-overlay::before{border-color:rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0) #4caf50}.player-theme-green .video-poster-overlay.visible:hover::before{border-color:rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0) #45a049}.player-theme-red .video-poster-overlay::after{border-color:#f44336}.player-theme-red .video-poster-overlay.visible:hover::after{border-color:#d32f2f;box-shadow:0 0 20px #f44336}.player-theme-red .video-poster-overlay::before{border-color:rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0) #f44336}.player-theme-red .video-poster-overlay.visible:hover::before{border-color:rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0) #d32f2f}.player-theme-dark .video-poster-overlay::after{background:rgba(0,0,0,.85)}@media(max-height: 400px){.video-player{min-height:200px}.controls{min-height:50px !important;padding:10px 10px 8px !important}.progress-container{margin-bottom:8px}.controls-main{min-height:32px !important}}@media(max-height: 330px){.video-player{min-height:150px}.controls{min-height:45px !important;padding:8px 8px 6px !important}.progress-container{margin-bottom:6px;height:4px}.controls-main{min-height:28px !important}.control-btn{padding:4px !important}.icon{font-size:14px !important}.time-display{font-size:11px !important}}@media(max-height: 250px){.video-player{min-height:120px}.controls{min-height:40px !important;padding:6px 8px 5px !important}.progress-container{margin-bottom:4px;height:3px}.controls-main{min-height:24px !important}.control-btn{padding:2px !important}.icon{font-size:12px !important}.time-display{font-size:10px !important}.quality-btn{min-height:20px !important;padding:2px 4px !important}.selected-quality{font-size:9px !important}.current-quality{display:none}.volume-slider{width:40px !important}}.video-container,.video-wrapper{overflow:visible !important}.controls.show{position:absolute !important;bottom:0 !important;overflow:visible !important}
|
|
1
|
+
:root{--player-primary-color: goldenrod;--player-primary-hover: #daa520;--player-primary-dark: #b8860b;--player-button-color: white;--player-button-hover: rgba(255, 255, 255, 0.1);--player-button-active: rgba(255, 255, 255, 0.2);--player-text-color: white;--player-text-secondary: rgba(255, 255, 255, 0.8);--player-bg-primary: #000;--player-bg-controls: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, 0.8) 100%);--player-bg-title-overlay: linear-gradient(180deg, rgba(0, 0, 0, 0.8) 0%, transparent 100%);--player-bg-menu: rgba(20, 20, 20, 0.95);--player-bg-loading: rgba(0, 0, 0, 0.7);--player-border-radius: 12px;--player-controls-padding: 20px 15px 15px;--player-title-overlay-padding: 15px 20px 25px;--player-button-padding: 8px;--player-icon-size: 20px;--player-progress-height: 6px;--player-progress-bg: rgba(255, 255, 255, 0.2);--player-progress-buffer: rgba(255, 255, 255, 0.3);--player-progress-handle-size: 16px;--player-volume-height: 4px;--player-volume-bg: rgba(255, 255, 255, 0.2);--player-volume-handle-size: 14px;--player-volume-fill: 100%;--player-transition-fast: 0.2s ease;--player-transition-normal: 0.3s ease;--player-shadow-main: 0 8px 32px rgba(0, 0, 0, 0.3);--player-shadow-menu: 0 4px 16px rgba(0, 0, 0, 0.2);--player-shadow-tooltip: 0 3px 12px rgba(0, 0, 0, 0.4)}*{box-sizing:border-box}body{margin:0;padding:20px;background:#1a1a1a;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}.video-container{max-width:1200px;margin:0 auto;background:var(--player-bg-primary);border-radius:var(--player-border-radius);box-shadow:var(--player-shadow-main);position:relative}.video-container:fullscreen,.video-container:-webkit-full-screen,.video-container:-moz-full-screen{width:100vw;height:100vh;border-radius:0}.video-wrapper{position:relative;width:100%;background:var(--player-bg-primary);overflow:visible !important}.video-wrapper.player-initialized .video-player{visibility:visible;opacity:1;transition:opacity .3s ease;pointer-events:auto}.video-wrapper.player-initialized .initial-loading{opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;transition-delay:.2s;display:none;transition-delay:.5s}.video-wrapper:not(.has-controls) .video-watermark.hide-on-autohide{visibility:hidden;opacity:0}.hidden{display:none !important}.player-theme-dark{--player-bg-primary: #1a1a1a;--player-bg-controls: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, 0.9) 100%);--player-bg-title-overlay: linear-gradient(180deg, rgba(30, 30, 30, 0.9) 0%, transparent 100%);--player-bg-menu: rgba(30, 30, 30, 0.95)}.video-player{width:100%;height:auto;display:block;min-height:300px;-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden;will-change:transform;visibility:visible;opacity:1;position:relative;z-index:1;transition:none}.video-wrapper.player-initialized .video-player{visibility:visible;opacity:1;transition:opacity .3s ease;pointer-events:auto}.video-player::-webkit-media-controls-panel,.video-player::-webkit-media-controls-play-button,.video-player::-webkit-media-controls-start-playback-button,.video-player::-webkit-media-controls-timeline,.video-player::-webkit-media-controls-current-time-display,.video-player::-webkit-media-controls-time-remaining-display,.video-player::-webkit-media-controls-mute-button,.video-player::-webkit-media-controls-toggle-closed-captions-button,.video-player::-webkit-media-controls-volume-slider,.video-player::-webkit-media-controls-fullscreen-button,.video-player::-webkit-media-controls-seek-back-button,.video-player::-webkit-media-controls-seek-forward-button,.video-player::-webkit-media-controls-rewind-button,.video-player::-webkit-media-controls-return-to-realtime-button,.video-player::-webkit-media-controls-overlay-play-button{display:none !important;visibility:hidden !important;opacity:0 !important}.video-player::-moz-media-controls{display:none !important}.initial-loading{position:absolute;top:0;left:0;width:100%;height:100%;background:var(--player-bg-primary);display:flex;align-items:center;justify-content:center;z-index:20}.video-wrapper.player-initialized .initial-loading{opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;transition-delay:.2s}.video-wrapper.player-initialized .initial-loading{display:none;transition-delay:.5s}.loading-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:var(--player-bg-loading);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity var(--player-transition-normal);z-index:15}.loading-overlay.active{opacity:1;visibility:visible}.loading-spinner{width:50px;height:50px;border:3px solid hsla(0,0%,100%,.3);border-top:3px solid var(--player-primary-color);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.video-player::cue{background:rgba(0,0,0,.8);color:#fff;font-size:18px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;font-weight:500;text-shadow:2px 2px 4px rgba(0,0,0,.8);padding:8px 12px;border-radius:6px;line-height:1.4}.video-player::cue(.highlight){background:var(--player-primary-color);color:#000}.video-player::cue(b){font-weight:700}.video-player::cue(i){font-style:italic}.video-poster-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-size:cover;background-position:center;background-repeat:no-repeat;z-index:1;cursor:pointer;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;pointer-events:none}.video-poster-overlay.visible{opacity:1;visibility:visible;pointer-events:auto}.video-poster-overlay.hidden{opacity:0;visibility:hidden;pointer-events:none}.video-poster-overlay.visible:hover{opacity:.95}.video-poster-overlay::after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);width:80px;height:80px;background:rgba(0,0,0,.7);border-radius:50%;border:3px solid var(--player-primary-color);opacity:0;transition:opacity .3s ease,transform .3s ease,border-color .3s ease;pointer-events:none}.video-poster-overlay.visible:hover::after{opacity:1;transform:translate(-50%, -50%) scale(1.1);border-color:var(--player-primary-hover);box-shadow:0 0 20px var(--player-primary-color)}.video-poster-overlay::before{content:"";position:absolute;top:50%;left:50%;transform:translate(-40%, -50%);width:0;height:0;border-style:solid;border-width:15px 0 15px 25px;border-color:rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0) var(--player-primary-color);z-index:2;opacity:0;transition:opacity .3s ease,border-color .3s ease;pointer-events:none}.video-poster-overlay.visible:hover::before{opacity:1;border-color:rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0) var(--player-primary-hover)}.initial-loading{position:absolute;top:0;left:0;width:100%;height:100%;background:var(--player-bg-primary);display:flex;align-items:center;justify-content:center;z-index:20;flex-direction:column;gap:15px}.video-wrapper.player-initialized .initial-loading{opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;transition-delay:.2s}.video-wrapper.player-initialized .initial-loading{display:none;transition-delay:.5s}.loading-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:var(--player-bg-loading);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity var(--player-transition-normal);z-index:15;flex-direction:column;gap:15px}.loading-overlay.active{opacity:1;visibility:visible}.loading-spinner{width:50px;height:50px;border:3px solid hsla(0,0%,100%,.3);border-top:3px solid var(--player-primary-color);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.loading-text{color:var(--player-text-color);font-size:14px;font-weight:500;text-shadow:0 2px 4px rgba(0,0,0,.5);letter-spacing:.5px;margin-top:10px;text-align:center}.title-overlay{position:absolute;top:0;left:0;right:0;background:var(--player-bg-title-overlay);padding:var(--player-title-overlay-padding);opacity:0;transform:translateY(-100%);transition:all var(--player-transition-normal);z-index:15;pointer-events:none}.title-overlay.show{opacity:1;transform:translateY(0)}.title-overlay.show.persistent{opacity:1;transform:translateY(0)}.title-text{color:var(--player-text-color);font-size:18px;font-weight:600;line-height:1.3;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 2px 8px rgba(0,0,0,.7);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.player-top-bar{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:flex-start;padding:15px 20px;background:linear-gradient(to bottom, rgba(0, 0, 0, var(--player-topbar-opacity, 0.95)) 0%, rgba(0, 0, 0, calc(var(--player-topbar-opacity, 0.95) * 0.68)) 50%, rgba(0, 0, 0, 0) 100%);backdrop-filter:blur(5px);z-index:20;opacity:0;transform:translateY(-100%);transition:all .3s ease;pointer-events:none}.player-top-bar.no-title-background{background:rgba(0,0,0,0);backdrop-filter:none}.player-top-bar .top-bar-title{flex:1;margin-right:20px;pointer-events:none;min-width:0;max-width:calc(100% - 80px)}.player-top-bar .top-bar-title .video-title{color:#fff;font-size:18px;font-weight:600;margin:0 0 4px 0;text-shadow:0 2px 4px rgba(0,0,0,.8);line-height:1.3;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.player-top-bar .top-bar-title .video-subtitle{color:hsla(0,0%,100%,.8);font-size:14px;text-shadow:0 1px 3px rgba(0,0,0,.8);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.player-top-bar .top-bar-spacer{flex:1}.player-top-bar .settings-control{pointer-events:all;position:relative;flex-shrink:0}.player-top-bar .settings-control .settings-btn{background:rgba(0,0,0,.6);backdrop-filter:blur(10px);padding:10px;border-radius:50%;border:1px solid hsla(0,0%,100%,.15);transition:all .3s ease;cursor:pointer}.player-top-bar .settings-control .settings-btn:hover,.player-top-bar .settings-control .settings-btn.active{background:rgba(0,0,0,.9);border-color:hsla(0,0%,100%,.3);transform:rotate(90deg)}.player-top-bar .settings-control .settings-btn .icon svg{display:block}.player-top-bar .settings-control .settings-menu{position:absolute;top:calc(100% + 10px);right:0;min-width:240px;max-width:320px;background:rgba(28,28,28,.98);backdrop-filter:blur(20px);border-radius:8px;border:1px solid hsla(0,0%,100%,.1);box-shadow:0 8px 32px rgba(0,0,0,.6);opacity:0;visibility:hidden;transform:translateY(-10px);transition:all .3s ease;max-height:600px !important;min-height:200px;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:hsla(0,0%,100%,.3) rgba(0,0,0,0)}.player-top-bar .settings-control .settings-menu::-webkit-scrollbar{width:6px}.player-top-bar .settings-control .settings-menu::-webkit-scrollbar-track{background:hsla(0,0%,100%,.05);border-radius:3px}.player-top-bar .settings-control .settings-menu::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.3);border-radius:3px}.player-top-bar .settings-control .settings-menu::-webkit-scrollbar-thumb:hover{background:hsla(0,0%,100%,.5)}.player-top-bar .settings-control .settings-menu.active{opacity:1;visibility:visible;transform:translateY(0)}.settings-expandable-wrapper{border-bottom:1px solid hsla(0,0%,100%,.05)}.settings-expandable-wrapper:last-child{border-bottom:none}.settings-option{padding:12px 16px;cursor:pointer;transition:background .2s ease;display:flex;justify-content:space-between;align-items:center;color:#fff;user-select:none}.settings-option:hover{background:hsla(0,0%,100%,.1)}.settings-option .settings-option-label{flex:1;color:#fff;font-size:14px;font-weight:400}.settings-option .settings-option-label strong{font-weight:600;margin-left:4px}.settings-option .expand-arrow{color:hsla(0,0%,100%,.6);font-size:12px;transition:transform .3s ease;margin-left:10px;line-height:1}.settings-expandable-content{background:rgba(0,0,0,.3);max-height:250px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:hsla(0,0%,100%,.2) rgba(0,0,0,0)}.settings-expandable-content::-webkit-scrollbar{width:4px}.settings-expandable-content::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.2);border-radius:2px}.settings-expandable-content::-webkit-scrollbar-thumb:hover{background:hsla(0,0%,100%,.3)}.settings-suboption{padding:10px 20px 10px 32px;cursor:pointer;transition:background .2s ease;color:hsla(0,0%,100%,.8);font-size:13px;user-select:none}.settings-suboption:hover{background:hsla(0,0%,100%,.08);color:hsla(0,0%,100%,.95)}.settings-suboption.active{background:hsla(0,0%,100%,.15);color:#fff;font-weight:500;position:relative}.settings-suboption.active::before{content:"✓";position:absolute;left:12px;color:var(--player-primary-color, #ff0000);font-weight:700}body .video-wrapper:hover .player-top-bar,body .video-wrapper .player-top-bar{opacity:0 !important;transform:translateY(-100%) !important;transition:all .3s ease !important}body .video-wrapper.has-controls .player-top-bar{opacity:1 !important;transform:translateY(0) !important}body .video-wrapper .player-top-bar.persistent{opacity:1 !important;transform:translateY(0) !important}@media(max-width: 768px){.player-top-bar{padding:12px 15px}.player-top-bar .top-bar-title{margin-right:15px;max-width:calc(100% - 70px)}.player-top-bar .top-bar-title .video-title{font-size:16px}.player-top-bar .top-bar-title .video-subtitle{font-size:13px}.player-top-bar .settings-control .settings-btn{padding:8px}.player-top-bar .settings-control .settings-btn .icon svg{width:18px;height:18px}.player-top-bar .settings-control .settings-menu{min-width:200px;max-height:400px}}@media(max-width: 480px){.player-top-bar{padding:10px 12px}.player-top-bar .top-bar-title{margin-right:10px;max-width:calc(100% - 60px)}.player-top-bar .top-bar-title .video-title{font-size:14px}.player-top-bar .top-bar-title .video-subtitle{font-size:12px}.player-top-bar .settings-control .settings-btn{padding:6px}.player-top-bar .settings-control .settings-btn .icon svg{width:16px;height:16px}.player-top-bar .settings-control .settings-menu{min-width:180px;max-height:300px}}.video-wrapper:fullscreen .player-top-bar,.video-wrapper:-webkit-full-screen .player-top-bar,.video-wrapper:-moz-full-screen .player-top-bar{padding:20px 30px}.video-wrapper:fullscreen .player-top-bar .top-bar-title .video-title,.video-wrapper:-webkit-full-screen .player-top-bar .top-bar-title .video-title,.video-wrapper:-moz-full-screen .player-top-bar .top-bar-title .video-title{font-size:22px}.video-wrapper:fullscreen .player-top-bar .settings-control .settings-btn,.video-wrapper:-webkit-full-screen .player-top-bar .settings-control .settings-btn,.video-wrapper:-moz-full-screen .player-top-bar .settings-control .settings-btn{padding:12px}.title-text{color:var(--player-text-color);font-size:18px;font-weight:600;line-height:1.3;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 2px 8px rgba(0,0,0,.7);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.subtitle-text{color:var(--player-text-color);font-size:14px;font-weight:400;line-height:1.3;margin:5px 0 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 2px 8px rgba(0,0,0,.7);opacity:.9;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.chapter-name{font-size:13px;font-weight:500;color:hsla(0,0%,100%,.9);margin-top:6px;max-width:400px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:opacity .3s}.controls{position:absolute;bottom:0;left:0;right:0;background:rgba(0, 0, 0, var(--control-bar-opacity, 0.95));padding:var(--player-controls-padding);opacity:0;transform:translateY(100%);transition:all var(--player-transition-normal);z-index:10;min-height:70px !important;box-sizing:border-box}.controls.show{opacity:1;transform:translateY(0);position:absolute !important;bottom:0 !important;z-index:20 !important}.play-icon svg,.pause-icon svg,.volume-icon svg,.mute-icon svg,.playlist-prev-btn .icon svg,.playlist-next-btn .icon svg,.subtitles-btn .icon svg,.fullscreen-icon svg,.exit-fullscreen-icon svg,.pip-icon svg,.pip-exit-icon svg{width:16px;height:16px;display:block}.controls-main{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:44px !important;flex-shrink:0}.controls-left,.controls-right{display:flex;align-items:center;gap:8px;flex-shrink:1;min-width:0}.control-btn{background:none;border:none;color:var(--player-button-color);cursor:pointer;padding:var(--player-button-padding);border-radius:6px;display:flex;align-items:center;justify-content:center;gap:5px;transition:all var(--player-transition-fast);font-size:14px;font-weight:500;position:relative;flex-shrink:1;min-width:0;white-space:nowrap;vertical-align:middle}.control-btn:hover{background:var(--player-button-hover);transform:scale(1.05)}.control-btn:active{transform:scale(0.95);background:var(--player-button-active)}.subtitles-btn{position:relative}.quality-btn{min-height:36px;padding:6px 8px}.quality-btn-text{display:flex;flex-direction:column;align-items:center;line-height:1}.selected-quality{font-size:14px;font-weight:500;color:var(--player-button-color)}.current-quality{font-size:10px;font-weight:400;color:var(--player-text-secondary);opacity:.8;margin-top:2px;line-height:1}.time-display{color:var(--player-text-color);font-size:14px;font-weight:500;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.1;gap:0;font-variant-numeric:tabular-nums;flex-shrink:2;min-width:0;margin:0 5px}.time-display .duration{font-size:10px;color:var(--player-text-secondary);opacity:.8;font-weight:400}.icon{width:var(--player-icon-size);height:var(--player-icon-size);display:flex;align-items:center;justify-content:center;font-size:16px}.hidden{display:none !important}.controls-right .brand-logo{height:44px;max-width:120px;object-fit:contain;margin-right:10px;pointer-events:auto;opacity:.8;transition:opacity var(--player-transition-fast);order:-1;flex-shrink:1}.controls-right .brand-logo:hover{opacity:1}.controls-right .brand-logo-link{order:-1;margin-right:10px;display:inline-block;text-decoration:none}.controls-right .brand-logo-link .brand-logo{margin-right:0}.video-wrapper.hide-cursor{cursor:none !important}.video-wrapper.hide-cursor .controls{cursor:default !important}.video-wrapper.hide-cursor .control-btn{cursor:pointer !important}.video-wrapper.hide-cursor iframe{cursor:auto !important;pointer-events:auto !important}.play-from-start-btn .restart-icon{display:inline-flex;align-items:center;justify-content:center}.control-btn .icon{display:inline-flex;align-items:center;justify-content:center}.progress-container{width:100%;height:var(--player-progress-height);background:var(--player-progress-bg);border-radius:calc(var(--player-progress-height)/2);margin-bottom:15px;position:relative;cursor:pointer}.progress-bar{width:100%;height:100%;position:relative;border-radius:calc(var(--player-progress-height)/2);overflow:hidden}.progress-buffer{height:100%;background:var(--player-progress-buffer);width:0%;border-radius:calc(var(--player-progress-height)/2);transition:width var(--player-transition-fast)}.progress-filled{position:absolute;top:0;left:0;height:100%;background:var(--player-primary-color);width:0%;border-radius:calc(var(--player-progress-height)/2);transition:width .1s ease}.progress-handle{position:absolute;top:50%;transform:translate(-50%, -50%);width:var(--player-progress-handle-size);height:var(--player-progress-handle-size);background:var(--player-primary-color);border-radius:50%;opacity:1;transition:opacity var(--player-transition-fast);z-index:2;left:0%;box-shadow:0 2px 8px rgba(0,0,0,.3);pointer-events:all;touch-action:none}.progress-handle::before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);width:44px;height:44px;border-radius:50%}.progress-container:hover .progress-handle{opacity:1}.progress-container:hover .progress-filled{background:var(--player-primary-hover)}.seek-tooltip{position:absolute;bottom:100%;left:0;background:rgba(0,0,0,.9);color:#fff;padding:6px 10px;border-radius:6px;font-size:12px;font-weight:500;white-space:nowrap;opacity:0;visibility:hidden;transform:translateX(-50%) translateY(-8px);transition:all .15s ease;z-index:1000;box-shadow:var(--player-shadow-tooltip);font-variant-numeric:tabular-nums;backdrop-filter:blur(8px);border:1px solid hsla(0,0%,100%,.1)}.seek-tooltip::after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);width:0;height:0;border-left:5px solid rgba(0,0,0,0);border-right:5px solid rgba(0,0,0,0);border-top:5px solid rgba(0,0,0,.9)}.seek-tooltip.visible{opacity:1;visibility:visible;transform:translateX(-50%) translateY(-4px)}.chapter-markers-container{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:3}.chapter-marker{position:absolute;top:0;height:100%;width:3px;background:var(--player-primary-color);opacity:.7;cursor:pointer;pointer-events:auto;transition:all var(--player-transition-fast);border-radius:2px;transform:translateX(-50%)}.chapter-marker:hover{opacity:1;width:4px;height:120%;top:-10%;box-shadow:0 0 8px var(--player-primary-color)}.chapter-marker.active{background:var(--player-primary-hover);opacity:1;width:4px}.chapter-tooltip{position:absolute;bottom:100%;left:0;background:rgba(0,0,0,.95);backdrop-filter:blur(10px);border-radius:8px;padding:0;margin-bottom:12px;opacity:0;visibility:hidden;transition:all .2s ease;transform:translateX(-50%) translateY(-8px);z-index:1000;box-shadow:var(--player-shadow-tooltip);border:1px solid hsla(0,0%,100%,.15);min-width:200px;max-width:300px;overflow:hidden;pointer-events:none}.chapter-tooltip::after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);width:0;height:0;border-left:6px solid rgba(0,0,0,0);border-right:6px solid rgba(0,0,0,0);border-top:6px solid rgba(0,0,0,.95)}.chapter-tooltip-image{width:100%;height:150px;background-size:cover;background-position:center;background-repeat:no-repeat;display:none;border-bottom:1px solid hsla(0,0%,100%,.1)}.chapter-tooltip-title{padding:10px 12px 6px;color:var(--player-text-color);font-size:14px;font-weight:600;line-height:1.3;word-wrap:break-word}.chapter-tooltip-time{padding:0 12px 10px;color:var(--player-text-secondary);font-size:12px;font-weight:400;font-variant-numeric:tabular-nums}.progress-handle-circle{border-radius:50%}.progress-handle-square{border-radius:2px}.progress-handle-diamond{border-radius:2px;transform:translate(-50%, -50%) rotate(45deg)}.progress-handle-arrow{border-radius:0;clip-path:polygon(0% 50%, 60% 0%, 60% 35%, 100% 35%, 100% 65%, 60% 65%, 60% 100%)}.progress-handle-triangle{border-radius:0;clip-path:polygon(50% 0%, 0% 100%, 100% 100%)}.progress-handle-heart{border-radius:0}.progress-handle-heart::before{content:"❤";font-size:12px;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%)}.progress-handle-star{border-radius:0;clip-path:polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%)}.progress-handle-none{opacity:0 !important}.progress-handle::after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);width:44px;height:44px;border-radius:50%}.progress-container.seeking .progress-bar{height:calc(var(--player-progress-height)*2);transition:height .15s ease}.progress-container.seeking .progress-handle{transform:translate(-50%, -50%) scale(1.4);transition:transform .15s ease}@media(hover: hover)and (pointer: fine){.progress-container:hover .progress-bar{height:calc(var(--player-progress-height)*1.3);transition:height .15s ease}}.chapter-segment{box-sizing:border-box}.chapter-marker:hover{background:rgba(0,0,0,.9) !important}.chapter-tooltip{animation:fadeIn .15s ease-in-out}@keyframes fadeIn{from{opacity:0;transform:translateX(-50%) translateY(-5px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.progress-container:hover .chapter-segment{background:hsla(0,0%,100%,.4) !important}.chapter-tooltip{animation:fadeIn .15s ease-in-out}.chapter-tooltip .chapter-tooltip-content{display:flex;flex-direction:column}.chapter-tooltip .chapter-tooltip-image{background-size:cover;background-position:center;background-repeat:no-repeat;border-radius:3px}.chapter-tooltip .chapter-tooltip-title{line-height:1.3}.chapter-tooltip .chapter-tooltip-time{opacity:.8}@keyframes fadeIn{from{opacity:0;transform:translateX(-50%) translateY(-5px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.chapter-tooltip-hover .chapter-tooltip-content{display:flex;flex-direction:column;gap:6px}.chapter-tooltip-hover .chapter-tooltip-image{width:100%;aspect-ratio:16/9;background-size:cover;background-position:center;background-repeat:no-repeat;border-radius:3px;max-width:180px}.chapter-tooltip-hover .chapter-tooltip-title{font-size:13px;font-weight:600;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chapter-tooltip-hover .chapter-tooltip-time{font-size:12px;font-weight:400;color:hsla(0,0%,100%,.8);max-width:180px}@media(max-width: 1200px){.chapter-tooltip-hover .chapter-tooltip-image{max-width:150px}.chapter-tooltip-hover .chapter-tooltip-title,.chapter-tooltip-hover .chapter-tooltip-time{max-width:150px}}@media(max-width: 768px){.chapter-tooltip-hover .chapter-tooltip-image{max-width:100px}.chapter-tooltip-hover .chapter-tooltip-title,.chapter-tooltip-hover .chapter-tooltip-time{max-width:100px}}@media(max-width: 480px){.chapter-tooltip-hover .chapter-tooltip-image{max-width:80px}.chapter-tooltip-hover .chapter-tooltip-title{font-size:11px;max-width:80px}.chapter-tooltip-hover .chapter-tooltip-time{font-size:10px;max-width:80px}}.volume-container{display:flex;align-items:center;gap:8px;position:relative;flex-shrink:2;min-width:0}.volume-slider{width:60px;height:var(--player-volume-height);background:var(--player-volume-bg);border-radius:calc(var(--player-volume-height)/2);outline:none;cursor:pointer;-webkit-appearance:none;transition:all var(--player-transition-fast)}.volume-tooltip{position:absolute;bottom:210%;transition:opacity .15s ease,transform .15s ease;left:0;transform:translateX(-50%);background:rgba(0,0,0,.9);color:#fff;padding:6px 10px;border-radius:6px;font-size:12px;font-weight:500;white-space:nowrap;opacity:0;visibility:hidden;z-index:1000;box-shadow:var(--player-shadow-tooltip);pointer-events:none;backdrop-filter:blur(8px);border:1px solid hsla(0,0%,100%,.1)}.volume-tooltip::after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);width:0;height:0;border-left:6px solid rgba(0,0,0,0);border-right:6px solid rgba(0,0,0,0);border-top:6px solid rgba(0,0,0,.9)}.volume-container:hover .volume-tooltip,.volume-tooltip.visible{opacity:1;visibility:visible}.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;width:var(--player-volume-handle-size);height:var(--player-volume-handle-size);border-radius:50%;background:var(--player-primary-dark);cursor:pointer;transition:all var(--player-transition-fast);box-shadow:0 2px 6px rgba(0,0,0,.2);margin-top:calc((var(--player-volume-height) - var(--player-volume-handle-size))/2);transform:translateY(0)}.volume-slider::-webkit-slider-thumb:hover{transform:translateY(0) scale(1.2);background:var(--player-primary-color)}.volume-slider::-moz-range-thumb{width:var(--player-volume-handle-size);height:var(--player-volume-handle-size);border-radius:50%;background:var(--player-primary-dark);cursor:pointer;border:none;box-shadow:0 2px 6px rgba(0,0,0,.2);transition:all var(--player-transition-fast);margin-top:0;transform:translateY(calc((var(--player-volume-height) - var(--player-volume-handle-size)) / 2))}.volume-slider::-moz-range-thumb:hover{background:var(--player-primary-color);transform:translateY(calc((var(--player-volume-height) - var(--player-volume-handle-size)) / 2)) scale(1.1)}.volume-slider::-webkit-slider-runnable-track{height:var(--player-volume-height);background:linear-gradient(to right, var(--player-primary-dark) 0%, var(--player-primary-dark) var(--player-volume-fill), var(--player-volume-bg) var(--player-volume-fill), var(--player-volume-bg) 100%);border-radius:calc(var(--player-volume-height)/2);transition:background var(--player-transition-fast);margin:0;border:none}.volume-slider::-moz-range-track{height:var(--player-volume-height);background:linear-gradient(to right, var(--player-primary-dark) 0%, var(--player-primary-dark) var(--player-volume-fill), var(--player-volume-bg) var(--player-volume-fill), var(--player-volume-bg) 100%);border-radius:calc(var(--player-volume-height)/2);border:none;transition:background var(--player-transition-fast);margin:0}.quality-control{position:relative}.subtitles-control{display:none !important}.speed-control{display:none !important}.speed-menu,.quality-menu,.subtitles-menu{position:absolute;bottom:100%;right:0;background:var(--player-bg-menu);backdrop-filter:blur(10px);border-radius:8px;padding:8px 0;margin-bottom:10px;opacity:0;visibility:hidden;transition:all var(--player-transition-fast);min-width:140px;border:1px solid hsla(0,0%,100%,.1);z-index:100;box-shadow:var(--player-shadow-menu)}.speed-menu.active,.quality-menu.active,.subtitles-menu.active{opacity:1 !important;visibility:visible !important;pointer-events:all !important}.speed-option,.quality-option,.subtitles-option{padding:8px 16px;color:var(--player-text-color);cursor:pointer;transition:all var(--player-transition-fast);font-size:14px;display:flex;align-items:center;justify-content:space-between}.speed-option:hover,.quality-option:hover,.subtitles-option:hover{background:hsla(0,0%,100%,.1);color:var(--player-primary-color)}.speed-option.active,.quality-option.active,.subtitles-option.active{color:var(--player-primary-color);font-weight:600;background:hsla(0,0%,100%,.05)}.subtitles-option.selected,.subtitles-option.active{color:var(--player-primary-color);background:hsla(0,0%,100%,.1);position:relative}.subtitles-option.selected::after,.subtitles-option.active::after{content:"✓";position:absolute;right:10px;font-weight:bold}.quality-option.selected{color:var(--player-primary-color);font-weight:600}.quality-option.selected::after{content:"Selected";font-size:12px;color:var(--player-primary-color);font-weight:400;margin-left:8px}.quality-option.playing{background:hsla(0,0%,100%,.05)}.quality-option.playing::after{content:"Playing";font-size:12px;color:#4caf50;font-weight:400;margin-left:8px}.quality-option.selected.playing::after{content:"Active";font-size:12px;color:var(--player-primary-color);font-weight:500;margin-left:8px}.subtitles-option.active::after{content:"✓";font-size:12px;color:var(--player-primary-color)}.settings-control{position:relative;display:block !important}.settings-btn{background:none;border:none;color:var(--player-button-color);cursor:pointer;padding:var(--player-button-padding);border-radius:6px;display:flex;align-items:center;gap:5px;transition:all var(--player-transition-fast);font-size:14px;font-weight:500;position:relative;flex-shrink:0;min-width:0;white-space:nowrap}.settings-btn:hover{background:var(--player-button-hover);transform:scale(1.05)}.settings-btn:active{transform:scale(0.95);background:var(--player-button-active)}.settings-menu{position:absolute;bottom:100%;right:0;background:var(--player-bg-menu);backdrop-filter:blur(10px);border-radius:8px;padding:8px 0;margin-bottom:10px;opacity:0;visibility:hidden;transition:all var(--player-transition-fast);min-width:180px;border:1px solid hsla(0,0%,100%,.1);z-index:100;box-shadow:var(--player-shadow-menu);max-height:200px;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:var(--player-primary-color) hsla(0,0%,100%,.05)}.settings-menu.active{opacity:1 !important;visibility:visible !important;pointer-events:all !important}.settings-menu::-webkit-scrollbar{width:8px}.settings-menu::-webkit-scrollbar-track{background:hsla(0,0%,100%,.05);border-radius:10px}.settings-menu::-webkit-scrollbar-thumb{background:var(--player-primary-color);border-radius:10px;border:2px solid rgba(0,0,0,0);background-clip:content-box}.settings-menu::-webkit-scrollbar-thumb:hover{background:var(--player-primary-hover, var(--player-primary-color));background-clip:content-box}.settings-option{padding:8px 16px;color:var(--player-text-color);cursor:pointer;transition:all var(--player-transition-fast);font-size:14px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid hsla(0,0%,100%,.05);position:relative}.settings-option:last-child{border-bottom:none}.settings-option:hover{background:hsla(0,0%,100%,.1);color:var(--player-primary-color)}.settings-option-label{display:flex;align-items:center;gap:8px;flex:1}.settings-option-value{font-size:12px;color:var(--player-text-secondary);opacity:.8}.settings-expandable-wrapper{position:relative;display:block}.settings-option.expandable-trigger{display:flex;justify-content:space-between;align-items:center;cursor:pointer}.settings-option.expandable-trigger .settings-option-label{font-size:14px}.settings-option.expandable-trigger .expand-arrow{font-size:12px;transition:transform .2s ease;margin-left:8px}.settings-option.expandable-trigger:hover{background:hsla(0,0%,100%,.1)}.settings-expandable-content{padding-left:15px;margin-top:4px;display:none;background:rgba(0,0,0,.3);border-left:3px solid var(--player-primary-color)}.settings-expandable-content.active{display:block}.settings-suboption{padding:8px 12px;cursor:pointer;color:#fff;font-size:13px;white-space:normal;word-wrap:break-word;opacity:.8;transition:opacity .2s;display:flex;align-items:center;justify-content:space-between}.settings-suboption:hover{opacity:1;background:hsla(0,0%,100%,.1)}.settings-suboption.active{opacity:1;font-weight:bold;color:var(--player-primary-color)}.settings-suboption.active::after{content:"✓";font-size:12px}@media(max-width: 768px){.settings-menu>.settings-option{font-size:13px}.settings-suboption{font-size:12px;padding:7px 10px}}@media(max-width: 600px){.settings-menu>.settings-option{font-size:12px}.settings-suboption{font-size:11px;padding:6px 8px}}@media(max-width: 450px){.settings-menu>.settings-option{font-size:11px}.settings-suboption{font-size:10px;padding:5px 6px}}@media(max-width: 350px){.settings-control{display:block !important}.pip-btn{display:none !important}}.audio-player{width:320px;height:80px}.audio-player video{display:none !important}.audio-player .controls-wrapper{height:60px}.audio-player .audio-wave-canvas{display:block;width:100%;height:60px;background-color:#222;border-radius:4px;margin-top:5px}.player-theme-blue{--player-primary-color: #2196F3;--player-primary-hover: #1976D2;--player-primary-dark: #1565C0}.player-theme-green{--player-primary-color: #4CAF50;--player-primary-hover: #45a049;--player-primary-dark: #388e3c}.player-theme-red{--player-primary-color: #f44336;--player-primary-hover: #d32f2f;--player-primary-dark: #c62828}.video-watermark{position:absolute;z-index:15;pointer-events:auto;opacity:.7;transition:opacity .3s ease,visibility .3s ease,bottom .3s ease}.video-watermark{visibility:visible;opacity:.7}.video-wrapper:not(.has-controls) .video-watermark.hide-on-autohide{visibility:hidden;opacity:0}.video-wrapper.has-controls .video-watermark{visibility:visible;opacity:.7}.video-watermark:hover{opacity:1}.video-watermark img{display:block;max-width:150px;max-height:80px;width:auto;height:auto;object-fit:contain}.video-watermark.watermark-topleft{top:15px;left:15px}.video-watermark.watermark-topright{top:15px;right:15px}.video-watermark.watermark-bottomleft{bottom:calc(var(--player-controls-height, 70px) + 15px);left:15px}.video-watermark.watermark-bottomright{bottom:calc(var(--player-controls-height, 70px) + 15px);right:15px}.video-wrapper:not(.has-controls) .video-watermark.watermark-bottomleft:not(.hide-on-autohide){bottom:15px}.video-wrapper:not(.has-controls) .video-watermark.watermark-bottomright:not(.hide-on-autohide){bottom:15px}.video-wrapper.has-controls .video-watermark.watermark-bottomleft,.video-wrapper.has-controls .video-watermark.watermark-bottomright{bottom:calc(var(--player-controls-height, 70px) + 15px)}@media(max-width: 768px){.video-watermark img{max-width:100px;max-height:50px}.video-watermark.watermark-topleft,.video-watermark.watermark-topright{top:10px}.video-watermark.watermark-topleft,.video-watermark.watermark-bottomleft{left:10px}.video-watermark.watermark-topright,.video-watermark.watermark-bottomright{right:10px}.video-watermark.watermark-bottomleft,.video-watermark.watermark-bottomright{bottom:calc(var(--player-controls-height, 60px) + 10px)}.video-wrapper:not(.has-controls) .video-watermark.watermark-bottomleft:not(.hide-on-autohide),.video-wrapper:not(.has-controls) .video-watermark.watermark-bottomright:not(.hide-on-autohide){bottom:10px}}@media(max-width: 480px){.video-watermark.watermark-bottomleft,.video-watermark.watermark-bottomright{bottom:calc(var(--player-controls-height, 55px) + 10px)}.video-wrapper:not(.has-controls) .video-watermark.watermark-bottomleft:not(.hide-on-autohide),.video-wrapper:not(.has-controls) .video-watermark.watermark-bottomright:not(.hide-on-autohide){bottom:8px}}.video-watermark[style*="cursor: pointer"]{cursor:pointer !important}@media(max-width: 768px){.controls-left,.controls-right{gap:8px}.volume-slider{width:50px}.time-display{font-size:12px}.icon{font-size:14px}.control-btn{padding:6px}.quality-btn{min-height:32px;padding:4px 6px}.selected-quality{font-size:12px}.current-quality{font-size:9px}.seek-tooltip{font-size:11px;padding:4px 8px}.title-overlay{padding:12px 15px 20px}.title-text{font-size:16px}.video-player::cue{font-size:16px;padding:6px 10px}.controls-right .brand-logo{height:36px;max-width:100px;margin-right:8px}}@media(max-width: 480px){.controls-left,.controls-right{gap:6px}.progress-container{margin-bottom:10px}.controls-main{padding-top:6px}.volume-container{flex-shrink:3}.volume-slider{width:35px}.quality-btn{min-height:28px;padding:3px 5px}.selected-quality{font-size:11px}.current-quality{font-size:8px}.seek-tooltip{font-size:10px;padding:3px 6px}.title-overlay{padding:10px 12px 18px}.title-text{font-size:14px}.video-player::cue{font-size:14px;padding:4px 8px}.controls-right .brand-logo{height:28px;max-width:80px;margin-right:5px}}@media(max-width: 350px){.controls-left,.controls-right{gap:4px}.control-btn{padding:4px}.icon{font-size:12px}.quality-btn{min-height:24px;padding:2px 4px}.selected-quality{font-size:10px}.current-quality{font-size:7px}.controls-right .brand-logo{height:22px;max-width:50px;margin-right:3px}.volume-slider{width:30px}.settings-menu{min-width:160px;font-size:12px}.settings-option{padding:6px 12px;font-size:12px}.settings-submenu{min-width:130px}.settings-suboption{padding:6px 12px;font-size:11px}}@media(max-width: 280px){.controls-left,.controls-right{gap:3px}.control-btn{padding:3px}.icon{font-size:10px}.quality-btn{min-height:20px;padding:1px 3px}.selected-quality{font-size:9px}.current-quality{font-size:6px}.controls-right .brand-logo{height:18px;max-width:40px;margin-right:2px}.volume-slider{width:25px}.settings-menu{min-width:140px;font-size:11px}.settings-option{padding:5px 10px;font-size:11px}.settings-submenu{min-width:120px}.settings-suboption{padding:5px 10px;font-size:10px}}@media(max-width: 600px){.controls-main{overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.controls-main::-webkit-scrollbar{display:none}.controls-left,.controls-right{flex-wrap:nowrap;white-space:nowrap;flex-shrink:1;min-width:fit-content}}.controls-right .playlist-prev-btn,.controls-right .playlist-next-btn{display:none}.controls-right .playlist-prev-btn.playlist-active,.controls-right .playlist-next-btn.playlist-active{display:flex}.playlist-prev-btn .icon::before{content:"⏮"}.playlist-next-btn .icon::before{content:"⏭"}.playlist-prev-btn:disabled,.playlist-next-btn:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.playlist-prev-btn:disabled .icon,.playlist-next-btn:disabled .icon{opacity:.5}@media(max-width: 768px){.playlist-prev-btn .icon::before,.playlist-next-btn .icon::before{font-size:16px}}@media(max-width: 480px){.playlist-prev-btn .icon::before,.playlist-next-btn .icon::before{font-size:14px}}.video-container:fullscreen,.video-container:-webkit-full-screen,.video-container:-moz-full-screen{width:100vw;height:100vh;border-radius:0}@keyframes qualityChange{0%{opacity:.7}50%{opacity:.3}100%{opacity:1}}.quality-changing{animation:qualityChange .5s ease-in-out}.control-btn:focus{outline:2px solid var(--player-primary-color);outline-offset:2px}.volume-slider:focus{outline:2px solid var(--player-primary-color);outline-offset:2px}.player-large-controls{--player-icon-size: 24px;--player-button-padding: 12px;--player-progress-height: 8px;--player-progress-handle-size: 20px;--player-title-overlay-padding: 18px 24px 30px}.player-compact-controls{--player-icon-size: 16px;--player-button-padding: 4px;--player-controls-padding: 15px 10px 10px;--player-title-overlay-padding: 12px 16px 20px}@-moz-document url-prefix(){.volume-slider::-moz-range-thumb{transform:translateY(calc((var(--player-volume-height) - var(--player-volume-handle-size)) / 2 - 2px))}.volume-slider::-moz-range-thumb:hover{transform:translateY(calc((var(--player-volume-height) - var(--player-volume-handle-size)) / 2 - 2px)) scale(1.1)}.volume-slider::-moz-range-track{height:var(--player-volume-height);background:linear-gradient(to right, var(--player-primary-dark) 0%, var(--player-primary-dark) var(--player-volume-fill), var(--player-volume-bg) var(--player-volume-fill), var(--player-volume-bg) 100%);border-radius:calc(var(--player-volume-height)/2);border:none;transition:background var(--player-transition-fast);margin:0}}@supports(-moz-appearance: none){.volume-slider{margin-top:-1px}.volume-slider::-moz-range-thumb{transform:translateY(calc((var(--player-volume-height) - var(--player-volume-handle-size)) / 2 - 1.5px))}.volume-slider::-moz-range-thumb:hover{transform:translateY(calc((var(--player-volume-height) - var(--player-volume-handle-size)) / 2 - 1.5px)) scale(1.1)}}@-moz-document url-prefix(){.volume-container{position:relative;top:2px !important}.volume-slider::-moz-range-thumb{margin-top:-6px !important;transform:translateY(-2px) !important}.volume-slider::-moz-range-thumb:hover{transform:translateY(-2px) scale(1.1) !important}}.video-player{object-position:center center}.resolution-normal .video-player{object-fit:contain;object-position:center center}.resolution-4-3 .video-player{object-fit:fill;aspect-ratio:4/3}.resolution-4-3 .video-wrapper{aspect-ratio:4/3}.resolution-16-9 .video-player{object-fit:fill;aspect-ratio:16/9}.resolution-16-9 .video-wrapper{aspect-ratio:16/9}.resolution-stretched .video-player{object-fit:fill;width:100%;height:100%}.resolution-stretched .video-wrapper{height:auto;min-height:300px}.resolution-fit-to-screen .video-player{object-fit:cover;object-position:center center;width:100%;height:100%}.resolution-fit-to-screen .video-wrapper{height:100vh;max-height:100vh}.resolution-scale-to-fit .video-player{object-fit:contain;object-position:center center;width:100%;height:100%;max-width:100vw;max-height:100vh}.resolution-scale-to-fit .video-wrapper{display:flex;align-items:center;justify-content:center;height:70vh;min-height:400px;background:var(--player-bg-primary, #000)}@media(orientation: portrait){.resolution-scale-to-fit .video-wrapper{height:50vh;min-height:350px}}@media(orientation: landscape){.resolution-scale-to-fit .video-wrapper{height:80vh;min-height:450px}}@media(max-width: 768px){.resolution-fit-to-screen .video-wrapper{height:50vh;min-height:250px}.resolution-4-3 .video-wrapper,.resolution-16-9 .video-wrapper{min-height:200px}.resolution-scale-to-fit .video-wrapper{height:45vh;min-height:300px}}@media(max-width: 480px){.resolution-fit-to-screen .video-wrapper{height:40vh;min-height:200px}.resolution-4-3 .video-wrapper,.resolution-16-9 .video-wrapper{min-height:180px}.resolution-scale-to-fit .video-wrapper{height:40vh;min-height:250px}}.video-player{transition:object-fit .3s ease,aspect-ratio .3s ease}.video-wrapper{transition:aspect-ratio .3s ease,height .3s ease}@supports not (aspect-ratio: 1){.resolution-4-3 .video-wrapper{padding-bottom:75%;height:0;position:relative}.resolution-4-3 .video-player{position:absolute;top:0;left:0;width:100%;height:100%}.resolution-16-9 .video-wrapper{padding-bottom:56.25%;height:0;position:relative}.resolution-16-9 .video-player{position:absolute;top:0;left:0;width:100%;height:100%}}.quality-changing .video-player{filter:brightness(0.7)}.resolution-debug .video-wrapper::before{content:"Resolution: " attr(data-resolution);position:absolute;top:10px;left:10px;background:rgba(0,0,0,.7);color:#fff;padding:5px 10px;border-radius:4px;font-size:12px;z-index:1000;pointer-events:none}.controls,.controls-main,.controls-left,.controls-right{overflow:visible !important}.controls-left,.controls-right{flex-wrap:nowrap !important;white-space:nowrap !important}.control-btn{min-width:0 !important;white-space:nowrap !important}video::cue{background-color:rgba(0,0,0,.8);color:#fff;font-family:Arial,Helvetica,sans-serif;font-size:18px;font-weight:normal;line-height:1.2;text-shadow:1px 1px 1px rgba(0,0,0,.8);padding:4px 8px;border-radius:4px;white-space:pre-line}video::-webkit-media-text-track-display{color:#fff;font-family:Arial,Helvetica,sans-serif;background-color:rgba(0,0,0,.8);border-radius:4px;padding:4px 8px;font-size:18px;text-shadow:1px 1px 1px rgba(0,0,0,.8)}.custom-subtitle-overlay{font-size:clamp(12px,4vw,18px)}@media(max-width: 768px){.custom-subtitle-overlay{font-size:16px !important;bottom:70px !important;max-width:85% !important;padding:6px 12px !important;line-height:1.2 !important}}@media(max-width: 480px){.custom-subtitle-overlay{font-size:14px !important;bottom:60px !important;max-width:90% !important;padding:5px 10px !important;line-height:1.15 !important}}@media(max-width: 360px){.custom-subtitle-overlay{font-size:12px !important;bottom:50px !important;max-width:95% !important;padding:4px 8px !important}}@media(max-height: 500px)and (orientation: landscape){.custom-subtitle-overlay{font-size:13px !important;bottom:45px !important;max-width:85% !important;padding:4px 10px !important}}.speed-menu,.quality-menu,.subtitles-menu{max-height:200px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--player-primary-color) hsla(0,0%,100%,.1)}.speed-menu::-webkit-scrollbar,.quality-menu::-webkit-scrollbar,.subtitles-menu::-webkit-scrollbar{width:6px}.speed-menu::-webkit-scrollbar-track,.quality-menu::-webkit-scrollbar-track,.subtitles-menu::-webkit-scrollbar-track{background:hsla(0,0%,100%,.1);border-radius:3px}.speed-menu::-webkit-scrollbar-thumb,.quality-menu::-webkit-scrollbar-thumb,.subtitles-menu::-webkit-scrollbar-thumb{background:var(--player-primary-color);border-radius:3px}.speed-menu::-webkit-scrollbar-thumb:hover,.quality-menu::-webkit-scrollbar-thumb:hover,.subtitles-menu::-webkit-scrollbar-thumb:hover{background:var(--player-primary-hover)}@media(max-height: 400px){.speed-menu,.quality-menu,.subtitles-menu{max-height:150px}}@media(max-height: 300px){.speed-menu,.quality-menu,.subtitles-menu{max-height:120px}}.settings-submenu{max-height:180px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--player-primary-color) hsla(0,0%,100%,.1)}.settings-submenu::-webkit-scrollbar{width:6px}.settings-submenu::-webkit-scrollbar-track{background:hsla(0,0%,100%,.1);border-radius:3px}.settings-submenu::-webkit-scrollbar-thumb{background:var(--player-primary-color);border-radius:3px}.settings-submenu::-webkit-scrollbar-thumb:hover{background:var(--player-primary-hover)}@media(max-width: 350px){.settings-submenu{max-height:140px}}@media(max-height: 400px){.settings-submenu{max-height:120px}}.volume-container{position:relative;display:flex;align-items:center;gap:var(--player-controls-gap)}.volume-container[data-mobile-slider=show] .volume-slider{width:80px;height:var(--player-volume-height);background:var(--player-volume-bg);border-radius:calc(var(--player-volume-height)/2);transition:all .3s ease}@media(max-width: 1200px){.volume-container[data-mobile-slider=show] .volume-slider{width:70px}}@media(max-width: 900px){.volume-container[data-mobile-slider=show] .volume-slider{width:60px}}@media(max-width: 768px){.volume-container[data-mobile-slider=show] .volume-slider{width:50px}}@media(max-width: 600px){.volume-container[data-mobile-slider=show] .volume-slider{width:40px}}@media(max-width: 550px){.volume-container[data-mobile-slider=show] .volume-tooltip{display:none !important}.volume-container[data-mobile-slider=show]{pointer-events:auto !important;position:relative}.mute-btn{position:relative;z-index:100;pointer-events:auto !important}.volume-container[data-mobile-slider=show] .volume-slider{position:absolute;opacity:0;visibility:hidden;pointer-events:none;width:0;height:0;transform:translateX(-100%);transition:opacity 0s ease,visibility 0s ease 2s,width 0s ease 2s}.controls-left:hover .volume-container[data-mobile-slider=show] .volume-slider,.mute-btn:hover~.volume-container[data-mobile-slider=show] .volume-slider,.volume-container[data-mobile-slider=show]:hover .volume-slider,.volume-slider:hover{position:absolute;opacity:1;visibility:visible;pointer-events:auto !important;width:90px !important;height:auto;bottom:auto;top:50%;left:5px;transform:translateY(-50%);z-index:19;background:rgba(0,0,0,.92) !important;border:1px solid hsla(0,0%,100%,.15);border-radius:8px;padding:10px 14px;box-shadow:0 4px 16px rgba(0,0,0,.6);backdrop-filter:blur(10px);transition:opacity .2s ease,visibility 0s ease,width .2s ease}.controls-left:has(.volume-container[data-mobile-slider=show]):hover{pointer-events:auto !important}.controls-left:hover .volume-slider::-webkit-slider-runnable-track,.volume-container[data-mobile-slider=show]:hover .volume-slider::-webkit-slider-runnable-track,.volume-slider:hover::-webkit-slider-runnable-track{width:60px;height:4px !important;background:linear-gradient(to right, var(--player-primary-color) 0%, var(--player-primary-color) var(--player-volume-fill, 50%), rgba(255, 255, 255, 0.4) var(--player-volume-fill, 50%), rgba(255, 255, 255, 0.4) 100%) !important;border-radius:2px}.controls-left:hover .volume-slider::-webkit-slider-thumb,.volume-container[data-mobile-slider=show]:hover .volume-slider::-webkit-slider-thumb,.volume-slider:hover::-webkit-slider-thumb{opacity:1 !important;visibility:visible !important;-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:#fff;cursor:pointer;box-shadow:0 2px 6px rgba(0,0,0,.5);margin-top:-5px}}.chapter-markers-container{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:3}.chapter-marker{position:absolute;top:0;height:100%;width:3px;background:var(--player-primary-color);opacity:.7;cursor:pointer;pointer-events:auto;transition:all var(--player-transition-fast);border-radius:2px;transform:translateX(-50%)}.chapter-marker:hover{opacity:1;width:4px;height:120%;top:-10%;box-shadow:0 0 8px var(--player-primary-color)}.chapter-marker.active{background:var(--player-primary-hover);opacity:1;width:4px}.chapter-tooltip{position:absolute;bottom:100%;left:0;background:rgba(0,0,0,.95);backdrop-filter:blur(10px);border-radius:8px;padding:0;margin-bottom:12px;opacity:0;visibility:hidden;transition:all .2s ease;transform:translateX(-50%) translateY(-8px);z-index:1000;box-shadow:var(--player-shadow-tooltip);border:1px solid hsla(0,0%,100%,.15);min-width:200px;max-width:300px;overflow:hidden;pointer-events:none}.chapter-tooltip::after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);width:0;height:0;border-left:6px solid rgba(0,0,0,0);border-right:6px solid rgba(0,0,0,0);border-top:6px solid rgba(0,0,0,.95)}.chapter-tooltip-image{width:100%;height:150px;background-size:cover;background-position:center;background-repeat:no-repeat;display:none;border-bottom:1px solid hsla(0,0%,100%,.1)}.chapter-tooltip-title{padding:10px 12px 6px;color:var(--player-text-color);font-size:14px;font-weight:600;line-height:1.3;word-wrap:break-word}.chapter-tooltip-time{padding:0 12px 10px;color:var(--player-text-secondary);font-size:12px;font-weight:400;font-variant-numeric:tabular-nums}@media(max-width: 480px){.chapter-marker{width:2px}.chapter-marker:hover{width:3px}.chapter-tooltip{min-width:160px;max-width:250px}.chapter-tooltip-image{height:100px}}.video-poster-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-size:cover;background-position:center;background-repeat:no-repeat;z-index:1;cursor:pointer;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;pointer-events:none}.video-poster-overlay.visible{opacity:1;visibility:visible;pointer-events:auto}.video-poster-overlay.hidden{opacity:0;visibility:hidden;pointer-events:none}.video-poster-overlay.visible:hover{opacity:.95}.video-poster-overlay::after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);width:80px;height:80px;background:rgba(0,0,0,.7);border-radius:50%;border:3px solid var(--player-primary-color);opacity:0;transition:opacity .3s ease,transform .3s ease,border-color .3s ease;pointer-events:none}.video-poster-overlay.visible:hover::after{opacity:1;transform:translate(-50%, -50%) scale(1.1);border-color:var(--player-primary-hover);box-shadow:0 0 20px var(--player-primary-color)}.video-poster-overlay::before{content:"";position:absolute;top:50%;left:50%;transform:translate(-40%, -50%);width:0;height:0;border-style:solid;border-width:15px 0 15px 25px;border-color:rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0) var(--player-primary-color);z-index:2;opacity:0;transition:opacity .3s ease,border-color .3s ease;pointer-events:none}.video-poster-overlay.visible:hover::before{opacity:1;border-color:rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0) var(--player-primary-hover)}@media(max-width: 768px){.video-poster-overlay::after{width:60px;height:60px}.video-poster-overlay::before{border-width:12px 0 12px 20px}}@media(max-width: 480px){.video-poster-overlay::after{width:50px;height:50px}.video-poster-overlay::before{border-width:10px 0 10px 16px}}.video-poster-overlay.hidden{transition:opacity .5s ease,visibility 0s ease .5s}.player-theme-blue .video-poster-overlay::after{border-color:#2196f3}.player-theme-blue .video-poster-overlay.visible:hover::after{border-color:#1976d2;box-shadow:0 0 20px #2196f3}.player-theme-blue .video-poster-overlay::before{border-color:rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0) #2196f3}.player-theme-blue .video-poster-overlay.visible:hover::before{border-color:rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0) #1976d2}.player-theme-green .video-poster-overlay::after{border-color:#4caf50}.player-theme-green .video-poster-overlay.visible:hover::after{border-color:#45a049;box-shadow:0 0 20px #4caf50}.player-theme-green .video-poster-overlay::before{border-color:rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0) #4caf50}.player-theme-green .video-poster-overlay.visible:hover::before{border-color:rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0) #45a049}.player-theme-red .video-poster-overlay::after{border-color:#f44336}.player-theme-red .video-poster-overlay.visible:hover::after{border-color:#d32f2f;box-shadow:0 0 20px #f44336}.player-theme-red .video-poster-overlay::before{border-color:rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0) #f44336}.player-theme-red .video-poster-overlay.visible:hover::before{border-color:rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0) #d32f2f}.player-theme-dark .video-poster-overlay::after{background:rgba(0,0,0,.85)}@media(max-height: 400px){.video-player{min-height:200px}.controls{min-height:50px !important;padding:10px 10px 8px !important}.progress-container{margin-bottom:8px}.controls-main{min-height:32px !important}}@media(max-height: 330px){.video-player{min-height:150px}.controls{min-height:45px !important;padding:8px 8px 6px !important}.progress-container{margin-bottom:6px;height:4px}.controls-main{min-height:28px !important}.control-btn{padding:4px !important}.icon{font-size:14px !important}.time-display{font-size:11px !important}}@media(max-height: 250px){.video-player{min-height:120px}.controls{min-height:40px !important;padding:6px 8px 5px !important}.progress-container{margin-bottom:4px;height:3px}.controls-main{min-height:24px !important}.control-btn{padding:2px !important}.icon{font-size:12px !important}.time-display{font-size:10px !important}.quality-btn{min-height:20px !important;padding:2px 4px !important}.selected-quality{font-size:9px !important}.current-quality{display:none}.volume-slider{width:40px !important}}.video-container,.video-wrapper{overflow:visible !important}.controls.show{position:absolute !important;bottom:0 !important;overflow:visible !important}
|
package/dist/myetv-player.js
CHANGED
|
@@ -655,6 +655,7 @@ constructor(videoElement, options = {}) {
|
|
|
655
655
|
showPictureInPicture: true, // Enable PiP button
|
|
656
656
|
showSubtitles: true, // Enable subtitles button
|
|
657
657
|
subtitlesEnabled: false, // Enable subtitles by default if available
|
|
658
|
+
showSettingsMenu: true, // Show settings menu in top bar
|
|
658
659
|
autoHide: true, // auto-hide controls when idle
|
|
659
660
|
autoHideDelay: 3000, // hide controls after ... seconds of inactivity (specificed in milliseconds)
|
|
660
661
|
hideCursor: true, // hide mouse cursor when idle
|
|
@@ -1636,6 +1637,11 @@ createTopBar() {
|
|
|
1636
1637
|
topBar.className = 'player-top-bar';
|
|
1637
1638
|
topBar.id = `topBar${this.getUniqueId()}`;
|
|
1638
1639
|
|
|
1640
|
+
// Apply background class based on showTitleOverlay option
|
|
1641
|
+
if (!this.options.showTitleOverlay) {
|
|
1642
|
+
topBar.classList.add('no-title-background');
|
|
1643
|
+
}
|
|
1644
|
+
|
|
1639
1645
|
// Left section - Title (ALWAYS create structure)
|
|
1640
1646
|
const titleSection = document.createElement('div');
|
|
1641
1647
|
titleSection.className = 'top-bar-title';
|
|
@@ -1661,6 +1667,12 @@ createTopBar() {
|
|
|
1661
1667
|
|
|
1662
1668
|
topBar.appendChild(titleSection);
|
|
1663
1669
|
|
|
1670
|
+
// spacer element
|
|
1671
|
+
const spacer = document.createElement('div');
|
|
1672
|
+
spacer.className = 'top-bar-spacer';
|
|
1673
|
+
spacer.style.flex = '1';
|
|
1674
|
+
topBar.appendChild(spacer);
|
|
1675
|
+
|
|
1664
1676
|
// Right section - Settings control
|
|
1665
1677
|
const settingsControl = document.createElement('div');
|
|
1666
1678
|
settingsControl.className = 'settings-control settings-top-bar';
|
|
@@ -1681,6 +1693,12 @@ createTopBar() {
|
|
|
1681
1693
|
|
|
1682
1694
|
settingsControl.appendChild(settingsBtn);
|
|
1683
1695
|
settingsControl.appendChild(settingsMenu);
|
|
1696
|
+
|
|
1697
|
+
// hide settings control if showSettingsMenu is false
|
|
1698
|
+
if (this.options.showSettingsMenu === false) {
|
|
1699
|
+
settingsControl.style.display = 'none';
|
|
1700
|
+
}
|
|
1701
|
+
|
|
1684
1702
|
topBar.appendChild(settingsControl);
|
|
1685
1703
|
|
|
1686
1704
|
// Add persistent class if persistentTitle is enabled
|
|
@@ -1699,8 +1717,10 @@ createTopBar() {
|
|
|
1699
1717
|
if (this.options.debug) {
|
|
1700
1718
|
console.log('Top bar created with integrated settings', {
|
|
1701
1719
|
showTitle: this.options.showTitleOverlay,
|
|
1720
|
+
showSettings: this.options.showSettingsMenu, // ✅ AGGIUNGI nel log
|
|
1702
1721
|
persistent: this.options.persistentTitle,
|
|
1703
|
-
opacity: this.options.titleOverlayOpacity
|
|
1722
|
+
opacity: this.options.titleOverlayOpacity,
|
|
1723
|
+
hasBackground: !topBar.classList.contains('no-title-background') // ✅ AGGIUNGI nel log
|
|
1704
1724
|
});
|
|
1705
1725
|
}
|
|
1706
1726
|
}
|
|
@@ -4046,7 +4066,7 @@ populateSettingsMenu() {
|
|
|
4046
4066
|
const currentTrack = this.currentSubtitleTrack;
|
|
4047
4067
|
const currentLabel = this.subtitlesEnabled ?
|
|
4048
4068
|
(currentTrack ? currentTrack.label : 'Unknown') :
|
|
4049
|
-
this.t('
|
|
4069
|
+
this.t('subtitlesoff');
|
|
4050
4070
|
|
|
4051
4071
|
menuHTML += `
|
|
4052
4072
|
<div class="settings-expandable-wrapper">
|
|
@@ -4056,7 +4076,7 @@ populateSettingsMenu() {
|
|
|
4056
4076
|
</div>
|
|
4057
4077
|
<div class="settings-expandable-content" style="display: none;">`;
|
|
4058
4078
|
|
|
4059
|
-
menuHTML += `<div class="settings-suboption ${!this.subtitlesEnabled ? 'active' : ''}" data-track="off">${this.t('
|
|
4079
|
+
menuHTML += `<div class="settings-suboption ${!this.subtitlesEnabled ? 'active' : ''}" data-track="off">${this.t('subtitlesoff')}</div>`;
|
|
4060
4080
|
|
|
4061
4081
|
this.textTracks.forEach((trackData, index) => {
|
|
4062
4082
|
const isActive = this.currentSubtitleTrack === trackData.track;
|
|
@@ -4644,7 +4664,74 @@ optimizeButtonsForSmallHeight() {
|
|
|
4644
4664
|
}
|
|
4645
4665
|
}
|
|
4646
4666
|
|
|
4647
|
-
|
|
4667
|
+
/**
|
|
4668
|
+
* Update CSS opacity variables dynamically
|
|
4669
|
+
* @returns {Object} this
|
|
4670
|
+
*/
|
|
4671
|
+
updateOpacityVariables() {
|
|
4672
|
+
if (!this.controls) return this;
|
|
4673
|
+
|
|
4674
|
+
// Update control bar opacity
|
|
4675
|
+
if (this.controls) {
|
|
4676
|
+
this.controls.style.setProperty('--control-bar-opacity', this.options.controlBarOpacity || 0.95);
|
|
4677
|
+
}
|
|
4678
|
+
|
|
4679
|
+
// Update title overlay opacity
|
|
4680
|
+
if (this.topBar) {
|
|
4681
|
+
this.topBar.style.setProperty('--title-overlay-opacity', this.options.titleOverlayOpacity || 0.95);
|
|
4682
|
+
}
|
|
4683
|
+
|
|
4684
|
+
if (this.options.debug) {
|
|
4685
|
+
console.log('Opacity variables updated:', {
|
|
4686
|
+
controlBar: this.options.controlBarOpacity,
|
|
4687
|
+
titleOverlay: this.options.titleOverlayOpacity
|
|
4688
|
+
});
|
|
4689
|
+
}
|
|
4690
|
+
|
|
4691
|
+
return this;
|
|
4692
|
+
}
|
|
4693
|
+
|
|
4694
|
+
/**
|
|
4695
|
+
* Show settings menu button
|
|
4696
|
+
* @returns {Object} this
|
|
4697
|
+
*/
|
|
4698
|
+
showSettingsMenu() {
|
|
4699
|
+
if (!this.topBar) return this;
|
|
4700
|
+
|
|
4701
|
+
const settingsControl = this.topBar.querySelector('.settings-control');
|
|
4702
|
+
if (settingsControl) {
|
|
4703
|
+
settingsControl.style.display = '';
|
|
4704
|
+
this.options.showSettingsMenu = true;
|
|
4705
|
+
|
|
4706
|
+
if (this.options.debug) {
|
|
4707
|
+
console.log('Settings menu enabled');
|
|
4708
|
+
}
|
|
4709
|
+
}
|
|
4710
|
+
|
|
4711
|
+
return this;
|
|
4712
|
+
}
|
|
4713
|
+
|
|
4714
|
+
/**
|
|
4715
|
+
* Hide settings menu button
|
|
4716
|
+
* @returns {Object} this
|
|
4717
|
+
*/
|
|
4718
|
+
hideSettingsMenu() {
|
|
4719
|
+
if (!this.topBar) return this;
|
|
4720
|
+
|
|
4721
|
+
const settingsControl = this.topBar.querySelector('.settings-control');
|
|
4722
|
+
if (settingsControl) {
|
|
4723
|
+
settingsControl.style.display = 'none';
|
|
4724
|
+
this.options.showSettingsMenu = false;
|
|
4725
|
+
|
|
4726
|
+
if (this.options.debug) {
|
|
4727
|
+
console.log('Settings menu disabled');
|
|
4728
|
+
}
|
|
4729
|
+
}
|
|
4730
|
+
|
|
4731
|
+
return this;
|
|
4732
|
+
}
|
|
4733
|
+
|
|
4734
|
+
/* Controls methods for main class */
|
|
4648
4735
|
|
|
4649
4736
|
initializeQualityMonitoring() {
|
|
4650
4737
|
this.qualityMonitorInterval = setInterval(() => {
|
package/dist/myetv-player.min.js
CHANGED
|
@@ -610,6 +610,7 @@ constructor(videoElement, options = {}) {
|
|
|
610
610
|
showPictureInPicture: true, // Enable PiP button
|
|
611
611
|
showSubtitles: true, // Enable subtitles button
|
|
612
612
|
subtitlesEnabled: false, // Enable subtitles by default if available
|
|
613
|
+
showSettingsMenu: true, // Show settings menu in top bar
|
|
613
614
|
autoHide: true, // auto-hide controls when idle
|
|
614
615
|
autoHideDelay: 3000, // hide controls after ... seconds of inactivity (specificed in milliseconds)
|
|
615
616
|
hideCursor: true, // hide mouse cursor when idle
|
|
@@ -1518,6 +1519,10 @@ createTopBar() {
|
|
|
1518
1519
|
topBar.className = 'player-top-bar';
|
|
1519
1520
|
topBar.id = `topBar${this.getUniqueId()}`;
|
|
1520
1521
|
|
|
1522
|
+
if (!this.options.showTitleOverlay) {
|
|
1523
|
+
topBar.classList.add('no-title-background');
|
|
1524
|
+
}
|
|
1525
|
+
|
|
1521
1526
|
const titleSection = document.createElement('div');
|
|
1522
1527
|
titleSection.className = 'top-bar-title';
|
|
1523
1528
|
|
|
@@ -1539,6 +1544,11 @@ createTopBar() {
|
|
|
1539
1544
|
|
|
1540
1545
|
topBar.appendChild(titleSection);
|
|
1541
1546
|
|
|
1547
|
+
const spacer = document.createElement('div');
|
|
1548
|
+
spacer.className = 'top-bar-spacer';
|
|
1549
|
+
spacer.style.flex = '1';
|
|
1550
|
+
topBar.appendChild(spacer);
|
|
1551
|
+
|
|
1542
1552
|
const settingsControl = document.createElement('div');
|
|
1543
1553
|
settingsControl.className = 'settings-control settings-top-bar';
|
|
1544
1554
|
|
|
@@ -1556,6 +1566,11 @@ createTopBar() {
|
|
|
1556
1566
|
|
|
1557
1567
|
settingsControl.appendChild(settingsBtn);
|
|
1558
1568
|
settingsControl.appendChild(settingsMenu);
|
|
1569
|
+
|
|
1570
|
+
if (this.options.showSettingsMenu === false) {
|
|
1571
|
+
settingsControl.style.display = 'none';
|
|
1572
|
+
}
|
|
1573
|
+
|
|
1559
1574
|
topBar.appendChild(settingsControl);
|
|
1560
1575
|
|
|
1561
1576
|
if (this.options.persistentTitle) {
|
|
@@ -1571,8 +1586,10 @@ createTopBar() {
|
|
|
1571
1586
|
if (this.options.debug) {
|
|
1572
1587
|
console.log('Top bar created with integrated settings', {
|
|
1573
1588
|
showTitle: this.options.showTitleOverlay,
|
|
1589
|
+
showSettings: this.options.showSettingsMenu, // ✅ AGGIUNGI nel log
|
|
1574
1590
|
persistent: this.options.persistentTitle,
|
|
1575
|
-
opacity: this.options.titleOverlayOpacity
|
|
1591
|
+
opacity: this.options.titleOverlayOpacity,
|
|
1592
|
+
hasBackground: !topBar.classList.contains('no-title-background') // ✅ AGGIUNGI nel log
|
|
1576
1593
|
});
|
|
1577
1594
|
}
|
|
1578
1595
|
}
|
|
@@ -3667,7 +3684,7 @@ populateSettingsMenu() {
|
|
|
3667
3684
|
const currentTrack = this.currentSubtitleTrack;
|
|
3668
3685
|
const currentLabel = this.subtitlesEnabled ?
|
|
3669
3686
|
(currentTrack ? currentTrack.label : 'Unknown') :
|
|
3670
|
-
this.t('
|
|
3687
|
+
this.t('subtitlesoff');
|
|
3671
3688
|
|
|
3672
3689
|
menuHTML += `
|
|
3673
3690
|
<div class="settings-expandable-wrapper">
|
|
@@ -3677,7 +3694,7 @@ populateSettingsMenu() {
|
|
|
3677
3694
|
</div>
|
|
3678
3695
|
<div class="settings-expandable-content" style="display: none;">`;
|
|
3679
3696
|
|
|
3680
|
-
menuHTML += `<div class="settings-suboption ${!this.subtitlesEnabled ? 'active' : ''}" data-track="off">${this.t('
|
|
3697
|
+
menuHTML += `<div class="settings-suboption ${!this.subtitlesEnabled ? 'active' : ''}" data-track="off">${this.t('subtitlesoff')}</div>`;
|
|
3681
3698
|
|
|
3682
3699
|
this.textTracks.forEach((trackData, index) => {
|
|
3683
3700
|
const isActive = this.currentSubtitleTrack === trackData.track;
|
|
@@ -4206,6 +4223,59 @@ optimizeButtonsForSmallHeight() {
|
|
|
4206
4223
|
}
|
|
4207
4224
|
}
|
|
4208
4225
|
|
|
4226
|
+
updateOpacityVariables() {
|
|
4227
|
+
if (!this.controls) return this;
|
|
4228
|
+
|
|
4229
|
+
if (this.controls) {
|
|
4230
|
+
this.controls.style.setProperty('--control-bar-opacity', this.options.controlBarOpacity || 0.95);
|
|
4231
|
+
}
|
|
4232
|
+
|
|
4233
|
+
if (this.topBar) {
|
|
4234
|
+
this.topBar.style.setProperty('--title-overlay-opacity', this.options.titleOverlayOpacity || 0.95);
|
|
4235
|
+
}
|
|
4236
|
+
|
|
4237
|
+
if (this.options.debug) {
|
|
4238
|
+
console.log('Opacity variables updated:', {
|
|
4239
|
+
controlBar: this.options.controlBarOpacity,
|
|
4240
|
+
titleOverlay: this.options.titleOverlayOpacity
|
|
4241
|
+
});
|
|
4242
|
+
}
|
|
4243
|
+
|
|
4244
|
+
return this;
|
|
4245
|
+
}
|
|
4246
|
+
|
|
4247
|
+
showSettingsMenu() {
|
|
4248
|
+
if (!this.topBar) return this;
|
|
4249
|
+
|
|
4250
|
+
const settingsControl = this.topBar.querySelector('.settings-control');
|
|
4251
|
+
if (settingsControl) {
|
|
4252
|
+
settingsControl.style.display = '';
|
|
4253
|
+
this.options.showSettingsMenu = true;
|
|
4254
|
+
|
|
4255
|
+
if (this.options.debug) {
|
|
4256
|
+
console.log('Settings menu enabled');
|
|
4257
|
+
}
|
|
4258
|
+
}
|
|
4259
|
+
|
|
4260
|
+
return this;
|
|
4261
|
+
}
|
|
4262
|
+
|
|
4263
|
+
hideSettingsMenu() {
|
|
4264
|
+
if (!this.topBar) return this;
|
|
4265
|
+
|
|
4266
|
+
const settingsControl = this.topBar.querySelector('.settings-control');
|
|
4267
|
+
if (settingsControl) {
|
|
4268
|
+
settingsControl.style.display = 'none';
|
|
4269
|
+
this.options.showSettingsMenu = false;
|
|
4270
|
+
|
|
4271
|
+
if (this.options.debug) {
|
|
4272
|
+
console.log('Settings menu disabled');
|
|
4273
|
+
}
|
|
4274
|
+
}
|
|
4275
|
+
|
|
4276
|
+
return this;
|
|
4277
|
+
}
|
|
4278
|
+
|
|
4209
4279
|
initializeQualityMonitoring() {
|
|
4210
4280
|
this.qualityMonitorInterval = setInterval(() => {
|
|
4211
4281
|
if (!this.isChangingQuality) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "myetv-player",
|
|
3
|
-
"version": "1.6.
|
|
3
|
+
"version": "1.6.5",
|
|
4
4
|
"description": "MYETV Video Player - Modular HTML5 video player with plugin support for YouTube, Vimeo, Twitch, Facebook, Cloudflare Stream and streaming protocols (HLS/DASH)",
|
|
5
5
|
"main": "dist/myetv-player.js",
|
|
6
6
|
"files": [
|
|
@@ -65,3 +65,4 @@
|
|
|
65
65
|
|
|
66
66
|
|
|
67
67
|
|
|
68
|
+
|