{"id":265,"date":"2025-09-13T08:50:36","date_gmt":"2025-09-13T08:50:36","guid":{"rendered":"https:\/\/viewri.com\/?page_id=265"},"modified":"2025-12-29T08:54:07","modified_gmt":"2025-12-29T08:54:07","slug":"video","status":"publish","type":"page","link":"https:\/\/viewri.com\/youtube\/video\/","title":{"rendered":"YouTube Video Viewer"},"content":{"rendered":"<p>[et_pb_section fb_built=&#8221;1&#8243; fullwidth=&#8221;on&#8221; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_fullwidth_code _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;]    <style>\r\n        @import url('https:\/\/fonts.googleapis.com\/css2?family=Outfit:wght@300;400;500;600;700;800;900&display=swap');\r\n\r\n        .wrapper * {\r\n            margin: 0;\r\n            padding: 0;\r\n            box-sizing: border-box;\r\n        }\r\n\r\n        .wrapper {\r\n            --primary-color: #1E40AF;\r\n            --primary-light: #3B82F6;\r\n            --secondary-color: #0891B2;\r\n            --secondary-light: #06B6D4;\r\n            --accent-color: #7C3AED;\r\n            --accent-light: #8B5CF6;\r\n            --success-color: #059669;\r\n            --success-light: #10B981;\r\n            --warning-color: #D97706;\r\n            --warning-light: #F59E0B;\r\n            --danger-color: #DC2626;\r\n            --danger-light: #EF4444;\r\n            --bg-primary: #0F172A;\r\n            --bg-secondary: #1E293B;\r\n            --bg-tertiary: #334155;\r\n            --bg-card: #475569;\r\n            --glass-bg: rgba(30, 64, 175, 0.1);\r\n            --glass-border: rgba(59, 130, 246, 0.2);\r\n            --text-primary: #F8FAFC;\r\n            --text-secondary: #CBD5E1;\r\n            --text-muted: #94A3B8;\r\n            --text-accent: #60A5FA;\r\n            --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.15);\r\n            --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.2);\r\n            --shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.25);\r\n            --shadow-xl: 0 16px 48px rgba(0, 0, 0, 0.3);\r\n            --border-radius: 16px;\r\n            --border-radius-lg: 24px;\r\n        }\r\n\r\n        .wrapper {\r\n            font-family: 'Outfit', sans-serif;\r\n            background: linear-gradient(135deg, #0F172A 0%, #1E293B 25%, #334155 50%, #475569 75%, #64748B 100%);\r\n            min-height: 100vh;\r\n            line-height: 1.6;\r\n            color: var(--text-primary);\r\n            position: relative;\r\n            overflow-x: hidden;\r\n        }\r\n\r\n        .wrapper::before {\r\n            content: '';\r\n            position: fixed;\r\n            top: 0;\r\n            left: 0;\r\n            width: 100%;\r\n            height: 100%;\r\n            background:\r\n                radial-gradient(circle at 20% 20%, rgba(30, 64, 175, 0.15) 0%, transparent 50%),\r\n                radial-gradient(circle at 80% 80%, rgba(124, 58, 237, 0.15) 0%, transparent 50%),\r\n                radial-gradient(circle at 50% 50%, rgba(8, 145, 178, 0.1) 0%, transparent 50%);\r\n            pointer-events: none;\r\n            z-index: -1;\r\n        }\r\n\r\n        .wrapper .yvv-container {\r\n            max-width: 1400px;\r\n            margin: 0 auto;\r\n            padding: 20px;\r\n            position: relative;\r\n            z-index: 1;\r\n        }\r\n\r\n        \/* Header Section *\/\r\n        .wrapper .yvv-header {\r\n            text-align: center;\r\n            margin-bottom: 40px;\r\n            padding: 40px 0;\r\n            animation: fadeInDown 1s ease-out;\r\n        }\r\n\r\n        .wrapper .yvv-brand-logo {\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            gap: 25px;\r\n            margin-bottom: 25px;\r\n            flex-wrap: wrap;\r\n        }\r\n\r\n        .wrapper .yvv-brand-icon {\r\n            width: 80px;\r\n            height: 80px;\r\n            background: linear-gradient(135deg, var(--primary-color), var(--accent-color));\r\n            border-radius: var(--border-radius);\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            color: white;\r\n            font-size: 36px;\r\n            font-weight: 800;\r\n            box-shadow: var(--shadow-lg);\r\n            animation: float 4s ease-in-out infinite;\r\n            position: relative;\r\n        }\r\n\r\n        .wrapper .yvv-brand-icon::after {\r\n            content: '';\r\n            position: absolute;\r\n            inset: -2px;\r\n            background: linear-gradient(135deg, var(--primary-light), var(--accent-light));\r\n            border-radius: var(--border-radius);\r\n            z-index: -1;\r\n            opacity: 0.5;\r\n            animation: pulse 2s ease-in-out infinite;\r\n        }\r\n\r\n        .wrapper .yvv-brand-title {\r\n            font-size: clamp(2.5rem, 6vw, 4rem);\r\n            font-weight: 900;\r\n            background: linear-gradient(135deg, var(--text-primary), var(--text-accent));\r\n            -webkit-background-clip: text;\r\n            -webkit-text-fill-color: transparent;\r\n            background-clip: text;\r\n            letter-spacing: -1px;\r\n            text-shadow: 0 4px 20px rgba(96, 165, 250, 0.3);\r\n        }\r\n\r\n        .wrapper .yvv-brand-subtitle {\r\n            color: var(--text-secondary);\r\n            font-size: 20px;\r\n            font-weight: 500;\r\n            margin-bottom: 30px;\r\n            max-width: 700px;\r\n            margin-left: auto;\r\n            margin-right: auto;\r\n        }\r\n\r\n        .wrapper .yvv-feature-badges {\r\n            display: flex;\r\n            justify-content: center;\r\n            gap: 15px;\r\n            flex-wrap: wrap;\r\n        }\r\n\r\n        .wrapper .yvv-feature-badge {\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 10px;\r\n            background: var(--glass-bg);\r\n            backdrop-filter: blur(20px);\r\n            border: 1px solid var(--glass-border);\r\n            padding: 12px 24px;\r\n            border-radius: 50px;\r\n            color: var(--text-primary);\r\n            font-size: 14px;\r\n            font-weight: 600;\r\n            transition: all 0.3s ease;\r\n        }\r\n\r\n        .wrapper .yvv-feature-badge:hover {\r\n            transform: translateY(-3px);\r\n            box-shadow: var(--shadow-md);\r\n            background: rgba(30, 64, 175, 0.2);\r\n        }\r\n\r\n        .wrapper .yvv-badge-icon {\r\n            width: 20px;\r\n            height: 20px;\r\n            background: linear-gradient(135deg, var(--success-color), var(--success-light));\r\n            border-radius: 50%;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            font-size: 10px;\r\n            color: white;\r\n            font-weight: 700;\r\n        }\r\n\r\n        \/* Search Section *\/\r\n        .wrapper .yvv-search-section {\r\n            background: var(--bg-secondary);\r\n            border: 1px solid rgba(59, 130, 246, 0.2);\r\n            padding: 40px;\r\n            border-radius: var(--border-radius-lg);\r\n            box-shadow: var(--shadow-xl);\r\n            margin-bottom: 40px;\r\n            animation: fadeInUp 1s ease-out 0.2s both;\r\n            position: relative;\r\n            overflow: hidden;\r\n        }\r\n\r\n        .wrapper .yvv-search-section::before {\r\n            content: '';\r\n            position: absolute;\r\n            top: 0;\r\n            left: 0;\r\n            right: 0;\r\n            height: 2px;\r\n            background: linear-gradient(90deg, var(--primary-color), var(--accent-color), var(--secondary-color));\r\n        }\r\n\r\n        .wrapper .yvv-search-form {\r\n            display: flex;\r\n            gap: 20px;\r\n            margin-bottom: 25px;\r\n            position: relative;\r\n        }\r\n\r\n        .wrapper .yvv-search-input {\r\n            flex: 1;\r\n            padding: 20px 25px;\r\n            background: var(--bg-primary);\r\n            border: 2px solid var(--bg-tertiary);\r\n            border-radius: var(--border-radius);\r\n            color: var(--text-primary);\r\n            font-size: 16px;\r\n            font-weight: 500;\r\n            transition: all 0.3s ease;\r\n            outline: none;\r\n            font-family: inherit;\r\n        }\r\n\r\n        .wrapper .yvv-search-input:focus {\r\n            border-color: var(--primary-light);\r\n            box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.1);\r\n            transform: translateY(-2px);\r\n        }\r\n\r\n        .wrapper .yvv-search-input.error {\r\n            border-color: var(--danger-color);\r\n            box-shadow: 0 0 0 4px rgba(220, 38, 38, 0.1);\r\n        }\r\n\r\n        .wrapper .yvv-search-input::placeholder {\r\n            color: var(--text-muted);\r\n            font-weight: 400;\r\n        }\r\n\r\n        .wrapper .yvv-search-btn {\r\n            padding: 20px 40px;\r\n            background: linear-gradient(135deg, var(--primary-color), var(--primary-light));\r\n            color: white;\r\n            border: none;\r\n            border-radius: var(--border-radius);\r\n            font-size: 16px;\r\n            font-weight: 700;\r\n            cursor: pointer;\r\n            transition: all 0.3s ease;\r\n            min-width: 200px;\r\n            position: relative;\r\n            overflow: hidden;\r\n            box-shadow: var(--shadow-md);\r\n            font-family: inherit;\r\n        }\r\n\r\n        .wrapper .yvv-search-btn:hover:not(:disabled) {\r\n            transform: translateY(-3px);\r\n            box-shadow: var(--shadow-lg);\r\n            background: linear-gradient(135deg, var(--primary-light), var(--accent-color));\r\n        }\r\n\r\n        .wrapper .yvv-search-btn:disabled {\r\n            opacity: 0.6;\r\n            cursor: not-allowed;\r\n            transform: none;\r\n        }\r\n\r\n        .wrapper .yvv-loading-indicator {\r\n            display: none;\r\n            text-align: center;\r\n            padding: 30px;\r\n            color: var(--text-secondary);\r\n        }\r\n\r\n        .wrapper .yvv-error-display {\r\n            background: rgba(220, 38, 38, 0.1);\r\n            border: 1px solid rgba(220, 38, 38, 0.3);\r\n            color: var(--danger-light);\r\n            padding: 20px 25px;\r\n            border-radius: var(--border-radius);\r\n            margin-top: 20px;\r\n            display: none;\r\n            font-weight: 500;\r\n        }\r\n\r\n        \/* Video Player Section - Full Interface *\/\r\n        .wrapper .yvv-video-player-section {\r\n            display: none;\r\n            background: var(--bg-secondary);\r\n            border: 1px solid rgba(59, 130, 246, 0.2);\r\n            border-radius: var(--border-radius-lg);\r\n            overflow: hidden;\r\n            box-shadow: var(--shadow-xl);\r\n            margin-bottom: 40px;\r\n            animation: slideInUp 0.8s ease-out;\r\n        }\r\n\r\n        .wrapper .yvv-video-header {\r\n            background: linear-gradient(135deg, var(--bg-tertiary), var(--bg-card));\r\n            padding: 25px 30px;\r\n            border-bottom: 1px solid rgba(59, 130, 246, 0.1);\r\n            display: flex;\r\n            justify-content: space-between;\r\n            align-items: center;\r\n        }\r\n\r\n        .wrapper .yvv-video-title {\r\n            color: var(--text-primary);\r\n            font-size: 24px;\r\n            font-weight: 700;\r\n            margin: 0;\r\n            flex: 1;\r\n            margin-right: 20px;\r\n        }\r\n\r\n        .wrapper .yvv-current-quality-badge {\r\n            background: linear-gradient(135deg, var(--success-color), var(--success-light));\r\n            color: white;\r\n            padding: 8px 16px;\r\n            border-radius: 20px;\r\n            font-size: 14px;\r\n            font-weight: 600;\r\n            margin-right: 15px;\r\n        }\r\n\r\n        .wrapper .yvv-close-viewer-btn {\r\n            background: var(--danger-color);\r\n            border: none;\r\n            border-radius: 50%;\r\n            width: 40px;\r\n            height: 40px;\r\n            color: white;\r\n            font-size: 18px;\r\n            cursor: pointer;\r\n            transition: all 0.3s ease;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n        }\r\n\r\n        .wrapper .yvv-close-viewer-btn:hover {\r\n            background: var(--danger-light);\r\n            transform: scale(1.1);\r\n        }\r\n\r\n        .wrapper .yvv-video-container {\r\n            position: relative;\r\n            background: #000;\r\n            width: 100%;\r\n        }\r\n\r\n        .wrapper .yvv-main-video {\r\n            width: 100%;\r\n            height: 70vh;\r\n            max-height: 600px;\r\n            min-height: 400px;\r\n            background: #000;\r\n            border: none;\r\n            outline: none;\r\n            display: block;\r\n        }\r\n\r\n        \/* Video Thumbnail Overlay *\/\r\n        .wrapper .yvv-video-thumbnail-overlay {\r\n            position: absolute;\r\n            top: 0;\r\n            left: 0;\r\n            right: 0;\r\n            bottom: 0;\r\n            background-size: cover;\r\n            background-position: center;\r\n            background-repeat: no-repeat;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            cursor: pointer;\r\n            transition: all 0.3s ease;\r\n        }\r\n\r\n        .wrapper .yvv-video-thumbnail-overlay.hidden {\r\n            display: none;\r\n        }\r\n\r\n        .wrapper .yvv-thumbnail-play-btn {\r\n            width: 100px;\r\n            height: 100px;\r\n            background: rgba(0, 0, 0, 0.8);\r\n            border: 4px solid white;\r\n            border-radius: 50%;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            color: white;\r\n            font-size: 36px;\r\n            cursor: pointer;\r\n            transition: all 0.3s ease;\r\n            backdrop-filter: blur(10px);\r\n        }\r\n\r\n        .wrapper .yvv-thumbnail-play-btn:hover {\r\n            transform: scale(1.1);\r\n            background: rgba(0, 0, 0, 0.9);\r\n        }\r\n\r\n        \/* Video Controls - Below Video *\/\r\n        .wrapper .yvv-video-controls-section {\r\n            background: var(--bg-tertiary);\r\n            padding: 20px 30px;\r\n            border-top: 1px solid rgba(59, 130, 246, 0.1);\r\n        }\r\n\r\n        .wrapper .yvv-video-controls {\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 20px;\r\n        }\r\n\r\n        .wrapper .yvv-control-btn {\r\n            width: 50px;\r\n            height: 50px;\r\n            background: linear-gradient(135deg, var(--primary-color), var(--primary-light));\r\n            border: none;\r\n            border-radius: 50%;\r\n            color: white;\r\n            font-size: 18px;\r\n            cursor: pointer;\r\n            transition: all 0.3s ease;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            box-shadow: var(--shadow-sm);\r\n        }\r\n\r\n        .wrapper .yvv-control-btn:hover {\r\n            transform: scale(1.1);\r\n            box-shadow: var(--shadow-md);\r\n        }\r\n\r\n        .wrapper .yvv-progress-section {\r\n            flex: 1;\r\n            margin: 0 20px;\r\n        }\r\n\r\n        .wrapper .yvv-progress-bar {\r\n            width: 100%;\r\n            height: 10px;\r\n            background: rgba(255, 255, 255, 0.2);\r\n            border-radius: 5px;\r\n            cursor: pointer;\r\n            position: relative;\r\n            overflow: hidden;\r\n            margin-bottom: 8px;\r\n        }\r\n\r\n        .wrapper .yvv-progress-fill {\r\n            height: 100%;\r\n            background: linear-gradient(135deg, var(--secondary-color), var(--secondary-light));\r\n            border-radius: 5px;\r\n            width: 0%;\r\n            transition: width 0.1s ease;\r\n            box-shadow: 0 2px 8px rgba(6, 182, 212, 0.4);\r\n        }\r\n\r\n        .wrapper .yvv-time-info {\r\n            color: var(--text-primary);\r\n            font-size: 14px;\r\n            font-weight: 600;\r\n            text-align: center;\r\n        }\r\n\r\n        .wrapper .yvv-volume-section {\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 10px;\r\n            min-width: 120px;\r\n        }\r\n\r\n        .wrapper .yvv-volume-icon {\r\n            color: var(--text-primary);\r\n            font-size: 18px;\r\n            width: 24px;\r\n            text-align: center;\r\n        }\r\n\r\n        .wrapper .yvv-volume-control {\r\n            width: 80px;\r\n            height: 8px;\r\n            background: rgba(255, 255, 255, 0.2);\r\n            border-radius: 4px;\r\n            outline: none;\r\n            cursor: pointer;\r\n            -webkit-appearance: none;\r\n            appearance: none;\r\n        }\r\n\r\n        .wrapper .yvv-volume-control::-webkit-slider-thumb {\r\n            -webkit-appearance: none;\r\n            appearance: none;\r\n            width: 16px;\r\n            height: 16px;\r\n            background: var(--secondary-light);\r\n            border-radius: 50%;\r\n            cursor: pointer;\r\n            box-shadow: 0 2px 6px rgba(6, 182, 212, 0.4);\r\n        }\r\n\r\n        .wrapper .yvv-volume-control::-moz-range-thumb {\r\n            width: 16px;\r\n            height: 16px;\r\n            background: var(--secondary-light);\r\n            border-radius: 50%;\r\n            cursor: pointer;\r\n            border: none;\r\n            box-shadow: 0 2px 6px rgba(6, 182, 212, 0.4);\r\n        }\r\n\r\n        \/* Video Info Section *\/\r\n        .wrapper .yvv-video-info-section {\r\n            display: none;\r\n            background: var(--bg-secondary);\r\n            border: 1px solid rgba(59, 130, 246, 0.2);\r\n            border-radius: var(--border-radius-lg);\r\n            padding: 35px;\r\n            box-shadow: var(--shadow-xl);\r\n            margin-bottom: 40px;\r\n            animation: slideInLeft 0.8s ease-out;\r\n        }\r\n\r\n        .wrapper .yvv-video-metadata {\r\n            display: grid;\r\n            grid-template-columns: auto 1fr;\r\n            gap: 30px;\r\n            align-items: start;\r\n            margin-bottom: 30px;\r\n        }\r\n\r\n        .wrapper .yvv-video-thumbnail {\r\n            width: 160px;\r\n            height: 120px;\r\n            border-radius: var(--border-radius);\r\n            object-fit: cover;\r\n            box-shadow: var(--shadow-md);\r\n        }\r\n\r\n        .wrapper .yvv-video-details {\r\n            display: flex;\r\n            flex-direction: column;\r\n            gap: 15px;\r\n        }\r\n\r\n        .wrapper .yvv-video-details h2 {\r\n            color: var(--text-primary);\r\n            font-size: 28px;\r\n            font-weight: 700;\r\n            line-height: 1.3;\r\n            margin: 0;\r\n        }\r\n\r\n        .wrapper .yvv-video-stats {\r\n            display: flex;\r\n            gap: 25px;\r\n            flex-wrap: wrap;\r\n        }\r\n\r\n        .wrapper .yvv-stat-item {\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 10px;\r\n            color: var(--text-secondary);\r\n            font-size: 16px;\r\n            font-weight: 500;\r\n        }\r\n\r\n        .wrapper .yvv-stat-icon {\r\n            width: 24px;\r\n            height: 24px;\r\n            background: linear-gradient(135deg, var(--secondary-color), var(--secondary-light));\r\n            border-radius: 8px;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            font-size: 12px;\r\n            color: white;\r\n            font-weight: 700;\r\n        }\r\n\r\n        \/* Format Selection *\/\r\n        .wrapper .yvv-format-selection {\r\n            background: rgba(30, 64, 175, 0.05);\r\n            border: 1px solid rgba(59, 130, 246, 0.1);\r\n            border-radius: var(--border-radius);\r\n            padding: 30px;\r\n        }\r\n\r\n        .wrapper .yvv-format-title {\r\n            color: var(--text-primary);\r\n            font-size: 22px;\r\n            font-weight: 700;\r\n            margin-bottom: 25px;\r\n            text-align: center;\r\n        }\r\n\r\n        .wrapper .yvv-format-tabs {\r\n            display: flex;\r\n            gap: 10px;\r\n            margin-bottom: 25px;\r\n            justify-content: center;\r\n        }\r\n\r\n        .wrapper .yvv-format-tab {\r\n            padding: 12px 24px;\r\n            background: var(--bg-tertiary);\r\n            border: 1px solid rgba(59, 130, 246, 0.2);\r\n            border-radius: 50px;\r\n            color: var(--text-secondary);\r\n            font-size: 14px;\r\n            font-weight: 600;\r\n            cursor: pointer;\r\n            transition: all 0.3s ease;\r\n        }\r\n\r\n        .wrapper .yvv-format-tab.active {\r\n            background: linear-gradient(135deg, var(--primary-color), var(--primary-light));\r\n            color: white;\r\n            border-color: var(--primary-light);\r\n        }\r\n\r\n        .wrapper .yvv-format-tab:hover:not(.active) {\r\n            background: var(--bg-card);\r\n            color: var(--text-primary);\r\n        }\r\n\r\n        .wrapper .yvv-format-grid {\r\n            display: grid;\r\n            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));\r\n            gap: 20px;\r\n        }\r\n\r\n        .wrapper .yvv-format-option {\r\n            background: var(--bg-tertiary);\r\n            border: 1px solid rgba(59, 130, 246, 0.2);\r\n            border-radius: var(--border-radius);\r\n            padding: 25px;\r\n            transition: all 0.3s ease;\r\n            position: relative;\r\n        }\r\n\r\n        .wrapper .yvv-format-option:hover {\r\n            transform: translateY(-5px);\r\n            box-shadow: var(--shadow-md);\r\n            border-color: var(--primary-light);\r\n        }\r\n\r\n        .wrapper .yvv-format-option.playing {\r\n            border-color: var(--success-color);\r\n            background: rgba(5, 150, 105, 0.1);\r\n            box-shadow: 0 0 20px rgba(5, 150, 105, 0.3);\r\n        }\r\n\r\n        .wrapper .yvv-format-option.playing::before {\r\n            content: '\u25b6 NOW PLAYING';\r\n            position: absolute;\r\n            top: -10px;\r\n            right: 15px;\r\n            background: linear-gradient(135deg, var(--success-color), var(--success-light));\r\n            color: white;\r\n            padding: 4px 12px;\r\n            border-radius: 12px;\r\n            font-size: 10px;\r\n            font-weight: 700;\r\n            letter-spacing: 0.5px;\r\n        }\r\n\r\n        .wrapper .yvv-format-header {\r\n            display: flex;\r\n            justify-content: space-between;\r\n            align-items: center;\r\n            margin-bottom: 15px;\r\n        }\r\n\r\n        .wrapper .yvv-format-quality {\r\n            font-size: 20px;\r\n            font-weight: 700;\r\n            color: var(--text-primary);\r\n        }\r\n\r\n        .wrapper .yvv-format-type-badge {\r\n            background: linear-gradient(135deg, var(--accent-color), var(--accent-light));\r\n            color: white;\r\n            padding: 6px 16px;\r\n            border-radius: 20px;\r\n            font-size: 12px;\r\n            font-weight: 700;\r\n        }\r\n\r\n        .wrapper .yvv-format-actions {\r\n            display: flex;\r\n            gap: 12px;\r\n        }\r\n\r\n        .wrapper .yvv-action-btn {\r\n            flex: 1;\r\n            padding: 14px;\r\n            border: none;\r\n            border-radius: 10px;\r\n            font-size: 14px;\r\n            font-weight: 600;\r\n            cursor: pointer;\r\n            transition: all 0.3s ease;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            gap: 8px;\r\n            font-family: inherit;\r\n        }\r\n\r\n        .wrapper .yvv-stream-action {\r\n            background: linear-gradient(135deg, var(--secondary-color), var(--secondary-light));\r\n            color: white;\r\n        }\r\n\r\n        .wrapper .yvv-stream-action:hover {\r\n            transform: translateY(-2px);\r\n            box-shadow: var(--shadow-sm);\r\n        }\r\n\r\n        .wrapper .yvv-stream-action.playing {\r\n            background: linear-gradient(135deg, var(--success-color), var(--success-light));\r\n        }\r\n\r\n        .wrapper .yvv-download-action {\r\n            background: linear-gradient(135deg, var(--warning-color), var(--warning-light));\r\n            color: white;\r\n        }\r\n\r\n        .wrapper .yvv-download-action:hover {\r\n            transform: translateY(-2px);\r\n            box-shadow: var(--shadow-sm);\r\n        }\r\n\r\n        .wrapper .yvv-audio-action {\r\n            background: linear-gradient(135deg, var(--accent-color), var(--accent-light));\r\n            color: white;\r\n        }\r\n\r\n        .wrapper .yvv-audio-action:hover {\r\n            transform: translateY(-2px);\r\n            box-shadow: var(--shadow-sm);\r\n        }\r\n\r\n        \/* Audio Player Section *\/\r\n        .wrapper .yvv-audio-player-section {\r\n            display: none;\r\n            background: var(--bg-secondary);\r\n            border: 1px solid rgba(59, 130, 246, 0.2);\r\n            border-radius: var(--border-radius-lg);\r\n            padding: 35px;\r\n            box-shadow: var(--shadow-xl);\r\n            margin-bottom: 40px;\r\n            animation: slideInRight 0.8s ease-out;\r\n        }\r\n\r\n        .wrapper .yvv-audio-visualizer {\r\n            background: linear-gradient(135deg, rgba(124, 58, 237, 0.1), rgba(8, 145, 178, 0.1));\r\n            border: 1px solid rgba(124, 58, 237, 0.3);\r\n            border-radius: var(--border-radius);\r\n            padding: 30px;\r\n            margin-bottom: 25px;\r\n            text-align: center;\r\n        }\r\n\r\n        .wrapper .yvv-visualizer-bars {\r\n            display: flex;\r\n            align-items: end;\r\n            justify-content: center;\r\n            gap: 6px;\r\n            height: 80px;\r\n            margin-bottom: 20px;\r\n        }\r\n\r\n        .wrapper .yvv-visualizer-bar {\r\n            width: 6px;\r\n            background: linear-gradient(to top, var(--accent-color), var(--accent-light), var(--secondary-light));\r\n            border-radius: 3px;\r\n            animation: audioWave 1.8s ease-in-out infinite;\r\n        }\r\n\r\n        .wrapper .yvv-visualizer-bar:nth-child(1) {\r\n            height: 30px;\r\n            animation-delay: 0s;\r\n        }\r\n\r\n        .wrapper .yvv-visualizer-bar:nth-child(2) {\r\n            height: 50px;\r\n            animation-delay: 0.1s;\r\n        }\r\n\r\n        .wrapper .yvv-visualizer-bar:nth-child(3) {\r\n            height: 35px;\r\n            animation-delay: 0.2s;\r\n        }\r\n\r\n        .wrapper .yvv-visualizer-bar:nth-child(4) {\r\n            height: 60px;\r\n            animation-delay: 0.3s;\r\n        }\r\n\r\n        .wrapper .yvv-visualizer-bar:nth-child(5) {\r\n            height: 45px;\r\n            animation-delay: 0.4s;\r\n        }\r\n\r\n        .wrapper .yvv-visualizer-bar:nth-child(6) {\r\n            height: 70px;\r\n            animation-delay: 0.5s;\r\n        }\r\n\r\n        .wrapper .yvv-visualizer-bar:nth-child(7) {\r\n            height: 40px;\r\n            animation-delay: 0.6s;\r\n        }\r\n\r\n        .wrapper .yvv-visualizer-bar:nth-child(8) {\r\n            height: 55px;\r\n            animation-delay: 0.7s;\r\n        }\r\n\r\n        .wrapper .yvv-visualizer-bar:nth-child(9) {\r\n            height: 35px;\r\n            animation-delay: 0.8s;\r\n        }\r\n\r\n        .wrapper .yvv-visualizer-bar:nth-child(10) {\r\n            height: 65px;\r\n            animation-delay: 0.9s;\r\n        }\r\n\r\n        .wrapper .yvv-visualizer-bar:nth-child(11) {\r\n            height: 45px;\r\n            animation-delay: 1.0s;\r\n        }\r\n\r\n        .wrapper .yvv-visualizer-bar:nth-child(12) {\r\n            height: 30px;\r\n            animation-delay: 1.1s;\r\n        }\r\n\r\n        @keyframes audioWave {\r\n\r\n            0%,\r\n            100% {\r\n                transform: scaleY(0.4);\r\n                opacity: 0.7;\r\n            }\r\n\r\n            50% {\r\n                transform: scaleY(1);\r\n                opacity: 1;\r\n            }\r\n        }\r\n\r\n        .wrapper .yvv-audio-controls {\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 20px;\r\n            background: rgba(30, 64, 175, 0.1);\r\n            border-radius: var(--border-radius);\r\n            padding: 20px 25px;\r\n        }\r\n\r\n        .wrapper .yvv-audio-play-btn {\r\n            width: 60px;\r\n            height: 60px;\r\n            background: linear-gradient(135deg, var(--accent-color), var(--accent-light));\r\n            border: none;\r\n            border-radius: 50%;\r\n            color: white;\r\n            font-size: 24px;\r\n            cursor: pointer;\r\n            transition: all 0.3s ease;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            box-shadow: var(--shadow-md);\r\n        }\r\n\r\n        .wrapper .yvv-audio-play-btn:hover {\r\n            transform: scale(1.1);\r\n            box-shadow: var(--shadow-lg);\r\n        }\r\n\r\n        .wrapper .yvv-audio-progress {\r\n            flex: 1;\r\n            cursor: pointer;\r\n            padding: 15px 0;\r\n        }\r\n\r\n        .wrapper .yvv-audio-progress-track {\r\n            width: 100%;\r\n            height: 8px;\r\n            background: rgba(255, 255, 255, 0.2);\r\n            border-radius: 4px;\r\n            position: relative;\r\n            overflow: hidden;\r\n        }\r\n\r\n        .wrapper .yvv-audio-progress-fill {\r\n            height: 100%;\r\n            background: linear-gradient(135deg, var(--accent-color), var(--accent-light));\r\n            border-radius: 4px;\r\n            width: 0%;\r\n            transition: width 0.1s ease;\r\n        }\r\n\r\n        .wrapper .yvv-audio-time {\r\n            color: var(--text-primary);\r\n            font-size: 16px;\r\n            font-weight: 600;\r\n            min-width: 100px;\r\n            text-align: center;\r\n        }\r\n\r\n        .wrapper .yvv-audio-volume {\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 12px;\r\n            min-width: 120px;\r\n        }\r\n\r\n        .wrapper .yvv-audio-volume-icon {\r\n            color: var(--text-primary);\r\n            font-size: 20px;\r\n            width: 24px;\r\n            text-align: center;\r\n        }\r\n\r\n        .wrapper .yvv-audio-volume-slider {\r\n            width: 80px;\r\n            height: 6px;\r\n            background: rgba(255, 255, 255, 0.2);\r\n            border-radius: 3px;\r\n            outline: none;\r\n            cursor: pointer;\r\n            -webkit-appearance: none;\r\n            appearance: none;\r\n        }\r\n\r\n        .wrapper .yvv-audio-volume-slider::-webkit-slider-thumb {\r\n            -webkit-appearance: none;\r\n            appearance: none;\r\n            width: 16px;\r\n            height: 16px;\r\n            background: var(--accent-light);\r\n            border-radius: 50%;\r\n            cursor: pointer;\r\n        }\r\n\r\n        .wrapper .yvv-audio-volume-slider::-moz-range-thumb {\r\n            width: 16px;\r\n            height: 16px;\r\n            background: var(--accent-light);\r\n            border-radius: 50%;\r\n            cursor: pointer;\r\n            border: none;\r\n        }\r\n\r\n        \/* Download Progress *\/\r\n        .wrapper .yvv-download-progress {\r\n            position: fixed;\r\n            bottom: 20px;\r\n            right: 20px;\r\n            background: var(--bg-secondary);\r\n            border: 1px solid rgba(59, 130, 246, 0.2);\r\n            border-radius: var(--border-radius);\r\n            padding: 20px;\r\n            min-width: 320px;\r\n            box-shadow: var(--shadow-xl);\r\n            z-index: 1000;\r\n            display: none;\r\n            color: var(--text-primary);\r\n        }\r\n\r\n        .wrapper .yvv-download-progress.show {\r\n            display: block;\r\n            animation: slideInRight 0.4s ease-out;\r\n        }\r\n\r\n        .wrapper .yvv-progress-header {\r\n            display: flex;\r\n            justify-content: space-between;\r\n            align-items: center;\r\n            margin-bottom: 15px;\r\n        }\r\n\r\n        .wrapper .yvv-progress-text {\r\n            font-weight: 600;\r\n            font-size: 14px;\r\n        }\r\n\r\n        .wrapper .yvv-cancel-btn {\r\n            background: rgba(220, 38, 38, 0.1);\r\n            border: 1px solid rgba(220, 38, 38, 0.3);\r\n            color: var(--danger-light);\r\n            padding: 6px 12px;\r\n            border-radius: 6px;\r\n            font-size: 12px;\r\n            cursor: pointer;\r\n            transition: all 0.3s ease;\r\n            font-weight: 500;\r\n        }\r\n\r\n        .wrapper .yvv-cancel-btn:hover {\r\n            background: rgba(220, 38, 38, 0.2);\r\n        }\r\n\r\n        .wrapper .yvv-progress-bar-container {\r\n            width: 100%;\r\n            height: 8px;\r\n            background: rgba(255, 255, 255, 0.2);\r\n            border-radius: 4px;\r\n            overflow: hidden;\r\n            margin-bottom: 10px;\r\n        }\r\n\r\n        .wrapper .yvv-progress-bar-fill {\r\n            height: 100%;\r\n            background: linear-gradient(135deg, var(--success-color), var(--success-light));\r\n            border-radius: 4px;\r\n            width: 0%;\r\n            transition: width 0.3s ease;\r\n        }\r\n\r\n        .wrapper .yvv-progress-details {\r\n            display: flex;\r\n            justify-content: space-between;\r\n            font-size: 12px;\r\n            color: var(--text-secondary);\r\n        }\r\n\r\n        \/* Loading Animation *\/\r\n        .wrapper .yvv-cyber-loading {\r\n            position: relative;\r\n            width: 100%;\r\n            max-width: 500px;\r\n            margin: 0 auto;\r\n            padding: 40px;\r\n            background: linear-gradient(135deg, rgba(30, 64, 175, 0.1), rgba(124, 58, 237, 0.1));\r\n            border: 1px solid rgba(59, 130, 246, 0.3);\r\n            border-radius: var(--border-radius-lg);\r\n        }\r\n\r\n        .wrapper .yvv-loading-grid {\r\n            position: absolute;\r\n            top: 0;\r\n            left: 0;\r\n            right: 0;\r\n            bottom: 0;\r\n            background-image:\r\n                linear-gradient(rgba(59, 130, 246, 0.1) 1px, transparent 1px),\r\n                linear-gradient(90deg, rgba(59, 130, 246, 0.1) 1px, transparent 1px);\r\n            background-size: 25px 25px;\r\n            animation: gridShift 8s linear infinite;\r\n        }\r\n\r\n        @keyframes gridShift {\r\n            0% {\r\n                transform: translate(0, 0);\r\n            }\r\n\r\n            100% {\r\n                transform: translate(25px, 25px);\r\n            }\r\n        }\r\n\r\n        .wrapper .yvv-loading-waves {\r\n            display: flex;\r\n            flex-direction: column;\r\n            gap: 12px;\r\n            margin-bottom: 25px;\r\n        }\r\n\r\n        .wrapper .yvv-loading-wave {\r\n            height: 4px;\r\n            background: linear-gradient(90deg, transparent, var(--primary-light), transparent);\r\n            border-radius: 2px;\r\n            animation: waveFlow 2.5s ease-in-out infinite;\r\n        }\r\n\r\n        .wrapper .yvv-loading-wave:nth-child(2) {\r\n            animation-delay: 0.5s;\r\n        }\r\n\r\n        .wrapper .yvv-loading-wave:nth-child(3) {\r\n            animation-delay: 1s;\r\n        }\r\n\r\n        @keyframes waveFlow {\r\n\r\n            0%,\r\n            100% {\r\n                opacity: 0.3;\r\n                transform: scaleX(0.3);\r\n            }\r\n\r\n            50% {\r\n                opacity: 1;\r\n                transform: scaleX(1);\r\n            }\r\n        }\r\n\r\n        .wrapper .yvv-loading-text {\r\n            text-align: center;\r\n            color: var(--text-primary);\r\n            font-size: 18px;\r\n            font-weight: 600;\r\n        }\r\n\r\n        .wrapper .yvv-loading-dots::after {\r\n            content: '';\r\n            animation: loadingDots 2.5s steps(4, end) infinite;\r\n        }\r\n\r\n        @keyframes loadingDots {\r\n\r\n            0%,\r\n            20% {\r\n                content: '';\r\n            }\r\n\r\n            40% {\r\n                content: '.';\r\n            }\r\n\r\n            60% {\r\n                content: '..';\r\n            }\r\n\r\n            80%,\r\n            100% {\r\n                content: '...';\r\n            }\r\n        }\r\n\r\n        .wrapper .yvv-loading-progress-bar {\r\n            width: 100%;\r\n            height: 6px;\r\n            background: rgba(255, 255, 255, 0.2);\r\n            border-radius: 3px;\r\n            overflow: hidden;\r\n            margin-top: 15px;\r\n        }\r\n\r\n        .wrapper .yvv-loading-progress-fill {\r\n            height: 100%;\r\n            background: linear-gradient(90deg, var(--primary-light), var(--accent-light));\r\n            border-radius: 3px;\r\n            animation: progressFlow 3s ease-in-out infinite;\r\n        }\r\n\r\n        @keyframes progressFlow {\r\n            0% {\r\n                width: 0%;\r\n            }\r\n\r\n            50% {\r\n                width: 80%;\r\n            }\r\n\r\n            100% {\r\n                width: 100%;\r\n            }\r\n        }\r\n\r\n        \/* Animations *\/\r\n        @keyframes fadeInDown {\r\n            from {\r\n                opacity: 0;\r\n                transform: translateY(-30px);\r\n            }\r\n\r\n            to {\r\n                opacity: 1;\r\n                transform: translateY(0);\r\n            }\r\n        }\r\n\r\n        @keyframes fadeInUp {\r\n            from {\r\n                opacity: 0;\r\n                transform: translateY(30px);\r\n            }\r\n\r\n            to {\r\n                opacity: 1;\r\n                transform: translateY(0);\r\n            }\r\n        }\r\n\r\n        @keyframes slideInUp {\r\n            from {\r\n                opacity: 0;\r\n                transform: translateY(50px);\r\n            }\r\n\r\n            to {\r\n                opacity: 1;\r\n                transform: translateY(0);\r\n            }\r\n        }\r\n\r\n        @keyframes slideInLeft {\r\n            from {\r\n                opacity: 0;\r\n                transform: translateX(-50px);\r\n            }\r\n\r\n            to {\r\n                opacity: 1;\r\n                transform: translateX(0);\r\n            }\r\n        }\r\n\r\n        @keyframes slideInRight {\r\n            from {\r\n                opacity: 0;\r\n                transform: translateX(50px);\r\n            }\r\n\r\n            to {\r\n                opacity: 1;\r\n                transform: translateX(0);\r\n            }\r\n        }\r\n\r\n        @keyframes float {\r\n\r\n            0%,\r\n            100% {\r\n                transform: translateY(0px) scale(1);\r\n            }\r\n\r\n            50% {\r\n                transform: translateY(-10px) scale(1.05);\r\n            }\r\n        }\r\n\r\n        @keyframes pulse {\r\n\r\n            0%,\r\n            100% {\r\n                transform: scale(1);\r\n                opacity: 0.5;\r\n            }\r\n\r\n            50% {\r\n                transform: scale(1.1);\r\n                opacity: 0.8;\r\n            }\r\n        }\r\n\r\n        \/* Responsive Design *\/\r\n        \/* 375px and below *\/\r\n        @media (max-width: 375px) {\r\n            .wrapper .yvv-container {\r\n                padding: 10px;\r\n            }\r\n\r\n            .wrapper .yvv-header {\r\n                padding: 20px 0 15px;\r\n                margin-bottom: 25px;\r\n            }\r\n\r\n            .wrapper .yvv-brand-logo {\r\n                flex-direction: column;\r\n                gap: 15px;\r\n                margin-bottom: 20px;\r\n            }\r\n\r\n            .wrapper .yvv-brand-icon {\r\n                width: 60px;\r\n                height: 60px;\r\n                font-size: 28px;\r\n            }\r\n\r\n            .wrapper .yvv-brand-title {\r\n                font-size: 1.8rem;\r\n                line-height: 1.2;\r\n            }\r\n\r\n            .wrapper .yvv-brand-subtitle {\r\n                font-size: 14px;\r\n                margin-bottom: 20px;\r\n            }\r\n\r\n            .wrapper .yvv-feature-badges {\r\n                flex-direction: column;\r\n                align-items: center;\r\n                gap: 8px;\r\n            }\r\n\r\n            .wrapper .yvv-feature-badge {\r\n                width: 100%;\r\n                max-width: 280px;\r\n                justify-content: center;\r\n                padding: 10px 20px;\r\n                font-size: 13px;\r\n            }\r\n\r\n            .wrapper .yvv-search-section {\r\n                padding: 20px;\r\n                margin-bottom: 25px;\r\n            }\r\n\r\n            .wrapper .yvv-search-form {\r\n                flex-direction: column;\r\n                gap: 12px;\r\n            }\r\n\r\n            .wrapper .yvv-search-input {\r\n                padding: 15px 20px;\r\n                font-size: 14px;\r\n            }\r\n\r\n            .wrapper .yvv-search-btn {\r\n                min-width: 100%;\r\n                padding: 15px 20px;\r\n                font-size: 14px;\r\n            }\r\n\r\n            .wrapper .yvv-main-video {\r\n                height: 35vh;\r\n                min-height: 200px;\r\n            }\r\n\r\n            .wrapper .yvv-video-header {\r\n                flex-direction: column;\r\n                gap: 12px;\r\n                text-align: center;\r\n                padding: 20px;\r\n            }\r\n\r\n            .wrapper .yvv-video-title {\r\n                font-size: 18px;\r\n                margin-right: 0;\r\n            }\r\n\r\n            .wrapper .yvv-current-quality-badge {\r\n                margin-right: 0;\r\n                font-size: 12px;\r\n                padding: 6px 12px;\r\n            }\r\n\r\n            .wrapper .yvv-video-controls {\r\n                flex-wrap: wrap;\r\n                gap: 12px;\r\n                padding: 15px 20px;\r\n            }\r\n\r\n            .wrapper .yvv-control-btn {\r\n                width: 40px;\r\n                height: 40px;\r\n                font-size: 16px;\r\n            }\r\n\r\n            .wrapper .yvv-progress-section {\r\n                order: 3;\r\n                width: 100%;\r\n                margin: 12px 0 0 0;\r\n            }\r\n\r\n            .wrapper .yvv-video-info-section,\r\n            .wrapper .yvv-audio-player-section {\r\n                padding: 20px;\r\n            }\r\n\r\n            .wrapper .yvv-video-metadata {\r\n                grid-template-columns: 1fr;\r\n                text-align: center;\r\n                gap: 20px;\r\n            }\r\n\r\n            .wrapper .yvv-video-thumbnail {\r\n                width: 120px;\r\n                height: 90px;\r\n                margin: 0 auto;\r\n            }\r\n\r\n            .wrapper .yvv-video-details h2 {\r\n                font-size: 20px;\r\n            }\r\n\r\n            .wrapper .yvv-video-stats {\r\n                justify-content: center;\r\n                gap: 15px;\r\n            }\r\n\r\n            .wrapper .yvv-stat-item {\r\n                font-size: 14px;\r\n            }\r\n\r\n            .wrapper .yvv-format-tabs {\r\n                flex-direction: column;\r\n                align-items: center;\r\n                gap: 8px;\r\n            }\r\n\r\n            .wrapper .yvv-format-tab {\r\n                width: 100%;\r\n                max-width: 200px;\r\n                text-align: center;\r\n                padding: 10px 20px;\r\n                font-size: 13px;\r\n            }\r\n\r\n            .wrapper .yvv-format-grid {\r\n                grid-template-columns: 1fr;\r\n                gap: 15px;\r\n            }\r\n\r\n            .wrapper .yvv-format-option {\r\n                padding: 20px;\r\n            }\r\n\r\n            .wrapper .yvv-format-actions {\r\n                flex-direction: column;\r\n                gap: 10px;\r\n            }\r\n\r\n            .wrapper .yvv-action-btn {\r\n                padding: 12px;\r\n                font-size: 13px;\r\n            }\r\n\r\n            .wrapper .yvv-audio-controls {\r\n                flex-wrap: wrap;\r\n                gap: 12px;\r\n                padding: 15px 20px;\r\n            }\r\n\r\n            .wrapper .yvv-audio-play-btn {\r\n                width: 50px;\r\n                height: 50px;\r\n                font-size: 20px;\r\n            }\r\n\r\n            .wrapper .yvv-audio-progress {\r\n                order: 3;\r\n                width: 100%;\r\n            }\r\n\r\n            .wrapper .yvv-download-progress {\r\n                left: 10px;\r\n                right: 10px;\r\n                min-width: auto;\r\n                padding: 15px;\r\n            }\r\n        }\r\n\r\n        \/* 400px *\/\r\n        @media (min-width: 376px) and (max-width: 400px) {\r\n            .wrapper .yvv-container {\r\n                padding: 12px;\r\n            }\r\n\r\n            .wrapper .yvv-header {\r\n                padding: 25px 0 18px;\r\n            }\r\n\r\n            .wrapper .yvv-brand-icon {\r\n                width: 65px;\r\n                height: 65px;\r\n                font-size: 30px;\r\n            }\r\n\r\n            .wrapper .yvv-brand-title {\r\n                font-size: 2rem;\r\n            }\r\n\r\n            .wrapper .yvv-brand-subtitle {\r\n                font-size: 16px;\r\n            }\r\n\r\n            .wrapper .yvv-search-section {\r\n                padding: 22px;\r\n            }\r\n\r\n            .wrapper .yvv-main-video {\r\n                height: 40vh;\r\n                min-height: 220px;\r\n            }\r\n        }\r\n\r\n        \/* 600px *\/\r\n        @media (min-width: 401px) and (max-width: 600px) {\r\n            .wrapper .yvv-container {\r\n                padding: 15px;\r\n            }\r\n\r\n            .wrapper .yvv-header {\r\n                padding: 30px 0 20px;\r\n            }\r\n\r\n            .wrapper .yvv-brand-icon {\r\n                width: 70px;\r\n                height: 70px;\r\n                font-size: 32px;\r\n            }\r\n\r\n            .wrapper .yvv-brand-title {\r\n                font-size: 2.5rem;\r\n            }\r\n\r\n            .wrapper .yvv-brand-subtitle {\r\n                font-size: 18px;\r\n            }\r\n\r\n            .wrapper .yvv-search-section {\r\n                padding: 25px;\r\n            }\r\n\r\n            .wrapper .yvv-search-form {\r\n                flex-direction: column;\r\n                gap: 15px;\r\n            }\r\n\r\n            .wrapper .yvv-search-btn {\r\n                min-width: 100%;\r\n            }\r\n\r\n            .wrapper .yvv-main-video {\r\n                height: 45vh;\r\n                min-height: 250px;\r\n            }\r\n\r\n            .wrapper .yvv-video-metadata {\r\n                grid-template-columns: 1fr;\r\n                text-align: center;\r\n            }\r\n\r\n            .wrapper .yvv-video-stats {\r\n                justify-content: center;\r\n            }\r\n\r\n            .wrapper .yvv-format-grid {\r\n                grid-template-columns: 1fr;\r\n            }\r\n\r\n            .wrapper .yvv-format-actions {\r\n                flex-direction: column;\r\n            }\r\n\r\n            .wrapper .yvv-video-controls {\r\n                flex-wrap: wrap;\r\n                gap: 15px;\r\n            }\r\n\r\n            .wrapper .yvv-progress-section {\r\n                order: 3;\r\n                width: 100%;\r\n                margin: 15px 0 0 0;\r\n            }\r\n\r\n            .wrapper .yvv-audio-controls {\r\n                flex-wrap: wrap;\r\n                gap: 15px;\r\n            }\r\n\r\n            .wrapper .yvv-audio-progress {\r\n                order: 3;\r\n                width: 100%;\r\n            }\r\n\r\n            .wrapper .yvv-download-progress {\r\n                left: 15px;\r\n                right: 15px;\r\n                min-width: auto;\r\n            }\r\n        }\r\n\r\n        \/* 768px *\/\r\n        @media (min-width: 601px) and (max-width: 768px) {\r\n            .wrapper .yvv-container {\r\n                padding: 18px;\r\n            }\r\n\r\n            .wrapper .yvv-header {\r\n                padding: 35px 0 25px;\r\n            }\r\n\r\n            .wrapper .yvv-brand-title {\r\n                font-size: 3rem;\r\n            }\r\n\r\n            .wrapper .yvv-search-section {\r\n                padding: 30px;\r\n            }\r\n\r\n            .wrapper .yvv-search-form {\r\n                flex-direction: row;\r\n                gap: 15px;\r\n            }\r\n\r\n            .wrapper .yvv-search-btn {\r\n                min-width: 180px;\r\n            }\r\n\r\n            .wrapper .yvv-main-video {\r\n                height: 50vh;\r\n                min-height: 300px;\r\n            }\r\n\r\n            .wrapper .yvv-format-grid {\r\n                grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));\r\n            }\r\n        }\r\n\r\n        \/* 992px *\/\r\n        @media (min-width: 769px) and (max-width: 992px) {\r\n            .wrapper .yvv-container {\r\n                padding: 20px;\r\n            }\r\n\r\n            .wrapper .yvv-header {\r\n                padding: 40px 0 30px;\r\n            }\r\n\r\n            .wrapper .yvv-brand-title {\r\n                font-size: 3.5rem;\r\n            }\r\n\r\n            .wrapper .yvv-format-grid {\r\n                grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));\r\n            }\r\n        }\r\n\r\n        \/* 992px and above *\/\r\n        @media (min-width: 993px) {\r\n            .wrapper .yvv-format-grid {\r\n                grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));\r\n            }\r\n        }\r\n\r\n                \/* Responsive Design *\/\r\n        \/* 992px and below *\/\r\n        @media (max-width: 992px) {\r\n            .wrapper .yvv-container {\r\n                padding: 20px;\r\n            }\r\n\r\n            .wrapper .yvv-header {\r\n                padding: 40px 0 30px;\r\n                margin-bottom: 35px;\r\n            }\r\n\r\n            .wrapper .yvv-brand-logo {\r\n                gap: 20px;\r\n                margin-bottom: 20px;\r\n            }\r\n\r\n            .wrapper .yvv-brand-icon {\r\n                width: 70px;\r\n                height: 70px;\r\n                font-size: 32px;\r\n            }\r\n\r\n            .wrapper .yvv-brand-title {\r\n                font-size: clamp(2.2rem, 5vw, 3.5rem);\r\n            }\r\n\r\n            .wrapper .yvv-brand-subtitle {\r\n                font-size: 18px;\r\n                margin-bottom: 25px;\r\n            }\r\n\r\n            .wrapper .yvv-feature-badges {\r\n                gap: 10px;\r\n            }\r\n\r\n            .wrapper .yvv-feature-badge {\r\n                padding: 10px 20px;\r\n                font-size: 13px;\r\n            }\r\n\r\n            .wrapper .yvv-search-section {\r\n                padding: 30px;\r\n                margin-bottom: 35px;\r\n            }\r\n\r\n            .wrapper .yvv-search-form {\r\n                gap: 15px;\r\n            }\r\n\r\n            .wrapper .yvv-search-input {\r\n                padding: 18px 22px;\r\n                font-size: 15px;\r\n            }\r\n\r\n            .wrapper .yvv-search-btn {\r\n                padding: 18px 30px;\r\n                font-size: 15px;\r\n                min-width: 160px;\r\n            }\r\n\r\n            .wrapper .yvv-video-player-section {\r\n                margin-bottom: 35px;\r\n            }\r\n\r\n            .wrapper .yvv-main-video {\r\n                height: 60vh;\r\n                max-height: 500px;\r\n                min-height: 350px;\r\n            }\r\n\r\n            .wrapper .yvv-video-header {\r\n                padding: 20px 25px;\r\n            }\r\n\r\n            .wrapper .yvv-video-title {\r\n                font-size: 20px;\r\n                margin-right: 15px;\r\n            }\r\n\r\n            .wrapper .yvv-current-quality-badge {\r\n                padding: 6px 12px;\r\n                font-size: 13px;\r\n                margin-right: 10px;\r\n            }\r\n\r\n            .wrapper .yvv-close-viewer-btn {\r\n                width: 36px;\r\n                height: 36px;\r\n                font-size: 16px;\r\n            }\r\n\r\n            .wrapper .yvv-thumbnail-play-btn {\r\n                width: 80px;\r\n                height: 80px;\r\n                font-size: 30px;\r\n            }\r\n\r\n            .wrapper .yvv-video-controls-section {\r\n                padding: 18px 25px;\r\n            }\r\n\r\n            .wrapper .yvv-video-controls {\r\n                gap: 15px;\r\n            }\r\n\r\n            .wrapper .yvv-control-btn {\r\n                width: 45px;\r\n                height: 45px;\r\n                font-size: 17px;\r\n            }\r\n\r\n            .wrapper .yvv-progress-section {\r\n                margin: 0 15px;\r\n            }\r\n\r\n            .wrapper .yvv-time-info {\r\n                font-size: 13px;\r\n            }\r\n\r\n            .wrapper .yvv-volume-section {\r\n                gap: 8px;\r\n                min-width: 100px;\r\n            }\r\n\r\n            .wrapper .yvv-volume-icon {\r\n                font-size: 16px;\r\n            }\r\n\r\n            .wrapper .yvv-volume-control {\r\n                width: 70px;\r\n            }\r\n\r\n            .wrapper .yvv-video-info-section,\r\n            .wrapper .yvv-audio-player-section {\r\n                padding: 30px;\r\n                margin-bottom: 35px;\r\n            }\r\n\r\n            .wrapper .yvv-video-metadata {\r\n                gap: 25px;\r\n                margin-bottom: 25px;\r\n            }\r\n\r\n            .wrapper .yvv-video-thumbnail {\r\n                width: 140px;\r\n                height: 100px;\r\n            }\r\n\r\n            .wrapper .yvv-video-details h2 {\r\n                font-size: 24px;\r\n            }\r\n\r\n            .wrapper .yvv-video-stats {\r\n                gap: 20px;\r\n            }\r\n\r\n            .wrapper .yvv-stat-item {\r\n                font-size: 15px;\r\n            }\r\n\r\n            .wrapper .yvv-stat-icon {\r\n                width: 22px;\r\n                height: 22px;\r\n                font-size: 11px;\r\n            }\r\n\r\n            .wrapper .yvv-format-selection {\r\n                padding: 25px;\r\n            }\r\n\r\n            .wrapper .yvv-format-title {\r\n                font-size: 20px;\r\n                margin-bottom: 20px;\r\n            }\r\n\r\n            .wrapper .yvv-format-tabs {\r\n                margin-bottom: 20px;\r\n            }\r\n\r\n            .wrapper .yvv-format-tab {\r\n                padding: 10px 20px;\r\n                font-size: 13px;\r\n            }\r\n\r\n            .wrapper .yvv-format-grid {\r\n                grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));\r\n                gap: 18px;\r\n            }\r\n\r\n            .wrapper .yvv-format-option {\r\n                padding: 20px;\r\n            }\r\n\r\n            .wrapper .yvv-format-quality {\r\n                font-size: 18px;\r\n            }\r\n\r\n            .wrapper .yvv-format-type-badge {\r\n                padding: 5px 14px;\r\n                font-size: 11px;\r\n            }\r\n\r\n            .wrapper .yvv-format-actions {\r\n                gap: 10px;\r\n            }\r\n\r\n            .wrapper .yvv-action-btn {\r\n                padding: 12px;\r\n                font-size: 13px;\r\n            }\r\n\r\n            .wrapper .yvv-audio-visualizer {\r\n                padding: 25px;\r\n                margin-bottom: 20px;\r\n            }\r\n\r\n            .wrapper .yvv-visualizer-bars {\r\n                height: 70px;\r\n                gap: 5px;\r\n            }\r\n\r\n            .wrapper .yvv-visualizer-bar {\r\n                width: 5px;\r\n            }\r\n\r\n            .wrapper .yvv-audio-controls {\r\n                gap: 15px;\r\n                padding: 18px 22px;\r\n            }\r\n\r\n            .wrapper .yvv-audio-play-btn {\r\n                width: 55px;\r\n                height: 55px;\r\n                font-size: 22px;\r\n            }\r\n\r\n            .wrapper .yvv-audio-time {\r\n                font-size: 14px;\r\n                min-width: 90px;\r\n            }\r\n\r\n            .wrapper .yvv-audio-volume {\r\n                gap: 10px;\r\n                min-width: 110px;\r\n            }\r\n\r\n            .wrapper .yvv-audio-volume-icon {\r\n                font-size: 18px;\r\n            }\r\n\r\n            .wrapper .yvv-audio-volume-slider {\r\n                width: 70px;\r\n            }\r\n\r\n            .wrapper .yvv-download-progress {\r\n                min-width: 280px;\r\n                padding: 18px;\r\n            }\r\n\r\n            .wrapper .yvv-progress-text {\r\n                font-size: 13px;\r\n            }\r\n\r\n            .wrapper .yvv-cancel-btn {\r\n                padding: 5px 10px;\r\n                font-size: 11px;\r\n            }\r\n\r\n            .wrapper .yvv-progress-details {\r\n                font-size: 11px;\r\n            }\r\n\r\n            .wrapper .yvv-cyber-loading {\r\n                padding: 30px;\r\n            }\r\n\r\n            .wrapper .yvv-loading-waves {\r\n                gap: 10px;\r\n                margin-bottom: 20px;\r\n            }\r\n\r\n            .wrapper .yvv-loading-wave {\r\n                height: 3px;\r\n            }\r\n\r\n            .wrapper .yvv-loading-text {\r\n                font-size: 16px;\r\n            }\r\n\r\n            .wrapper .yvv-loading-progress-bar {\r\n                height: 5px;\r\n            }\r\n        }\r\n\r\n        \/* 768px and below *\/\r\n        @media (max-width: 768px) {\r\n            .wrapper .yvv-container {\r\n                padding: 15px;\r\n            }\r\n\r\n            .wrapper .yvv-header {\r\n                padding: 30px 0 25px;\r\n                margin-bottom: 30px;\r\n            }\r\n\r\n            .wrapper .yvv-brand-logo {\r\n                flex-direction: column;\r\n                gap: 15px;\r\n                margin-bottom: 15px;\r\n            }\r\n\r\n            .wrapper .yvv-brand-icon {\r\n                width: 65px;\r\n                height: 65px;\r\n                font-size: 30px;\r\n            }\r\n\r\n            .wrapper .yvv-brand-title {\r\n                font-size: clamp(2rem, 6vw, 3rem);\r\n                text-align: center;\r\n            }\r\n\r\n            .wrapper .yvv-brand-subtitle {\r\n                font-size: 16px;\r\n                margin-bottom: 20px;\r\n                text-align: center;\r\n            }\r\n\r\n            .wrapper .yvv-feature-badges {\r\n                flex-direction: column;\r\n                align-items: center;\r\n                gap: 8px;\r\n            }\r\n\r\n            .wrapper .yvv-feature-badge {\r\n                width: 100%;\r\n                max-width: 300px;\r\n                justify-content: center;\r\n                padding: 10px 20px;\r\n                font-size: 13px;\r\n            }\r\n\r\n            .wrapper .yvv-search-section {\r\n                padding: 25px;\r\n                margin-bottom: 30px;\r\n            }\r\n\r\n            .wrapper .yvv-search-form {\r\n                flex-direction: column;\r\n                gap: 12px;\r\n            }\r\n\r\n            .wrapper .yvv-search-input {\r\n                padding: 15px 20px;\r\n                font-size: 14px;\r\n            }\r\n\r\n            .wrapper .yvv-search-btn {\r\n                min-width: 100%;\r\n                padding: 15px 20px;\r\n                font-size: 14px;\r\n            }\r\n\r\n            .wrapper .yvv-main-video {\r\n                height: 50vh;\r\n                max-height: 400px;\r\n                min-height: 250px;\r\n            }\r\n\r\n            .wrapper .yvv-video-header {\r\n                flex-direction: column;\r\n                gap: 10px;\r\n                text-align: center;\r\n                padding: 18px 20px;\r\n            }\r\n\r\n            .wrapper .yvv-video-title {\r\n                font-size: 18px;\r\n                margin-right: 0;\r\n            }\r\n\r\n            .wrapper .yvv-current-quality-badge {\r\n                margin-right: 0;\r\n            }\r\n\r\n            .wrapper .yvv-video-controls-section {\r\n                padding: 15px 20px;\r\n            }\r\n\r\n            .wrapper .yvv-video-controls {\r\n                flex-wrap: wrap;\r\n                gap: 12px;\r\n                justify-content: center;\r\n            }\r\n\r\n            .wrapper .yvv-control-btn {\r\n                width: 40px;\r\n                height: 40px;\r\n                font-size: 16px;\r\n            }\r\n\r\n            .wrapper .yvv-progress-section {\r\n                order: 3;\r\n                width: 100%;\r\n                margin: 10px 0 0 0;\r\n            }\r\n\r\n            .wrapper .yvv-video-info-section,\r\n            .wrapper .yvv-audio-player-section {\r\n                padding: 25px;\r\n                margin-bottom: 30px;\r\n            }\r\n\r\n            .wrapper .yvv-video-metadata {\r\n                grid-template-columns: 1fr;\r\n                text-align: center;\r\n                gap: 20px;\r\n            }\r\n\r\n            .wrapper .yvv-video-thumbnail {\r\n                width: 120px;\r\n                height: 90px;\r\n                margin: 0 auto;\r\n            }\r\n\r\n            .wrapper .yvv-video-details h2 {\r\n                font-size: 22px;\r\n            }\r\n\r\n            .wrapper .yvv-video-stats {\r\n                justify-content: center;\r\n                gap: 15px;\r\n            }\r\n\r\n            .wrapper .yvv-stat-item {\r\n                font-size: 14px;\r\n            }\r\n\r\n            .wrapper .yvv-format-selection {\r\n                padding: 20px;\r\n            }\r\n\r\n            .wrapper .yvv-format-title {\r\n                font-size: 18px;\r\n                margin-bottom: 18px;\r\n            }\r\n\r\n            .wrapper .yvv-format-tabs {\r\n                flex-direction: column;\r\n                align-items: center;\r\n                gap: 8px;\r\n                margin-bottom: 18px;\r\n            }\r\n\r\n            .wrapper .yvv-format-tab {\r\n                width: 100%;\r\n                max-width: 200px;\r\n                text-align: center;\r\n                padding: 10px 20px;\r\n                font-size: 13px;\r\n            }\r\n\r\n            .wrapper .yvv-format-grid {\r\n                grid-template-columns: 1fr;\r\n                gap: 15px;\r\n            }\r\n\r\n            .wrapper .yvv-format-option {\r\n                padding: 18px;\r\n            }\r\n\r\n            .wrapper .yvv-format-quality {\r\n                font-size: 17px;\r\n            }\r\n\r\n            .wrapper .yvv-format-actions {\r\n                flex-direction: column;\r\n                gap: 8px;\r\n            }\r\n\r\n            .wrapper .yvv-action-btn {\r\n                padding: 10px;\r\n                font-size: 12px;\r\n            }\r\n\r\n            .wrapper .yvv-audio-visualizer {\r\n                padding: 20px;\r\n                margin-bottom: 18px;\r\n            }\r\n\r\n            .wrapper .yvv-visualizer-bars {\r\n                height: 60px;\r\n                gap: 4px;\r\n            }\r\n\r\n            .wrapper .yvv-visualizer-bar {\r\n                width: 4px;\r\n            }\r\n\r\n            .wrapper .yvv-audio-controls {\r\n                flex-wrap: wrap;\r\n                gap: 12px;\r\n                padding: 15px 20px;\r\n                justify-content: center;\r\n            }\r\n\r\n            .wrapper .yvv-audio-play-btn {\r\n                width: 50px;\r\n                height: 50px;\r\n                font-size: 20px;\r\n            }\r\n\r\n            .wrapper .yvv-audio-progress {\r\n                order: 3;\r\n                width: 100%;\r\n            }\r\n\r\n            .wrapper .yvv-audio-time {\r\n                font-size: 13px;\r\n                min-width: 80px;\r\n            }\r\n\r\n            .wrapper .yvv-audio-volume {\r\n                min-width: 90px;\r\n            }\r\n\r\n            .wrapper .yvv-audio-volume-icon {\r\n                font-size: 16px;\r\n            }\r\n\r\n            .wrapper .yvv-audio-volume-slider {\r\n                width: 60px;\r\n            }\r\n\r\n            .wrapper .yvv-download-progress {\r\n                left: 15px;\r\n                right: 15px;\r\n                min-width: auto;\r\n                padding: 15px;\r\n            }\r\n        }\r\n\r\n        \/* 600px and below *\/\r\n        @media (max-width: 600px) {\r\n            .wrapper .yvv-container {\r\n                padding: 12px;\r\n            }\r\n\r\n            .wrapper .yvv-header {\r\n                padding: 25px 0 20px;\r\n                margin-bottom: 25px;\r\n            }\r\n\r\n            .wrapper .yvv-brand-icon {\r\n                width: 60px;\r\n                height: 60px;\r\n                font-size: 28px;\r\n            }\r\n\r\n            .wrapper .yvv-brand-title {\r\n                font-size: clamp(1.8rem, 7vw, 2.5rem);\r\n            }\r\n\r\n            .wrapper .yvv-brand-subtitle {\r\n                font-size: 14px;\r\n                margin-bottom: 15px;\r\n            }\r\n\r\n            .wrapper .yvv-feature-badge {\r\n                max-width: 280px;\r\n                font-size: 12px;\r\n            }\r\n\r\n            .wrapper .yvv-search-section {\r\n                padding: 20px;\r\n                margin-bottom: 25px;\r\n            }\r\n\r\n            .wrapper .yvv-search-input {\r\n                padding: 12px 18px;\r\n                font-size: 13px;\r\n            }\r\n\r\n            .wrapper .yvv-search-btn {\r\n                padding: 12px 18px;\r\n                font-size: 13px;\r\n            }\r\n\r\n            .wrapper .yvv-main-video {\r\n                height: 45vh;\r\n                min-height: 200px;\r\n            }\r\n\r\n            .wrapper .yvv-video-header {\r\n                padding: 15px;\r\n            }\r\n\r\n            .wrapper .yvv-video-title {\r\n                font-size: 16px;\r\n            }\r\n\r\n            .wrapper .yvv-current-quality-badge {\r\n                font-size: 11px;\r\n                padding: 4px 10px;\r\n            }\r\n\r\n            .wrapper .yvv-close-viewer-btn {\r\n                width: 32px;\r\n                height: 32px;\r\n                font-size: 14px;\r\n            }\r\n\r\n            .wrapper .yvv-thumbnail-play-btn {\r\n                width: 70px;\r\n                height: 70px;\r\n                font-size: 26px;\r\n            }\r\n\r\n            .wrapper .yvv-video-controls-section {\r\n                padding: 12px 15px;\r\n            }\r\n\r\n            .wrapper .yvv-control-btn {\r\n                width: 36px;\r\n                height: 36px;\r\n                font-size: 15px;\r\n            }\r\n\r\n            .wrapper .yvv-time-info {\r\n                font-size: 12px;\r\n            }\r\n\r\n            .wrapper .yvv-volume-section {\r\n                min-width: 80px;\r\n            }\r\n\r\n            .wrapper .yvv-volume-icon {\r\n                font-size: 14px;\r\n            }\r\n\r\n            .wrapper .yvv-volume-control {\r\n                width: 50px;\r\n            }\r\n\r\n            .wrapper .yvv-video-info-section,\r\n            .wrapper .yvv-audio-player-section {\r\n                padding: 20px;\r\n                margin-bottom: 25px;\r\n            }\r\n\r\n            .wrapper .yvv-video-thumbnail {\r\n                width: 100px;\r\n                height: 75px;\r\n            }\r\n\r\n            .wrapper .yvv-video-details h2 {\r\n                font-size: 18px;\r\n            }\r\n\r\n            .wrapper .yvv-video-stats {\r\n                gap: 12px;\r\n            }\r\n\r\n            .wrapper .yvv-stat-item {\r\n                font-size: 13px;\r\n            }\r\n\r\n            .wrapper .yvv-stat-icon {\r\n                width: 20px;\r\n                height: 20px;\r\n                font-size: 10px;\r\n            }\r\n\r\n            .wrapper .yvv-format-selection {\r\n                padding: 15px;\r\n            }\r\n\r\n            .wrapper .yvv-format-title {\r\n                font-size: 16px;\r\n                margin-bottom: 15px;\r\n            }\r\n\r\n            .wrapper .yvv-format-tab {\r\n                max-width: 180px;\r\n                padding: 8px 15px;\r\n                font-size: 12px;\r\n            }\r\n\r\n            .wrapper .yvv-format-option {\r\n                padding: 15px;\r\n            }\r\n\r\n            .wrapper .yvv-format-quality {\r\n                font-size: 16px;\r\n            }\r\n\r\n            .wrapper .yvv-format-type-badge {\r\n                padding: 4px 10px;\r\n                font-size: 10px;\r\n            }\r\n\r\n            .wrapper .yvv-audio-visualizer {\r\n                padding: 15px;\r\n                margin-bottom: 15px;\r\n            }\r\n\r\n            .wrapper .yvv-visualizer-bars {\r\n                height: 50px;\r\n                gap: 3px;\r\n            }\r\n\r\n            .wrapper .yvv-visualizer-bar {\r\n                width: 3px;\r\n            }\r\n\r\n            .wrapper .yvv-audio-controls {\r\n                padding: 12px 15px;\r\n            }\r\n\r\n            .wrapper .yvv-audio-play-btn {\r\n                width: 45px;\r\n                height: 45px;\r\n                font-size: 18px;\r\n            }\r\n\r\n            .wrapper .yvv-audio-time {\r\n                font-size: 12px;\r\n                min-width: 70px;\r\n            }\r\n\r\n            .wrapper .yvv-audio-volume {\r\n                min-width: 80px;\r\n            }\r\n\r\n            .wrapper .yvv-audio-volume-icon {\r\n                font-size: 14px;\r\n            }\r\n\r\n            .wrapper .yvv-audio-volume-slider {\r\n                width: 50px;\r\n            }\r\n\r\n            .wrapper .yvv-download-progress {\r\n                left: 10px;\r\n                right: 10px;\r\n                padding: 12px;\r\n            }\r\n\r\n            .wrapper .yvv-progress-text {\r\n                font-size: 12px;\r\n            }\r\n\r\n            .wrapper .yvv-cancel-btn {\r\n                font-size: 10px;\r\n            }\r\n\r\n            .wrapper .yvv-progress-details {\r\n                font-size: 10px;\r\n            }\r\n\r\n            .wrapper .yvv-cyber-loading {\r\n                padding: 25px;\r\n            }\r\n\r\n            .wrapper .yvv-loading-waves {\r\n                gap: 8px;\r\n            }\r\n\r\n            .wrapper .yvv-loading-text {\r\n                font-size: 14px;\r\n            }\r\n        }\r\n\r\n        \/* 400px and below (for very small screens) *\/\r\n        @media (max-width: 400px) {\r\n            .wrapper .yvv-container {\r\n                padding: 10px;\r\n            }\r\n\r\n            .wrapper .yvv-header {\r\n                padding: 20px 0 15px;\r\n                margin-bottom: 20px;\r\n            }\r\n\r\n            .wrapper .yvv-brand-icon {\r\n                width: 55px;\r\n                height: 55px;\r\n                font-size: 26px;\r\n            }\r\n\r\n            .wrapper .yvv-brand-title {\r\n                font-size: clamp(1.6rem, 8vw, 2.2rem);\r\n            }\r\n\r\n            .wrapper .yvv-brand-subtitle {\r\n                font-size: 13px;\r\n                margin-bottom: 12px;\r\n            }\r\n\r\n            .wrapper .yvv-feature-badge {\r\n                max-width: 250px;\r\n                font-size: 11px;\r\n                padding: 8px 15px;\r\n            }\r\n\r\n            .wrapper .yvv-search-section {\r\n                padding: 15px;\r\n                margin-bottom: 20px;\r\n            }\r\n\r\n            .wrapper .yvv-search-input,\r\n            .wrapper .yvv-search-btn {\r\n                padding: 10px 15px;\r\n                font-size: 12px;\r\n            }\r\n\r\n            .wrapper .yvv-main-video {\r\n                height: 40vh;\r\n                min-height: 180px;\r\n            }\r\n\r\n            .wrapper .yvv-video-header {\r\n                padding: 12px;\r\n            }\r\n\r\n            .wrapper .yvv-video-title {\r\n                font-size: 14px;\r\n            }\r\n\r\n            .wrapper .yvv-current-quality-badge {\r\n                font-size: 10px;\r\n                padding: 3px 8px;\r\n            }\r\n\r\n            .wrapper .yvv-close-viewer-btn {\r\n                width: 28px;\r\n                height: 28px;\r\n                font-size: 12px;\r\n            }\r\n\r\n            .wrapper .yvv-thumbnail-play-btn {\r\n                width: 60px;\r\n                height: 60px;\r\n                font-size: 22px;\r\n            }\r\n\r\n            .wrapper .yvv-video-controls-section {\r\n                padding: 10px 12px;\r\n            }\r\n\r\n            .wrapper .yvv-control-btn {\r\n                width: 32px;\r\n                height: 32px;\r\n                font-size: 14px;\r\n            }\r\n\r\n            .wrapper .yvv-progress-bar {\r\n                height: 8px;\r\n            }\r\n\r\n            .wrapper .yvv-time-info {\r\n                font-size: 11px;\r\n            }\r\n\r\n            .wrapper .yvv-volume-section {\r\n                min-width: 70px;\r\n            }\r\n\r\n            .wrapper .yvv-volume-icon {\r\n                font-size: 12px;\r\n            }\r\n\r\n            .wrapper .yvv-volume-control {\r\n                width: 40px;\r\n            }\r\n\r\n            .wrapper .yvv-video-info-section,\r\n            .wrapper .yvv-audio-player-section {\r\n                padding: 18px;\r\n                margin-bottom: 20px;\r\n            }\r\n\r\n            .wrapper .yvv-video-thumbnail {\r\n                width: 80px;\r\n                height: 60px;\r\n            }\r\n\r\n            .wrapper .yvv-video-details h2 {\r\n                font-size: 16px;\r\n            }\r\n\r\n            .wrapper .yvv-video-stats {\r\n                gap: 10px;\r\n            }\r\n\r\n            .wrapper .yvv-stat-item {\r\n                font-size: 12px;\r\n            }\r\n\r\n            .wrapper .yvv-stat-icon {\r\n                width: 18px;\r\n                height: 18px;\r\n                font-size: 9px;\r\n            }\r\n\r\n            .wrapper .yvv-format-selection {\r\n                padding: 12px;\r\n            }\r\n\r\n            .wrapper .yvv-format-title {\r\n                font-size: 15px;\r\n                margin-bottom: 12px;\r\n            }\r\n\r\n            .wrapper .yvv-format-tab {\r\n                max-width: 160px;\r\n                padding: 7px 12px;\r\n                font-size: 11px;\r\n            }\r\n\r\n            .wrapper .yvv-format-option {\r\n                padding: 12px;\r\n            }\r\n\r\n            .wrapper .yvv-format-quality {\r\n                font-size: 14px;\r\n            }\r\n\r\n            .wrapper .yvv-format-type-badge {\r\n                padding: 3px 8px;\r\n                font-size: 9px;\r\n            }\r\n\r\n            .wrapper .yvv-action-btn {\r\n                padding: 8px;\r\n                font-size: 11px;\r\n            }\r\n\r\n            .wrapper .yvv-audio-visualizer {\r\n                padding: 12px;\r\n                margin-bottom: 12px;\r\n            }\r\n\r\n            .wrapper .yvv-visualizer-bars {\r\n                height: 40px;\r\n                gap: 2px;\r\n            }\r\n\r\n            .wrapper .yvv-visualizer-bar {\r\n                width: 2px;\r\n            }\r\n\r\n            .wrapper .yvv-audio-controls {\r\n                padding: 10px 12px;\r\n            }\r\n\r\n            .wrapper .yvv-audio-play-btn {\r\n                width: 40px;\r\n                height: 40px;\r\n                font-size: 16px;\r\n            }\r\n\r\n            .wrapper .yvv-audio-time {\r\n                font-size: 11px;\r\n                min-width: 60px;\r\n            }\r\n\r\n            .wrapper .yvv-audio-volume {\r\n                min-width: 70px;\r\n            }\r\n\r\n            .wrapper .yvv-audio-volume-icon {\r\n                font-size: 12px;\r\n            }\r\n\r\n            .wrapper .yvv-audio-volume-slider {\r\n                width: 40px;\r\n            }\r\n\r\n            .wrapper .yvv-download-progress {\r\n                left: 8px;\r\n                right: 8px;\r\n                padding: 10px;\r\n            }\r\n\r\n            .wrapper .yvv-progress-text {\r\n                font-size: 11px;\r\n            }\r\n\r\n            .wrapper .yvv-cancel-btn {\r\n                font-size: 9px;\r\n            }\r\n\r\n            .wrapper .yvv-progress-details {\r\n                font-size: 9px;\r\n            }\r\n\r\n            .wrapper .yvv-cyber-loading {\r\n                padding: 20px;\r\n            }\r\n\r\n            .wrapper .yvv-loading-waves {\r\n                gap: 6px;\r\n            }\r\n\r\n            .wrapper .yvv-loading-text {\r\n                font-size: 12px;\r\n            }\r\n        }\r\n    <\/style>\r\n\r\n\r\n<body class=\"yvv-body\">\r\n    <div class=\"wrapper\">\r\n        <div class=\"yvv-container\">\r\n        <!-- Header Section -->\r\n        <div class=\"yvv-header\">\r\n            <div class=\"yvv-brand-logo\">\r\n                <div class=\"yvv-brand-icon\">\ud83c\udfa5<\/div>\r\n                <div class=\"yvv-brand-title\">YouTube Video Viewer<\/div>\r\n            <\/div>\r\n            <div class=\"yvv-brand-subtitle\">Experience YouTube videos with advanced streaming capabilities and premium\r\n                audio quality<\/div>\r\n\r\n            <div class=\"yvv-feature-badges\">\r\n                <div class=\"yvv-feature-badge\">\r\n                    <div class=\"yvv-badge-icon\">\u2713<\/div>\r\n                    <span>HD Streaming<\/span>\r\n                <\/div>\r\n                <div class=\"yvv-feature-badge\">\r\n                    <div class=\"yvv-badge-icon\">\u2713<\/div>\r\n                    <span>Audio Player<\/span>\r\n                <\/div>\r\n                <div class=\"yvv-feature-badge\">\r\n                    <div class=\"yvv-badge-icon\">\u2713<\/div>\r\n                    <span>Download Options<\/span>\r\n                <\/div>\r\n                <div class=\"yvv-feature-badge\">\r\n                    <div class=\"yvv-badge-icon\">\u2713<\/div>\r\n                    <span>Premium Experience<\/span>\r\n                <\/div>\r\n            <\/div>\r\n    <\/div>\r\n\r\n        <!-- Search Section -->\r\n        <div class=\"yvv-search-section\">\r\n            <div class=\"yvv-search-form\">\r\n                <input type=\"text\" class=\"yvv-search-input\"\r\n                    placeholder=\"Enter YouTube URL to start viewing (e.g., https:\/\/www.youtube.com\/watch?v=dQw4w9WgXcQ)\"\r\n                    id=\"yvv-videoInput\">\r\n                <button class=\"yvv-search-btn\" onclick=\"yvv_loadVideo()\" id=\"yvv-loadBtn\">\r\n                    <span id=\"yvv-loadBtnText\">\ud83c\udfa5 Load Video<\/span>\r\n                <\/button>\r\n    <\/div>\r\n\r\n            <div class=\"yvv-loading-indicator\" id=\"yvv-loadingIndicator\">\r\n                <div class=\"yvv-cyber-loading\">\r\n                    <div class=\"yvv-loading-grid\"><\/div>\r\n                    <div class=\"yvv-loading-waves\">\r\n                        <div class=\"yvv-loading-wave\"><\/div>\r\n                        <div class=\"yvv-loading-wave\"><\/div>\r\n                        <div class=\"yvv-loading-wave\"><\/div>\r\n                    <\/div>\r\n                    <div class=\"yvv-loading-text\">\r\n                        <span class=\"yvv-loading-dots\">Loading video content<\/span>\r\n                        <div class=\"yvv-loading-progress-bar\">\r\n                            <div class=\"yvv-loading-progress-fill\"><\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <div class=\"yvv-error-display\" id=\"yvv-errorDisplay\"><\/div>\r\n            <\/div>\r\n\r\n        <!-- Video Player Section - Shows immediately after loading -->\r\n        <div class=\"yvv-video-player-section\" id=\"yvv-videoPlayerSection\">\r\n            <div class=\"yvv-video-header\">\r\n                <h2 class=\"yvv-video-title\" id=\"yvv-playerVideoTitle\">Video Title<\/h2>\r\n                <div class=\"yvv-current-quality-badge\" id=\"yvv-currentQualityBadge\">Ready to Play<\/div>\r\n                <button class=\"yvv-close-viewer-btn\" onclick=\"yvv_closeVideoPlayer()\">\u00d7<\/button>\r\n                <\/div>\r\n            <div class=\"yvv-video-container\">\r\n                <video class=\"yvv-main-video\" id=\"yvv-mainVideoPlayer\" controls>\r\n                    Your browser does not support the video tag.\r\n                <\/video>\r\n                <div class=\"yvv-video-thumbnail-overlay\" id=\"yvv-videoThumbnailOverlay\">\r\n                    <div class=\"yvv-thumbnail-play-btn\" onclick=\"yvv_playDefaultVideo()\">\u25b6<\/div>\r\n                <\/div>\r\n                <\/div>\r\n            <div class=\"yvv-video-controls-section\">\r\n                <div class=\"yvv-video-controls\">\r\n                    <button class=\"yvv-control-btn\" id=\"yvv-playPauseControl\"\r\n                        onclick=\"yvv_toggleVideoPlayback()\">\u25b6<\/button>\r\n                    <div class=\"yvv-progress-section\">\r\n                        <div class=\"yvv-progress-bar\" onclick=\"yvv_seekVideoTo(event)\">\r\n                            <div class=\"yvv-progress-fill\" id=\"yvv-videoProgressFill\"><\/div>\r\n                <\/div>\r\n                        <div class=\"yvv-time-info\" id=\"yvv-videoTimeInfo\">0:00 \/ 0:00<\/div>\r\n            <\/div>\r\n                    <div class=\"yvv-volume-section\">\r\n                        <span class=\"yvv-volume-icon\" id=\"yvv-videoVolumeIcon\">\ud83d\udd0a<\/span>\r\n                        <input type=\"range\" class=\"yvv-volume-control\" id=\"yvv-videoVolumeControl\" min=\"0\" max=\"100\"\r\n                            value=\"50\" oninput=\"yvv_adjustVideoVolume(this.value)\">\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n            <\/div>\r\n\r\n        <!-- Video Info Section -->\r\n        <div class=\"yvv-video-info-section\" id=\"yvv-videoInfoSection\">\r\n            <div class=\"yvv-video-metadata\">\r\n                <img decoding=\"async\" class=\"yvv-video-thumbnail\" id=\"yvv-videoThumbnail\" src=\"\/placeholder.svg\" alt=\"Video Thumbnail\">\r\n                <div class=\"yvv-video-details\">\r\n                    <h2 id=\"yvv-videoDetailsTitle\">Video Title<\/h2>\r\n                    <div class=\"yvv-video-stats\">\r\n                        <div class=\"yvv-stat-item\">\r\n                            <div class=\"yvv-stat-icon\">\u23f1<\/div>\r\n                            <span id=\"yvv-videoDurationStat\">Duration<\/span>\r\n                <\/div>\r\n                        <div class=\"yvv-stat-item\">\r\n                            <div class=\"yvv-stat-icon\">\ud83d\udc64<\/div>\r\n                            <span id=\"yvv-videoUploaderStat\">Channel<\/span>\r\n                        <\/div>\r\n                        <div class=\"yvv-stat-item\">\r\n                            <div class=\"yvv-stat-icon\">\ud83c\udfac<\/div>\r\n                            <span>Premium Quality<\/span>\r\n                        <\/div>\r\n                    <\/div>\r\n            <\/div>\r\n        <\/div>\r\n\r\n            <div class=\"yvv-format-selection\">\r\n                <h3 class=\"yvv-format-title\">Available Formats & Downloads<\/h3>\r\n                <div class=\"yvv-format-tabs\">\r\n                    <div class=\"yvv-format-tab active\" onclick=\"yvv_switchFormatTab('video')\">Video Formats<\/div>\r\n                    <div class=\"yvv-format-tab\" onclick=\"yvv_switchFormatTab('audio')\">Audio Only<\/div>\r\n                <\/div>\r\n                <div class=\"yvv-format-grid\" id=\"yvv-formatGrid\">\r\n                    <!-- Format options will be populated here -->\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <!-- Audio Player Section -->\r\n        <div class=\"yvv-audio-player-section\" id=\"yvv-audioPlayerSection\">\r\n            <div class=\"yvv-audio-visualizer\">\r\n                <div class=\"yvv-visualizer-bars\">\r\n                    <div class=\"yvv-visualizer-bar\"><\/div>\r\n                    <div class=\"yvv-visualizer-bar\"><\/div>\r\n                    <div class=\"yvv-visualizer-bar\"><\/div>\r\n                    <div class=\"yvv-visualizer-bar\"><\/div>\r\n                    <div class=\"yvv-visualizer-bar\"><\/div>\r\n                    <div class=\"yvv-visualizer-bar\"><\/div>\r\n                    <div class=\"yvv-visualizer-bar\"><\/div>\r\n                    <div class=\"yvv-visualizer-bar\"><\/div>\r\n                    <div class=\"yvv-visualizer-bar\"><\/div>\r\n                    <div class=\"yvv-visualizer-bar\"><\/div>\r\n                    <div class=\"yvv-visualizer-bar\"><\/div>\r\n                    <div class=\"yvv-visualizer-bar\"><\/div>\r\n                    <\/div>\r\n                <div class=\"yvv-audio-controls\">\r\n                    <button class=\"yvv-audio-play-btn\" id=\"yvv-audioPlayBtn\"\r\n                        onclick=\"yvv_toggleAudioPlayback()\">\u25b6<\/button>\r\n                    <div class=\"yvv-audio-progress\" onclick=\"yvv_seekAudioTo(event)\">\r\n                        <div class=\"yvv-audio-progress-track\">\r\n                            <div class=\"yvv-audio-progress-fill\" id=\"yvv-audioProgressFill\"><\/div>\r\n                <\/div>\r\n            <\/div>\r\n                    <div class=\"yvv-audio-time\" id=\"yvv-audioTimeInfo\">0:00 \/ 0:00<\/div>\r\n                    <div class=\"yvv-audio-volume\">\r\n                        <span class=\"yvv-audio-volume-icon\" id=\"yvv-audioVolumeIcon\">\ud83d\udd0a<\/span>\r\n                        <input type=\"range\" class=\"yvv-audio-volume-slider\" id=\"yvv-audioVolumeSlider\" min=\"0\" max=\"100\"\r\n                            value=\"50\" oninput=\"yvv_adjustAudioVolume(this.value)\">\r\n                    <\/div>\r\n                <\/div>\r\n                <audio id=\"yvv-audioPlayer\" preload=\"none\" style=\"display: none;\"><\/audio>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <!-- Download Progress -->\r\n    <div class=\"yvv-download-progress\" id=\"yvv-downloadProgress\">\r\n        <div class=\"yvv-progress-header\">\r\n            <span class=\"yvv-progress-text\" id=\"yvv-progressText\">Downloading...<\/span>\r\n            <button class=\"yvv-cancel-btn\" onclick=\"yvv_cancelDownload()\">Cancel<\/button>\r\n        <\/div>\r\n        <div class=\"yvv-progress-bar-container\">\r\n            <div class=\"yvv-progress-bar-fill\" id=\"yvv-progressBarFill\"><\/div>\r\n        <\/div>\r\n        <div class=\"yvv-progress-details\">\r\n            <span id=\"yvv-progressPercent\">0%<\/span>\r\n            <span id=\"yvv-progressSize\">0 MB \/ 0 MB<\/span>\r\n        <\/div>\r\n        <\/div>\r\n    <\/div>\r\n\r\n\t   <script src=\"https:\/\/tools.xrespond.com\/api\/rate-limit-handler.js\"><\/script>\r\n<script src=\"https:\/\/tools.xrespond.com\/api\/js\/client-ip-detector.js\"><\/script>\r\n \r\n\t\r\n    <script>\r\n        \/\/ Using your original API\r\n        const API_URL = 'https:\/\/tools.xrespond.com\/api\/youtube\/video\/downloader';\r\n        let currentVideoData = null;\r\n        let videoPlayer = null;\r\n        let audioPlayer = null;\r\n        let isVideoPlaying = false;\r\n        let isAudioPlaying = false;\r\n        let currentFormatTab = 'video';\r\n        let downloadController = null;\r\n        let currentPlayingFormat = null;\r\n        let defaultVideoFormat = null;\r\n\r\n        function yvv_isValidYouTubeURL(url) {\r\n            const patterns = [\r\n                \/^https:\\\/\\\/(?:www\\.)?youtube\\.com\\\/watch\\?v=[\\w-]+\/,\r\n                \/^https:\\\/\\\/youtu\\.be\\\/[\\w-]+\/,\r\n                \/^https:\\\/\\\/(?:www\\.)?youtube\\.com\\\/shorts\\\/[\\w-]+\/\r\n            ];\r\n            return patterns.some(pattern => pattern.test(url));\r\n        }\r\n\r\n        function yvv_showError(message) {\r\n            const errorDiv = document.getElementById('yvv-errorDisplay');\r\n            const urlInput = document.getElementById('yvv-videoInput');\r\n\r\n            errorDiv.textContent = message;\r\n            errorDiv.style.display = 'block';\r\n            urlInput.classList.add('error');\r\n\r\n            setTimeout(() => {\r\n                errorDiv.style.display = 'none';\r\n                urlInput.classList.remove('error');\r\n            }, 5000);\r\n        }\r\n\r\n        function yvv_hideError() {\r\n            const errorDiv = document.getElementById('yvv-errorDisplay');\r\n            const urlInput = document.getElementById('yvv-videoInput');\r\n\r\n            errorDiv.style.display = 'none';\r\n            urlInput.classList.remove('error');\r\n        }\r\n\r\n        function yvv_showLoading() {\r\n            document.getElementById('yvv-loadingIndicator').style.display = 'block';\r\n            document.getElementById('yvv-loadBtn').disabled = true;\r\n            document.getElementById('yvv-loadBtnText').textContent = '\u23f3 Loading...';\r\n        }\r\n\r\n        function yvv_hideLoading() {\r\n            document.getElementById('yvv-loadingIndicator').style.display = 'none';\r\n            document.getElementById('yvv-loadBtn').disabled = false;\r\n            document.getElementById('yvv-loadBtnText').textContent = '\ud83c\udfa5 Load Video';\r\n        }\r\n\r\n        function yvv_formatFileSize(bytes) {\r\n            if (bytes === 0) return '0 Bytes';\r\n            const k = 1024;\r\n            const sizes = ['Bytes', 'KB', 'MB', 'GB'];\r\n            const i = Math.floor(Math.log(bytes) \/ Math.log(k));\r\n            return parseFloat((bytes \/ Math.pow(k, i)).toFixed(2)) + ' ' + sizes[i];\r\n        }\r\n\r\n        function yvv_showDownloadProgress(text, progress = 0, downloaded = 0, total = 0) {\r\n            const progressDiv = document.getElementById('yvv-downloadProgress');\r\n            const progressText = document.getElementById('yvv-progressText');\r\n            const progressFill = document.getElementById('yvv-progressBarFill');\r\n            const progressPercent = document.getElementById('yvv-progressPercent');\r\n            const progressSize = document.getElementById('yvv-progressSize');\r\n\r\n            progressText.textContent = text;\r\n            progressFill.style.width = `${progress}%`;\r\n            progressPercent.textContent = `${Math.round(progress)}%`;\r\n            progressSize.textContent = `${yvv_formatFileSize(downloaded)} \/ ${yvv_formatFileSize(total)}`;\r\n            progressDiv.classList.add('show');\r\n        }\r\n\r\n        function yvv_hideDownloadProgress() {\r\n            document.getElementById('yvv-downloadProgress').classList.remove('show');\r\n        }\r\n\r\n        async function yvv_loadVideo() {\r\n            const urlInput = document.getElementById('yvv-videoInput');\r\n            const url = urlInput.value.trim();\r\n\r\n            if (!url) {\r\n                yvv_showError('Please enter a YouTube URL');\r\n                return;\r\n            }\r\n\r\n            if (!yvv_isValidYouTubeURL(url)) {\r\n                yvv_showError('Please enter a valid YouTube URL');\r\n                return;\r\n            }\r\n\r\n            yvv_hideError();\r\n            yvv_showLoading();\r\n\r\n            try {\r\n                const formData = new FormData();\r\n                formData.append('url', url);\r\n\r\n                const response = await fetch(API_URL, {\r\n                    method: 'POST',\r\n                    body: formData\r\n                });\r\n\r\n                if (!response.ok) {\r\n                    throw new Error(`HTTP error! status: ${response.status}`);\r\n                }\r\n\r\n                const data = await response.json();\r\n\r\n                if (!data.success) {\r\n                    throw new Error(data.message || 'Failed to load video data');\r\n                }\r\n\r\n                currentVideoData = data.data.data;\r\n                yvv_displayVideoInfo(currentVideoData);\r\n\r\n                \/\/ Show video player with thumbnail\r\n                yvv_setupVideoPlayerWithThumbnail();\r\n\r\n            } catch (error) {\r\n                console.error('Error:', error);\r\n                yvv_showError('Failed to load video data. Please check the URL and try again.');\r\n            } finally {\r\n                yvv_hideLoading();\r\n            }\r\n        }\r\n\r\n        function yvv_setupVideoPlayerWithThumbnail() {\r\n            const videoPlayerSection = document.getElementById('yvv-videoPlayerSection');\r\n            const thumbnailOverlay = document.getElementById('yvv-videoThumbnailOverlay');\r\n            const playerTitle = document.getElementById('yvv-playerVideoTitle');\r\n            const qualityBadge = document.getElementById('yvv-currentQualityBadge');\r\n\r\n            \/\/ Set thumbnail background\r\n            thumbnailOverlay.style.backgroundImage = `url(${currentVideoData.thumbnail})`;\r\n            thumbnailOverlay.classList.remove('hidden');\r\n\r\n            \/\/ Set title\r\n            playerTitle.textContent = currentVideoData.title;\r\n            qualityBadge.textContent = 'Ready to Play';\r\n\r\n            \/\/ Show video player section\r\n            videoPlayerSection.style.display = 'block';\r\n\r\n            \/\/ Find default video format (prefer 720p or first available)\r\n            const videoFormats = currentVideoData.links.filter(link => link.type === 'video');\r\n            defaultVideoFormat = videoFormats.find(f => f.resolution.includes('720p')) || videoFormats[0];\r\n\r\n            \/\/ Reset video player\r\n            const videoPlayer = document.getElementById('yvv-mainVideoPlayer');\r\n            videoPlayer.src = '';\r\n            isVideoPlaying = false;\r\n            document.getElementById('yvv-playPauseControl').textContent = '\u25b6';\r\n\r\n            \/\/ Hide audio player if open\r\n            document.getElementById('yvv-audioPlayerSection').style.display = 'none';\r\n        }\r\n\r\n        function yvv_playDefaultVideo() {\r\n            if (defaultVideoFormat) {\r\n                yvv_streamVideoDirectly(defaultVideoFormat.download_url, defaultVideoFormat.resolution);\r\n                yvv_updateCurrentPlayingFormat(defaultVideoFormat.resolution, 'video');\r\n            }\r\n        }\r\n\r\n        function yvv_displayVideoInfo(data) {\r\n            \/\/ Set video info\r\n            document.getElementById('yvv-videoDetailsTitle').textContent = data.title;\r\n            document.getElementById('yvv-videoDurationStat').textContent = data.duration;\r\n            document.getElementById('yvv-videoUploaderStat').textContent = data.uploader;\r\n            document.getElementById('yvv-videoThumbnail').src = data.thumbnail;\r\n\r\n            \/\/ Display formats\r\n            yvv_displayFormats(data.links);\r\n\r\n            document.getElementById('yvv-videoInfoSection').style.display = 'block';\r\n        }\r\n\r\n        function yvv_streamVideoDirectly(url, resolution) {\r\n            const videoPlayer = document.getElementById('yvv-mainVideoPlayer');\r\n            const thumbnailOverlay = document.getElementById('yvv-videoThumbnailOverlay');\r\n            const qualityBadge = document.getElementById('yvv-currentQualityBadge');\r\n\r\n            \/\/ Hide thumbnail overlay\r\n            thumbnailOverlay.classList.add('hidden');\r\n\r\n            \/\/ Set video source\r\n            videoPlayer.src = url;\r\n            videoPlayer.load();\r\n\r\n            \/\/ Update quality badge\r\n            qualityBadge.textContent = resolution;\r\n\r\n            \/\/ Reset controls\r\n            isVideoPlaying = false;\r\n            document.getElementById('yvv-playPauseControl').textContent = '\u25b6';\r\n\r\n            \/\/ Setup event listeners\r\n            yvv_setupVideoEventListeners();\r\n\r\n            \/\/ Scroll to video player\r\n            document.getElementById('yvv-videoPlayerSection').scrollIntoView({\r\n                behavior: 'smooth',\r\n                block: 'start'\r\n            });\r\n        }\r\n\r\n        function yvv_updateCurrentPlayingFormat(quality, type) {\r\n            \/\/ Remove previous playing indicators\r\n            document.querySelectorAll('.yvv-format-option').forEach(option => {\r\n                option.classList.remove('playing');\r\n            });\r\n            document.querySelectorAll('.yvv-stream-action').forEach(btn => {\r\n                btn.classList.remove('playing');\r\n                btn.innerHTML = btn.innerHTML.replace('\u23f8 Playing', '\u25b6 Stream').replace('\ud83c\udfb5 Playing', '\ud83c\udfb5 Stream Audio');\r\n            });\r\n\r\n            \/\/ Set current playing format\r\n            currentPlayingFormat = { quality, type };\r\n\r\n            \/\/ Update format cards to show which is playing\r\n            const formatCards = document.querySelectorAll('.yvv-format-option');\r\n            formatCards.forEach(card => {\r\n                const qualityElement = card.querySelector('.yvv-format-quality');\r\n                const streamBtn = card.querySelector('.yvv-stream-action, .yvv-audio-action');\r\n\r\n                if (qualityElement && streamBtn) {\r\n                    const cardQuality = qualityElement.textContent;\r\n                    const isCurrentFormat = (type === 'video' && cardQuality === quality) ||\r\n                        (type === 'audio' && cardQuality === 'Audio Quality' && quality === 'Audio');\r\n\r\n                    if (isCurrentFormat) {\r\n                        card.classList.add('playing');\r\n                        streamBtn.classList.add('playing');\r\n                        if (type === 'video') {\r\n                            streamBtn.innerHTML = '\u23f8 Playing';\r\n                        } else {\r\n                            streamBtn.innerHTML = '\ud83c\udfb5 Playing';\r\n                        }\r\n                    }\r\n                }\r\n            });\r\n        }\r\n\r\n        function yvv_switchFormatTab(tab) {\r\n            currentFormatTab = tab;\r\n\r\n            \/\/ Update tab appearance\r\n            document.querySelectorAll('.yvv-format-tab').forEach(t => t.classList.remove('active'));\r\n            event.target.classList.add('active');\r\n\r\n            \/\/ Display formats for selected tab\r\n            if (currentVideoData) {\r\n                yvv_displayFormats(currentVideoData.links);\r\n            }\r\n        }\r\n\r\n        function yvv_displayFormats(links) {\r\n            const formatGrid = document.getElementById('yvv-formatGrid');\r\n            formatGrid.innerHTML = '';\r\n\r\n            let formats;\r\n            if (currentFormatTab === 'video') {\r\n                formats = links.filter(link => link.type === 'video');\r\n            } else {\r\n                formats = links.filter(link => link.type === 'audio');\r\n            }\r\n\r\n            formats.forEach((format, index) => {\r\n                const formatCard = document.createElement('div');\r\n                formatCard.className = 'yvv-format-option';\r\n\r\n                \/\/ Check if this format is currently playing\r\n                const isPlaying = currentPlayingFormat &&\r\n                    ((currentFormatTab === 'video' && currentPlayingFormat.quality === format.resolution && currentPlayingFormat.type === 'video') ||\r\n                        (currentFormatTab === 'audio' && currentPlayingFormat.type === 'audio'));\r\n\r\n                if (isPlaying) {\r\n                    formatCard.classList.add('playing');\r\n                }\r\n\r\n                if (currentFormatTab === 'video') {\r\n                    \/\/ Check if this is 360p to hide download button\r\n                    const is360p = format.resolution.includes('360p');\r\n\r\n                    formatCard.innerHTML = `\r\n                        <div class=\"yvv-format-header\">\r\n                            <div class=\"yvv-format-quality\">${format.resolution}<\/div>\r\n                            <div class=\"yvv-format-type-badge\">MP4<\/div>\r\n                            <\/div>\r\n                        <div class=\"yvv-format-actions\">\r\n                            <button class=\"yvv-action-btn yvv-stream-action ${isPlaying ? 'playing' : ''}\" onclick=\"yvv_streamVideo('${format.download_url}', '${format.resolution}')\">\r\n                                ${isPlaying ? '\u23f8 Playing' : '\u25b6 Stream'}\r\n                            <\/button>\r\n                            ${!is360p ? `<button class=\"yvv-action-btn yvv-download-action\" onclick=\"yvv_downloadFile('${format.download_url}', '${format.resolution}', 'video')\">\r\n                                \u2b07\ufe0f Download\r\n                            <\/button>` : ''}\r\n                        <\/div>\r\n                    `;\r\n                } else {\r\n                    formatCard.innerHTML = `\r\n                        <div class=\"yvv-format-header\">\r\n                            <div class=\"yvv-format-quality\">Audio Quality<\/div>\r\n                            <div class=\"yvv-format-type-badge\">MP3<\/div>\r\n                    <\/div>\r\n                        <div class=\"yvv-format-actions\">\r\n                            <button class=\"yvv-action-btn yvv-audio-action ${isPlaying ? 'playing' : ''}\" onclick=\"yvv_streamAudio('${format.download_url}')\">\r\n                                ${isPlaying ? '\ud83c\udfb5 Playing' : '\ud83c\udfb5 Stream Audio'}\r\n                            <\/button>\r\n                            <button class=\"yvv-action-btn yvv-download-action\" onclick=\"yvv_downloadFile('${format.download_url}', 'Audio', 'audio')\">\r\n                                \u2b07\ufe0f Download\r\n                            <\/button>\r\n                <\/div>\r\n            `;\r\n        }\r\n\r\n                formatGrid.appendChild(formatCard);\r\n            });\r\n        }\r\n\r\n        function yvv_streamVideo(url, resolution) {\r\n            yvv_streamVideoDirectly(url, resolution);\r\n            yvv_updateCurrentPlayingFormat(resolution, 'video');\r\n        }\r\n\r\n        function yvv_streamAudio(url) {\r\n            const audioPlayer = document.getElementById('yvv-audioPlayer');\r\n            const audioPlayerSection = document.getElementById('yvv-audioPlayerSection');\r\n\r\n            \/\/ Set audio source\r\n            audioPlayer.src = url;\r\n            audioPlayer.load();\r\n\r\n            \/\/ Show audio player section\r\n            audioPlayerSection.style.display = 'block';\r\n            audioPlayerSection.scrollIntoView({ behavior: 'smooth' });\r\n\r\n            \/\/ Reset controls\r\n            isAudioPlaying = false;\r\n            document.getElementById('yvv-audioPlayBtn').textContent = '\u25b6';\r\n\r\n            \/\/ Setup event listeners\r\n            yvv_setupAudioEventListeners();\r\n\r\n            \/\/ Update playing format\r\n            yvv_updateCurrentPlayingFormat('Audio', 'audio');\r\n\r\n            \/\/ Hide video player if open\r\n            document.getElementById('yvv-videoPlayerSection').style.display = 'none';\r\n        }\r\n\r\n        async function yvv_downloadFile(url, quality, type) {\r\n            const downloadBtn = event.target;\r\n            const originalText = downloadBtn.innerHTML;\r\n\r\n            downloadBtn.disabled = true;\r\n            downloadBtn.innerHTML = '\u23f3 Preparing...';\r\n\r\n            \/\/ Create abort controller for cancellation\r\n            downloadController = new AbortController();\r\n\r\n            try {\r\n                yvv_showDownloadProgress(`Starting ${quality} download...`, 0);\r\n\r\n                const response = await fetch(url, {\r\n                    signal: downloadController.signal\r\n                });\r\n\r\n                if (!response.ok) {\r\n                    throw new Error(`HTTP error! status: ${response.status}`);\r\n                }\r\n\r\n                const totalSize = parseInt(response.headers.get('content-length') || '0');\r\n                const reader = response.body.getReader();\r\n                let receivedSize = 0;\r\n                const chunks = [];\r\n\r\n                while (true) {\r\n                    const { done, value } = await reader.read();\r\n\r\n                    if (done) break;\r\n\r\n                    chunks.push(value);\r\n                    receivedSize += value.length;\r\n\r\n                    const progress = totalSize ? (receivedSize \/ totalSize) * 100 : 0;\r\n                    yvv_showDownloadProgress(`Downloading ${quality}...`, progress, receivedSize, totalSize);\r\n                }\r\n\r\n                yvv_showDownloadProgress('Processing download...', 95, receivedSize, totalSize);\r\n\r\n                \/\/ Create blob and download\r\n                const mimeType = type === 'video' ? 'video\/mp4' : 'audio\/mpeg';\r\n                const extension = type === 'video' ? 'mp4' : 'mp3';\r\n                const blob = new Blob(chunks, { type: mimeType });\r\n                const downloadUrl = URL.createObjectURL(blob);\r\n\r\n                \/\/ Create download link\r\n                const a = document.createElement('a');\r\n                a.href = downloadUrl;\r\n                a.download = `${currentVideoData.title.replace(\/[^a-zA-Z0-9\\s]\/g, '_').trim()}_${quality}.${extension}`;\r\n                a.style.display = 'none';\r\n                document.body.appendChild(a);\r\n                a.click();\r\n                document.body.removeChild(a);\r\n\r\n                \/\/ Clean up URL\r\n                setTimeout(() => URL.revokeObjectURL(downloadUrl), 1000);\r\n\r\n                yvv_showDownloadProgress('Download completed!', 100, receivedSize, totalSize);\r\n                setTimeout(yvv_hideDownloadProgress, 3000);\r\n\r\n            } catch (error) {\r\n                if (error.name === 'AbortError') {\r\n                    yvv_showDownloadProgress('Download cancelled', 0);\r\n                    setTimeout(yvv_hideDownloadProgress, 2000);\r\n                } else {\r\n                    yvv_showError(`Download failed: ${error.message}`);\r\n                    yvv_hideDownloadProgress();\r\n                }\r\n            } finally {\r\n                downloadBtn.disabled = false;\r\n                downloadBtn.innerHTML = originalText;\r\n                downloadController = null;\r\n            }\r\n        }\r\n\r\n        function yvv_cancelDownload() {\r\n            if (downloadController) {\r\n                downloadController.abort();\r\n                downloadController = null;\r\n            }\r\n        }\r\n\r\n        function yvv_setupVideoEventListeners() {\r\n            const video = document.getElementById('yvv-mainVideoPlayer');\r\n\r\n            \/\/ Remove existing event listeners\r\n            video.removeEventListener('timeupdate', yvv_updateVideoProgress);\r\n            video.removeEventListener('loadedmetadata', yvv_updateVideoProgress);\r\n            video.removeEventListener('ended', yvv_handleVideoEnded);\r\n\r\n            \/\/ Add event listeners\r\n            video.addEventListener('timeupdate', yvv_updateVideoProgress);\r\n            video.addEventListener('loadedmetadata', yvv_updateVideoProgress);\r\n            video.addEventListener('ended', yvv_handleVideoEnded);\r\n\r\n            \/\/ Initialize volume\r\n            const volumeSlider = document.getElementById('yvv-videoVolumeControl');\r\n            video.volume = volumeSlider.value \/ 100;\r\n        }\r\n\r\n        function yvv_setupAudioEventListeners() {\r\n            const audio = document.getElementById('yvv-audioPlayer');\r\n\r\n            \/\/ Remove existing event listeners\r\n            audio.removeEventListener('timeupdate', yvv_updateAudioProgress);\r\n            audio.removeEventListener('loadedmetadata', yvv_updateAudioProgress);\r\n            audio.removeEventListener('ended', yvv_handleAudioEnded);\r\n\r\n            \/\/ Add event listeners\r\n            audio.addEventListener('timeupdate', yvv_updateAudioProgress);\r\n            audio.addEventListener('loadedmetadata', yvv_updateAudioProgress);\r\n            audio.addEventListener('ended', yvv_handleAudioEnded);\r\n\r\n            \/\/ Initialize volume\r\n            const volumeSlider = document.getElementById('yvv-audioVolumeSlider');\r\n            audio.volume = volumeSlider.value \/ 100;\r\n        }\r\n\r\n        function yvv_toggleVideoPlayback() {\r\n            const video = document.getElementById('yvv-mainVideoPlayer');\r\n            const btn = document.getElementById('yvv-playPauseControl');\r\n\r\n            if (isVideoPlaying) {\r\n                video.pause();\r\n                btn.textContent = '\u25b6';\r\n                isVideoPlaying = false;\r\n            } else {\r\n                video.play().catch(error => {\r\n                    console.error('Video playback failed:', error);\r\n                    yvv_showError('Video streaming not available. Please try another format.');\r\n                });\r\n                btn.textContent = '\u23f8';\r\n                isVideoPlaying = true;\r\n            }\r\n        }\r\n\r\n        function yvv_toggleAudioPlayback() {\r\n            const audio = document.getElementById('yvv-audioPlayer');\r\n            const btn = document.getElementById('yvv-audioPlayBtn');\r\n\r\n            if (isAudioPlaying) {\r\n                audio.pause();\r\n                btn.textContent = '\u25b6';\r\n                isAudioPlaying = false;\r\n                yvv_stopVisualizerAnimation();\r\n            } else {\r\n                audio.play().catch(error => {\r\n                    console.error('Audio playback failed:', error);\r\n                    yvv_showError('Audio streaming not available. Please try another format.');\r\n                });\r\n                btn.textContent = '\u23f8';\r\n                isAudioPlaying = true;\r\n                yvv_startVisualizerAnimation();\r\n            }\r\n        }\r\n\r\n        function yvv_adjustVideoVolume(value) {\r\n            const video = document.getElementById('yvv-mainVideoPlayer');\r\n            const volumeIcon = document.getElementById('yvv-videoVolumeIcon');\r\n\r\n            video.volume = value \/ 100;\r\n\r\n            if (value == 0) {\r\n                volumeIcon.textContent = '\ud83d\udd07';\r\n            } else if (value < 30) {\r\n                volumeIcon.textContent = '\ud83d\udd08';\r\n            } else if (value < 70) {\r\n                volumeIcon.textContent = '\ud83d\udd09';\r\n            } else {\r\n                volumeIcon.textContent = '\ud83d\udd0a';\r\n            }\r\n        }\r\n\r\n        function yvv_adjustAudioVolume(value) {\r\n            const audio = document.getElementById('yvv-audioPlayer');\r\n            const volumeIcon = document.getElementById('yvv-audioVolumeIcon');\r\n\r\n            audio.volume = value \/ 100;\r\n\r\n            if (value == 0) {\r\n                volumeIcon.textContent = '\ud83d\udd07';\r\n            } else if (value < 30) {\r\n                volumeIcon.textContent = '\ud83d\udd08';\r\n            } else if (value < 70) {\r\n                volumeIcon.textContent = '\ud83d\udd09';\r\n            } else {\r\n                volumeIcon.textContent = '\ud83d\udd0a';\r\n            }\r\n        }\r\n\r\n        function yvv_seekVideoTo(event) {\r\n            const video = document.getElementById('yvv-mainVideoPlayer');\r\n            const progressBar = event.currentTarget;\r\n            const rect = progressBar.getBoundingClientRect();\r\n            const clickX = event.clientX - rect.left;\r\n            const percentage = clickX \/ rect.width;\r\n\r\n            if (video.duration) {\r\n                video.currentTime = percentage * video.duration;\r\n            }\r\n        }\r\n\r\n        function yvv_seekAudioTo(event) {\r\n            const audio = document.getElementById('yvv-audioPlayer');\r\n            const progressBar = event.currentTarget;\r\n            const rect = progressBar.getBoundingClientRect();\r\n            const clickX = event.clientX - rect.left;\r\n            const percentage = clickX \/ rect.width;\r\n\r\n            if (audio.duration) {\r\n                audio.currentTime = percentage * audio.duration;\r\n            }\r\n        }\r\n\r\n        function yvv_updateVideoProgress() {\r\n            const video = document.getElementById('yvv-mainVideoPlayer');\r\n            const progressFill = document.getElementById('yvv-videoProgressFill');\r\n            const timeInfo = document.getElementById('yvv-videoTimeInfo');\r\n\r\n            if (video.duration) {\r\n                const percentage = (video.currentTime \/ video.duration) * 100;\r\n                progressFill.style.width = percentage + '%';\r\n\r\n                const currentTime = yvv_formatTime(video.currentTime);\r\n                const totalTime = yvv_formatTime(video.duration);\r\n                timeInfo.textContent = `${currentTime} \/ ${totalTime}`;\r\n            }\r\n        }\r\n\r\n        function yvv_updateAudioProgress() {\r\n            const audio = document.getElementById('yvv-audioPlayer');\r\n            const progressFill = document.getElementById('yvv-audioProgressFill');\r\n            const timeInfo = document.getElementById('yvv-audioTimeInfo');\r\n\r\n            if (audio.duration) {\r\n                const percentage = (audio.currentTime \/ audio.duration) * 100;\r\n                progressFill.style.width = percentage + '%';\r\n\r\n                const currentTime = yvv_formatTime(audio.currentTime);\r\n                const totalTime = yvv_formatTime(audio.duration);\r\n                timeInfo.textContent = `${currentTime} \/ ${totalTime}`;\r\n            }\r\n        }\r\n\r\n        function yvv_formatTime(seconds) {\r\n            const minutes = Math.floor(seconds \/ 60);\r\n            const remainingSeconds = Math.floor(seconds % 60);\r\n            return `${minutes}:${remainingSeconds.toString().padStart(2, '0')}`;\r\n        }\r\n\r\n        function yvv_handleVideoEnded() {\r\n            document.getElementById('yvv-playPauseControl').textContent = '\u25b6';\r\n            isVideoPlaying = false;\r\n            document.getElementById('yvv-videoProgressFill').style.width = '0%';\r\n        }\r\n\r\n        function yvv_handleAudioEnded() {\r\n            document.getElementById('yvv-audioPlayBtn').textContent = '\u25b6';\r\n            isAudioPlaying = false;\r\n            yvv_stopVisualizerAnimation();\r\n            document.getElementById('yvv-audioProgressFill').style.width = '0%';\r\n        }\r\n\r\n        function yvv_closeVideoPlayer() {\r\n            const video = document.getElementById('yvv-mainVideoPlayer');\r\n            const videoPlayerSection = document.getElementById('yvv-videoPlayerSection');\r\n            const thumbnailOverlay = document.getElementById('yvv-videoThumbnailOverlay');\r\n\r\n            video.pause();\r\n            video.src = '';\r\n            videoPlayerSection.style.display = 'none';\r\n            thumbnailOverlay.classList.remove('hidden');\r\n            isVideoPlaying = false;\r\n            currentPlayingFormat = null;\r\n            document.getElementById('yvv-playPauseControl').textContent = '\u25b6';\r\n\r\n            \/\/ Reset format indicators\r\n            document.querySelectorAll('.yvv-format-option').forEach(option => {\r\n                option.classList.remove('playing');\r\n            });\r\n            document.querySelectorAll('.yvv-stream-action').forEach(btn => {\r\n                btn.classList.remove('playing');\r\n                btn.innerHTML = btn.innerHTML.replace('\u23f8 Playing', '\u25b6 Stream');\r\n            });\r\n        }\r\n\r\n        function yvv_startVisualizerAnimation() {\r\n            const bars = document.querySelectorAll('.yvv-visualizer-bar');\r\n            bars.forEach(bar => {\r\n                bar.style.animationPlayState = 'running';\r\n            });\r\n        }\r\n\r\n        function yvv_stopVisualizerAnimation() {\r\n            const bars = document.querySelectorAll('.yvv-visualizer-bar');\r\n            bars.forEach(bar => {\r\n                bar.style.animationPlayState = 'paused';\r\n            });\r\n        }\r\n\r\n        \/\/ Event listeners\r\n        document.getElementById('yvv-videoInput').addEventListener('keypress', function (e) {\r\n            if (e.key === 'Enter') {\r\n                yvv_loadVideo();\r\n            }\r\n        });\r\n\r\n        document.getElementById('yvv-videoInput').addEventListener('input', function (e) {\r\n            const url = e.target.value.trim();\r\n            if (url && !yvv_isValidYouTubeURL(url)) {\r\n                e.target.classList.add('error');\r\n            } else {\r\n                e.target.classList.remove('error');\r\n                yvv_hideError();\r\n            }\r\n        });\r\n\r\n        \/\/ Auto-focus on input\r\n        document.getElementById('yvv-videoInput').focus();\r\n    <\/script>\r\n<\/body>\r\n\r\n[\/et_pb_fullwidth_code][\/et_pb_section][et_pb_section fb_built=&#8221;1&#8243; fullwidth=&#8221;on&#8221; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; hover_enabled=&#8221;0&#8243; global_colors_info=&#8221;{}&#8221; max_width=&#8221;1280px&#8221; module_alignment=&#8221;center&#8221; custom_padding=&#8221;50px||50px||true|false&#8221; sticky_enabled=&#8221;0&#8243; locked=&#8221;off&#8221;][et_pb_fullwidth_code _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; hover_enabled=&#8221;0&#8243; global_colors_info=&#8221;{}&#8221; sticky_enabled=&#8221;0&#8243;][\/et_pb_fullwidth_code][\/et_pb_section][et_pb_section fb_built=&#8221;1&#8243; fullwidth=&#8221;on&#8221; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_fullwidth_code _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;]<style>\r\n        \/* Prefixed CSS Variables *\/\r\n        :root {\r\n            --yt-video-primary: #FF0000;\r\n            --yt-video-secondary: #282828;\r\n            --yt-video-accent: #f1f1f1;\r\n            --yt-video-text-dark: #030303;\r\n            --yt-video-text-light: #606060;\r\n            --yt-video-bg-light: #f9f9f9;\r\n            --yt-video-border-light: #e5e5e5;\r\n            --yt-video-success: #34a853;\r\n            --yt-video-warning: #fbbc05;\r\n        }\r\n        \r\n        \/* Prefixed Section Styles *\/\r\n        .yt-video-section {\r\n            padding: 80px 0;\r\n            position: relative;\r\n        }\r\n        \r\n        .yt-video-section-heading {\r\n            font-size: 2.75rem;\r\n            font-weight: 700;\r\n            margin-bottom: 1rem;\r\n            text-align: center;\r\n        }\r\n        \r\n        .yt-video-section-description {\r\n            font-size: 1.25rem;\r\n            color: var(--yt-video-text-light);\r\n            text-align: center;\r\n            max-width: 700px;\r\n            margin: 0 auto 3rem;\r\n        }\r\n        \r\n        \/* Prefixed Hero Section *\/\r\n        #yt-video-hero {\r\n            background: linear-gradient(135deg, rgba(255, 0, 0, 0.9), rgba(40, 40, 40, 0.95));\r\n            color: white;\r\n            padding: 120px 0;\r\n            position: relative;\r\n            overflow: hidden;\r\n        }\r\n        \r\n        #yt-video-hero::before {\r\n            content: \"\";\r\n            position: absolute;\r\n            top: 0;\r\n            left: 0;\r\n            width: 100%;\r\n            height: 100%;\r\n            background-image: \r\n                radial-gradient(circle at 20% 50%, rgba(255,255,255,0.1) 0%, transparent 50%),\r\n                radial-gradient(circle at 80% 80%, rgba(255,255,255,0.1) 0%, transparent 50%),\r\n                radial-gradient(circle at 40% 20%, rgba(255,255,255,0.05) 0%, transparent 50%);\r\n        }\r\n        \r\n        .yt-video-hero-content {\r\n            position: relative;\r\n            z-index: 2;\r\n        }\r\n        \r\n        .yt-video-hero-title {\r\n            font-size: 3.5rem;\r\n            font-weight: 700;\r\n            margin-bottom: 1.5rem;\r\n            line-height: 1.2;\r\n        }\r\n        \r\n        .yt-video-hero-subtitle {\r\n            font-size: 1.5rem;\r\n            margin-bottom: 3rem;\r\n            opacity: 0.95;\r\n            font-weight: 400;\r\n        }\r\n        \r\n        .yt-video-btn-container {\r\n            display: flex;\r\n            justify-content: center;\r\n            gap: 15px;\r\n            margin-bottom: 3rem;\r\n        }\r\n        \r\n        .yt-video-btn-hero {\r\n            padding: 14px 32px;\r\n            font-size: 1.1rem;\r\n            font-weight: 600;\r\n            border-radius: 50px;\r\n            transition: all 0.3s ease;\r\n            text-decoration: none;\r\n            display: inline-block;\r\n        }\r\n        \r\n        .yt-video-btn-primary-hero {\r\n            background-color: white;\r\n            color: var(--yt-video-primary);\r\n            border: none;\r\n            box-shadow: 0 4px 15px rgba(0,0,0,0.1);\r\n        }\r\n        \r\n        .yt-video-btn-primary-hero:hover {\r\n            transform: translateY(-3px);\r\n            box-shadow: 0 8px 25px rgba(0,0,0,0.15);\r\n            color: var(--yt-video-primary);\r\n        }\r\n        \r\n        .yt-video-btn-secondary-hero {\r\n            background-color: transparent;\r\n            color: white;\r\n            border: 2px solid white;\r\n        }\r\n        \r\n        .yt-video-btn-secondary-hero:hover {\r\n            background-color: white;\r\n            color: var(--yt-video-primary);\r\n            transform: translateY(-3px);\r\n        }\r\n        \r\n        .yt-video-url-container {\r\n            max-width: 700px;\r\n            margin: 0 auto;\r\n            position: relative;\r\n        }\r\n        \r\n        .yt-video-url-input {\r\n            width: 100%;\r\n            padding: 18px 60px 18px 25px;\r\n            border-radius: 50px;\r\n            border: none;\r\n            font-size: 1.1rem;\r\n            box-shadow: 0 10px 30px rgba(0,0,0,0.1);\r\n            font-family: 'Fira Sans', sans-serif;\r\n        }\r\n        \r\n        .yt-video-url-btn {\r\n            position: absolute;\r\n            right: 8px;\r\n            top: 50%;\r\n            transform: translateY(-50%);\r\n            background-color: var(--yt-video-primary);\r\n            color: white;\r\n            border: none;\r\n            border-radius: 50%;\r\n            width: 45px;\r\n            height: 45px;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            font-size: 1.2rem;\r\n            transition: all 0.3s ease;\r\n        }\r\n        \r\n        .yt-video-url-btn:hover {\r\n            background-color: var(--yt-video-secondary);\r\n            transform: translateY(-50%) scale(1.05);\r\n        }\r\n        \r\n        .yt-video-player-mockup {\r\n            max-width: 700px;\r\n            margin: 3rem auto 0;\r\n            background-color: rgba(0,0,0,0.3);\r\n            border-radius: 12px;\r\n            overflow: hidden;\r\n            position: relative;\r\n            aspect-ratio: 16\/9;\r\n            box-shadow: 0 10px 30px rgba(0,0,0,0.2);\r\n            border: 1px solid rgba(255,255,255,0.2);\r\n        }\r\n        \r\n        .yt-video-player-overlay {\r\n            position: absolute;\r\n            top: 0;\r\n            left: 0;\r\n            width: 100%;\r\n            height: 100%;\r\n            background: linear-gradient(rgba(0,0,0,0.2), rgba(0,0,0,0.6));\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n        }\r\n        \r\n        .yt-video-play-icon {\r\n            width: 80px;\r\n            height: 80px;\r\n            background-color: rgba(255, 0, 0, 0.8);\r\n            border-radius: 50%;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            color: white;\r\n            font-size: 30px;\r\n            box-shadow: 0 5px 15px rgba(0,0,0,0.3);\r\n            transition: all 0.3s ease;\r\n        }\r\n        \r\n        .yt-video-play-icon:hover {\r\n            transform: scale(1.1);\r\n            background-color: var(--yt-video-primary);\r\n        }\r\n        \r\n        .yt-video-sparkle {\r\n            position: absolute;\r\n            width: 4px;\r\n            height: 4px;\r\n            background-color: white;\r\n            border-radius: 50%;\r\n            opacity: 0;\r\n            animation: sparkle 3s infinite;\r\n        }\r\n        \r\n        @keyframes sparkle {\r\n            0%, 100% { opacity: 0; transform: scale(0); }\r\n            50% { opacity: 1; transform: scale(1); }\r\n        }\r\n        \r\n        .yt-video-floating-icon {\r\n            position: absolute;\r\n            opacity: 0.15;\r\n            animation: float 15s infinite ease-in-out;\r\n            color: white;\r\n        }\r\n        \r\n        .yt-video-floating-icon:nth-child(1) {\r\n            top: 15%;\r\n            left: 10%;\r\n            font-size: 40px;\r\n            animation-delay: 0s;\r\n        }\r\n        \r\n        .yt-video-floating-icon:nth-child(2) {\r\n            top: 60%;\r\n            right: 10%;\r\n            font-size: 60px;\r\n            animation-delay: 2s;\r\n        }\r\n        \r\n        .yt-video-floating-icon:nth-child(3) {\r\n            bottom: 15%;\r\n            left: 20%;\r\n            font-size: 50px;\r\n            animation-delay: 5s;\r\n        }\r\n        \r\n        @keyframes float {\r\n            0%, 100% {\r\n                transform: translateY(0) rotate(0deg);\r\n            }\r\n            50% {\r\n                transform: translateY(-20px) rotate(10deg);\r\n            }\r\n        }\r\n        \r\n        \/* Prefixed How It Works Section *\/\r\n        #yt-video-how-it-works {\r\n            background-color: var(--yt-video-bg-light);\r\n        }\r\n        \r\n        .yt-video-steps-container {\r\n            max-width: 1000px;\r\n            margin: 0 auto;\r\n        }\r\n        \r\n        .yt-video-step-card {\r\n            background-color: white;\r\n            border-radius: 16px;\r\n            padding: 40px 30px;\r\n            height: 100%;\r\n            box-shadow: 0 5px 20px rgba(0,0,0,0.05);\r\n            transition: all 0.3s ease;\r\n            text-align: center;\r\n            border: 1px solid var(--yt-video-border-light);\r\n        }\r\n        \r\n        .yt-video-step-card:hover {\r\n            transform: translateY(-10px);\r\n            box-shadow: 0 15px 35px rgba(0,0,0,0.1);\r\n        }\r\n        \r\n        .yt-video-step-number {\r\n            display: inline-flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            width: 60px;\r\n            height: 60px;\r\n            background-color: var(--yt-video-primary);\r\n            color: white;\r\n            border-radius: 50%;\r\n            font-size: 1.5rem;\r\n            font-weight: 700;\r\n            margin-bottom: 25px;\r\n        }\r\n        \r\n        .yt-video-step-icon {\r\n            font-size: 3rem;\r\n            color: var(--yt-video-primary);\r\n            margin-bottom: 20px;\r\n        }\r\n        \r\n        .yt-video-step-title {\r\n            font-size: 1.5rem;\r\n            font-weight: 600;\r\n            margin-bottom: 15px;\r\n            color: var(--yt-video-text-dark);\r\n        }\r\n        \r\n        .yt-video-step-description {\r\n            font-size: 1.1rem;\r\n            color: var(--yt-video-text-light);\r\n            line-height: 1.6;\r\n        }\r\n        \r\n        \/* Prefixed Features Section *\/\r\n        #yt-video-features {\r\n            background-color: white;\r\n        }\r\n        \r\n        .yt-video-features-container {\r\n            max-width: 1000px;\r\n            margin: 0 auto;\r\n            display: flex;\r\n            align-items: center;\r\n            background-color: white;\r\n            border-radius: 16px;\r\n            overflow: hidden;\r\n            box-shadow: 0 5px 20px rgba(0,0,0,0.05);\r\n        }\r\n        \r\n        .yt-video-features-visual {\r\n            flex: 1;\r\n            background: url('https:\/\/images.unsplash.com\/photo-1574717024453-354056aafa98?ixlib=rb-4.0.3&auto=format&fit=crop&w=600&q=80') center\/cover;\r\n            min-height: 500px;\r\n            position: relative;\r\n        }\r\n        \r\n        .yt-video-features-visual::before {\r\n            content: \"\";\r\n            position: absolute;\r\n            top: 0;\r\n            left: 0;\r\n            width: 100%;\r\n            height: 100%;\r\n            background: rgba(0,0,0,0.5);\r\n            backdrop-filter: blur(3px);\r\n        }\r\n        \r\n        .yt-video-features-content {\r\n            flex: 1;\r\n            padding: 50px 40px;\r\n        }\r\n        \r\n        .yt-video-features-title {\r\n            font-size: 2.2rem;\r\n            font-weight: 700;\r\n            margin-bottom: 30px;\r\n            color: var(--yt-video-text-dark);\r\n        }\r\n        \r\n        .yt-video-feature-item {\r\n            display: flex;\r\n            align-items: flex-start;\r\n            margin-bottom: 25px;\r\n        }\r\n        \r\n        .yt-video-feature-icon {\r\n            font-size: 1.8rem;\r\n            color: var(--yt-video-primary);\r\n            margin-right: 15px;\r\n            min-width: 30px;\r\n        }\r\n        \r\n        .yt-video-feature-text h3 {\r\n            font-size: 1.3rem;\r\n            font-weight: 600;\r\n            margin-bottom: 5px;\r\n            color: var(--yt-video-text-dark);\r\n        }\r\n        \r\n        .yt-video-feature-text p {\r\n            font-size: 1rem;\r\n            color: var(--yt-video-text-light);\r\n            margin: 0;\r\n        }\r\n        \r\n        \/* Prefixed Video Viewer Module Section *\/\r\n        #yt-video-module {\r\n            background-color: var(--yt-video-bg-light);\r\n        }\r\n        \r\n        .yt-video-module-container {\r\n            max-width: 900px;\r\n            margin: 0 auto;\r\n            background-color: white;\r\n            border-radius: 16px;\r\n            overflow: hidden;\r\n            box-shadow: 0 5px 20px rgba(0,0,0,0.05);\r\n        }\r\n        \r\n        .yt-video-module-header {\r\n            background-color: var(--yt-video-primary);\r\n            color: white;\r\n            padding: 20px 30px;\r\n            font-size: 1.5rem;\r\n            font-weight: 600;\r\n        }\r\n        \r\n        .yt-video-module-content {\r\n            padding: 30px;\r\n        }\r\n        \r\n        .yt-video-input-group {\r\n            display: flex;\r\n            margin-bottom: 30px;\r\n        }\r\n        \r\n        .yt-video-module-input {\r\n            flex: 1;\r\n            padding: 12px 20px;\r\n            border: 1px solid var(--yt-video-border-light);\r\n            border-radius: 8px 0 0 8px;\r\n            font-size: 1rem;\r\n            font-family: 'Fira Sans', sans-serif;\r\n        }\r\n        \r\n        .yt-video-module-btn {\r\n            padding: 12px 25px;\r\n            background-color: var(--yt-video-primary);\r\n            color: white;\r\n            border: none;\r\n            border-radius: 0 8px 8px 0;\r\n            font-weight: 600;\r\n            transition: all 0.3s ease;\r\n        }\r\n        \r\n        .yt-video-module-btn:hover {\r\n            background-color: var(--yt-video-secondary);\r\n        }\r\n        \r\n        .yt-video-player-container {\r\n            position: relative;\r\n            background-color: #000;\r\n            border-radius: 12px;\r\n            overflow: hidden;\r\n            aspect-ratio: 16\/9;\r\n            margin-bottom: 20px;\r\n        }\r\n        \r\n        .yt-video-player {\r\n            width: 100%;\r\n            height: 100%;\r\n            object-fit: cover;\r\n        }\r\n        \r\n        .yt-video-player-controls {\r\n            position: absolute;\r\n            bottom: 0;\r\n            left: 0;\r\n            width: 100%;\r\n            background: linear-gradient(transparent, rgba(0,0,0,0.7));\r\n            padding: 15px;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: space-between;\r\n        }\r\n        \r\n        .yt-video-control-btn {\r\n            background: none;\r\n            border: none;\r\n            color: white;\r\n            font-size: 1.2rem;\r\n            margin: 0 5px;\r\n            cursor: pointer;\r\n            transition: all 0.3s ease;\r\n        }\r\n        \r\n        .yt-video-control-btn:hover {\r\n            color: var(--yt-video-primary);\r\n        }\r\n        \r\n        .yt-video-progress-bar {\r\n            flex: 1;\r\n            height: 5px;\r\n            background-color: rgba(255,255,255,0.3);\r\n            border-radius: 3px;\r\n            margin: 0 15px;\r\n            position: relative;\r\n        }\r\n        \r\n        .yt-video-progress {\r\n            position: absolute;\r\n            top: 0;\r\n            left: 0;\r\n            height: 100%;\r\n            width: 30%;\r\n            background-color: var(--yt-video-primary);\r\n            border-radius: 3px;\r\n        }\r\n        \r\n        .yt-video-mode-toggle {\r\n            display: flex;\r\n            gap: 10px;\r\n            margin-bottom: 20px;\r\n        }\r\n        \r\n        .yt-video-mode-btn {\r\n            padding: 8px 15px;\r\n            background-color: var(--yt-video-bg-light);\r\n            border: 1px solid var(--yt-video-border-light);\r\n            border-radius: 6px;\r\n            font-size: 0.9rem;\r\n            font-weight: 500;\r\n            transition: all 0.3s ease;\r\n        }\r\n        \r\n        .yt-video-mode-btn.active {\r\n            background-color: var(--yt-video-primary);\r\n            color: white;\r\n            border-color: var(--yt-video-primary);\r\n        }\r\n        \r\n        .yt-video-loader {\r\n            position: absolute;\r\n            top: 50%;\r\n            left: 50%;\r\n            transform: translate(-50%, -50%);\r\n            width: 50px;\r\n            height: 50px;\r\n            border: 3px solid rgba(255,255,255,0.3);\r\n            border-top-color: var(--yt-video-primary);\r\n            border-radius: 50%;\r\n            animation: spin 1s linear infinite;\r\n            display: none;\r\n        }\r\n        \r\n        @keyframes spin {\r\n            to { transform: translate(-50%, -50%) rotate(360deg); }\r\n        }\r\n        \r\n        \/* Prefixed FAQ Section *\/\r\n        #yt-video-faq {\r\n            background-color: var(--yt-video-bg-light);\r\n        }\r\n        \r\n        .yt-video-faq-container {\r\n            max-width: 800px;\r\n            margin: 0 auto;\r\n        }\r\n        \r\n        .yt-video-accordion-item {\r\n            border: none;\r\n            margin-bottom: 15px;\r\n            border-radius: 12px;\r\n            overflow: hidden;\r\n            box-shadow: 0 3px 10px rgba(0,0,0,0.05);\r\n        }\r\n        \r\n        .yt-video-accordion-button {\r\n            font-size: 1.2rem;\r\n            font-weight: 600;\r\n            padding: 20px 25px;\r\n            background-color: white;\r\n            color: var(--yt-video-text-dark);\r\n            border: none;\r\n            box-shadow: none;\r\n        }\r\n        \r\n        .yt-video-accordion-button:not(.collapsed) {\r\n            color: var(--yt-video-primary);\r\n            background-color: white;\r\n            box-shadow: none;\r\n        }\r\n        \r\n        .yt-video-accordion-button:focus {\r\n            box-shadow: none;\r\n            border: none;\r\n        }\r\n        \r\n        .yt-video-accordion-button::after {\r\n            background-image: url(\"data:image\/svg+xml,%3csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 16 16' fill='%23FF0000'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'\/%3e%3c\/svg%3e\");\r\n        }\r\n        \r\n        .yt-video-accordion-body {\r\n            padding: 5px 25px 25px;\r\n            font-size: 1.1rem;\r\n            color: var(--yt-video-text-light);\r\n            line-height: 1.7;\r\n        }\r\n        \r\n        \/* Prefixed Responsive Design *\/\r\n        @media (max-width: 768px) {\r\n            .yt-video-section {\r\n                padding: 60px 0;\r\n            }\r\n            \r\n            .yt-video-section-heading {\r\n                font-size: 2.2rem;\r\n            }\r\n            \r\n            .yt-video-section-description {\r\n                font-size: 1.1rem;\r\n            }\r\n            \r\n            .yt-video-hero-title {\r\n                font-size: 2.5rem;\r\n            }\r\n            \r\n            .yt-video-hero-subtitle {\r\n                font-size: 1.2rem;\r\n            }\r\n            \r\n            .yt-video-btn-container {\r\n                flex-direction: column;\r\n                align-items: center;\r\n            }\r\n            \r\n            .yt-video-btn-hero {\r\n                width: 250px;\r\n            }\r\n            \r\n            .yt-video-step-card {\r\n                margin-bottom: 30px;\r\n            }\r\n            \r\n            .yt-video-features-container {\r\n                flex-direction: column;\r\n            }\r\n            \r\n            .yt-video-features-visual {\r\n                min-height: 250px;\r\n            }\r\n            \r\n            .yt-video-features-content {\r\n                padding: 30px 20px;\r\n            }\r\n            \r\n            .yt-video-input-group {\r\n                flex-direction: column;\r\n            }\r\n            \r\n            .yt-video-module-input {\r\n                border-radius: 8px;\r\n                margin-bottom: 10px;\r\n            }\r\n            \r\n            .yt-video-module-btn {\r\n                border-radius: 8px;\r\n            }\r\n        }\r\n    <\/style>\r\n  <!-- Prefixed Hero Section -->\r\n    \r\n\r\n    <!-- Prefixed How It Works Section -->\r\n    <section id=\"yt-video-how-it-works\" class=\"yt-video-section\">\r\n        <div class=\"container\">\r\n            <h2 class=\"yt-video-section-heading\" data-aos=\"fade-up\">How It Works<\/h2>\r\n            <p class=\"yt-video-section-description\" data-aos=\"fade-up\" data-aos-delay=\"100\">Simple steps to watch YouTube videos without distractions<\/p>\r\n            \r\n            <div class=\"yt-video-steps-container\">\r\n                <div class=\"row g-4\">\r\n                    <div class=\"col-md-4\" data-aos=\"fade-up\" data-aos-delay=\"200\">\r\n                        <div class=\"yt-video-step-card\">\r\n                            <div class=\"yt-video-step-number\">1<\/div>\r\n                            <div class=\"yt-video-step-icon\">\r\n                                <i class=\"fas fa-link\"><\/i>\r\n                            <\/div>\r\n                            <h3 class=\"yt-video-step-title\">Paste the YouTube video link<\/h3>\r\n                            <p class=\"yt-video-step-description\">Copy and paste the URL of the YouTube video you want to watch<\/p>\r\n                        <\/div>\r\n                    <\/div>\r\n                    \r\n                    <div class=\"col-md-4\" data-aos=\"fade-up\" data-aos-delay=\"300\">\r\n                        <div class=\"yt-video-step-card\">\r\n                            <div class=\"yt-video-step-number\">2<\/div>\r\n                            <div class=\"yt-video-step-icon\">\r\n                                <i class=\"fas fa-play\"><\/i>\r\n                            <\/div>\r\n                            <h3 class=\"yt-video-step-title\">Click \"Watch Now\"<\/h3>\r\n                            <p class=\"yt-video-step-description\">Our tool loads the video in a clean, distraction-free player<\/p>\r\n                        <\/div>\r\n                    <\/div>\r\n                    \r\n                    <div class=\"col-md-4\" data-aos=\"fade-up\" data-aos-delay=\"400\">\r\n                        <div class=\"yt-video-step-card\">\r\n                            <div class=\"yt-video-step-number\">3<\/div>\r\n                            <div class=\"yt-video-step-icon\">\r\n                                <i class=\"fas fa-eye\"><\/i>\r\n                            <\/div>\r\n                            <h3 class=\"yt-video-step-title\">Instantly view without ads or clutter<\/h3>\r\n                            <p class=\"yt-video-step-description\">Enjoy your video with no interruptions, recommendations, or tracking<\/p>\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/section>\r\n\r\n    <!-- Prefixed Features Section -->\r\n    <section id=\"yt-video-features\" class=\"yt-video-section\">\r\n        <div class=\"container\">\r\n            <h2 class=\"yt-video-section-heading\" data-aos=\"fade-up\">Feature Highlights<\/h2>\r\n            <p class=\"yt-video-section-description\" data-aos=\"fade-up\" data-aos-delay=\"100\">Why our YouTube Video Viewer is the best choice<\/p>\r\n            \r\n            <div class=\"yt-video-features-container\" data-aos=\"fade-up\" data-aos-delay=\"200\">\r\n                <img decoding=\"async\" src=\"http:\/\/viewri.com\/wp-content\/uploads\/2025\/09\/Feature-Highlights.jpg\" width=\"500px;\">\r\n                <div class=\"yt-video-features-content\">\r\n                    <h3 class=\"yt-video-features-title\">Clean Viewing Experience<\/h3>\r\n                    \r\n                    <div class=\"yt-video-feature-item\">\r\n                        <div class=\"yt-video-feature-icon\">\r\n                            <i class=\"fas fa-ban\"><\/i>\r\n                        <\/div>\r\n                        <div class=\"yt-video-feature-text\">\r\n                            <h3>Ad-free viewing experience<\/h3>\r\n                            <p>Watch videos without any advertisements or promotional content<\/p>\r\n                        <\/div>\r\n                    <\/div>\r\n                    \r\n                    <div class=\"yt-video-feature-item\">\r\n                        <div class=\"yt-video-feature-icon\">\r\n                            <i class=\"fas fa-user-secret\"><\/i>\r\n                        <\/div>\r\n                        <div class=\"yt-video-feature-text\">\r\n                            <h3>Anonymous access<\/h3>\r\n                            <p>No account needed - watch videos without logging in or being tracked<\/p>\r\n                        <\/div>\r\n                    <\/div>\r\n                    \r\n                    <div class=\"yt-video-feature-item\">\r\n                        <div class=\"yt-video-feature-icon\">\r\n                            <i class=\"fas fa-bolt\"><\/i>\r\n                        <\/div>\r\n                        <div class=\"yt-video-feature-text\">\r\n                            <h3>Fast loading and mobile-friendly<\/h3>\r\n                            <p>Quick video loads and responsive design for all devices<\/p>\r\n                        <\/div>\r\n                    <\/div>\r\n                    \r\n                    <div class=\"yt-video-feature-item\">\r\n                        <div class=\"yt-video-feature-icon\">\r\n                            <i class=\"fas fa-moon\"><\/i>\r\n                        <\/div>\r\n                        <div class=\"yt-video-feature-text\">\r\n                            <h3>Dark mode support<\/h3>\r\n                            <p>Easy on the eyes with our dark theme option<\/p>\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/section>\r\n\r\n    <!-- Prefixed Video Viewer Module Section -->\r\n    <section id=\"yt-video-module\" class=\"yt-video-section\">\r\n        <div class=\"container\">\r\n            <h2 class=\"yt-video-section-heading\" data-aos=\"fade-up\">Video Viewer<\/h2>\r\n            <p class=\"yt-video-section-description\" data-aos=\"fade-up\" data-aos-delay=\"100\">Paste a YouTube URL to watch in our clean player<\/p>\r\n            \r\n            <div class=\"yt-video-module-container\" data-aos=\"fade-up\" data-aos-delay=\"200\">\r\n                <div class=\"yt-video-module-header\">\r\n                    <i class=\"fas fa-play-circle me-2\"><\/i> YouTube Video Viewer\r\n                <\/div>\r\n                <div class=\"yt-video-module-content\">\r\n                    <div class=\"yt-video-input-group\">\r\n                        <input type=\"text\" class=\"yt-video-module-input\" id=\"yt-video-module-input\" placeholder=\"Paste YouTube video URL here...\">\r\n                        <button class=\"yt-video-module-btn\" onclick=\"loadVideo()\">Load Video<\/button>\r\n                    <\/div>\r\n                    \r\n                    <div class=\"yt-video-player-container\">\r\n                        <img decoding=\"async\" src=\"https:\/\/picsum.photos\/seed\/youtube-video\/1280\/720.jpg\" alt=\"Video thumbnail\" class=\"yt-video-player\" id=\"yt-video-player\">\r\n                        <div class=\"yt-video-player-controls\">\r\n                            <button class=\"yt-video-control-btn\" id=\"yt-video-play-btn\">\r\n                                <i class=\"fas fa-play\"><\/i>\r\n                            <\/button>\r\n                            <div class=\"yt-video-progress-bar\">\r\n                                <div class=\"yt-video-progress\"><\/div>\r\n                            <\/div>\r\n                            <button class=\"yt-video-control-btn\">\r\n                                <i class=\"fas fa-volume-up\"><\/i>\r\n                            <\/button>\r\n                            <button class=\"yt-video-control-btn\">\r\n                                <i class=\"fas fa-expand\"><\/i>\r\n                            <\/button>\r\n                        <\/div>\r\n                        <div class=\"yt-video-loader\" id=\"yt-video-loader\"><\/div>\r\n                    <\/div>\r\n                    \r\n                    <div class=\"yt-video-mode-toggle\">\r\n                        <button class=\"yt-video-mode-btn active\" id=\"yt-video-normal-mode\">Normal Mode<\/button>\r\n                        <button class=\"yt-video-mode-btn\" id=\"yt-video-theater-mode\">Theater Mode<\/button>\r\n                        <button class=\"yt-video-mode-btn\" id=\"yt-video-minimized-mode\">Minimize Controls<\/button>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/section>\r\n\r\n    <!-- Prefixed FAQ Section -->\r\n    <section id=\"yt-video-faq\" class=\"yt-video-section\">\r\n        <div class=\"container\">\r\n            <h2 class=\"yt-video-section-heading\" data-aos=\"fade-up\">Frequently Asked Questions<\/h2>\r\n            <p class=\"yt-video-section-description\" data-aos=\"fade-up\" data-aos-delay=\"100\">Get answers to common questions about our YouTube Video Viewer<\/p>\r\n            \r\n            <div class=\"yt-video-faq-container\">\r\n                <div class=\"accordion\" id=\"yt-video-faqAccordion\">\r\n                    <div class=\"yt-video-accordion-item\" data-aos=\"fade-up\" data-aos-delay=\"200\">\r\n                        <h2 class=\"accordion-header\" id=\"yt-video-headingOne\">\r\n                            <button class=\"yt-video-accordion-button\" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#yt-video-collapseOne\" aria-expanded=\"true\" aria-controls=\"yt-video-collapseOne\">\r\n                                Can I view private YouTube videos?\r\n                            <\/button>\r\n                        <\/h2>\r\n                        <div id=\"yt-video-collapseOne\" class=\"accordion-collapse collapse show\" aria-labelledby=\"yt-video-headingOne\" data-bs-parent=\"#yt-video-faqAccordion\">\r\n                            <div class=\"yt-video-accordion-body\">\r\n                                No, our tool can only access public YouTube videos. We respect YouTube's privacy settings and cannot bypass any privacy restrictions. If a video is private or unlisted, it cannot be viewed through our tool.\r\n                            <\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n                    \r\n                    <div class=\"yt-video-accordion-item\" data-aos=\"fade-up\" data-aos-delay=\"300\">\r\n                        <h2 class=\"accordion-header\" id=\"yt-video-headingTwo\">\r\n                            <button class=\"yt-video-accordion-button collapsed\" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#yt-video-collapseTwo\" aria-expanded=\"false\" aria-controls=\"yt-video-collapseTwo\">\r\n                                Does this tool skip ads?\r\n                            <\/button>\r\n                        <\/h2>\r\n                        <div id=\"yt-video-collapseTwo\" class=\"accordion-collapse collapse\" aria-labelledby=\"yt-video-headingTwo\" data-bs-parent=\"#yt-video-faqAccordion\">\r\n                            <div class=\"yt-video-accordion-body\">\r\n                                Yes, our viewer provides an ad-free experience. Unlike the regular YouTube platform, we don't show any advertisements before, during, or after videos. This allows for uninterrupted viewing of your favorite content.\r\n                            <\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n                    \r\n                    <div class=\"yt-video-accordion-item\" data-aos=\"fade-up\" data-aos-delay=\"400\">\r\n                        <h2 class=\"accordion-header\" id=\"yt-video-headingThree\">\r\n                            <button class=\"yt-video-accordion-button collapsed\" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#yt-video-collapseThree\" aria-expanded=\"false\" aria-controls=\"yt-video-collapseThree\">\r\n                                Is any data stored?\r\n                            <\/button>\r\n                        <\/h2>\r\n                        <div id=\"yt-video-collapseThree\" class=\"accordion-collapse collapse\" aria-labelledby=\"yt-video-headingThree\" data-bs-parent=\"#yt-video-faqAccordion\">\r\n                            <div class=\"yt-video-accordion-body\">\r\n                                No, we do not store any personal data or viewing history. Our tool is designed to respect your privacy. We don't track which videos you watch, create user profiles, or store any information that could identify you.\r\n                            <\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/section>[\/et_pb_fullwidth_code][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>    <style>\r\n        @import url('https:\/\/fonts.googleapis.com\/css2?family=Outfit:wght@300;400;500;600;700;800;900&display=swap');\r\n\r\n        .wrapper * {\r\n            margin: 0;\r\n            padding: 0;\r\n            box-sizing: border-box;\r\n        }\r\n\r\n        .wrapper {\r\n            --primary-color: #1E40AF;\r\n            --primary-light: #3B82F6;\r\n            --secondary-color: #0891B2;\r\n            --secondary-light: #06B6D4;\r\n            --accent-color: #7C3AED;\r\n            --accent-light: #8B5CF6;\r\n            --success-color: #059669;\r\n            --success-light: #10B981;\r\n            --warning-color: #D97706;\r\n            --warning-light: #F59E0B;\r\n            --danger-color: #DC2626;\r\n            --danger-light: #EF4444;\r\n            --bg-primary: #0F172A;\r\n            --bg-secondary: #1E293B;\r\n            --bg-tertiary: #334155;\r\n            --bg-card: #475569;\r\n            --glass-bg: rgba(30, 64, 175, 0.1);\r\n            --glass-border: rgba(59, 130, 246, 0.2);\r\n            --text-primary: #F8FAFC;\r\n            --text-secondary: #CBD5E1;\r\n            --text-muted: #94A3B8;\r\n            --text-accent: #60A5FA;\r\n            --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.15);\r\n            --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.2);\r\n            --shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.25);\r\n            --shadow-xl: 0 16px 48px rgba(0, 0, 0, 0.3);\r\n            --border-radius: 16px;\r\n            --border-radius-lg: 24px;\r\n        }\r\n\r\n        .wrapper {\r\n            font-family: 'Outfit', sans-serif;\r\n            background: linear-gradient(135deg, #0F172A 0%, #1E293B 25%, #334155 50%, #475569 75%, #64748B 100%);\r\n            min-height: 100vh;\r\n            line-height: 1.6;\r\n            color: var(--text-primary);\r\n            position: relative;\r\n            overflow-x: hidden;\r\n        }\r\n\r\n        .wrapper::before {\r\n            content: '';\r\n            position: fixed;\r\n            top: 0;\r\n            left: 0;\r\n            width: 100%;\r\n            height: 100%;\r\n            background:\r\n                radial-gradient(circle at 20% 20%, rgba(30, 64, 175, 0.15) 0%, transparent 50%),\r\n                radial-gradient(circle at 80% 80%, rgba(124, 58, 237, 0.15) 0%, transparent 50%),\r\n                radial-gradient(circle at 50% 50%, rgba(8, 145, 178, 0.1) 0%, transparent 50%);\r\n            pointer-events: none;\r\n            z-index: -1;\r\n        }\r\n\r\n        .wrapper .yvv-container {\r\n            max-width: 1400px;\r\n            margin: 0 auto;\r\n            padding: 20px;\r\n            position: relative;\r\n            z-index: 1;\r\n        }\r\n\r\n        \/* Header Section *\/\r\n        .wrapper .yvv-header {\r\n            text-align: center;\r\n            margin-bottom: 40px;\r\n            padding: 40px 0;\r\n            animation: fadeInDown 1s ease-out;\r\n        }\r\n\r\n        .wrapper .yvv-brand-logo {\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            gap: 25px;\r\n            margin-bottom: 25px;\r\n            flex-wrap: wrap;\r\n        }\r\n\r\n        .wrapper .yvv-brand-icon {\r\n            width: 80px;\r\n            height: 80px;\r\n            background: linear-gradient(135deg, var(--primary-color), var(--accent-color));\r\n            border-radius: var(--border-radius);\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            color: white;\r\n            font-size: 36px;\r\n            font-weight: 800;\r\n            box-shadow: var(--shadow-lg);\r\n            animation: float 4s ease-in-out infinite;\r\n            position: relative;\r\n        }\r\n\r\n        .wrapper .yvv-brand-icon::after {\r\n            content: '';\r\n            position: absolute;\r\n            inset: -2px;\r\n            background: linear-gradient(135deg, var(--primary-light), var(--accent-light));\r\n            border-radius: var(--border-radius);\r\n            z-index: -1;\r\n            opacity: 0.5;\r\n            animation: pulse 2s ease-in-out infinite;\r\n        }\r\n\r\n        .wrapper .yvv-brand-title {\r\n            font-size: clamp(2.5rem, 6vw, 4rem);\r\n            font-weight: 900;\r\n            background: linear-gradient(135deg, var(--text-primary), var(--text-accent));\r\n            -webkit-background-clip: text;\r\n            -webkit-text-fill-color: transparent;\r\n            background-clip: text;\r\n            letter-spacing: -1px;\r\n            text-shadow: 0 4px 20px rgba(96, 165, 250, 0.3);\r\n        }\r\n\r\n        .wrapper .yvv-brand-subtitle {\r\n            color: var(--text-secondary);\r\n            font-size: 20px;\r\n            font-weight: 500;\r\n            margin-bottom: 30px;\r\n            max-width: 700px;\r\n            margin-left: auto;\r\n            margin-right: auto;\r\n        }\r\n\r\n        .wrapper .yvv-feature-badges {\r\n            display: flex;\r\n            justify-content: center;\r\n            gap: 15px;\r\n            flex-wrap: wrap;\r\n        }\r\n\r\n        .wrapper .yvv-feature-badge {\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 10px;\r\n            background: var(--glass-bg);\r\n            backdrop-filter: blur(20px);\r\n            border: 1px solid var(--glass-border);\r\n            padding: 12px 24px;\r\n            border-radius: 50px;\r\n            color: var(--text-primary);\r\n            font-size: 14px;\r\n            font-weight: 600;\r\n            transition: all 0.3s ease;\r\n        }\r\n\r\n        .wrapper .yvv-feature-badge:hover {\r\n            transform: translateY(-3px);\r\n            box-shadow: var(--shadow-md);\r\n            background: rgba(30, 64, 175, 0.2);\r\n        }\r\n\r\n        .wrapper .yvv-badge-icon {\r\n            width: 20px;\r\n            height: 20px;\r\n            background: linear-gradient(135deg, var(--success-color), var(--success-light));\r\n            border-radius: 50%;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            font-size: 10px;\r\n            color: white;\r\n            font-weight: 700;\r\n        }\r\n\r\n        \/* Search Section *\/\r\n        .wrapper .yvv-search-section {\r\n            background: var(--bg-secondary);\r\n            border: 1px solid rgba(59, 130, 246, 0.2);\r\n            padding: 40px;\r\n            border-radius: var(--border-radius-lg);\r\n            box-shadow: var(--shadow-xl);\r\n            margin-bottom: 40px;\r\n            animation: fadeInUp 1s ease-out 0.2s both;\r\n            position: relative;\r\n            overflow: hidden;\r\n        }\r\n\r\n        .wrapper .yvv-search-section::before {\r\n            content: '';\r\n            position: absolute;\r\n            top: 0;\r\n            left: 0;\r\n            right: 0;\r\n            height: 2px;\r\n            background: linear-gradient(90deg, var(--primary-color), var(--accent-color), var(--secondary-color));\r\n        }\r\n\r\n        .wrapper .yvv-search-form {\r\n            display: flex;\r\n            gap: 20px;\r\n            margin-bottom: 25px;\r\n            position: relative;\r\n        }\r\n\r\n        .wrapper .yvv-search-input {\r\n            flex: 1;\r\n            padding: 20px 25px;\r\n            background: var(--bg-primary);\r\n            border: 2px solid var(--bg-tertiary);\r\n            border-radius: var(--border-radius);\r\n            color: var(--text-primary);\r\n            font-size: 16px;\r\n            font-weight: 500;\r\n            transition: all 0.3s ease;\r\n            outline: none;\r\n            font-family: inherit;\r\n        }\r\n\r\n        .wrapper .yvv-search-input:focus {\r\n            border-color: var(--primary-light);\r\n            box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.1);\r\n            transform: translateY(-2px);\r\n        }\r\n\r\n        .wrapper .yvv-search-input.error {\r\n            border-color: var(--danger-color);\r\n            box-shadow: 0 0 0 4px rgba(220, 38, 38, 0.1);\r\n        }\r\n\r\n        .wrapper .yvv-search-input::placeholder {\r\n            color: var(--text-muted);\r\n            font-weight: 400;\r\n        }\r\n\r\n        .wrapper .yvv-search-btn {\r\n            padding: 20px 40px;\r\n            background: linear-gradient(135deg, var(--primary-color), var(--primary-light));\r\n            color: white;\r\n            border: none;\r\n            border-radius: var(--border-radius);\r\n            font-size: 16px;\r\n            font-weight: 700;\r\n            cursor: pointer;\r\n            transition: all 0.3s ease;\r\n            min-width: 200px;\r\n            position: relative;\r\n            overflow: hidden;\r\n            box-shadow: var(--shadow-md);\r\n            font-family: inherit;\r\n        }\r\n\r\n        .wrapper .yvv-search-btn:hover:not(:disabled) {\r\n            transform: translateY(-3px);\r\n            box-shadow: var(--shadow-lg);\r\n            background: linear-gradient(135deg, var(--primary-light), var(--accent-color));\r\n        }\r\n\r\n        .wrapper .yvv-search-btn:disabled {\r\n            opacity: 0.6;\r\n            cursor: not-allowed;\r\n            transform: none;\r\n        }\r\n\r\n        .wrapper .yvv-loading-indicator {\r\n            display: none;\r\n            text-align: center;\r\n            padding: 30px;\r\n            color: var(--text-secondary);\r\n        }\r\n\r\n        .wrapper .yvv-error-display {\r\n            background: rgba(220, 38, 38, 0.1);\r\n            border: 1px solid rgba(220, 38, 38, 0.3);\r\n            color: var(--danger-light);\r\n            padding: 20px 25px;\r\n            border-radius: var(--border-radius);\r\n            margin-top: 20px;\r\n            display: none;\r\n            font-weight: 500;\r\n        }\r\n\r\n        \/* Video Player Section - Full Interface *\/\r\n        .wrapper .yvv-video-player-section {\r\n            display: none;\r\n            background: var(--bg-secondary);\r\n            border: 1px solid rgba(59, 130, 246, 0.2);\r\n            border-radius: var(--border-radius-lg);\r\n            overflow: hidden;\r\n            box-shadow: var(--shadow-xl);\r\n            margin-bottom: 40px;\r\n            animation: slideInUp 0.8s ease-out;\r\n        }\r\n\r\n        .wrapper .yvv-video-header {\r\n            background: linear-gradient(135deg, var(--bg-tertiary), var(--bg-card));\r\n            padding: 25px 30px;\r\n            border-bottom: 1px solid rgba(59, 130, 246, 0.1);\r\n            display: flex;\r\n            justify-content: space-between;\r\n            align-items: center;\r\n        }\r\n\r\n        .wrapper .yvv-video-title {\r\n            color: var(--text-primary);\r\n            font-size: 24px;\r\n            font-weight: 700;\r\n            margin: 0;\r\n            flex: 1;\r\n            margin-right: 20px;\r\n        }\r\n\r\n        .wrapper .yvv-current-quality-badge {\r\n            background: linear-gradient(135deg, var(--success-color), var(--success-light));\r\n            color: white;\r\n            padding: 8px 16px;\r\n            border-radius: 20px;\r\n            font-size: 14px;\r\n            font-weight: 600;\r\n            margin-right: 15px;\r\n        }\r\n\r\n        .wrapper .yvv-close-viewer-btn {\r\n            background: var(--danger-color);\r\n            border: none;\r\n            border-radius: 50%;\r\n            width: 40px;\r\n            height: 40px;\r\n            color: white;\r\n            font-size: 18px;\r\n            cursor: pointer;\r\n            transition: all 0.3s ease;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n        }\r\n\r\n        .wrapper .yvv-close-viewer-btn:hover {\r\n            background: var(--danger-light);\r\n            transform: scale(1.1);\r\n        }\r\n\r\n        .wrapper .yvv-video-container {\r\n            position: relative;\r\n            background: #000;\r\n            width: 100%;\r\n        }\r\n\r\n        .wrapper .yvv-main-video {\r\n            width: 100%;\r\n            height: 70vh;\r\n            max-height: 600px;\r\n            min-height: 400px;\r\n            background: #000;\r\n            border: none;\r\n            outline: none;\r\n            display: block;\r\n        }\r\n\r\n        \/* Video Thumbnail Overlay *\/\r\n        .wrapper .yvv-video-thumbnail-overlay {\r\n            position: absolute;\r\n            top: 0;\r\n            left: 0;\r\n            right: 0;\r\n            bottom: 0;\r\n            background-size: cover;\r\n            background-position: center;\r\n            background-repeat: no-repeat;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            cursor: pointer;\r\n            transition: all 0.3s ease;\r\n        }\r\n\r\n        .wrapper .yvv-video-thumbnail-overlay.hidden {\r\n            display: none;\r\n        }\r\n\r\n        .wrapper .yvv-thumbnail-play-btn {\r\n            width: 100px;\r\n            height: 100px;\r\n            background: rgba(0, 0, 0, 0.8);\r\n            border: 4px solid white;\r\n            border-radius: 50%;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            color: white;\r\n            font-size: 36px;\r\n            cursor: pointer;\r\n            transition: all 0.3s ease;\r\n            backdrop-filter: blur(10px);\r\n        }\r\n\r\n        .wrapper .yvv-thumbnail-play-btn:hover {\r\n            transform: scale(1.1);\r\n            background: rgba(0, 0, 0, 0.9);\r\n        }\r\n\r\n        \/* Video Controls - Below Video *\/\r\n        .wrapper .yvv-video-controls-section {\r\n            background: var(--bg-tertiary);\r\n            padding: 20px 30px;\r\n            border-top: 1px solid rgba(59, 130, 246, 0.1);\r\n        }\r\n\r\n        .wrapper .yvv-video-controls {\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 20px;\r\n        }\r\n\r\n        .wrapper .yvv-control-btn {\r\n            width: 50px;\r\n            height: 50px;\r\n            background: linear-gradient(135deg, var(--primary-color), var(--primary-light));\r\n            border: none;\r\n            border-radius: 50%;\r\n            color: white;\r\n            font-size: 18px;\r\n            cursor: pointer;\r\n            transition: all 0.3s ease;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            box-shadow: var(--shadow-sm);\r\n        }\r\n\r\n        .wrapper .yvv-control-btn:hover {\r\n            transform: scale(1.1);\r\n            box-shadow: var(--shadow-md);\r\n        }\r\n\r\n        .wrapper .yvv-progress-section {\r\n            flex: 1;\r\n            margin: 0 20px;\r\n        }\r\n\r\n        .wrapper .yvv-progress-bar {\r\n            width: 100%;\r\n            height: 10px;\r\n            background: rgba(255, 255, 255, 0.2);\r\n            border-radius: 5px;\r\n            cursor: pointer;\r\n            position: relative;\r\n            overflow: hidden;\r\n            margin-bottom: 8px;\r\n        }\r\n\r\n        .wrapper .yvv-progress-fill {\r\n            height: 100%;\r\n            background: linear-gradient(135deg, var(--secondary-color), var(--secondary-light));\r\n            border-radius: 5px;\r\n            width: 0%;\r\n            transition: width 0.1s ease;\r\n            box-shadow: 0 2px 8px rgba(6, 182, 212, 0.4);\r\n        }\r\n\r\n        .wrapper .yvv-time-info {\r\n            color: var(--text-primary);\r\n            font-size: 14px;\r\n            font-weight: 600;\r\n            text-align: center;\r\n        }\r\n\r\n        .wrapper .yvv-volume-section {\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 10px;\r\n            min-width: 120px;\r\n        }\r\n\r\n        .wrapper .yvv-volume-icon {\r\n            color: var(--text-primary);\r\n            font-size: 18px;\r\n            width: 24px;\r\n            text-align: center;\r\n        }\r\n\r\n        .wrapper .yvv-volume-control {\r\n            width: 80px;\r\n            height: 8px;\r\n            background: rgba(255, 255, 255, 0.2);\r\n            border-radius: 4px;\r\n            outline: none;\r\n            cursor: pointer;\r\n            -webkit-appearance: none;\r\n            appearance: none;\r\n        }\r\n\r\n        .wrapper .yvv-volume-control::-webkit-slider-thumb {\r\n            -webkit-appearance: none;\r\n            appearance: none;\r\n            width: 16px;\r\n            height: 16px;\r\n            background: var(--secondary-light);\r\n            border-radius: 50%;\r\n            cursor: pointer;\r\n            box-shadow: 0 2px 6px rgba(6, 182, 212, 0.4);\r\n        }\r\n\r\n        .wrapper .yvv-volume-control::-moz-range-thumb {\r\n            width: 16px;\r\n            height: 16px;\r\n            background: var(--secondary-light);\r\n            border-radius: 50%;\r\n            cursor: pointer;\r\n            border: none;\r\n            box-shadow: 0 2px 6px rgba(6, 182, 212, 0.4);\r\n        }\r\n\r\n        \/* Video Info Section *\/\r\n        .wrapper .yvv-video-info-section {\r\n            display: none;\r\n            background: var(--bg-secondary);\r\n            border: 1px solid rgba(59, 130, 246, 0.2);\r\n            border-radius: var(--border-radius-lg);\r\n            padding: 35px;\r\n            box-shadow: var(--shadow-xl);\r\n            margin-bottom: 40px;\r\n            animation: slideInLeft 0.8s ease-out;\r\n        }\r\n\r\n        .wrapper .yvv-video-metadata {\r\n            display: grid;\r\n            grid-template-columns: auto 1fr;\r\n            gap: 30px;\r\n            align-items: start;\r\n            margin-bottom: 30px;\r\n        }\r\n\r\n        .wrapper .yvv-video-thumbnail {\r\n            width: 160px;\r\n            height: 120px;\r\n            border-radius: var(--border-radius);\r\n            object-fit: cover;\r\n            box-shadow: var(--shadow-md);\r\n        }\r\n\r\n        .wrapper .yvv-video-details {\r\n            display: flex;\r\n            flex-direction: column;\r\n            gap: 15px;\r\n        }\r\n\r\n        .wrapper .yvv-video-details h2 {\r\n            color: var(--text-primary);\r\n            font-size: 28px;\r\n            font-weight: 700;\r\n            line-height: 1.3;\r\n            margin: 0;\r\n        }\r\n\r\n        .wrapper .yvv-video-stats {\r\n            display: flex;\r\n            gap: 25px;\r\n            flex-wrap: wrap;\r\n        }\r\n\r\n        .wrapper .yvv-stat-item {\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 10px;\r\n            color: var(--text-secondary);\r\n            font-size: 16px;\r\n            font-weight: 500;\r\n        }\r\n\r\n        .wrapper .yvv-stat-icon {\r\n            width: 24px;\r\n            height: 24px;\r\n            background: linear-gradient(135deg, var(--secondary-color), var(--secondary-light));\r\n            border-radius: 8px;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            font-size: 12px;\r\n            color: white;\r\n            font-weight: 700;\r\n        }\r\n\r\n        \/* Format Selection *\/\r\n        .wrapper .yvv-format-selection {\r\n            background: rgba(30, 64, 175, 0.05);\r\n            border: 1px solid rgba(59, 130, 246, 0.1);\r\n            border-radius: var(--border-radius);\r\n            padding: 30px;\r\n        }\r\n\r\n        .wrapper .yvv-format-title {\r\n            color: var(--text-primary);\r\n            font-size: 22px;\r\n            font-weight: 700;\r\n            margin-bottom: 25px;\r\n            text-align: center;\r\n        }\r\n\r\n        .wrapper .yvv-format-tabs {\r\n            display: flex;\r\n            gap: 10px;\r\n            margin-bottom: 25px;\r\n            justify-content: center;\r\n        }\r\n\r\n        .wrapper .yvv-format-tab {\r\n            padding: 12px 24px;\r\n            background: var(--bg-tertiary);\r\n            border: 1px solid rgba(59, 130, 246, 0.2);\r\n            border-radius: 50px;\r\n            color: var(--text-secondary);\r\n            font-size: 14px;\r\n            font-weight: 600;\r\n            cursor: pointer;\r\n            transition: all 0.3s ease;\r\n        }\r\n\r\n        .wrapper .yvv-format-tab.active {\r\n            background: linear-gradient(135deg, var(--primary-color), var(--primary-light));\r\n            color: white;\r\n            border-color: var(--primary-light);\r\n        }\r\n\r\n        .wrapper .yvv-format-tab:hover:not(.active) {\r\n            background: var(--bg-card);\r\n            color: var(--text-primary);\r\n        }\r\n\r\n        .wrapper .yvv-format-grid {\r\n            display: grid;\r\n            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));\r\n            gap: 20px;\r\n        }\r\n\r\n        .wrapper .yvv-format-option {\r\n            background: var(--bg-tertiary);\r\n            border: 1px solid rgba(59, 130, 246, 0.2);\r\n            border-radius: var(--border-radius);\r\n            padding: 25px;\r\n            transition: all 0.3s ease;\r\n            position: relative;\r\n        }\r\n\r\n        .wrapper .yvv-format-option:hover {\r\n            transform: translateY(-5px);\r\n            box-shadow: var(--shadow-md);\r\n            border-color: var(--primary-light);\r\n        }\r\n\r\n        .wrapper .yvv-format-option.playing {\r\n            border-color: var(--success-color);\r\n            background: rgba(5, 150, 105, 0.1);\r\n            box-shadow: 0 0 20px rgba(5, 150, 105, 0.3);\r\n        }\r\n\r\n        .wrapper .yvv-format-option.playing::before {\r\n            content: '\u25b6 NOW PLAYING';\r\n            position: absolute;\r\n            top: -10px;\r\n            right: 15px;\r\n            background: linear-gradient(135deg, var(--success-color), var(--success-light));\r\n            color: white;\r\n            padding: 4px 12px;\r\n            border-radius: 12px;\r\n            font-size: 10px;\r\n            font-weight: 700;\r\n            letter-spacing: 0.5px;\r\n        }\r\n\r\n        .wrapper .yvv-format-header {\r\n            display: flex;\r\n            justify-content: space-between;\r\n            align-items: center;\r\n            margin-bottom: 15px;\r\n        }\r\n\r\n        .wrapper .yvv-format-quality {\r\n            font-size: 20px;\r\n            font-weight: 700;\r\n            color: var(--text-primary);\r\n        }\r\n\r\n        .wrapper .yvv-format-type-badge {\r\n            background: linear-gradient(135deg, var(--accent-color), var(--accent-light));\r\n            color: white;\r\n            padding: 6px 16px;\r\n            border-radius: 20px;\r\n            font-size: 12px;\r\n            font-weight: 700;\r\n        }\r\n\r\n        .wrapper .yvv-format-actions {\r\n            display: flex;\r\n            gap: 12px;\r\n        }\r\n\r\n        .wrapper .yvv-action-btn {\r\n            flex: 1;\r\n            padding: 14px;\r\n            border: none;\r\n            border-radius: 10px;\r\n            font-size: 14px;\r\n            font-weight: 600;\r\n            cursor: pointer;\r\n            transition: all 0.3s ease;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            gap: 8px;\r\n            font-family: inherit;\r\n        }\r\n\r\n        .wrapper .yvv-stream-action {\r\n            background: linear-gradient(135deg, var(--secondary-color), var(--secondary-light));\r\n            color: white;\r\n        }\r\n\r\n        .wrapper .yvv-stream-action:hover {\r\n            transform: translateY(-2px);\r\n            box-shadow: var(--shadow-sm);\r\n        }\r\n\r\n        .wrapper .yvv-stream-action.playing {\r\n            background: linear-gradient(135deg, var(--success-color), var(--success-light));\r\n        }\r\n\r\n        .wrapper .yvv-download-action {\r\n            background: linear-gradient(135deg, var(--warning-color), var(--warning-light));\r\n            color: white;\r\n        }\r\n\r\n        .wrapper .yvv-download-action:hover {\r\n            transform: translateY(-2px);\r\n            box-shadow: var(--shadow-sm);\r\n        }\r\n\r\n        .wrapper .yvv-audio-action {\r\n            background: linear-gradient(135deg, var(--accent-color), var(--accent-light));\r\n            color: white;\r\n        }\r\n\r\n        .wrapper .yvv-audio-action:hover {\r\n            transform: translateY(-2px);\r\n            box-shadow: var(--shadow-sm);\r\n        }\r\n\r\n        \/* Audio Player Section *\/\r\n        .wrapper .yvv-audio-player-section {\r\n            display: none;\r\n            background: var(--bg-secondary);\r\n            border: 1px solid rgba(59, 130, 246, 0.2);\r\n            border-radius: var(--border-radius-lg);\r\n            padding: 35px;\r\n            box-shadow: var(--shadow-xl);\r\n            margin-bottom: 40px;\r\n            animation: slideInRight 0.8s ease-out;\r\n        }\r\n\r\n        .wrapper .yvv-audio-visualizer {\r\n            background: linear-gradient(135deg, rgba(124, 58, 237, 0.1), rgba(8, 145, 178, 0.1));\r\n            border: 1px solid rgba(124, 58, 237, 0.3);\r\n            border-radius: var(--border-radius);\r\n            padding: 30px;\r\n            margin-bottom: 25px;\r\n            text-align: center;\r\n        }\r\n\r\n        .wrapper .yvv-visualizer-bars {\r\n            display: flex;\r\n            align-items: end;\r\n            justify-content: center;\r\n            gap: 6px;\r\n            height: 80px;\r\n            margin-bottom: 20px;\r\n        }\r\n\r\n        .wrapper .yvv-visualizer-bar {\r\n            width: 6px;\r\n            background: linear-gradient(to top, var(--accent-color), var(--accent-light), var(--secondary-light));\r\n            border-radius: 3px;\r\n            animation: audioWave 1.8s ease-in-out infinite;\r\n        }\r\n\r\n        .wrapper .yvv-visualizer-bar:nth-child(1) {\r\n            height: 30px;\r\n            animation-delay: 0s;\r\n        }\r\n\r\n        .wrapper .yvv-visualizer-bar:nth-child(2) {\r\n            height: 50px;\r\n            animation-delay: 0.1s;\r\n        }\r\n\r\n        .wrapper .yvv-visualizer-bar:nth-child(3) {\r\n            height: 35px;\r\n            animation-delay: 0.2s;\r\n        }\r\n\r\n        .wrapper .yvv-visualizer-bar:nth-child(4) {\r\n            height: 60px;\r\n            animation-delay: 0.3s;\r\n        }\r\n\r\n        .wrapper .yvv-visualizer-bar:nth-child(5) {\r\n            height: 45px;\r\n            animation-delay: 0.4s;\r\n        }\r\n\r\n        .wrapper .yvv-visualizer-bar:nth-child(6) {\r\n            height: 70px;\r\n            animation-delay: 0.5s;\r\n        }\r\n\r\n        .wrapper .yvv-visualizer-bar:nth-child(7) {\r\n            height: 40px;\r\n            animation-delay: 0.6s;\r\n        }\r\n\r\n        .wrapper .yvv-visualizer-bar:nth-child(8) {\r\n            height: 55px;\r\n            animation-delay: 0.7s;\r\n        }\r\n\r\n        .wrapper .yvv-visualizer-bar:nth-child(9) {\r\n            height: 35px;\r\n            animation-delay: 0.8s;\r\n        }\r\n\r\n        .wrapper .yvv-visualizer-bar:nth-child(10) {\r\n            height: 65px;\r\n            animation-delay: 0.9s;\r\n        }\r\n\r\n        .wrapper .yvv-visualizer-bar:nth-child(11) {\r\n            height: 45px;\r\n            animation-delay: 1.0s;\r\n        }\r\n\r\n        .wrapper .yvv-visualizer-bar:nth-child(12) {\r\n            height: 30px;\r\n            animation-delay: 1.1s;\r\n        }\r\n\r\n        @keyframes audioWave {\r\n\r\n            0%,\r\n            100% {\r\n                transform: scaleY(0.4);\r\n                opacity: 0.7;\r\n            }\r\n\r\n            50% {\r\n                transform: scaleY(1);\r\n                opacity: 1;\r\n            }\r\n        }\r\n\r\n        .wrapper .yvv-audio-controls {\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 20px;\r\n            background: rgba(30, 64, 175, 0.1);\r\n            border-radius: var(--border-radius);\r\n            padding: 20px 25px;\r\n        }\r\n\r\n        .wrapper .yvv-audio-play-btn {\r\n            width: 60px;\r\n            height: 60px;\r\n            background: linear-gradient(135deg, var(--accent-color), var(--accent-light));\r\n            border: none;\r\n            border-radius: 50%;\r\n            color: white;\r\n            font-size: 24px;\r\n            cursor: pointer;\r\n            transition: all 0.3s ease;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            box-shadow: var(--shadow-md);\r\n        }\r\n\r\n        .wrapper .yvv-audio-play-btn:hover {\r\n            transform: scale(1.1);\r\n            box-shadow: var(--shadow-lg);\r\n        }\r\n\r\n        .wrapper .yvv-audio-progress {\r\n            flex: 1;\r\n            cursor: pointer;\r\n            padding: 15px 0;\r\n        }\r\n\r\n        .wrapper .yvv-audio-progress-track {\r\n            width: 100%;\r\n            height: 8px;\r\n            background: rgba(255, 255, 255, 0.2);\r\n            border-radius: 4px;\r\n            position: relative;\r\n            overflow: hidden;\r\n        }\r\n\r\n        .wrapper .yvv-audio-progress-fill {\r\n            height: 100%;\r\n            background: linear-gradient(135deg, var(--accent-color), var(--accent-light));\r\n            border-radius: 4px;\r\n            width: 0%;\r\n            transition: width 0.1s ease;\r\n        }\r\n\r\n        .wrapper .yvv-audio-time {\r\n            color: var(--text-primary);\r\n            font-size: 16px;\r\n            font-weight: 600;\r\n            min-width: 100px;\r\n            text-align: center;\r\n        }\r\n\r\n        .wrapper .yvv-audio-volume {\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 12px;\r\n            min-width: 120px;\r\n        }\r\n\r\n        .wrapper .yvv-audio-volume-icon {\r\n            color: var(--text-primary);\r\n            font-size: 20px;\r\n            width: 24px;\r\n            text-align: center;\r\n        }\r\n\r\n        .wrapper .yvv-audio-volume-slider {\r\n            width: 80px;\r\n            height: 6px;\r\n            background: rgba(255, 255, 255, 0.2);\r\n            border-radius: 3px;\r\n            outline: none;\r\n            cursor: pointer;\r\n            -webkit-appearance: none;\r\n            appearance: none;\r\n        }\r\n\r\n        .wrapper .yvv-audio-volume-slider::-webkit-slider-thumb {\r\n            -webkit-appearance: none;\r\n            appearance: none;\r\n            width: 16px;\r\n            height: 16px;\r\n            background: var(--accent-light);\r\n            border-radius: 50%;\r\n            cursor: pointer;\r\n        }\r\n\r\n        .wrapper .yvv-audio-volume-slider::-moz-range-thumb {\r\n            width: 16px;\r\n            height: 16px;\r\n            background: var(--accent-light);\r\n            border-radius: 50%;\r\n            cursor: pointer;\r\n            border: none;\r\n        }\r\n\r\n        \/* Download Progress *\/\r\n        .wrapper .yvv-download-progress {\r\n            position: fixed;\r\n            bottom: 20px;\r\n            right: 20px;\r\n            background: var(--bg-secondary);\r\n            border: 1px solid rgba(59, 130, 246, 0.2);\r\n            border-radius: var(--border-radius);\r\n            padding: 20px;\r\n            min-width: 320px;\r\n            box-shadow: var(--shadow-xl);\r\n            z-index: 1000;\r\n            display: none;\r\n            color: var(--text-primary);\r\n        }\r\n\r\n        .wrapper .yvv-download-progress.show {\r\n            display: block;\r\n            animation: slideInRight 0.4s ease-out;\r\n        }\r\n\r\n        .wrapper .yvv-progress-header {\r\n            display: flex;\r\n            justify-content: space-between;\r\n            align-items: center;\r\n            margin-bottom: 15px;\r\n        }\r\n\r\n        .wrapper .yvv-progress-text {\r\n            font-weight: 600;\r\n            font-size: 14px;\r\n        }\r\n\r\n        .wrapper .yvv-cancel-btn {\r\n            background: rgba(220, 38, 38, 0.1);\r\n            border: 1px solid rgba(220, 38, 38, 0.3);\r\n            color: var(--danger-light);\r\n            padding: 6px 12px;\r\n            border-radius: 6px;\r\n            font-size: 12px;\r\n            cursor: pointer;\r\n            transition: all 0.3s ease;\r\n            font-weight: 500;\r\n        }\r\n\r\n        .wrapper .yvv-cancel-btn:hover {\r\n            background: rgba(220, 38, 38, 0.2);\r\n        }\r\n\r\n        .wrapper .yvv-progress-bar-container {\r\n            width: 100%;\r\n            height: 8px;\r\n            background: rgba(255, 255, 255, 0.2);\r\n            border-radius: 4px;\r\n            overflow: hidden;\r\n            margin-bottom: 10px;\r\n        }\r\n\r\n        .wrapper .yvv-progress-bar-fill {\r\n            height: 100%;\r\n            background: linear-gradient(135deg, var(--success-color), var(--success-light));\r\n            border-radius: 4px;\r\n            width: 0%;\r\n            transition: width 0.3s ease;\r\n        }\r\n\r\n        .wrapper .yvv-progress-details {\r\n            display: flex;\r\n            justify-content: space-between;\r\n            font-size: 12px;\r\n            color: var(--text-secondary);\r\n        }\r\n\r\n        \/* Loading Animation *\/\r\n        .wrapper .yvv-cyber-loading {\r\n            position: relative;\r\n            width: 100%;\r\n            max-width: 500px;\r\n            margin: 0 auto;\r\n            padding: 40px;\r\n            background: linear-gradient(135deg, rgba(30, 64, 175, 0.1), rgba(124, 58, 237, 0.1));\r\n            border: 1px solid rgba(59, 130, 246, 0.3);\r\n            border-radius: var(--border-radius-lg);\r\n        }\r\n\r\n        .wrapper .yvv-loading-grid {\r\n            position: absolute;\r\n            top: 0;\r\n            left: 0;\r\n            right: 0;\r\n            bottom: 0;\r\n            background-image:\r\n                linear-gradient(rgba(59, 130, 246, 0.1) 1px, transparent 1px),\r\n                linear-gradient(90deg, rgba(59, 130, 246, 0.1) 1px, transparent 1px);\r\n            background-size: 25px 25px;\r\n            animation: gridShift 8s linear infinite;\r\n        }\r\n\r\n        @keyframes gridShift {\r\n            0% {\r\n                transform: translate(0, 0);\r\n            }\r\n\r\n            100% {\r\n                transform: translate(25px, 25px);\r\n            }\r\n        }\r\n\r\n        .wrapper .yvv-loading-waves {\r\n            display: flex;\r\n            flex-direction: column;\r\n            gap: 12px;\r\n            margin-bottom: 25px;\r\n        }\r\n\r\n        .wrapper .yvv-loading-wave {\r\n            height: 4px;\r\n            background: linear-gradient(90deg, transparent, var(--primary-light), transparent);\r\n            border-radius: 2px;\r\n            animation: waveFlow 2.5s ease-in-out infinite;\r\n        }\r\n\r\n        .wrapper .yvv-loading-wave:nth-child(2) {\r\n            animation-delay: 0.5s;\r\n        }\r\n\r\n        .wrapper .yvv-loading-wave:nth-child(3) {\r\n            animation-delay: 1s;\r\n        }\r\n\r\n        @keyframes waveFlow {\r\n\r\n            0%,\r\n            100% {\r\n                opacity: 0.3;\r\n                transform: scaleX(0.3);\r\n            }\r\n\r\n            50% {\r\n                opacity: 1;\r\n                transform: scaleX(1);\r\n            }\r\n        }\r\n\r\n        .wrapper .yvv-loading-text {\r\n            text-align: center;\r\n            color: var(--text-primary);\r\n            font-size: 18px;\r\n            font-weight: 600;\r\n        }\r\n\r\n        .wrapper .yvv-loading-dots::after {\r\n            content: '';\r\n            animation: loadingDots 2.5s steps(4, end) infinite;\r\n        }\r\n\r\n        @keyframes loadingDots {\r\n\r\n            0%,\r\n            20% {\r\n                content: '';\r\n            }\r\n\r\n            40% {\r\n                content: '.';\r\n            }\r\n\r\n            60% {\r\n                content: '..';\r\n            }\r\n\r\n            80%,\r\n            100% {\r\n                content: '...';\r\n            }\r\n        }\r\n\r\n        .wrapper .yvv-loading-progress-bar {\r\n            width: 100%;\r\n            height: 6px;\r\n            background: rgba(255, 255, 255, 0.2);\r\n            border-radius: 3px;\r\n            overflow: hidden;\r\n            margin-top: 15px;\r\n        }\r\n\r\n        .wrapper .yvv-loading-progress-fill {\r\n            height: 100%;\r\n            background: linear-gradient(90deg, var(--primary-light), var(--accent-light));\r\n            border-radius: 3px;\r\n            animation: progressFlow 3s ease-in-out infinite;\r\n        }\r\n\r\n        @keyframes progressFlow {\r\n            0% {\r\n                width: 0%;\r\n            }\r\n\r\n            50% {\r\n                width: 80%;\r\n            }\r\n\r\n            100% {\r\n                width: 100%;\r\n            }\r\n        }\r\n\r\n        \/* Animations *\/\r\n        @keyframes fadeInDown {\r\n            from {\r\n                opacity: 0;\r\n                transform: translateY(-30px);\r\n            }\r\n\r\n            to {\r\n                opacity: 1;\r\n                transform: translateY(0);\r\n            }\r\n        }\r\n\r\n        @keyframes fadeInUp {\r\n            from {\r\n                opacity: 0;\r\n                transform: translateY(30px);\r\n            }\r\n\r\n            to {\r\n                opacity: 1;\r\n                transform: translateY(0);\r\n            }\r\n        }\r\n\r\n        @keyframes slideInUp {\r\n            from {\r\n                opacity: 0;\r\n                transform: translateY(50px);\r\n            }\r\n\r\n            to {\r\n                opacity: 1;\r\n                transform: translateY(0);\r\n            }\r\n        }\r\n\r\n        @keyframes slideInLeft {\r\n            from {\r\n                opacity: 0;\r\n                transform: translateX(-50px);\r\n            }\r\n\r\n            to {\r\n                opacity: 1;\r\n                transform: translateX(0);\r\n            }\r\n        }\r\n\r\n        @keyframes slideInRight {\r\n            from {\r\n                opacity: 0;\r\n                transform: translateX(50px);\r\n            }\r\n\r\n            to {\r\n                opacity: 1;\r\n                transform: translateX(0);\r\n            }\r\n        }\r\n\r\n        @keyframes float {\r\n\r\n            0%,\r\n            100% {\r\n                transform: translateY(0px) scale(1);\r\n            }\r\n\r\n            50% {\r\n                transform: translateY(-10px) scale(1.05);\r\n            }\r\n        }\r\n\r\n        @keyframes pulse {\r\n\r\n            0%,\r\n            100% {\r\n                transform: scale(1);\r\n                opacity: 0.5;\r\n            }\r\n\r\n            50% {\r\n                transform: scale(1.1);\r\n                opacity: 0.8;\r\n            }\r\n        }\r\n\r\n        \/* Responsive Design *\/\r\n        \/* 375px and below *\/\r\n        @media (max-width: 375px) {\r\n            .wrapper .yvv-container {\r\n                padding: 10px;\r\n            }\r\n\r\n            .wrapper .yvv-header {\r\n                padding: 20px 0 15px;\r\n                margin-bottom: 25px;\r\n            }\r\n\r\n            .wrapper .yvv-brand-logo {\r\n                flex-direction: column;\r\n                gap: 15px;\r\n                margin-bottom: 20px;\r\n            }\r\n\r\n            .wrapper .yvv-brand-icon {\r\n                width: 60px;\r\n                height: 60px;\r\n                font-size: 28px;\r\n            }\r\n\r\n            .wrapper .yvv-brand-title {\r\n                font-size: 1.8rem;\r\n                line-height: 1.2;\r\n            }\r\n\r\n            .wrapper .yvv-brand-subtitle {\r\n                font-size: 14px;\r\n                margin-bottom: 20px;\r\n            }\r\n\r\n            .wrapper .yvv-feature-badges {\r\n                flex-direction: column;\r\n                align-items: center;\r\n                gap: 8px;\r\n            }\r\n\r\n            .wrapper .yvv-feature-badge {\r\n                width: 100%;\r\n                max-width: 280px;\r\n                justify-content: center;\r\n                padding: 10px 20px;\r\n                font-size: 13px;\r\n            }\r\n\r\n            .wrapper .yvv-search-section {\r\n                padding: 20px;\r\n                margin-bottom: 25px;\r\n            }\r\n\r\n            .wrapper .yvv-search-form {\r\n                flex-direction: column;\r\n                gap: 12px;\r\n            }\r\n\r\n            .wrapper .yvv-search-input {\r\n                padding: 15px 20px;\r\n                font-size: 14px;\r\n            }\r\n\r\n            .wrapper .yvv-search-btn {\r\n                min-width: 100%;\r\n                padding: 15px 20px;\r\n                font-size: 14px;\r\n            }\r\n\r\n            .wrapper .yvv-main-video {\r\n                height: 35vh;\r\n                min-height: 200px;\r\n            }\r\n\r\n            .wrapper .yvv-video-header {\r\n                flex-direction: column;\r\n                gap: 12px;\r\n                text-align: center;\r\n                padding: 20px;\r\n            }\r\n\r\n            .wrapper .yvv-video-title {\r\n                font-size: 18px;\r\n                margin-right: 0;\r\n            }\r\n\r\n            .wrapper .yvv-current-quality-badge {\r\n                margin-right: 0;\r\n                font-size: 12px;\r\n                padding: 6px 12px;\r\n            }\r\n\r\n            .wrapper .yvv-video-controls {\r\n                flex-wrap: wrap;\r\n                gap: 12px;\r\n                padding: 15px 20px;\r\n            }\r\n\r\n            .wrapper .yvv-control-btn {\r\n                width: 40px;\r\n                height: 40px;\r\n                font-size: 16px;\r\n            }\r\n\r\n            .wrapper .yvv-progress-section {\r\n                order: 3;\r\n                width: 100%;\r\n                margin: 12px 0 0 0;\r\n            }\r\n\r\n            .wrapper .yvv-video-info-section,\r\n            .wrapper .yvv-audio-player-section {\r\n                padding: 20px;\r\n            }\r\n\r\n            .wrapper .yvv-video-metadata {\r\n                grid-template-columns: 1fr;\r\n                text-align: center;\r\n                gap: 20px;\r\n            }\r\n\r\n            .wrapper .yvv-video-thumbnail {\r\n                width: 120px;\r\n                height: 90px;\r\n                margin: 0 auto;\r\n            }\r\n\r\n            .wrapper .yvv-video-details h2 {\r\n                font-size: 20px;\r\n            }\r\n\r\n            .wrapper .yvv-video-stats {\r\n                justify-content: center;\r\n                gap: 15px;\r\n            }\r\n\r\n            .wrapper .yvv-stat-item {\r\n                font-size: 14px;\r\n            }\r\n\r\n            .wrapper .yvv-format-tabs {\r\n                flex-direction: column;\r\n                align-items: center;\r\n                gap: 8px;\r\n            }\r\n\r\n            .wrapper .yvv-format-tab {\r\n                width: 100%;\r\n                max-width: 200px;\r\n                text-align: center;\r\n                padding: 10px 20px;\r\n                font-size: 13px;\r\n            }\r\n\r\n            .wrapper .yvv-format-grid {\r\n                grid-template-columns: 1fr;\r\n                gap: 15px;\r\n            }\r\n\r\n            .wrapper .yvv-format-option {\r\n                padding: 20px;\r\n            }\r\n\r\n            .wrapper .yvv-format-actions {\r\n                flex-direction: column;\r\n                gap: 10px;\r\n            }\r\n\r\n            .wrapper .yvv-action-btn {\r\n                padding: 12px;\r\n                font-size: 13px;\r\n            }\r\n\r\n            .wrapper .yvv-audio-controls {\r\n                flex-wrap: wrap;\r\n                gap: 12px;\r\n                padding: 15px 20px;\r\n            }\r\n\r\n            .wrapper .yvv-audio-play-btn {\r\n                width: 50px;\r\n                height: 50px;\r\n                font-size: 20px;\r\n            }\r\n\r\n            .wrapper .yvv-audio-progress {\r\n                order: 3;\r\n                width: 100%;\r\n            }\r\n\r\n            .wrapper .yvv-download-progress {\r\n                left: 10px;\r\n                right: 10px;\r\n                min-width: auto;\r\n                padding: 15px;\r\n            }\r\n        }\r\n\r\n        \/* 400px *\/\r\n        @media (min-width: 376px) and (max-width: 400px) {\r\n            .wrapper .yvv-container {\r\n                padding: 12px;\r\n            }\r\n\r\n            .wrapper .yvv-header {\r\n                padding: 25px 0 18px;\r\n            }\r\n\r\n            .wrapper .yvv-brand-icon {\r\n                width: 65px;\r\n                height: 65px;\r\n                font-size: 30px;\r\n            }\r\n\r\n            .wrapper .yvv-brand-title {\r\n                font-size: 2rem;\r\n            }\r\n\r\n            .wrapper .yvv-brand-subtitle {\r\n                font-size: 16px;\r\n            }\r\n\r\n            .wrapper .yvv-search-section {\r\n                padding: 22px;\r\n            }\r\n\r\n            .wrapper .yvv-main-video {\r\n                height: 40vh;\r\n                min-height: 220px;\r\n            }\r\n        }\r\n\r\n        \/* 600px *\/\r\n        @media (min-width: 401px) and (max-width: 600px) {\r\n            .wrapper .yvv-container {\r\n                padding: 15px;\r\n            }\r\n\r\n            .wrapper .yvv-header {\r\n                padding: 30px 0 20px;\r\n            }\r\n\r\n            .wrapper .yvv-brand-icon {\r\n                width: 70px;\r\n                height: 70px;\r\n                font-size: 32px;\r\n            }\r\n\r\n            .wrapper .yvv-brand-title {\r\n                font-size: 2.5rem;\r\n            }\r\n\r\n            .wrapper .yvv-brand-subtitle {\r\n                font-size: 18px;\r\n            }\r\n\r\n            .wrapper .yvv-search-section {\r\n                padding: 25px;\r\n            }\r\n\r\n            .wrapper .yvv-search-form {\r\n                flex-direction: column;\r\n                gap: 15px;\r\n            }\r\n\r\n            .wrapper .yvv-search-btn {\r\n                min-width: 100%;\r\n            }\r\n\r\n            .wrapper .yvv-main-video {\r\n                height: 45vh;\r\n                min-height: 250px;\r\n            }\r\n\r\n            .wrapper .yvv-video-metadata {\r\n                grid-template-columns: 1fr;\r\n                text-align: center;\r\n            }\r\n\r\n            .wrapper .yvv-video-stats {\r\n                justify-content: center;\r\n            }\r\n\r\n            .wrapper .yvv-format-grid {\r\n                grid-template-columns: 1fr;\r\n            }\r\n\r\n            .wrapper .yvv-format-actions {\r\n                flex-direction: column;\r\n            }\r\n\r\n            .wrapper .yvv-video-controls {\r\n                flex-wrap: wrap;\r\n                gap: 15px;\r\n            }\r\n\r\n            .wrapper .yvv-progress-section {\r\n                order: 3;\r\n                width: 100%;\r\n                margin: 15px 0 0 0;\r\n            }\r\n\r\n            .wrapper .yvv-audio-controls {\r\n                flex-wrap: wrap;\r\n                gap: 15px;\r\n            }\r\n\r\n            .wrapper .yvv-audio-progress {\r\n                order: 3;\r\n                width: 100%;\r\n            }\r\n\r\n            .wrapper .yvv-download-progress {\r\n                left: 15px;\r\n                right: 15px;\r\n                min-width: auto;\r\n            }\r\n        }\r\n\r\n        \/* 768px *\/\r\n        @media (min-width: 601px) and (max-width: 768px) {\r\n            .wrapper .yvv-container {\r\n                padding: 18px;\r\n            }\r\n\r\n            .wrapper .yvv-header {\r\n                padding: 35px 0 25px;\r\n            }\r\n\r\n            .wrapper .yvv-brand-title {\r\n                font-size: 3rem;\r\n            }\r\n\r\n            .wrapper .yvv-search-section {\r\n                padding: 30px;\r\n            }\r\n\r\n            .wrapper .yvv-search-form {\r\n                flex-direction: row;\r\n                gap: 15px;\r\n            }\r\n\r\n            .wrapper .yvv-search-btn {\r\n                min-width: 180px;\r\n            }\r\n\r\n            .wrapper .yvv-main-video {\r\n                height: 50vh;\r\n                min-height: 300px;\r\n            }\r\n\r\n            .wrapper .yvv-format-grid {\r\n                grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));\r\n            }\r\n        }\r\n\r\n        \/* 992px *\/\r\n        @media (min-width: 769px) and (max-width: 992px) {\r\n            .wrapper .yvv-container {\r\n                padding: 20px;\r\n            }\r\n\r\n            .wrapper .yvv-header {\r\n                padding: 40px 0 30px;\r\n            }\r\n\r\n            .wrapper .yvv-brand-title {\r\n                font-size: 3.5rem;\r\n            }\r\n\r\n            .wrapper .yvv-format-grid {\r\n                grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));\r\n            }\r\n        }\r\n\r\n        \/* 992px and above *\/\r\n        @media (min-width: 993px) {\r\n            .wrapper .yvv-format-grid {\r\n                grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));\r\n            }\r\n        }\r\n\r\n                \/* Responsive Design *\/\r\n        \/* 992px and below *\/\r\n        @media (max-width: 992px) {\r\n            .wrapper .yvv-container {\r\n                padding: 20px;\r\n            }\r\n\r\n            .wrapper .yvv-header {\r\n                padding: 40px 0 30px;\r\n                margin-bottom: 35px;\r\n            }\r\n\r\n            .wrapper .yvv-brand-logo {\r\n                gap: 20px;\r\n                margin-bottom: 20px;\r\n            }\r\n\r\n            .wrapper .yvv-brand-icon {\r\n                width: 70px;\r\n                height: 70px;\r\n                font-size: 32px;\r\n            }\r\n\r\n            .wrapper .yvv-brand-title {\r\n                font-size: clamp(2.2rem, 5vw, 3.5rem);\r\n            }\r\n\r\n            .wrapper .yvv-brand-subtitle {\r\n                font-size: 18px;\r\n                margin-bottom: 25px;\r\n            }\r\n\r\n            .wrapper .yvv-feature-badges {\r\n                gap: 10px;\r\n            }\r\n\r\n            .wrapper .yvv-feature-badge {\r\n                padding: 10px 20px;\r\n                font-size: 13px;\r\n            }\r\n\r\n            .wrapper .yvv-search-section {\r\n                padding: 30px;\r\n                margin-bottom: 35px;\r\n            }\r\n\r\n            .wrapper .yvv-search-form {\r\n                gap: 15px;\r\n            }\r\n\r\n            .wrapper .yvv-search-input {\r\n                padding: 18px 22px;\r\n                font-size: 15px;\r\n            }\r\n\r\n            .wrapper .yvv-search-btn {\r\n                padding: 18px 30px;\r\n                font-size: 15px;\r\n                min-width: 160px;\r\n            }\r\n\r\n            .wrapper .yvv-video-player-section {\r\n                margin-bottom: 35px;\r\n            }\r\n\r\n            .wrapper .yvv-main-video {\r\n                height: 60vh;\r\n                max-height: 500px;\r\n                min-height: 350px;\r\n            }\r\n\r\n            .wrapper .yvv-video-header {\r\n                padding: 20px 25px;\r\n            }\r\n\r\n            .wrapper .yvv-video-title {\r\n                font-size: 20px;\r\n                margin-right: 15px;\r\n            }\r\n\r\n            .wrapper .yvv-current-quality-badge {\r\n                padding: 6px 12px;\r\n                font-size: 13px;\r\n                margin-right: 10px;\r\n            }\r\n\r\n            .wrapper .yvv-close-viewer-btn {\r\n                width: 36px;\r\n                height: 36px;\r\n                font-size: 16px;\r\n            }\r\n\r\n            .wrapper .yvv-thumbnail-play-btn {\r\n                width: 80px;\r\n                height: 80px;\r\n                font-size: 30px;\r\n            }\r\n\r\n            .wrapper .yvv-video-controls-section {\r\n                padding: 18px 25px;\r\n            }\r\n\r\n            .wrapper .yvv-video-controls {\r\n                gap: 15px;\r\n            }\r\n\r\n            .wrapper .yvv-control-btn {\r\n                width: 45px;\r\n                height: 45px;\r\n                font-size: 17px;\r\n            }\r\n\r\n            .wrapper .yvv-progress-section {\r\n                margin: 0 15px;\r\n            }\r\n\r\n            .wrapper .yvv-time-info {\r\n                font-size: 13px;\r\n            }\r\n\r\n            .wrapper .yvv-volume-section {\r\n                gap: 8px;\r\n                min-width: 100px;\r\n            }\r\n\r\n            .wrapper .yvv-volume-icon {\r\n                font-size: 16px;\r\n            }\r\n\r\n            .wrapper .yvv-volume-control {\r\n                width: 70px;\r\n            }\r\n\r\n            .wrapper .yvv-video-info-section,\r\n            .wrapper .yvv-audio-player-section {\r\n                padding: 30px;\r\n                margin-bottom: 35px;\r\n            }\r\n\r\n            .wrapper .yvv-video-metadata {\r\n                gap: 25px;\r\n                margin-bottom: 25px;\r\n            }\r\n\r\n            .wrapper .yvv-video-thumbnail {\r\n                width: 140px;\r\n                height: 100px;\r\n            }\r\n\r\n            .wrapper .yvv-video-details h2 {\r\n                font-size: 24px;\r\n            }\r\n\r\n            .wrapper .yvv-video-stats {\r\n                gap: 20px;\r\n            }\r\n\r\n            .wrapper .yvv-stat-item {\r\n                font-size: 15px;\r\n            }\r\n\r\n            .wrapper .yvv-stat-icon {\r\n                width: 22px;\r\n                height: 22px;\r\n                font-size: 11px;\r\n            }\r\n\r\n            .wrapper .yvv-format-selection {\r\n                padding: 25px;\r\n            }\r\n\r\n            .wrapper .yvv-format-title {\r\n                font-size: 20px;\r\n                margin-bottom: 20px;\r\n            }\r\n\r\n            .wrapper .yvv-format-tabs {\r\n                margin-bottom: 20px;\r\n            }\r\n\r\n            .wrapper .yvv-format-tab {\r\n                padding: 10px 20px;\r\n                font-size: 13px;\r\n            }\r\n\r\n            .wrapper .yvv-format-grid {\r\n                grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));\r\n                gap: 18px;\r\n            }\r\n\r\n            .wrapper .yvv-format-option {\r\n                padding: 20px;\r\n            }\r\n\r\n            .wrapper .yvv-format-quality {\r\n                font-size: 18px;\r\n            }\r\n\r\n            .wrapper .yvv-format-type-badge {\r\n                padding: 5px 14px;\r\n                font-size: 11px;\r\n            }\r\n\r\n            .wrapper .yvv-format-actions {\r\n                gap: 10px;\r\n            }\r\n\r\n            .wrapper .yvv-action-btn {\r\n                padding: 12px;\r\n                font-size: 13px;\r\n            }\r\n\r\n            .wrapper .yvv-audio-visualizer {\r\n                padding: 25px;\r\n                margin-bottom: 20px;\r\n            }\r\n\r\n            .wrapper .yvv-visualizer-bars {\r\n                height: 70px;\r\n                gap: 5px;\r\n            }\r\n\r\n            .wrapper .yvv-visualizer-bar {\r\n                width: 5px;\r\n            }\r\n\r\n            .wrapper .yvv-audio-controls {\r\n                gap: 15px;\r\n                padding: 18px 22px;\r\n            }\r\n\r\n            .wrapper .yvv-audio-play-btn {\r\n                width: 55px;\r\n                height: 55px;\r\n                font-size: 22px;\r\n            }\r\n\r\n            .wrapper .yvv-audio-time {\r\n                font-size: 14px;\r\n                min-width: 90px;\r\n            }\r\n\r\n            .wrapper .yvv-audio-volume {\r\n                gap: 10px;\r\n                min-width: 110px;\r\n            }\r\n\r\n            .wrapper .yvv-audio-volume-icon {\r\n                font-size: 18px;\r\n            }\r\n\r\n            .wrapper .yvv-audio-volume-slider {\r\n                width: 70px;\r\n            }\r\n\r\n            .wrapper .yvv-download-progress {\r\n                min-width: 280px;\r\n                padding: 18px;\r\n            }\r\n\r\n            .wrapper .yvv-progress-text {\r\n                font-size: 13px;\r\n            }\r\n\r\n            .wrapper .yvv-cancel-btn {\r\n                padding: 5px 10px;\r\n                font-size: 11px;\r\n            }\r\n\r\n            .wrapper .yvv-progress-details {\r\n                font-size: 11px;\r\n            }\r\n\r\n            .wrapper .yvv-cyber-loading {\r\n                padding: 30px;\r\n            }\r\n\r\n            .wrapper .yvv-loading-waves {\r\n                gap: 10px;\r\n                margin-bottom: 20px;\r\n            }\r\n\r\n            .wrapper .yvv-loading-wave {\r\n                height: 3px;\r\n            }\r\n\r\n            .wrapper .yvv-loading-text {\r\n                font-size: 16px;\r\n            }\r\n\r\n            .wrapper .yvv-loading-progress-bar {\r\n                height: 5px;\r\n            }\r\n        }\r\n\r\n        \/* 768px and below *\/\r\n        @media (max-width: 768px) {\r\n            .wrapper .yvv-container {\r\n                padding: 15px;\r\n            }\r\n\r\n            .wrapper .yvv-header {\r\n                padding: 30px 0 25px;\r\n                margin-bottom: 30px;\r\n            }\r\n\r\n            .wrapper .yvv-brand-logo {\r\n                flex-direction: column;\r\n                gap: 15px;\r\n                margin-bottom: 15px;\r\n            }\r\n\r\n            .wrapper .yvv-brand-icon {\r\n                width: 65px;\r\n                height: 65px;\r\n                font-size: 30px;\r\n            }\r\n\r\n            .wrapper .yvv-brand-title {\r\n                font-size: clamp(2rem, 6vw, 3rem);\r\n                text-align: center;\r\n            }\r\n\r\n            .wrapper .yvv-brand-subtitle {\r\n                font-size: 16px;\r\n                margin-bottom: 20px;\r\n                text-align: center;\r\n            }\r\n\r\n            .wrapper .yvv-feature-badges {\r\n                flex-direction: column;\r\n                align-items: center;\r\n                gap: 8px;\r\n            }\r\n\r\n            .wrapper .yvv-feature-badge {\r\n                width: 100%;\r\n                max-width: 300px;\r\n                justify-content: center;\r\n                padding: 10px 20px;\r\n                font-size: 13px;\r\n            }\r\n\r\n            .wrapper .yvv-search-section {\r\n                padding: 25px;\r\n                margin-bottom: 30px;\r\n            }\r\n\r\n            .wrapper .yvv-search-form {\r\n                flex-direction: column;\r\n                gap: 12px;\r\n            }\r\n\r\n            .wrapper .yvv-search-input {\r\n                padding: 15px 20px;\r\n                font-size: 14px;\r\n            }\r\n\r\n            .wrapper .yvv-search-btn {\r\n                min-width: 100%;\r\n                padding: 15px 20px;\r\n                font-size: 14px;\r\n            }\r\n\r\n            .wrapper .yvv-main-video {\r\n                height: 50vh;\r\n                max-height: 400px;\r\n                min-height: 250px;\r\n            }\r\n\r\n            .wrapper .yvv-video-header {\r\n                flex-direction: column;\r\n                gap: 10px;\r\n                text-align: center;\r\n                padding: 18px 20px;\r\n            }\r\n\r\n            .wrapper .yvv-video-title {\r\n                font-size: 18px;\r\n                margin-right: 0;\r\n            }\r\n\r\n            .wrapper .yvv-current-quality-badge {\r\n                margin-right: 0;\r\n            }\r\n\r\n            .wrapper .yvv-video-controls-section {\r\n                padding: 15px 20px;\r\n            }\r\n\r\n            .wrapper .yvv-video-controls {\r\n                flex-wrap: wrap;\r\n                gap: 12px;\r\n                justify-content: center;\r\n            }\r\n\r\n            .wrapper .yvv-control-btn {\r\n                width: 40px;\r\n                height: 40px;\r\n                font-size: 16px;\r\n            }\r\n\r\n            .wrapper .yvv-progress-section {\r\n                order: 3;\r\n                width: 100%;\r\n                margin: 10px 0 0 0;\r\n            }\r\n\r\n            .wrapper .yvv-video-info-section,\r\n            .wrapper .yvv-audio-player-section {\r\n                padding: 25px;\r\n                margin-bottom: 30px;\r\n            }\r\n\r\n            .wrapper .yvv-video-metadata {\r\n                grid-template-columns: 1fr;\r\n                text-align: center;\r\n                gap: 20px;\r\n            }\r\n\r\n            .wrapper .yvv-video-thumbnail {\r\n                width: 120px;\r\n                height: 90px;\r\n                margin: 0 auto;\r\n            }\r\n\r\n            .wrapper .yvv-video-details h2 {\r\n                font-size: 22px;\r\n            }\r\n\r\n            .wrapper .yvv-video-stats {\r\n                justify-content: center;\r\n                gap: 15px;\r\n            }\r\n\r\n            .wrapper .yvv-stat-item {\r\n                font-size: 14px;\r\n            }\r\n\r\n            .wrapper .yvv-format-selection {\r\n                padding: 20px;\r\n            }\r\n\r\n            .wrapper .yvv-format-title {\r\n                font-size: 18px;\r\n                margin-bottom: 18px;\r\n            }\r\n\r\n            .wrapper .yvv-format-tabs {\r\n                flex-direction: column;\r\n                align-items: center;\r\n                gap: 8px;\r\n                margin-bottom: 18px;\r\n            }\r\n\r\n            .wrapper .yvv-format-tab {\r\n                width: 100%;\r\n                max-width: 200px;\r\n                text-align: center;\r\n                padding: 10px 20px;\r\n                font-size: 13px;\r\n            }\r\n\r\n            .wrapper .yvv-format-grid {\r\n                grid-template-columns: 1fr;\r\n                gap: 15px;\r\n            }\r\n\r\n            .wrapper .yvv-format-option {\r\n                padding: 18px;\r\n            }\r\n\r\n            .wrapper .yvv-format-quality {\r\n                font-size: 17px;\r\n            }\r\n\r\n            .wrapper .yvv-format-actions {\r\n                flex-direction: column;\r\n                gap: 8px;\r\n            }\r\n\r\n            .wrapper .yvv-action-btn {\r\n                padding: 10px;\r\n                font-size: 12px;\r\n            }\r\n\r\n            .wrapper .yvv-audio-visualizer {\r\n                padding: 20px;\r\n                margin-bottom: 18px;\r\n            }\r\n\r\n            .wrapper .yvv-visualizer-bars {\r\n                height: 60px;\r\n                gap: 4px;\r\n            }\r\n\r\n            .wrapper .yvv-visualizer-bar {\r\n                width: 4px;\r\n            }\r\n\r\n            .wrapper .yvv-audio-controls {\r\n                flex-wrap: wrap;\r\n                gap: 12px;\r\n                padding: 15px 20px;\r\n                justify-content: center;\r\n            }\r\n\r\n            .wrapper .yvv-audio-play-btn {\r\n                width: 50px;\r\n                height: 50px;\r\n                font-size: 20px;\r\n            }\r\n\r\n            .wrapper .yvv-audio-progress {\r\n                order: 3;\r\n                width: 100%;\r\n            }\r\n\r\n            .wrapper .yvv-audio-time {\r\n                font-size: 13px;\r\n                min-width: 80px;\r\n            }\r\n\r\n            .wrapper .yvv-audio-volume {\r\n                min-width: 90px;\r\n            }\r\n\r\n            .wrapper .yvv-audio-volume-icon {\r\n                font-size: 16px;\r\n            }\r\n\r\n            .wrapper .yvv-audio-volume-slider {\r\n                width: 60px;\r\n            }\r\n\r\n            .wrapper .yvv-download-progress {\r\n                left: 15px;\r\n                right: 15px;\r\n                min-width: auto;\r\n                padding: 15px;\r\n            }\r\n        }\r\n\r\n        \/* 600px and below *\/\r\n        @media (max-width: 600px) {\r\n            .wrapper .yvv-container {\r\n                padding: 12px;\r\n            }\r\n\r\n            .wrapper .yvv-header {\r\n                padding: 25px 0 20px;\r\n                margin-bottom: 25px;\r\n            }\r\n\r\n            .wrapper .yvv-brand-icon {\r\n                width: 60px;\r\n                height: 60px;\r\n                font-size: 28px;\r\n            }\r\n\r\n            .wrapper .yvv-brand-title {\r\n                font-size: clamp(1.8rem, 7vw, 2.5rem);\r\n            }\r\n\r\n            .wrapper .yvv-brand-subtitle {\r\n                font-size: 14px;\r\n                margin-bottom: 15px;\r\n            }\r\n\r\n            .wrapper .yvv-feature-badge {\r\n                max-width: 280px;\r\n                font-size: 12px;\r\n            }\r\n\r\n            .wrapper .yvv-search-section {\r\n                padding: 20px;\r\n                margin-bottom: 25px;\r\n            }\r\n\r\n            .wrapper .yvv-search-input {\r\n                padding: 12px 18px;\r\n                font-size: 13px;\r\n            }\r\n\r\n            .wrapper .yvv-search-btn {\r\n                padding: 12px 18px;\r\n                font-size: 13px;\r\n            }\r\n\r\n            .wrapper .yvv-main-video {\r\n                height: 45vh;\r\n                min-height: 200px;\r\n            }\r\n\r\n            .wrapper .yvv-video-header {\r\n                padding: 15px;\r\n            }\r\n\r\n            .wrapper .yvv-video-title {\r\n                font-size: 16px;\r\n            }\r\n\r\n            .wrapper .yvv-current-quality-badge {\r\n                font-size: 11px;\r\n                padding: 4px 10px;\r\n            }\r\n\r\n            .wrapper .yvv-close-viewer-btn {\r\n                width: 32px;\r\n                height: 32px;\r\n                font-size: 14px;\r\n            }\r\n\r\n            .wrapper .yvv-thumbnail-play-btn {\r\n                width: 70px;\r\n                height: 70px;\r\n                font-size: 26px;\r\n            }\r\n\r\n            .wrapper .yvv-video-controls-section {\r\n                padding: 12px 15px;\r\n            }\r\n\r\n            .wrapper .yvv-control-btn {\r\n                width: 36px;\r\n                height: 36px;\r\n                font-size: 15px;\r\n            }\r\n\r\n            .wrapper .yvv-time-info {\r\n                font-size: 12px;\r\n            }\r\n\r\n            .wrapper .yvv-volume-section {\r\n                min-width: 80px;\r\n            }\r\n\r\n            .wrapper .yvv-volume-icon {\r\n                font-size: 14px;\r\n            }\r\n\r\n            .wrapper .yvv-volume-control {\r\n                width: 50px;\r\n            }\r\n\r\n            .wrapper .yvv-video-info-section,\r\n            .wrapper .yvv-audio-player-section {\r\n                padding: 20px;\r\n                margin-bottom: 25px;\r\n            }\r\n\r\n            .wrapper .yvv-video-thumbnail {\r\n                width: 100px;\r\n                height: 75px;\r\n            }\r\n\r\n            .wrapper .yvv-video-details h2 {\r\n                font-size: 18px;\r\n            }\r\n\r\n            .wrapper .yvv-video-stats {\r\n                gap: 12px;\r\n            }\r\n\r\n            .wrapper .yvv-stat-item {\r\n                font-size: 13px;\r\n            }\r\n\r\n            .wrapper .yvv-stat-icon {\r\n                width: 20px;\r\n                height: 20px;\r\n                font-size: 10px;\r\n            }\r\n\r\n            .wrapper .yvv-format-selection {\r\n                padding: 15px;\r\n            }\r\n\r\n            .wrapper .yvv-format-title {\r\n                font-size: 16px;\r\n                margin-bottom: 15px;\r\n            }\r\n\r\n            .wrapper .yvv-format-tab {\r\n                max-width: 180px;\r\n                padding: 8px 15px;\r\n                font-size: 12px;\r\n            }\r\n\r\n            .wrapper .yvv-format-option {\r\n                padding: 15px;\r\n            }\r\n\r\n            .wrapper .yvv-format-quality {\r\n                font-size: 16px;\r\n            }\r\n\r\n            .wrapper .yvv-format-type-badge {\r\n                padding: 4px 10px;\r\n                font-size: 10px;\r\n            }\r\n\r\n            .wrapper .yvv-audio-visualizer {\r\n                padding: 15px;\r\n                margin-bottom: 15px;\r\n            }\r\n\r\n            .wrapper .yvv-visualizer-bars {\r\n                height: 50px;\r\n                gap: 3px;\r\n            }\r\n\r\n            .wrapper .yvv-visualizer-bar {\r\n                width: 3px;\r\n            }\r\n\r\n            .wrapper .yvv-audio-controls {\r\n                padding: 12px 15px;\r\n            }\r\n\r\n            .wrapper .yvv-audio-play-btn {\r\n                width: 45px;\r\n                height: 45px;\r\n                font-size: 18px;\r\n            }\r\n\r\n            .wrapper .yvv-audio-time {\r\n                font-size: 12px;\r\n                min-width: 70px;\r\n            }\r\n\r\n            .wrapper .yvv-audio-volume {\r\n                min-width: 80px;\r\n            }\r\n\r\n            .wrapper .yvv-audio-volume-icon {\r\n                font-size: 14px;\r\n            }\r\n\r\n            .wrapper .yvv-audio-volume-slider {\r\n                width: 50px;\r\n            }\r\n\r\n            .wrapper .yvv-download-progress {\r\n                left: 10px;\r\n                right: 10px;\r\n                padding: 12px;\r\n            }\r\n\r\n            .wrapper .yvv-progress-text {\r\n                font-size: 12px;\r\n            }\r\n\r\n            .wrapper .yvv-cancel-btn {\r\n                font-size: 10px;\r\n            }\r\n\r\n            .wrapper .yvv-progress-details {\r\n                font-size: 10px;\r\n            }\r\n\r\n            .wrapper .yvv-cyber-loading {\r\n                padding: 25px;\r\n            }\r\n\r\n            .wrapper .yvv-loading-waves {\r\n                gap: 8px;\r\n            }\r\n\r\n            .wrapper .yvv-loading-text {\r\n                font-size: 14px;\r\n            }\r\n        }\r\n\r\n        \/* 400px and below (for very small screens) *\/\r\n        @media (max-width: 400px) {\r\n            .wrapper .yvv-container {\r\n                padding: 10px;\r\n            }\r\n\r\n            .wrapper .yvv-header {\r\n                padding: 20px 0 15px;\r\n                margin-bottom: 20px;\r\n            }\r\n\r\n            .wrapper .yvv-brand-icon {\r\n                width: 55px;\r\n                height: 55px;\r\n                font-size: 26px;\r\n            }\r\n\r\n            .wrapper .yvv-brand-title {\r\n                font-size: clamp(1.6rem, 8vw, 2.2rem);\r\n            }\r\n\r\n            .wrapper .yvv-brand-subtitle {\r\n                font-size: 13px;\r\n                margin-bottom: 12px;\r\n            }\r\n\r\n            .wrapper .yvv-feature-badge {\r\n                max-width: 250px;\r\n                font-size: 11px;\r\n                padding: 8px 15px;\r\n            }\r\n\r\n            .wrapper .yvv-search-section {\r\n                padding: 15px;\r\n                margin-bottom: 20px;\r\n            }\r\n\r\n            .wrapper .yvv-search-input,\r\n            .wrapper .yvv-search-btn {\r\n                padding: 10px 15px;\r\n                font-size: 12px;\r\n            }\r\n\r\n            .wrapper .yvv-main-video {\r\n                height: 40vh;\r\n                min-height: 180px;\r\n            }\r\n\r\n            .wrapper .yvv-video-header {\r\n                padding: 12px;\r\n            }\r\n\r\n            .wrapper .yvv-video-title {\r\n                font-size: 14px;\r\n            }\r\n\r\n            .wrapper .yvv-current-quality-badge {\r\n                font-size: 10px;\r\n                padding: 3px 8px;\r\n            }\r\n\r\n            .wrapper .yvv-close-viewer-btn {\r\n                width: 28px;\r\n                height: 28px;\r\n                font-size: 12px;\r\n            }\r\n\r\n            .wrapper .yvv-thumbnail-play-btn {\r\n                width: 60px;\r\n                height: 60px;\r\n                font-size: 22px;\r\n            }\r\n\r\n            .wrapper .yvv-video-controls-section {\r\n                padding: 10px 12px;\r\n            }\r\n\r\n            .wrapper .yvv-control-btn {\r\n                width: 32px;\r\n                height: 32px;\r\n                font-size: 14px;\r\n            }\r\n\r\n            .wrapper .yvv-progress-bar {\r\n                height: 8px;\r\n            }\r\n\r\n            .wrapper .yvv-time-info {\r\n                font-size: 11px;\r\n            }\r\n\r\n            .wrapper .yvv-volume-section {\r\n                min-width: 70px;\r\n            }\r\n\r\n            .wrapper .yvv-volume-icon {\r\n                font-size: 12px;\r\n            }\r\n\r\n            .wrapper .yvv-volume-control {\r\n                width: 40px;\r\n            }\r\n\r\n            .wrapper .yvv-video-info-section,\r\n            .wrapper .yvv-audio-player-section {\r\n                padding: 18px;\r\n                margin-bottom: 20px;\r\n            }\r\n\r\n            .wrapper .yvv-video-thumbnail {\r\n                width: 80px;\r\n                height: 60px;\r\n            }\r\n\r\n            .wrapper .yvv-video-details h2 {\r\n                font-size: 16px;\r\n            }\r\n\r\n            .wrapper .yvv-video-stats {\r\n                gap: 10px;\r\n            }\r\n\r\n            .wrapper .yvv-stat-item {\r\n                font-size: 12px;\r\n            }\r\n\r\n            .wrapper .yvv-stat-icon {\r\n                width: 18px;\r\n                height: 18px;\r\n                font-size: 9px;\r\n            }\r\n\r\n            .wrapper .yvv-format-selection {\r\n                padding: 12px;\r\n            }\r\n\r\n            .wrapper .yvv-format-title {\r\n                font-size: 15px;\r\n                margin-bottom: 12px;\r\n            }\r\n\r\n            .wrapper .yvv-format-tab {\r\n                max-width: 160px;\r\n                padding: 7px 12px;\r\n                font-size: 11px;\r\n            }\r\n\r\n            .wrapper .yvv-format-option {\r\n                padding: 12px;\r\n            }\r\n\r\n            .wrapper .yvv-format-quality {\r\n                font-size: 14px;\r\n            }\r\n\r\n            .wrapper .yvv-format-type-badge {\r\n                padding: 3px 8px;\r\n                font-size: 9px;\r\n            }\r\n\r\n            .wrapper .yvv-action-btn {\r\n                padding: 8px;\r\n                font-size: 11px;\r\n            }\r\n\r\n            .wrapper .yvv-audio-visualizer {\r\n                padding: 12px;\r\n                margin-bottom: 12px;\r\n            }\r\n\r\n            .wrapper .yvv-visualizer-bars {\r\n                height: 40px;\r\n                gap: 2px;\r\n            }\r\n\r\n            .wrapper .yvv-visualizer-bar {\r\n                width: 2px;\r\n            }\r\n\r\n            .wrapper .yvv-audio-controls {\r\n                padding: 10px 12px;\r\n            }\r\n\r\n            .wrapper .yvv-audio-play-btn {\r\n                width: 40px;\r\n                height: 40px;\r\n                font-size: 16px;\r\n            }\r\n\r\n            .wrapper .yvv-audio-time {\r\n                font-size: 11px;\r\n                min-width: 60px;\r\n            }\r\n\r\n            .wrapper .yvv-audio-volume {\r\n                min-width: 70px;\r\n            }\r\n\r\n            .wrapper .yvv-audio-volume-icon {\r\n                font-size: 12px;\r\n            }\r\n\r\n            .wrapper .yvv-audio-volume-slider {\r\n                width: 40px;\r\n            }\r\n\r\n            .wrapper .yvv-download-progress {\r\n                left: 8px;\r\n                right: 8px;\r\n                padding: 10px;\r\n            }\r\n\r\n            .wrapper .yvv-progress-text {\r\n                font-size: 11px;\r\n            }\r\n\r\n            .wrapper .yvv-cancel-btn {\r\n                font-size: 9px;\r\n            }\r\n\r\n            .wrapper .yvv-progress-details {\r\n                font-size: 9px;\r\n            }\r\n\r\n            .wrapper .yvv-cyber-loading {\r\n                padding: 20px;\r\n            }\r\n\r\n            .wrapper .yvv-loading-waves {\r\n                gap: 6px;\r\n            }\r\n\r\n            .wrapper .yvv-loading-text {\r\n                font-size: 12px;\r\n            }\r\n        }\r\n    <\/style>\r\n\r\n\r\n<body class=\"yvv-body\">\r\n    <div class=\"wrapper\">\r\n        <div class=\"yvv-container\">\r\n        <!-- Header Section -->\r\n        <div class=\"yvv-header\">\r\n            <div class=\"yvv-brand-logo\">\r\n                <div class=\"yvv-brand-icon\">\ud83c\udfa5<\/div>\r\n                <div class=\"yvv-brand-title\">YouTube Video Viewer<\/div>\r\n            <\/div>\r\n            <div class=\"yvv-brand-subtitle\">Experience YouTube videos with advanced streaming capabilities and premium\r\n                audio quality<\/div>\r\n\r\n            <div class=\"yvv-feature-badges\">\r\n                <div class=\"yvv-feature-badge\">\r\n                    <div class=\"yvv-badge-icon\">\u2713<\/div>\r\n                    <span>HD Streaming<\/span>\r\n                <\/div>\r\n                <div class=\"yvv-feature-badge\">\r\n                    <div class=\"yvv-badge-icon\">\u2713<\/div>\r\n                    <span>Audio Player<\/span>\r\n                <\/div>\r\n                <div class=\"yvv-feature-badge\">\r\n                    <div class=\"yvv-badge-icon\">\u2713<\/div>\r\n                    <span>Download Options<\/span>\r\n                <\/div>\r\n                <div class=\"yvv-feature-badge\">\r\n                    <div class=\"yvv-badge-icon\">\u2713<\/div>\r\n                    <span>Premium Experience<\/span>\r\n                <\/div>\r\n            <\/div>\r\n    <\/div>\r\n\r\n        <!-- Search Section -->\r\n        <div class=\"yvv-search-section\">\r\n            <div class=\"yvv-search-form\">\r\n                <input type=\"text\" class=\"yvv-search-input\"\r\n                    placeholder=\"Enter YouTube URL to start viewing (e.g., https:\/\/www.youtube.com\/watch?v=dQw4w9WgXcQ)\"\r\n                    id=\"yvv-videoInput\">\r\n                <button class=\"yvv-search-btn\" onclick=\"yvv_loadVideo()\" id=\"yvv-loadBtn\">\r\n                    <span id=\"yvv-loadBtnText\">\ud83c\udfa5 Load Video<\/span>\r\n                <\/button>\r\n    <\/div>\r\n\r\n            <div class=\"yvv-loading-indicator\" id=\"yvv-loadingIndicator\">\r\n                <div class=\"yvv-cyber-loading\">\r\n                    <div class=\"yvv-loading-grid\"><\/div>\r\n                    <div class=\"yvv-loading-waves\">\r\n                        <div class=\"yvv-loading-wave\"><\/div>\r\n                        <div class=\"yvv-loading-wave\"><\/div>\r\n                        <div class=\"yvv-loading-wave\"><\/div>\r\n                    <\/div>\r\n                    <div class=\"yvv-loading-text\">\r\n                        <span class=\"yvv-loading-dots\">Loading video content<\/span>\r\n                        <div class=\"yvv-loading-progress-bar\">\r\n                            <div class=\"yvv-loading-progress-fill\"><\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <div class=\"yvv-error-display\" id=\"yvv-errorDisplay\"><\/div>\r\n            <\/div>\r\n\r\n        <!-- Video Player Section - Shows immediately after loading -->\r\n        <div class=\"yvv-video-player-section\" id=\"yvv-videoPlayerSection\">\r\n            <div class=\"yvv-video-header\">\r\n                <h2 class=\"yvv-video-title\" id=\"yvv-playerVideoTitle\">Video Title<\/h2>\r\n                <div class=\"yvv-current-quality-badge\" id=\"yvv-currentQualityBadge\">Ready to Play<\/div>\r\n                <button class=\"yvv-close-viewer-btn\" onclick=\"yvv_closeVideoPlayer()\">\u00d7<\/button>\r\n                <\/div>\r\n            <div class=\"yvv-video-container\">\r\n                <video class=\"yvv-main-video\" id=\"yvv-mainVideoPlayer\" controls>\r\n                    Your browser does not support the video tag.\r\n                <\/video>\r\n                <div class=\"yvv-video-thumbnail-overlay\" id=\"yvv-videoThumbnailOverlay\">\r\n                    <div class=\"yvv-thumbnail-play-btn\" onclick=\"yvv_playDefaultVideo()\">\u25b6<\/div>\r\n                <\/div>\r\n                <\/div>\r\n            <div class=\"yvv-video-controls-section\">\r\n                <div class=\"yvv-video-controls\">\r\n                    <button class=\"yvv-control-btn\" id=\"yvv-playPauseControl\"\r\n                        onclick=\"yvv_toggleVideoPlayback()\">\u25b6<\/button>\r\n                    <div class=\"yvv-progress-section\">\r\n                        <div class=\"yvv-progress-bar\" onclick=\"yvv_seekVideoTo(event)\">\r\n                            <div class=\"yvv-progress-fill\" id=\"yvv-videoProgressFill\"><\/div>\r\n                <\/div>\r\n                        <div class=\"yvv-time-info\" id=\"yvv-videoTimeInfo\">0:00 \/ 0:00<\/div>\r\n            <\/div>\r\n                    <div class=\"yvv-volume-section\">\r\n                        <span class=\"yvv-volume-icon\" id=\"yvv-videoVolumeIcon\">\ud83d\udd0a<\/span>\r\n                        <input type=\"range\" class=\"yvv-volume-control\" id=\"yvv-videoVolumeControl\" min=\"0\" max=\"100\"\r\n                            value=\"50\" oninput=\"yvv_adjustVideoVolume(this.value)\">\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n            <\/div>\r\n\r\n        <!-- Video Info Section -->\r\n        <div class=\"yvv-video-info-section\" id=\"yvv-videoInfoSection\">\r\n            <div class=\"yvv-video-metadata\">\r\n                <img decoding=\"async\" class=\"yvv-video-thumbnail\" id=\"yvv-videoThumbnail\" src=\"\/placeholder.svg\" alt=\"Video Thumbnail\">\r\n                <div class=\"yvv-video-details\">\r\n                    <h2 id=\"yvv-videoDetailsTitle\">Video Title<\/h2>\r\n                    <div class=\"yvv-video-stats\">\r\n                        <div class=\"yvv-stat-item\">\r\n                            <div class=\"yvv-stat-icon\">\u23f1<\/div>\r\n                            <span id=\"yvv-videoDurationStat\">Duration<\/span>\r\n                <\/div>\r\n                        <div class=\"yvv-stat-item\">\r\n                            <div class=\"yvv-stat-icon\">\ud83d\udc64<\/div>\r\n                            <span id=\"yvv-videoUploaderStat\">Channel<\/span>\r\n                        <\/div>\r\n                        <div class=\"yvv-stat-item\">\r\n                            <div class=\"yvv-stat-icon\">\ud83c\udfac<\/div>\r\n                            <span>Premium Quality<\/span>\r\n                        <\/div>\r\n                    <\/div>\r\n            <\/div>\r\n        <\/div>\r\n\r\n            <div class=\"yvv-format-selection\">\r\n                <h3 class=\"yvv-format-title\">Available Formats & Downloads<\/h3>\r\n                <div class=\"yvv-format-tabs\">\r\n                    <div class=\"yvv-format-tab active\" onclick=\"yvv_switchFormatTab('video')\">Video Formats<\/div>\r\n                    <div class=\"yvv-format-tab\" onclick=\"yvv_switchFormatTab('audio')\">Audio Only<\/div>\r\n                <\/div>\r\n                <div class=\"yvv-format-grid\" id=\"yvv-formatGrid\">\r\n                    <!-- Format options will be populated here -->\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <!-- Audio Player Section -->\r\n        <div class=\"yvv-audio-player-section\" id=\"yvv-audioPlayerSection\">\r\n            <div class=\"yvv-audio-visualizer\">\r\n                <div class=\"yvv-visualizer-bars\">\r\n                    <div class=\"yvv-visualizer-bar\"><\/div>\r\n                    <div class=\"yvv-visualizer-bar\"><\/div>\r\n                    <div class=\"yvv-visualizer-bar\"><\/div>\r\n                    <div class=\"yvv-visualizer-bar\"><\/div>\r\n                    <div class=\"yvv-visualizer-bar\"><\/div>\r\n                    <div class=\"yvv-visualizer-bar\"><\/div>\r\n                    <div class=\"yvv-visualizer-bar\"><\/div>\r\n                    <div class=\"yvv-visualizer-bar\"><\/div>\r\n                    <div class=\"yvv-visualizer-bar\"><\/div>\r\n                    <div class=\"yvv-visualizer-bar\"><\/div>\r\n                    <div class=\"yvv-visualizer-bar\"><\/div>\r\n                    <div class=\"yvv-visualizer-bar\"><\/div>\r\n                    <\/div>\r\n                <div class=\"yvv-audio-controls\">\r\n                    <button class=\"yvv-audio-play-btn\" id=\"yvv-audioPlayBtn\"\r\n                        onclick=\"yvv_toggleAudioPlayback()\">\u25b6<\/button>\r\n                    <div class=\"yvv-audio-progress\" onclick=\"yvv_seekAudioTo(event)\">\r\n                        <div class=\"yvv-audio-progress-track\">\r\n                            <div class=\"yvv-audio-progress-fill\" id=\"yvv-audioProgressFill\"><\/div>\r\n                <\/div>\r\n            <\/div>\r\n                    <div class=\"yvv-audio-time\" id=\"yvv-audioTimeInfo\">0:00 \/ 0:00<\/div>\r\n                    <div class=\"yvv-audio-volume\">\r\n                        <span class=\"yvv-audio-volume-icon\" id=\"yvv-audioVolumeIcon\">\ud83d\udd0a<\/span>\r\n                        <input type=\"range\" class=\"yvv-audio-volume-slider\" id=\"yvv-audioVolumeSlider\" min=\"0\" max=\"100\"\r\n                            value=\"50\" oninput=\"yvv_adjustAudioVolume(this.value)\">\r\n                    <\/div>\r\n                <\/div>\r\n                <audio id=\"yvv-audioPlayer\" preload=\"none\" style=\"display: none;\"><\/audio>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <!-- Download Progress -->\r\n    <div class=\"yvv-download-progress\" id=\"yvv-downloadProgress\">\r\n        <div class=\"yvv-progress-header\">\r\n            <span class=\"yvv-progress-text\" id=\"yvv-progressText\">Downloading...<\/span>\r\n            <button class=\"yvv-cancel-btn\" onclick=\"yvv_cancelDownload()\">Cancel<\/button>\r\n        <\/div>\r\n        <div class=\"yvv-progress-bar-container\">\r\n            <div class=\"yvv-progress-bar-fill\" id=\"yvv-progressBarFill\"><\/div>\r\n        <\/div>\r\n        <div class=\"yvv-progress-details\">\r\n            <span id=\"yvv-progressPercent\">0%<\/span>\r\n            <span id=\"yvv-progressSize\">0 MB \/ 0 MB<\/span>\r\n        <\/div>\r\n        <\/div>\r\n    <\/div>\r\n\r\n\t   <script src=\"https:\/\/tools.xrespond.com\/api\/rate-limit-handler.js\"><\/script>\r\n<script src=\"https:\/\/tools.xrespond.com\/api\/js\/client-ip-detector.js\"><\/script>\r\n \r\n\t\r\n    <script>\r\n        \/\/ Using your original API\r\n        const API_URL = 'https:\/\/tools.xrespond.com\/api\/youtube\/video\/downloader';\r\n        let currentVideoData = null;\r\n        let videoPlayer = null;\r\n        let audioPlayer = null;\r\n        let isVideoPlaying = false;\r\n        let isAudioPlaying = false;\r\n        let currentFormatTab = 'video';\r\n        let downloadController = null;\r\n        let currentPlayingFormat = null;\r\n        let defaultVideoFormat = null;\r\n\r\n        function yvv_isValidYouTubeURL(url) {\r\n            const patterns = [\r\n                \/^https:\\\/\\\/(?:www\\.)?youtube\\.com\\\/watch\\?v=[\\w-]+\/,\r\n                \/^https:\\\/\\\/youtu\\.be\\\/[\\w-]+\/,\r\n                \/^https:\\\/\\\/(?:www\\.)?youtube\\.com\\\/shorts\\\/[\\w-]+\/\r\n            ];\r\n            return patterns.some(pattern => pattern.test(url));\r\n        }\r\n\r\n        function yvv_showError(message) {\r\n            const errorDiv = document.getElementById('yvv-errorDisplay');\r\n            const urlInput = document.getElementById('yvv-videoInput');\r\n\r\n            errorDiv.textContent = message;\r\n            errorDiv.style.display = 'block';\r\n            urlInput.classList.add('error');\r\n\r\n            setTimeout(() => {\r\n                errorDiv.style.display = 'none';\r\n                urlInput.classList.remove('error');\r\n            }, 5000);\r\n        }\r\n\r\n        function yvv_hideError() {\r\n            const errorDiv = document.getElementById('yvv-errorDisplay');\r\n            const urlInput = document.getElementById('yvv-videoInput');\r\n\r\n            errorDiv.style.display = 'none';\r\n            urlInput.classList.remove('error');\r\n        }\r\n\r\n        function yvv_showLoading() {\r\n            document.getElementById('yvv-loadingIndicator').style.display = 'block';\r\n            document.getElementById('yvv-loadBtn').disabled = true;\r\n            document.getElementById('yvv-loadBtnText').textContent = '\u23f3 Loading...';\r\n        }\r\n\r\n        function yvv_hideLoading() {\r\n            document.getElementById('yvv-loadingIndicator').style.display = 'none';\r\n            document.getElementById('yvv-loadBtn').disabled = false;\r\n            document.getElementById('yvv-loadBtnText').textContent = '\ud83c\udfa5 Load Video';\r\n        }\r\n\r\n        function yvv_formatFileSize(bytes) {\r\n            if (bytes === 0) return '0 Bytes';\r\n            const k = 1024;\r\n            const sizes = ['Bytes', 'KB', 'MB', 'GB'];\r\n            const i = Math.floor(Math.log(bytes) \/ Math.log(k));\r\n            return parseFloat((bytes \/ Math.pow(k, i)).toFixed(2)) + ' ' + sizes[i];\r\n        }\r\n\r\n        function yvv_showDownloadProgress(text, progress = 0, downloaded = 0, total = 0) {\r\n            const progressDiv = document.getElementById('yvv-downloadProgress');\r\n            const progressText = document.getElementById('yvv-progressText');\r\n            const progressFill = document.getElementById('yvv-progressBarFill');\r\n            const progressPercent = document.getElementById('yvv-progressPercent');\r\n            const progressSize = document.getElementById('yvv-progressSize');\r\n\r\n            progressText.textContent = text;\r\n            progressFill.style.width = `${progress}%`;\r\n            progressPercent.textContent = `${Math.round(progress)}%`;\r\n            progressSize.textContent = `${yvv_formatFileSize(downloaded)} \/ ${yvv_formatFileSize(total)}`;\r\n            progressDiv.classList.add('show');\r\n        }\r\n\r\n        function yvv_hideDownloadProgress() {\r\n            document.getElementById('yvv-downloadProgress').classList.remove('show');\r\n        }\r\n\r\n        async function yvv_loadVideo() {\r\n            const urlInput = document.getElementById('yvv-videoInput');\r\n            const url = urlInput.value.trim();\r\n\r\n            if (!url) {\r\n                yvv_showError('Please enter a YouTube URL');\r\n                return;\r\n            }\r\n\r\n            if (!yvv_isValidYouTubeURL(url)) {\r\n                yvv_showError('Please enter a valid YouTube URL');\r\n                return;\r\n            }\r\n\r\n            yvv_hideError();\r\n            yvv_showLoading();\r\n\r\n            try {\r\n                const formData = new FormData();\r\n                formData.append('url', url);\r\n\r\n                const response = await fetch(API_URL, {\r\n                    method: 'POST',\r\n                    body: formData\r\n                });\r\n\r\n                if (!response.ok) {\r\n                    throw new Error(`HTTP error! status: ${response.status}`);\r\n                }\r\n\r\n                const data = await response.json();\r\n\r\n                if (!data.success) {\r\n                    throw new Error(data.message || 'Failed to load video data');\r\n                }\r\n\r\n                currentVideoData = data.data.data;\r\n                yvv_displayVideoInfo(currentVideoData);\r\n\r\n                \/\/ Show video player with thumbnail\r\n                yvv_setupVideoPlayerWithThumbnail();\r\n\r\n            } catch (error) {\r\n                console.error('Error:', error);\r\n                yvv_showError('Failed to load video data. Please check the URL and try again.');\r\n            } finally {\r\n                yvv_hideLoading();\r\n            }\r\n        }\r\n\r\n        function yvv_setupVideoPlayerWithThumbnail() {\r\n            const videoPlayerSection = document.getElementById('yvv-videoPlayerSection');\r\n            const thumbnailOverlay = document.getElementById('yvv-videoThumbnailOverlay');\r\n            const playerTitle = document.getElementById('yvv-playerVideoTitle');\r\n            const qualityBadge = document.getElementById('yvv-currentQualityBadge');\r\n\r\n            \/\/ Set thumbnail background\r\n            thumbnailOverlay.style.backgroundImage = `url(${currentVideoData.thumbnail})`;\r\n            thumbnailOverlay.classList.remove('hidden');\r\n\r\n            \/\/ Set title\r\n            playerTitle.textContent = currentVideoData.title;\r\n            qualityBadge.textContent = 'Ready to Play';\r\n\r\n            \/\/ Show video player section\r\n            videoPlayerSection.style.display = 'block';\r\n\r\n            \/\/ Find default video format (prefer 720p or first available)\r\n            const videoFormats = currentVideoData.links.filter(link => link.type === 'video');\r\n            defaultVideoFormat = videoFormats.find(f => f.resolution.includes('720p')) || videoFormats[0];\r\n\r\n            \/\/ Reset video player\r\n            const videoPlayer = document.getElementById('yvv-mainVideoPlayer');\r\n            videoPlayer.src = '';\r\n            isVideoPlaying = false;\r\n            document.getElementById('yvv-playPauseControl').textContent = '\u25b6';\r\n\r\n            \/\/ Hide audio player if open\r\n            document.getElementById('yvv-audioPlayerSection').style.display = 'none';\r\n        }\r\n\r\n        function yvv_playDefaultVideo() {\r\n            if (defaultVideoFormat) {\r\n                yvv_streamVideoDirectly(defaultVideoFormat.download_url, defaultVideoFormat.resolution);\r\n                yvv_updateCurrentPlayingFormat(defaultVideoFormat.resolution, 'video');\r\n            }\r\n        }\r\n\r\n        function yvv_displayVideoInfo(data) {\r\n            \/\/ Set video info\r\n            document.getElementById('yvv-videoDetailsTitle').textContent = data.title;\r\n            document.getElementById('yvv-videoDurationStat').textContent = data.duration;\r\n            document.getElementById('yvv-videoUploaderStat').textContent = data.uploader;\r\n            document.getElementById('yvv-videoThumbnail').src = data.thumbnail;\r\n\r\n            \/\/ Display formats\r\n            yvv_displayFormats(data.links);\r\n\r\n            document.getElementById('yvv-videoInfoSection').style.display = 'block';\r\n        }\r\n\r\n        function yvv_streamVideoDirectly(url, resolution) {\r\n            const videoPlayer = document.getElementById('yvv-mainVideoPlayer');\r\n            const thumbnailOverlay = document.getElementById('yvv-videoThumbnailOverlay');\r\n            const qualityBadge = document.getElementById('yvv-currentQualityBadge');\r\n\r\n            \/\/ Hide thumbnail overlay\r\n            thumbnailOverlay.classList.add('hidden');\r\n\r\n            \/\/ Set video source\r\n            videoPlayer.src = url;\r\n            videoPlayer.load();\r\n\r\n            \/\/ Update quality badge\r\n            qualityBadge.textContent = resolution;\r\n\r\n            \/\/ Reset controls\r\n            isVideoPlaying = false;\r\n            document.getElementById('yvv-playPauseControl').textContent = '\u25b6';\r\n\r\n            \/\/ Setup event listeners\r\n            yvv_setupVideoEventListeners();\r\n\r\n            \/\/ Scroll to video player\r\n            document.getElementById('yvv-videoPlayerSection').scrollIntoView({\r\n                behavior: 'smooth',\r\n                block: 'start'\r\n            });\r\n        }\r\n\r\n        function yvv_updateCurrentPlayingFormat(quality, type) {\r\n            \/\/ Remove previous playing indicators\r\n            document.querySelectorAll('.yvv-format-option').forEach(option => {\r\n                option.classList.remove('playing');\r\n            });\r\n            document.querySelectorAll('.yvv-stream-action').forEach(btn => {\r\n                btn.classList.remove('playing');\r\n                btn.innerHTML = btn.innerHTML.replace('\u23f8 Playing', '\u25b6 Stream').replace('\ud83c\udfb5 Playing', '\ud83c\udfb5 Stream Audio');\r\n            });\r\n\r\n            \/\/ Set current playing format\r\n            currentPlayingFormat = { quality, type };\r\n\r\n            \/\/ Update format cards to show which is playing\r\n            const formatCards = document.querySelectorAll('.yvv-format-option');\r\n            formatCards.forEach(card => {\r\n                const qualityElement = card.querySelector('.yvv-format-quality');\r\n                const streamBtn = card.querySelector('.yvv-stream-action, .yvv-audio-action');\r\n\r\n                if (qualityElement && streamBtn) {\r\n                    const cardQuality = qualityElement.textContent;\r\n                    const isCurrentFormat = (type === 'video' && cardQuality === quality) ||\r\n                        (type === 'audio' && cardQuality === 'Audio Quality' && quality === 'Audio');\r\n\r\n                    if (isCurrentFormat) {\r\n                        card.classList.add('playing');\r\n                        streamBtn.classList.add('playing');\r\n                        if (type === 'video') {\r\n                            streamBtn.innerHTML = '\u23f8 Playing';\r\n                        } else {\r\n                            streamBtn.innerHTML = '\ud83c\udfb5 Playing';\r\n                        }\r\n                    }\r\n                }\r\n            });\r\n        }\r\n\r\n        function yvv_switchFormatTab(tab) {\r\n            currentFormatTab = tab;\r\n\r\n            \/\/ Update tab appearance\r\n            document.querySelectorAll('.yvv-format-tab').forEach(t => t.classList.remove('active'));\r\n            event.target.classList.add('active');\r\n\r\n            \/\/ Display formats for selected tab\r\n            if (currentVideoData) {\r\n                yvv_displayFormats(currentVideoData.links);\r\n            }\r\n        }\r\n\r\n        function yvv_displayFormats(links) {\r\n            const formatGrid = document.getElementById('yvv-formatGrid');\r\n            formatGrid.innerHTML = '';\r\n\r\n            let formats;\r\n            if (currentFormatTab === 'video') {\r\n                formats = links.filter(link => link.type === 'video');\r\n            } else {\r\n                formats = links.filter(link => link.type === 'audio');\r\n            }\r\n\r\n            formats.forEach((format, index) => {\r\n                const formatCard = document.createElement('div');\r\n                formatCard.className = 'yvv-format-option';\r\n\r\n                \/\/ Check if this format is currently playing\r\n                const isPlaying = currentPlayingFormat &&\r\n                    ((currentFormatTab === 'video' && currentPlayingFormat.quality === format.resolution && currentPlayingFormat.type === 'video') ||\r\n                        (currentFormatTab === 'audio' && currentPlayingFormat.type === 'audio'));\r\n\r\n                if (isPlaying) {\r\n                    formatCard.classList.add('playing');\r\n                }\r\n\r\n                if (currentFormatTab === 'video') {\r\n                    \/\/ Check if this is 360p to hide download button\r\n                    const is360p = format.resolution.includes('360p');\r\n\r\n                    formatCard.innerHTML = `\r\n                        <div class=\"yvv-format-header\">\r\n                            <div class=\"yvv-format-quality\">${format.resolution}<\/div>\r\n                            <div class=\"yvv-format-type-badge\">MP4<\/div>\r\n                            <\/div>\r\n                        <div class=\"yvv-format-actions\">\r\n                            <button class=\"yvv-action-btn yvv-stream-action ${isPlaying ? 'playing' : ''}\" onclick=\"yvv_streamVideo('${format.download_url}', '${format.resolution}')\">\r\n                                ${isPlaying ? '\u23f8 Playing' : '\u25b6 Stream'}\r\n                            <\/button>\r\n                            ${!is360p ? `<button class=\"yvv-action-btn yvv-download-action\" onclick=\"yvv_downloadFile('${format.download_url}', '${format.resolution}', 'video')\">\r\n                                \u2b07\ufe0f Download\r\n                            <\/button>` : ''}\r\n                        <\/div>\r\n                    `;\r\n                } else {\r\n                    formatCard.innerHTML = `\r\n                        <div class=\"yvv-format-header\">\r\n                            <div class=\"yvv-format-quality\">Audio Quality<\/div>\r\n                            <div class=\"yvv-format-type-badge\">MP3<\/div>\r\n                    <\/div>\r\n                        <div class=\"yvv-format-actions\">\r\n                            <button class=\"yvv-action-btn yvv-audio-action ${isPlaying ? 'playing' : ''}\" onclick=\"yvv_streamAudio('${format.download_url}')\">\r\n                                ${isPlaying ? '\ud83c\udfb5 Playing' : '\ud83c\udfb5 Stream Audio'}\r\n                            <\/button>\r\n                            <button class=\"yvv-action-btn yvv-download-action\" onclick=\"yvv_downloadFile('${format.download_url}', 'Audio', 'audio')\">\r\n                                \u2b07\ufe0f Download\r\n                            <\/button>\r\n                <\/div>\r\n            `;\r\n        }\r\n\r\n                formatGrid.appendChild(formatCard);\r\n            });\r\n        }\r\n\r\n        function yvv_streamVideo(url, resolution) {\r\n            yvv_streamVideoDirectly(url, resolution);\r\n            yvv_updateCurrentPlayingFormat(resolution, 'video');\r\n        }\r\n\r\n        function yvv_streamAudio(url) {\r\n            const audioPlayer = document.getElementById('yvv-audioPlayer');\r\n            const audioPlayerSection = document.getElementById('yvv-audioPlayerSection');\r\n\r\n            \/\/ Set audio source\r\n            audioPlayer.src = url;\r\n            audioPlayer.load();\r\n\r\n            \/\/ Show audio player section\r\n            audioPlayerSection.style.display = 'block';\r\n            audioPlayerSection.scrollIntoView({ behavior: 'smooth' });\r\n\r\n            \/\/ Reset controls\r\n            isAudioPlaying = false;\r\n            document.getElementById('yvv-audioPlayBtn').textContent = '\u25b6';\r\n\r\n            \/\/ Setup event listeners\r\n            yvv_setupAudioEventListeners();\r\n\r\n            \/\/ Update playing format\r\n            yvv_updateCurrentPlayingFormat('Audio', 'audio');\r\n\r\n            \/\/ Hide video player if open\r\n            document.getElementById('yvv-videoPlayerSection').style.display = 'none';\r\n        }\r\n\r\n        async function yvv_downloadFile(url, quality, type) {\r\n            const downloadBtn = event.target;\r\n            const originalText = downloadBtn.innerHTML;\r\n\r\n            downloadBtn.disabled = true;\r\n            downloadBtn.innerHTML = '\u23f3 Preparing...';\r\n\r\n            \/\/ Create abort controller for cancellation\r\n            downloadController = new AbortController();\r\n\r\n            try {\r\n                yvv_showDownloadProgress(`Starting ${quality} download...`, 0);\r\n\r\n                const response = await fetch(url, {\r\n                    signal: downloadController.signal\r\n                });\r\n\r\n                if (!response.ok) {\r\n                    throw new Error(`HTTP error! status: ${response.status}`);\r\n                }\r\n\r\n                const totalSize = parseInt(response.headers.get('content-length') || '0');\r\n                const reader = response.body.getReader();\r\n                let receivedSize = 0;\r\n                const chunks = [];\r\n\r\n                while (true) {\r\n                    const { done, value } = await reader.read();\r\n\r\n                    if (done) break;\r\n\r\n                    chunks.push(value);\r\n                    receivedSize += value.length;\r\n\r\n                    const progress = totalSize ? (receivedSize \/ totalSize) * 100 : 0;\r\n                    yvv_showDownloadProgress(`Downloading ${quality}...`, progress, receivedSize, totalSize);\r\n                }\r\n\r\n                yvv_showDownloadProgress('Processing download...', 95, receivedSize, totalSize);\r\n\r\n                \/\/ Create blob and download\r\n                const mimeType = type === 'video' ? 'video\/mp4' : 'audio\/mpeg';\r\n                const extension = type === 'video' ? 'mp4' : 'mp3';\r\n                const blob = new Blob(chunks, { type: mimeType });\r\n                const downloadUrl = URL.createObjectURL(blob);\r\n\r\n                \/\/ Create download link\r\n                const a = document.createElement('a');\r\n                a.href = downloadUrl;\r\n                a.download = `${currentVideoData.title.replace(\/[^a-zA-Z0-9\\s]\/g, '_').trim()}_${quality}.${extension}`;\r\n                a.style.display = 'none';\r\n                document.body.appendChild(a);\r\n                a.click();\r\n                document.body.removeChild(a);\r\n\r\n                \/\/ Clean up URL\r\n                setTimeout(() => URL.revokeObjectURL(downloadUrl), 1000);\r\n\r\n                yvv_showDownloadProgress('Download completed!', 100, receivedSize, totalSize);\r\n                setTimeout(yvv_hideDownloadProgress, 3000);\r\n\r\n            } catch (error) {\r\n                if (error.name === 'AbortError') {\r\n                    yvv_showDownloadProgress('Download cancelled', 0);\r\n                    setTimeout(yvv_hideDownloadProgress, 2000);\r\n                } else {\r\n                    yvv_showError(`Download failed: ${error.message}`);\r\n                    yvv_hideDownloadProgress();\r\n                }\r\n            } finally {\r\n                downloadBtn.disabled = false;\r\n                downloadBtn.innerHTML = originalText;\r\n                downloadController = null;\r\n            }\r\n        }\r\n\r\n        function yvv_cancelDownload() {\r\n            if (downloadController) {\r\n                downloadController.abort();\r\n                downloadController = null;\r\n            }\r\n        }\r\n\r\n        function yvv_setupVideoEventListeners() {\r\n            const video = document.getElementById('yvv-mainVideoPlayer');\r\n\r\n            \/\/ Remove existing event listeners\r\n            video.removeEventListener('timeupdate', yvv_updateVideoProgress);\r\n            video.removeEventListener('loadedmetadata', yvv_updateVideoProgress);\r\n            video.removeEventListener('ended', yvv_handleVideoEnded);\r\n\r\n            \/\/ Add event listeners\r\n            video.addEventListener('timeupdate', yvv_updateVideoProgress);\r\n            video.addEventListener('loadedmetadata', yvv_updateVideoProgress);\r\n            video.addEventListener('ended', yvv_handleVideoEnded);\r\n\r\n            \/\/ Initialize volume\r\n            const volumeSlider = document.getElementById('yvv-videoVolumeControl');\r\n            video.volume = volumeSlider.value \/ 100;\r\n        }\r\n\r\n        function yvv_setupAudioEventListeners() {\r\n            const audio = document.getElementById('yvv-audioPlayer');\r\n\r\n            \/\/ Remove existing event listeners\r\n            audio.removeEventListener('timeupdate', yvv_updateAudioProgress);\r\n            audio.removeEventListener('loadedmetadata', yvv_updateAudioProgress);\r\n            audio.removeEventListener('ended', yvv_handleAudioEnded);\r\n\r\n            \/\/ Add event listeners\r\n            audio.addEventListener('timeupdate', yvv_updateAudioProgress);\r\n            audio.addEventListener('loadedmetadata', yvv_updateAudioProgress);\r\n            audio.addEventListener('ended', yvv_handleAudioEnded);\r\n\r\n            \/\/ Initialize volume\r\n            const volumeSlider = document.getElementById('yvv-audioVolumeSlider');\r\n            audio.volume = volumeSlider.value \/ 100;\r\n        }\r\n\r\n        function yvv_toggleVideoPlayback() {\r\n            const video = document.getElementById('yvv-mainVideoPlayer');\r\n            const btn = document.getElementById('yvv-playPauseControl');\r\n\r\n            if (isVideoPlaying) {\r\n                video.pause();\r\n                btn.textContent = '\u25b6';\r\n                isVideoPlaying = false;\r\n            } else {\r\n                video.play().catch(error => {\r\n                    console.error('Video playback failed:', error);\r\n                    yvv_showError('Video streaming not available. Please try another format.');\r\n                });\r\n                btn.textContent = '\u23f8';\r\n                isVideoPlaying = true;\r\n            }\r\n        }\r\n\r\n        function yvv_toggleAudioPlayback() {\r\n            const audio = document.getElementById('yvv-audioPlayer');\r\n            const btn = document.getElementById('yvv-audioPlayBtn');\r\n\r\n            if (isAudioPlaying) {\r\n                audio.pause();\r\n                btn.textContent = '\u25b6';\r\n                isAudioPlaying = false;\r\n                yvv_stopVisualizerAnimation();\r\n            } else {\r\n                audio.play().catch(error => {\r\n                    console.error('Audio playback failed:', error);\r\n                    yvv_showError('Audio streaming not available. Please try another format.');\r\n                });\r\n                btn.textContent = '\u23f8';\r\n                isAudioPlaying = true;\r\n                yvv_startVisualizerAnimation();\r\n            }\r\n        }\r\n\r\n        function yvv_adjustVideoVolume(value) {\r\n            const video = document.getElementById('yvv-mainVideoPlayer');\r\n            const volumeIcon = document.getElementById('yvv-videoVolumeIcon');\r\n\r\n            video.volume = value \/ 100;\r\n\r\n            if (value == 0) {\r\n                volumeIcon.textContent = '\ud83d\udd07';\r\n            } else if (value < 30) {\r\n                volumeIcon.textContent = '\ud83d\udd08';\r\n            } else if (value < 70) {\r\n                volumeIcon.textContent = '\ud83d\udd09';\r\n            } else {\r\n                volumeIcon.textContent = '\ud83d\udd0a';\r\n            }\r\n        }\r\n\r\n        function yvv_adjustAudioVolume(value) {\r\n            const audio = document.getElementById('yvv-audioPlayer');\r\n            const volumeIcon = document.getElementById('yvv-audioVolumeIcon');\r\n\r\n            audio.volume = value \/ 100;\r\n\r\n            if (value == 0) {\r\n                volumeIcon.textContent = '\ud83d\udd07';\r\n            } else if (value < 30) {\r\n                volumeIcon.textContent = '\ud83d\udd08';\r\n            } else if (value < 70) {\r\n                volumeIcon.textContent = '\ud83d\udd09';\r\n            } else {\r\n                volumeIcon.textContent = '\ud83d\udd0a';\r\n            }\r\n        }\r\n\r\n        function yvv_seekVideoTo(event) {\r\n            const video = document.getElementById('yvv-mainVideoPlayer');\r\n            const progressBar = event.currentTarget;\r\n            const rect = progressBar.getBoundingClientRect();\r\n            const clickX = event.clientX - rect.left;\r\n            const percentage = clickX \/ rect.width;\r\n\r\n            if (video.duration) {\r\n                video.currentTime = percentage * video.duration;\r\n            }\r\n        }\r\n\r\n        function yvv_seekAudioTo(event) {\r\n            const audio = document.getElementById('yvv-audioPlayer');\r\n            const progressBar = event.currentTarget;\r\n            const rect = progressBar.getBoundingClientRect();\r\n            const clickX = event.clientX - rect.left;\r\n            const percentage = clickX \/ rect.width;\r\n\r\n            if (audio.duration) {\r\n                audio.currentTime = percentage * audio.duration;\r\n            }\r\n        }\r\n\r\n        function yvv_updateVideoProgress() {\r\n            const video = document.getElementById('yvv-mainVideoPlayer');\r\n            const progressFill = document.getElementById('yvv-videoProgressFill');\r\n            const timeInfo = document.getElementById('yvv-videoTimeInfo');\r\n\r\n            if (video.duration) {\r\n                const percentage = (video.currentTime \/ video.duration) * 100;\r\n                progressFill.style.width = percentage + '%';\r\n\r\n                const currentTime = yvv_formatTime(video.currentTime);\r\n                const totalTime = yvv_formatTime(video.duration);\r\n                timeInfo.textContent = `${currentTime} \/ ${totalTime}`;\r\n            }\r\n        }\r\n\r\n        function yvv_updateAudioProgress() {\r\n            const audio = document.getElementById('yvv-audioPlayer');\r\n            const progressFill = document.getElementById('yvv-audioProgressFill');\r\n            const timeInfo = document.getElementById('yvv-audioTimeInfo');\r\n\r\n            if (audio.duration) {\r\n                const percentage = (audio.currentTime \/ audio.duration) * 100;\r\n                progressFill.style.width = percentage + '%';\r\n\r\n                const currentTime = yvv_formatTime(audio.currentTime);\r\n                const totalTime = yvv_formatTime(audio.duration);\r\n                timeInfo.textContent = `${currentTime} \/ ${totalTime}`;\r\n            }\r\n        }\r\n\r\n        function yvv_formatTime(seconds) {\r\n            const minutes = Math.floor(seconds \/ 60);\r\n            const remainingSeconds = Math.floor(seconds % 60);\r\n            return `${minutes}:${remainingSeconds.toString().padStart(2, '0')}`;\r\n        }\r\n\r\n        function yvv_handleVideoEnded() {\r\n            document.getElementById('yvv-playPauseControl').textContent = '\u25b6';\r\n            isVideoPlaying = false;\r\n            document.getElementById('yvv-videoProgressFill').style.width = '0%';\r\n        }\r\n\r\n        function yvv_handleAudioEnded() {\r\n            document.getElementById('yvv-audioPlayBtn').textContent = '\u25b6';\r\n            isAudioPlaying = false;\r\n            yvv_stopVisualizerAnimation();\r\n            document.getElementById('yvv-audioProgressFill').style.width = '0%';\r\n        }\r\n\r\n        function yvv_closeVideoPlayer() {\r\n            const video = document.getElementById('yvv-mainVideoPlayer');\r\n            const videoPlayerSection = document.getElementById('yvv-videoPlayerSection');\r\n            const thumbnailOverlay = document.getElementById('yvv-videoThumbnailOverlay');\r\n\r\n            video.pause();\r\n            video.src = '';\r\n            videoPlayerSection.style.display = 'none';\r\n            thumbnailOverlay.classList.remove('hidden');\r\n            isVideoPlaying = false;\r\n            currentPlayingFormat = null;\r\n            document.getElementById('yvv-playPauseControl').textContent = '\u25b6';\r\n\r\n            \/\/ Reset format indicators\r\n            document.querySelectorAll('.yvv-format-option').forEach(option => {\r\n                option.classList.remove('playing');\r\n            });\r\n            document.querySelectorAll('.yvv-stream-action').forEach(btn => {\r\n                btn.classList.remove('playing');\r\n                btn.innerHTML = btn.innerHTML.replace('\u23f8 Playing', '\u25b6 Stream');\r\n            });\r\n        }\r\n\r\n        function yvv_startVisualizerAnimation() {\r\n            const bars = document.querySelectorAll('.yvv-visualizer-bar');\r\n            bars.forEach(bar => {\r\n                bar.style.animationPlayState = 'running';\r\n            });\r\n        }\r\n\r\n        function yvv_stopVisualizerAnimation() {\r\n            const bars = document.querySelectorAll('.yvv-visualizer-bar');\r\n            bars.forEach(bar => {\r\n                bar.style.animationPlayState = 'paused';\r\n            });\r\n        }\r\n\r\n        \/\/ Event listeners\r\n        document.getElementById('yvv-videoInput').addEventListener('keypress', function (e) {\r\n            if (e.key === 'Enter') {\r\n                yvv_loadVideo();\r\n            }\r\n        });\r\n\r\n        document.getElementById('yvv-videoInput').addEventListener('input', function (e) {\r\n            const url = e.target.value.trim();\r\n            if (url && !yvv_isValidYouTubeURL(url)) {\r\n                e.target.classList.add('error');\r\n            } else {\r\n                e.target.classList.remove('error');\r\n                yvv_hideError();\r\n            }\r\n        });\r\n\r\n        \/\/ Auto-focus on input\r\n        document.getElementById('yvv-videoInput').focus();\r\n    <\/script>\r\n<\/body>\r\n\r\n<style>\r\n        \/* Prefixed CSS Variables *\/\r\n        :root {\r\n            --yt-video-primary: #FF0000;\r\n            --yt-video-secondary: #282828;\r\n            --yt-video-accent: #f1f1f1;\r\n            --yt-video-text-dark: #030303;\r\n            --yt-video-text-light: #606060;\r\n            --yt-video-bg-light: #f9f9f9;\r\n            --yt-video-border-light: #e5e5e5;\r\n            --yt-video-success: #34a853;\r\n            --yt-video-warning: #fbbc05;\r\n        }\r\n        \r\n        \/* Prefixed Section Styles *\/\r\n        .yt-video-section {\r\n            padding: 80px 0;\r\n            position: relative;\r\n        }\r\n        \r\n        .yt-video-section-heading {\r\n            font-size: 2.75rem;\r\n            font-weight: 700;\r\n            margin-bottom: 1rem;\r\n            text-align: center;\r\n        }\r\n        \r\n        .yt-video-section-description {\r\n            font-size: 1.25rem;\r\n            color: var(--yt-video-text-light);\r\n            text-align: center;\r\n            max-width: 700px;\r\n            margin: 0 auto 3rem;\r\n        }\r\n        \r\n        \/* Prefixed Hero Section *\/\r\n        #yt-video-hero {\r\n            background: linear-gradient(135deg, rgba(255, 0, 0, 0.9), rgba(40, 40, 40, 0.95));\r\n            color: white;\r\n            padding: 120px 0;\r\n            position: relative;\r\n            overflow: hidden;\r\n        }\r\n        \r\n        #yt-video-hero::before {\r\n            content: \"\";\r\n            position: absolute;\r\n            top: 0;\r\n            left: 0;\r\n            width: 100%;\r\n            height: 100%;\r\n            background-image: \r\n                radial-gradient(circle at 20% 50%, rgba(255,255,255,0.1) 0%, transparent 50%),\r\n                radial-gradient(circle at 80% 80%, rgba(255,255,255,0.1) 0%, transparent 50%),\r\n                radial-gradient(circle at 40% 20%, rgba(255,255,255,0.05) 0%, transparent 50%);\r\n        }\r\n        \r\n        .yt-video-hero-content {\r\n            position: relative;\r\n            z-index: 2;\r\n        }\r\n        \r\n        .yt-video-hero-title {\r\n            font-size: 3.5rem;\r\n            font-weight: 700;\r\n            margin-bottom: 1.5rem;\r\n            line-height: 1.2;\r\n        }\r\n        \r\n        .yt-video-hero-subtitle {\r\n            font-size: 1.5rem;\r\n            margin-bottom: 3rem;\r\n            opacity: 0.95;\r\n            font-weight: 400;\r\n        }\r\n        \r\n        .yt-video-btn-container {\r\n            display: flex;\r\n            justify-content: center;\r\n            gap: 15px;\r\n            margin-bottom: 3rem;\r\n        }\r\n        \r\n        .yt-video-btn-hero {\r\n            padding: 14px 32px;\r\n            font-size: 1.1rem;\r\n            font-weight: 600;\r\n            border-radius: 50px;\r\n            transition: all 0.3s ease;\r\n            text-decoration: none;\r\n            display: inline-block;\r\n        }\r\n        \r\n        .yt-video-btn-primary-hero {\r\n            background-color: white;\r\n            color: var(--yt-video-primary);\r\n            border: none;\r\n            box-shadow: 0 4px 15px rgba(0,0,0,0.1);\r\n        }\r\n        \r\n        .yt-video-btn-primary-hero:hover {\r\n            transform: translateY(-3px);\r\n            box-shadow: 0 8px 25px rgba(0,0,0,0.15);\r\n            color: var(--yt-video-primary);\r\n        }\r\n        \r\n        .yt-video-btn-secondary-hero {\r\n            background-color: transparent;\r\n            color: white;\r\n            border: 2px solid white;\r\n        }\r\n        \r\n        .yt-video-btn-secondary-hero:hover {\r\n            background-color: white;\r\n            color: var(--yt-video-primary);\r\n            transform: translateY(-3px);\r\n        }\r\n        \r\n        .yt-video-url-container {\r\n            max-width: 700px;\r\n            margin: 0 auto;\r\n            position: relative;\r\n        }\r\n        \r\n        .yt-video-url-input {\r\n            width: 100%;\r\n            padding: 18px 60px 18px 25px;\r\n            border-radius: 50px;\r\n            border: none;\r\n            font-size: 1.1rem;\r\n            box-shadow: 0 10px 30px rgba(0,0,0,0.1);\r\n            font-family: 'Fira Sans', sans-serif;\r\n        }\r\n        \r\n        .yt-video-url-btn {\r\n            position: absolute;\r\n            right: 8px;\r\n            top: 50%;\r\n            transform: translateY(-50%);\r\n            background-color: var(--yt-video-primary);\r\n            color: white;\r\n            border: none;\r\n            border-radius: 50%;\r\n            width: 45px;\r\n            height: 45px;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            font-size: 1.2rem;\r\n            transition: all 0.3s ease;\r\n        }\r\n        \r\n        .yt-video-url-btn:hover {\r\n            background-color: var(--yt-video-secondary);\r\n            transform: translateY(-50%) scale(1.05);\r\n        }\r\n        \r\n        .yt-video-player-mockup {\r\n            max-width: 700px;\r\n            margin: 3rem auto 0;\r\n            background-color: rgba(0,0,0,0.3);\r\n            border-radius: 12px;\r\n            overflow: hidden;\r\n            position: relative;\r\n            aspect-ratio: 16\/9;\r\n            box-shadow: 0 10px 30px rgba(0,0,0,0.2);\r\n            border: 1px solid rgba(255,255,255,0.2);\r\n        }\r\n        \r\n        .yt-video-player-overlay {\r\n            position: absolute;\r\n            top: 0;\r\n            left: 0;\r\n            width: 100%;\r\n            height: 100%;\r\n            background: linear-gradient(rgba(0,0,0,0.2), rgba(0,0,0,0.6));\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n        }\r\n        \r\n        .yt-video-play-icon {\r\n            width: 80px;\r\n            height: 80px;\r\n            background-color: rgba(255, 0, 0, 0.8);\r\n            border-radius: 50%;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            color: white;\r\n            font-size: 30px;\r\n            box-shadow: 0 5px 15px rgba(0,0,0,0.3);\r\n            transition: all 0.3s ease;\r\n        }\r\n        \r\n        .yt-video-play-icon:hover {\r\n            transform: scale(1.1);\r\n            background-color: var(--yt-video-primary);\r\n        }\r\n        \r\n        .yt-video-sparkle {\r\n            position: absolute;\r\n            width: 4px;\r\n            height: 4px;\r\n            background-color: white;\r\n            border-radius: 50%;\r\n            opacity: 0;\r\n            animation: sparkle 3s infinite;\r\n        }\r\n        \r\n        @keyframes sparkle {\r\n            0%, 100% { opacity: 0; transform: scale(0); }\r\n            50% { opacity: 1; transform: scale(1); }\r\n        }\r\n        \r\n        .yt-video-floating-icon {\r\n            position: absolute;\r\n            opacity: 0.15;\r\n            animation: float 15s infinite ease-in-out;\r\n            color: white;\r\n        }\r\n        \r\n        .yt-video-floating-icon:nth-child(1) {\r\n            top: 15%;\r\n            left: 10%;\r\n            font-size: 40px;\r\n            animation-delay: 0s;\r\n        }\r\n        \r\n        .yt-video-floating-icon:nth-child(2) {\r\n            top: 60%;\r\n            right: 10%;\r\n            font-size: 60px;\r\n            animation-delay: 2s;\r\n        }\r\n        \r\n        .yt-video-floating-icon:nth-child(3) {\r\n            bottom: 15%;\r\n            left: 20%;\r\n            font-size: 50px;\r\n            animation-delay: 5s;\r\n        }\r\n        \r\n        @keyframes float {\r\n            0%, 100% {\r\n                transform: translateY(0) rotate(0deg);\r\n            }\r\n            50% {\r\n                transform: translateY(-20px) rotate(10deg);\r\n            }\r\n        }\r\n        \r\n        \/* Prefixed How It Works Section *\/\r\n        #yt-video-how-it-works {\r\n            background-color: var(--yt-video-bg-light);\r\n        }\r\n        \r\n        .yt-video-steps-container {\r\n            max-width: 1000px;\r\n            margin: 0 auto;\r\n        }\r\n        \r\n        .yt-video-step-card {\r\n            background-color: white;\r\n            border-radius: 16px;\r\n            padding: 40px 30px;\r\n            height: 100%;\r\n            box-shadow: 0 5px 20px rgba(0,0,0,0.05);\r\n            transition: all 0.3s ease;\r\n            text-align: center;\r\n            border: 1px solid var(--yt-video-border-light);\r\n        }\r\n        \r\n        .yt-video-step-card:hover {\r\n            transform: translateY(-10px);\r\n            box-shadow: 0 15px 35px rgba(0,0,0,0.1);\r\n        }\r\n        \r\n        .yt-video-step-number {\r\n            display: inline-flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            width: 60px;\r\n            height: 60px;\r\n            background-color: var(--yt-video-primary);\r\n            color: white;\r\n            border-radius: 50%;\r\n            font-size: 1.5rem;\r\n            font-weight: 700;\r\n            margin-bottom: 25px;\r\n        }\r\n        \r\n        .yt-video-step-icon {\r\n            font-size: 3rem;\r\n            color: var(--yt-video-primary);\r\n            margin-bottom: 20px;\r\n        }\r\n        \r\n        .yt-video-step-title {\r\n            font-size: 1.5rem;\r\n            font-weight: 600;\r\n            margin-bottom: 15px;\r\n            color: var(--yt-video-text-dark);\r\n        }\r\n        \r\n        .yt-video-step-description {\r\n            font-size: 1.1rem;\r\n            color: var(--yt-video-text-light);\r\n            line-height: 1.6;\r\n        }\r\n        \r\n        \/* Prefixed Features Section *\/\r\n        #yt-video-features {\r\n            background-color: white;\r\n        }\r\n        \r\n        .yt-video-features-container {\r\n            max-width: 1000px;\r\n            margin: 0 auto;\r\n            display: flex;\r\n            align-items: center;\r\n            background-color: white;\r\n            border-radius: 16px;\r\n            overflow: hidden;\r\n            box-shadow: 0 5px 20px rgba(0,0,0,0.05);\r\n        }\r\n        \r\n        .yt-video-features-visual {\r\n            flex: 1;\r\n            background: url('https:\/\/images.unsplash.com\/photo-1574717024453-354056aafa98?ixlib=rb-4.0.3&auto=format&fit=crop&w=600&q=80') center\/cover;\r\n            min-height: 500px;\r\n            position: relative;\r\n        }\r\n        \r\n        .yt-video-features-visual::before {\r\n            content: \"\";\r\n            position: absolute;\r\n            top: 0;\r\n            left: 0;\r\n            width: 100%;\r\n            height: 100%;\r\n            background: rgba(0,0,0,0.5);\r\n            backdrop-filter: blur(3px);\r\n        }\r\n        \r\n        .yt-video-features-content {\r\n            flex: 1;\r\n            padding: 50px 40px;\r\n        }\r\n        \r\n        .yt-video-features-title {\r\n            font-size: 2.2rem;\r\n            font-weight: 700;\r\n            margin-bottom: 30px;\r\n            color: var(--yt-video-text-dark);\r\n        }\r\n        \r\n        .yt-video-feature-item {\r\n            display: flex;\r\n            align-items: flex-start;\r\n            margin-bottom: 25px;\r\n        }\r\n        \r\n        .yt-video-feature-icon {\r\n            font-size: 1.8rem;\r\n            color: var(--yt-video-primary);\r\n            margin-right: 15px;\r\n            min-width: 30px;\r\n        }\r\n        \r\n        .yt-video-feature-text h3 {\r\n            font-size: 1.3rem;\r\n            font-weight: 600;\r\n            margin-bottom: 5px;\r\n            color: var(--yt-video-text-dark);\r\n        }\r\n        \r\n        .yt-video-feature-text p {\r\n            font-size: 1rem;\r\n            color: var(--yt-video-text-light);\r\n            margin: 0;\r\n        }\r\n        \r\n        \/* Prefixed Video Viewer Module Section *\/\r\n        #yt-video-module {\r\n            background-color: var(--yt-video-bg-light);\r\n        }\r\n        \r\n        .yt-video-module-container {\r\n            max-width: 900px;\r\n            margin: 0 auto;\r\n            background-color: white;\r\n            border-radius: 16px;\r\n            overflow: hidden;\r\n            box-shadow: 0 5px 20px rgba(0,0,0,0.05);\r\n        }\r\n        \r\n        .yt-video-module-header {\r\n            background-color: var(--yt-video-primary);\r\n            color: white;\r\n            padding: 20px 30px;\r\n            font-size: 1.5rem;\r\n            font-weight: 600;\r\n        }\r\n        \r\n        .yt-video-module-content {\r\n            padding: 30px;\r\n        }\r\n        \r\n        .yt-video-input-group {\r\n            display: flex;\r\n            margin-bottom: 30px;\r\n        }\r\n        \r\n        .yt-video-module-input {\r\n            flex: 1;\r\n            padding: 12px 20px;\r\n            border: 1px solid var(--yt-video-border-light);\r\n            border-radius: 8px 0 0 8px;\r\n            font-size: 1rem;\r\n            font-family: 'Fira Sans', sans-serif;\r\n        }\r\n        \r\n        .yt-video-module-btn {\r\n            padding: 12px 25px;\r\n            background-color: var(--yt-video-primary);\r\n            color: white;\r\n            border: none;\r\n            border-radius: 0 8px 8px 0;\r\n            font-weight: 600;\r\n            transition: all 0.3s ease;\r\n        }\r\n        \r\n        .yt-video-module-btn:hover {\r\n            background-color: var(--yt-video-secondary);\r\n        }\r\n        \r\n        .yt-video-player-container {\r\n            position: relative;\r\n            background-color: #000;\r\n            border-radius: 12px;\r\n            overflow: hidden;\r\n            aspect-ratio: 16\/9;\r\n            margin-bottom: 20px;\r\n        }\r\n        \r\n        .yt-video-player {\r\n            width: 100%;\r\n            height: 100%;\r\n            object-fit: cover;\r\n        }\r\n        \r\n        .yt-video-player-controls {\r\n            position: absolute;\r\n            bottom: 0;\r\n            left: 0;\r\n            width: 100%;\r\n            background: linear-gradient(transparent, rgba(0,0,0,0.7));\r\n            padding: 15px;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: space-between;\r\n        }\r\n        \r\n        .yt-video-control-btn {\r\n            background: none;\r\n            border: none;\r\n            color: white;\r\n            font-size: 1.2rem;\r\n            margin: 0 5px;\r\n            cursor: pointer;\r\n            transition: all 0.3s ease;\r\n        }\r\n        \r\n        .yt-video-control-btn:hover {\r\n            color: var(--yt-video-primary);\r\n        }\r\n        \r\n        .yt-video-progress-bar {\r\n            flex: 1;\r\n            height: 5px;\r\n            background-color: rgba(255,255,255,0.3);\r\n            border-radius: 3px;\r\n            margin: 0 15px;\r\n            position: relative;\r\n        }\r\n        \r\n        .yt-video-progress {\r\n            position: absolute;\r\n            top: 0;\r\n            left: 0;\r\n            height: 100%;\r\n            width: 30%;\r\n            background-color: var(--yt-video-primary);\r\n            border-radius: 3px;\r\n        }\r\n        \r\n        .yt-video-mode-toggle {\r\n            display: flex;\r\n            gap: 10px;\r\n            margin-bottom: 20px;\r\n        }\r\n        \r\n        .yt-video-mode-btn {\r\n            padding: 8px 15px;\r\n            background-color: var(--yt-video-bg-light);\r\n            border: 1px solid var(--yt-video-border-light);\r\n            border-radius: 6px;\r\n            font-size: 0.9rem;\r\n            font-weight: 500;\r\n            transition: all 0.3s ease;\r\n        }\r\n        \r\n        .yt-video-mode-btn.active {\r\n            background-color: var(--yt-video-primary);\r\n            color: white;\r\n            border-color: var(--yt-video-primary);\r\n        }\r\n        \r\n        .yt-video-loader {\r\n            position: absolute;\r\n            top: 50%;\r\n            left: 50%;\r\n            transform: translate(-50%, -50%);\r\n            width: 50px;\r\n            height: 50px;\r\n            border: 3px solid rgba(255,255,255,0.3);\r\n            border-top-color: var(--yt-video-primary);\r\n            border-radius: 50%;\r\n            animation: spin 1s linear infinite;\r\n            display: none;\r\n        }\r\n        \r\n        @keyframes spin {\r\n            to { transform: translate(-50%, -50%) rotate(360deg); }\r\n        }\r\n        \r\n        \/* Prefixed FAQ Section *\/\r\n        #yt-video-faq {\r\n            background-color: var(--yt-video-bg-light);\r\n        }\r\n        \r\n        .yt-video-faq-container {\r\n            max-width: 800px;\r\n            margin: 0 auto;\r\n        }\r\n        \r\n        .yt-video-accordion-item {\r\n            border: none;\r\n            margin-bottom: 15px;\r\n            border-radius: 12px;\r\n            overflow: hidden;\r\n            box-shadow: 0 3px 10px rgba(0,0,0,0.05);\r\n        }\r\n        \r\n        .yt-video-accordion-button {\r\n            font-size: 1.2rem;\r\n            font-weight: 600;\r\n            padding: 20px 25px;\r\n            background-color: white;\r\n            color: var(--yt-video-text-dark);\r\n            border: none;\r\n            box-shadow: none;\r\n        }\r\n        \r\n        .yt-video-accordion-button:not(.collapsed) {\r\n            color: var(--yt-video-primary);\r\n            background-color: white;\r\n            box-shadow: none;\r\n        }\r\n        \r\n        .yt-video-accordion-button:focus {\r\n            box-shadow: none;\r\n            border: none;\r\n        }\r\n        \r\n        .yt-video-accordion-button::after {\r\n            background-image: url(\"data:image\/svg+xml,%3csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 16 16' fill='%23FF0000'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'\/%3e%3c\/svg%3e\");\r\n        }\r\n        \r\n        .yt-video-accordion-body {\r\n            padding: 5px 25px 25px;\r\n            font-size: 1.1rem;\r\n            color: var(--yt-video-text-light);\r\n            line-height: 1.7;\r\n        }\r\n        \r\n        \/* Prefixed Responsive Design *\/\r\n        @media (max-width: 768px) {\r\n            .yt-video-section {\r\n                padding: 60px 0;\r\n            }\r\n            \r\n            .yt-video-section-heading {\r\n                font-size: 2.2rem;\r\n            }\r\n            \r\n            .yt-video-section-description {\r\n                font-size: 1.1rem;\r\n            }\r\n            \r\n            .yt-video-hero-title {\r\n                font-size: 2.5rem;\r\n            }\r\n            \r\n            .yt-video-hero-subtitle {\r\n                font-size: 1.2rem;\r\n            }\r\n            \r\n            .yt-video-btn-container {\r\n                flex-direction: column;\r\n                align-items: center;\r\n            }\r\n            \r\n            .yt-video-btn-hero {\r\n                width: 250px;\r\n            }\r\n            \r\n            .yt-video-step-card {\r\n                margin-bottom: 30px;\r\n            }\r\n            \r\n            .yt-video-features-container {\r\n                flex-direction: column;\r\n            }\r\n            \r\n            .yt-video-features-visual {\r\n                min-height: 250px;\r\n            }\r\n            \r\n            .yt-video-features-content {\r\n                padding: 30px 20px;\r\n            }\r\n            \r\n            .yt-video-input-group {\r\n                flex-direction: column;\r\n            }\r\n            \r\n            .yt-video-module-input {\r\n                border-radius: 8px;\r\n                margin-bottom: 10px;\r\n            }\r\n            \r\n            .yt-video-module-btn {\r\n                border-radius: 8px;\r\n            }\r\n        }\r\n    <\/style>\r\n  <!-- Prefixed Hero Section -->\r\n    \r\n\r\n    <!-- Prefixed How It Works Section -->\r\n    <section id=\"yt-video-how-it-works\" class=\"yt-video-section\">\r\n        <div class=\"container\">\r\n            <h2 class=\"yt-video-section-heading\" data-aos=\"fade-up\">How It Works<\/h2>\r\n            <p class=\"yt-video-section-description\" data-aos=\"fade-up\" data-aos-delay=\"100\">Simple steps to watch YouTube videos without distractions<\/p>\r\n            \r\n            <div class=\"yt-video-steps-container\">\r\n                <div class=\"row g-4\">\r\n                    <div class=\"col-md-4\" data-aos=\"fade-up\" data-aos-delay=\"200\">\r\n                        <div class=\"yt-video-step-card\">\r\n                            <div class=\"yt-video-step-number\">1<\/div>\r\n                            <div class=\"yt-video-step-icon\">\r\n                                <i class=\"fas fa-link\"><\/i>\r\n                            <\/div>\r\n                            <h3 class=\"yt-video-step-title\">Paste the YouTube video link<\/h3>\r\n                            <p class=\"yt-video-step-description\">Copy and paste the URL of the YouTube video you want to watch<\/p>\r\n                        <\/div>\r\n                    <\/div>\r\n                    \r\n                    <div class=\"col-md-4\" data-aos=\"fade-up\" data-aos-delay=\"300\">\r\n                        <div class=\"yt-video-step-card\">\r\n                            <div class=\"yt-video-step-number\">2<\/div>\r\n                            <div class=\"yt-video-step-icon\">\r\n                                <i class=\"fas fa-play\"><\/i>\r\n                            <\/div>\r\n                            <h3 class=\"yt-video-step-title\">Click \"Watch Now\"<\/h3>\r\n                            <p class=\"yt-video-step-description\">Our tool loads the video in a clean, distraction-free player<\/p>\r\n                        <\/div>\r\n                    <\/div>\r\n                    \r\n                    <div class=\"col-md-4\" data-aos=\"fade-up\" data-aos-delay=\"400\">\r\n                        <div class=\"yt-video-step-card\">\r\n                            <div class=\"yt-video-step-number\">3<\/div>\r\n                            <div class=\"yt-video-step-icon\">\r\n                                <i class=\"fas fa-eye\"><\/i>\r\n                            <\/div>\r\n                            <h3 class=\"yt-video-step-title\">Instantly view without ads or clutter<\/h3>\r\n                            <p class=\"yt-video-step-description\">Enjoy your video with no interruptions, recommendations, or tracking<\/p>\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/section>\r\n\r\n    <!-- Prefixed Features Section -->\r\n    <section id=\"yt-video-features\" class=\"yt-video-section\">\r\n        <div class=\"container\">\r\n            <h2 class=\"yt-video-section-heading\" data-aos=\"fade-up\">Feature Highlights<\/h2>\r\n            <p class=\"yt-video-section-description\" data-aos=\"fade-up\" data-aos-delay=\"100\">Why our YouTube Video Viewer is the best choice<\/p>\r\n            \r\n            <div class=\"yt-video-features-container\" data-aos=\"fade-up\" data-aos-delay=\"200\">\r\n                <img decoding=\"async\" src=\"http:\/\/viewri.com\/wp-content\/uploads\/2025\/09\/Feature-Highlights.jpg\" width=\"500px;\">\r\n                <div class=\"yt-video-features-content\">\r\n                    <h3 class=\"yt-video-features-title\">Clean Viewing Experience<\/h3>\r\n                    \r\n                    <div class=\"yt-video-feature-item\">\r\n                        <div class=\"yt-video-feature-icon\">\r\n                            <i class=\"fas fa-ban\"><\/i>\r\n                        <\/div>\r\n                        <div class=\"yt-video-feature-text\">\r\n                            <h3>Ad-free viewing experience<\/h3>\r\n                            <p>Watch videos without any advertisements or promotional content<\/p>\r\n                        <\/div>\r\n                    <\/div>\r\n                    \r\n                    <div class=\"yt-video-feature-item\">\r\n                        <div class=\"yt-video-feature-icon\">\r\n                            <i class=\"fas fa-user-secret\"><\/i>\r\n                        <\/div>\r\n                        <div class=\"yt-video-feature-text\">\r\n                            <h3>Anonymous access<\/h3>\r\n                            <p>No account needed - watch videos without logging in or being tracked<\/p>\r\n                        <\/div>\r\n                    <\/div>\r\n                    \r\n                    <div class=\"yt-video-feature-item\">\r\n                        <div class=\"yt-video-feature-icon\">\r\n                            <i class=\"fas fa-bolt\"><\/i>\r\n                        <\/div>\r\n                        <div class=\"yt-video-feature-text\">\r\n                            <h3>Fast loading and mobile-friendly<\/h3>\r\n                            <p>Quick video loads and responsive design for all devices<\/p>\r\n                        <\/div>\r\n                    <\/div>\r\n                    \r\n                    <div class=\"yt-video-feature-item\">\r\n                        <div class=\"yt-video-feature-icon\">\r\n                            <i class=\"fas fa-moon\"><\/i>\r\n                        <\/div>\r\n                        <div class=\"yt-video-feature-text\">\r\n                            <h3>Dark mode support<\/h3>\r\n                            <p>Easy on the eyes with our dark theme option<\/p>\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/section>\r\n\r\n    <!-- Prefixed Video Viewer Module Section -->\r\n    <section id=\"yt-video-module\" class=\"yt-video-section\">\r\n        <div class=\"container\">\r\n            <h2 class=\"yt-video-section-heading\" data-aos=\"fade-up\">Video Viewer<\/h2>\r\n            <p class=\"yt-video-section-description\" data-aos=\"fade-up\" data-aos-delay=\"100\">Paste a YouTube URL to watch in our clean player<\/p>\r\n            \r\n            <div class=\"yt-video-module-container\" data-aos=\"fade-up\" data-aos-delay=\"200\">\r\n                <div class=\"yt-video-module-header\">\r\n                    <i class=\"fas fa-play-circle me-2\"><\/i> YouTube Video Viewer\r\n                <\/div>\r\n                <div class=\"yt-video-module-content\">\r\n                    <div class=\"yt-video-input-group\">\r\n                        <input type=\"text\" class=\"yt-video-module-input\" id=\"yt-video-module-input\" placeholder=\"Paste YouTube video URL here...\">\r\n                        <button class=\"yt-video-module-btn\" onclick=\"loadVideo()\">Load Video<\/button>\r\n                    <\/div>\r\n                    \r\n                    <div class=\"yt-video-player-container\">\r\n                        <img decoding=\"async\" src=\"https:\/\/picsum.photos\/seed\/youtube-video\/1280\/720.jpg\" alt=\"Video thumbnail\" class=\"yt-video-player\" id=\"yt-video-player\">\r\n                        <div class=\"yt-video-player-controls\">\r\n                            <button class=\"yt-video-control-btn\" id=\"yt-video-play-btn\">\r\n                                <i class=\"fas fa-play\"><\/i>\r\n                            <\/button>\r\n                            <div class=\"yt-video-progress-bar\">\r\n                                <div class=\"yt-video-progress\"><\/div>\r\n                            <\/div>\r\n                            <button class=\"yt-video-control-btn\">\r\n                                <i class=\"fas fa-volume-up\"><\/i>\r\n                            <\/button>\r\n                            <button class=\"yt-video-control-btn\">\r\n                                <i class=\"fas fa-expand\"><\/i>\r\n                            <\/button>\r\n                        <\/div>\r\n                        <div class=\"yt-video-loader\" id=\"yt-video-loader\"><\/div>\r\n                    <\/div>\r\n                    \r\n                    <div class=\"yt-video-mode-toggle\">\r\n                        <button class=\"yt-video-mode-btn active\" id=\"yt-video-normal-mode\">Normal Mode<\/button>\r\n                        <button class=\"yt-video-mode-btn\" id=\"yt-video-theater-mode\">Theater Mode<\/button>\r\n                        <button class=\"yt-video-mode-btn\" id=\"yt-video-minimized-mode\">Minimize Controls<\/button>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/section>\r\n\r\n    <!-- Prefixed FAQ Section -->\r\n    <section id=\"yt-video-faq\" class=\"yt-video-section\">\r\n        <div class=\"container\">\r\n            <h2 class=\"yt-video-section-heading\" data-aos=\"fade-up\">Frequently Asked Questions<\/h2>\r\n            <p class=\"yt-video-section-description\" data-aos=\"fade-up\" data-aos-delay=\"100\">Get answers to common questions about our YouTube Video Viewer<\/p>\r\n            \r\n            <div class=\"yt-video-faq-container\">\r\n                <div class=\"accordion\" id=\"yt-video-faqAccordion\">\r\n                    <div class=\"yt-video-accordion-item\" data-aos=\"fade-up\" data-aos-delay=\"200\">\r\n                        <h2 class=\"accordion-header\" id=\"yt-video-headingOne\">\r\n                            <button class=\"yt-video-accordion-button\" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#yt-video-collapseOne\" aria-expanded=\"true\" aria-controls=\"yt-video-collapseOne\">\r\n                                Can I view private YouTube videos?\r\n                            <\/button>\r\n                        <\/h2>\r\n                        <div id=\"yt-video-collapseOne\" class=\"accordion-collapse collapse show\" aria-labelledby=\"yt-video-headingOne\" data-bs-parent=\"#yt-video-faqAccordion\">\r\n                            <div class=\"yt-video-accordion-body\">\r\n                                No, our tool can only access public YouTube videos. We respect YouTube's privacy settings and cannot bypass any privacy restrictions. If a video is private or unlisted, it cannot be viewed through our tool.\r\n                            <\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n                    \r\n                    <div class=\"yt-video-accordion-item\" data-aos=\"fade-up\" data-aos-delay=\"300\">\r\n                        <h2 class=\"accordion-header\" id=\"yt-video-headingTwo\">\r\n                            <button class=\"yt-video-accordion-button collapsed\" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#yt-video-collapseTwo\" aria-expanded=\"false\" aria-controls=\"yt-video-collapseTwo\">\r\n                                Does this tool skip ads?\r\n                            <\/button>\r\n                        <\/h2>\r\n                        <div id=\"yt-video-collapseTwo\" class=\"accordion-collapse collapse\" aria-labelledby=\"yt-video-headingTwo\" data-bs-parent=\"#yt-video-faqAccordion\">\r\n                            <div class=\"yt-video-accordion-body\">\r\n                                Yes, our viewer provides an ad-free experience. Unlike the regular YouTube platform, we don't show any advertisements before, during, or after videos. This allows for uninterrupted viewing of your favorite content.\r\n                            <\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n                    \r\n                    <div class=\"yt-video-accordion-item\" data-aos=\"fade-up\" data-aos-delay=\"400\">\r\n                        <h2 class=\"accordion-header\" id=\"yt-video-headingThree\">\r\n                            <button class=\"yt-video-accordion-button collapsed\" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#yt-video-collapseThree\" aria-expanded=\"false\" aria-controls=\"yt-video-collapseThree\">\r\n                                Is any data stored?\r\n                            <\/button>\r\n                        <\/h2>\r\n                        <div id=\"yt-video-collapseThree\" class=\"accordion-collapse collapse\" aria-labelledby=\"yt-video-headingThree\" data-bs-parent=\"#yt-video-faqAccordion\">\r\n                            <div class=\"yt-video-accordion-body\">\r\n                                No, we do not store any personal data or viewing history. Our tool is designed to respect your privacy. We don't track which videos you watch, create user profiles, or store any information that could identify you.\r\n                            <\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/section><\/p>\n","protected":false},"author":3,"featured_media":0,"parent":144,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"class_list":["post-265","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/viewri.com\/wp-json\/wp\/v2\/pages\/265","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/viewri.com\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/viewri.com\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/viewri.com\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/viewri.com\/wp-json\/wp\/v2\/comments?post=265"}],"version-history":[{"count":4,"href":"https:\/\/viewri.com\/wp-json\/wp\/v2\/pages\/265\/revisions"}],"predecessor-version":[{"id":1312,"href":"https:\/\/viewri.com\/wp-json\/wp\/v2\/pages\/265\/revisions\/1312"}],"up":[{"embeddable":true,"href":"https:\/\/viewri.com\/wp-json\/wp\/v2\/pages\/144"}],"wp:attachment":[{"href":"https:\/\/viewri.com\/wp-json\/wp\/v2\/media?parent=265"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}