{"id":524,"date":"2025-10-15T05:25:06","date_gmt":"2025-10-15T05:25:06","guid":{"rendered":"https:\/\/viewri.com\/?page_id=524"},"modified":"2025-12-29T08:49:49","modified_gmt":"2025-12-29T08:49:49","slug":"private","status":"publish","type":"page","link":"https:\/\/viewri.com\/es\/youtube\/private\/","title":{"rendered":"Private YouTube 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            \/* Professional Color Palette *\/\r\n            --primary-color: #006064;\r\n            --primary-light: #00838f;\r\n            --secondary-color: #ff6e40;\r\n            --secondary-light: #ff8a65;\r\n            --accent-color: #ffb74d;\r\n            --accent-light: #ffcc80;\r\n            --success-color: #00897b;\r\n            --success-light: #4db6ac;\r\n            --warning-color: #ffa000;\r\n            --warning-light: #ffca28;\r\n            --danger-color: #e53935;\r\n            --danger-light: #ef5350;\r\n            \r\n            \/* Background & Text Colors *\/\r\n            --bg-primary: #f5f5f5;\r\n            --bg-secondary: #ffffff;\r\n            --bg-tertiary: #f9f9f9;\r\n            --bg-card: #ffffff;\r\n            --glass-bg: rgba(0, 96, 100, 0.08);\r\n            --glass-border: rgba(0, 131, 143, 0.15);\r\n            --text-primary: #263238;\r\n            --text-secondary: #546e7a;\r\n            --text-muted: #90a4ae;\r\n            --text-accent: #ff6e40;\r\n            \r\n            \/* Shadows & Borders *\/\r\n            --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.08);\r\n            --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.12);\r\n            --shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.16);\r\n            --shadow-xl: 0 16px 48px rgba(0, 0, 0, 0.2);\r\n            --border-radius: 16px;\r\n            --border-radius-lg: 24px;\r\n        }\r\n\r\n       .wrapper {\r\n\tfont-family: 'Outfit', sans-serif;\r\n\tbackground: linear-gradient(135deg, #f5f5f5 0%, #e0f2f1 100%);\r\n\tline-height: 1.6;\r\n\tcolor: var(--text-primary);\r\n\tposition: relative;\r\n\toverflow-x: hidden;\r\n\tpadding: 80px 16px;\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(0, 96, 100, 0.08) 0%, transparent 50%),\r\n                radial-gradient(circle at 80% 80%, rgba(255, 110, 64, 0.08) 0%, transparent 50%),\r\n                radial-gradient(circle at 50% 50%, rgba(255, 183, 77, 0.05) 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(--primary-light));\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(--secondary-color));\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 h1 {\r\n            font-size: clamp(2.5rem, 6vw, 4rem);\r\n            font-weight: 900;\r\n            background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));\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(255, 110, 64, 0.2);\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(0, 96, 100, 0.12);\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(0, 131, 143, 0.15);\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(--secondary-color), var(--accent-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 !important;\r\n            padding: 20px 25px !important;\r\n            background: var(--bg-tertiary) !important;\r\n            border: 2px solid var(--bg-tertiary) !important;\r\n            border-radius: var(--border-radius) !important;\r\n            color: var(--text-primary) !important;\r\n            font-size: 16px !important;\r\n            font-weight: 500 !important;\r\n            transition: all 0.3s ease !important;\r\n            outline: none !important;\r\n            font-family: inherit !important;\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(0, 131, 143, 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(229, 57, 53, 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(--secondary-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(229, 57, 53, 0.08);\r\n            border: 1px solid rgba(229, 57, 53, 0.2);\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(0, 131, 143, 0.15);\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(0, 131, 143, 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(0, 131, 143, 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(0, 0, 0, 0.1);\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(255, 110, 64, 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(0, 0, 0, 0.1);\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(255, 110, 64, 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(255, 110, 64, 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(0, 131, 143, 0.15);\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(0, 96, 100, 0.05);\r\n            border: 1px solid rgba(0, 131, 143, 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(0, 131, 143, 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(0, 131, 143, 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(0, 137, 123, 0.08);\r\n            box-shadow: 0 0 20px rgba(0, 137, 123, 0.2);\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(0, 131, 143, 0.15);\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(255, 110, 64, 0.08), rgba(0, 131, 143, 0.08));\r\n            border: 1px solid rgba(255, 110, 64, 0.2);\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(0, 96, 100, 0.08);\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(0, 0, 0, 0.1);\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(0, 0, 0, 0.1);\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(0, 131, 143, 0.15);\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(229, 57, 53, 0.08);\r\n            border: 1px solid rgba(229, 57, 53, 0.2);\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(229, 57, 53, 0.12);\r\n        }\r\n\r\n        .wrapper .yvv-progress-bar-container {\r\n            width: 100%;\r\n            height: 8px;\r\n            background: rgba(0, 0, 0, 0.1);\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(0, 96, 100, 0.08), rgba(255, 110, 64, 0.08));\r\n            border: 1px solid rgba(0, 131, 143, 0.2);\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(0, 131, 143, 0.08) 1px, transparent 1px),\r\n                linear-gradient(90deg, rgba(0, 131, 143, 0.08) 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(0, 0, 0, 0.1);\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(--secondary-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 h1 {\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 h1 {\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 h1 {\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 h1 {\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 h1 {\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 h1 {\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 h1 {\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 h1 {\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 h1 {\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<div 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\">\r\n                        <h1>Private YouTube Viewer<\/h1>\r\n                    <\/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     <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    <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<\/div>\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;][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  :root{\r\n    --grad: linear-gradient(45deg,#ff0000 0%,#ff4d4d 25%,#ff6666 50%,#ff8080 75%,#ff9999 100%);\r\n    --brand:#ff0000;\r\n    --ink:#333;\r\n    --muted:#666;\r\n    --muted-2:#9498a1;\r\n    --light:#f8f9fa;\r\n    --card:#fff;\r\n    --radius:15px;\r\n    --sh:0 4px 12px rgba(0,0,0,.08);\r\n    --sh-lg:0 8px 24px rgba(0,0,0,.12);\r\n    --t:.3s ease;\r\n  }\r\n\r\n  \/* ---------- Titles ---------- *\/\r\n  .yt-pv-section-title{text-align:center; margin-bottom:60px;}\r\n  .yt-pv-section-title h2{font-weight:700; font-size:2.5rem; color:var(--brand); margin:0 0 12px;}\r\n  .yt-pv-section-title p{color:var(--muted); max-width:700px; margin:0 auto; font-size:1.05rem;}\r\n \r\n  \/* ---------- Cards ---------- *\/\r\n  .cv-card{\r\n    background:var(--card); border-radius:var(--radius); box-shadow:var(--sh);\r\n    height:100%; transition:var(--t); padding:30px;\r\n  }\r\n  .cv-card:hover{transform:translateY(-10px); box-shadow:var(--sh-lg);}\r\n\r\n  \/* Steps *\/\r\n  .yt-pv-step{ position:relative; text-align:center; }\r\n  .yt-pv-step .yt-pv-step-icon{\r\n    width:80px; height:80px; margin:0 auto 22px; border-radius:50%; display:flex; align-items:center; justify-content:center;\r\n    background:var(--grad); color:#fff; font-size:2rem; box-shadow:0 5px 15px rgba(0,0,0,.1); transition:var(--t);\r\n  }\r\n  .yt-pv-step:hover .yt-pv-step-icon{ transform:scale(1.08); }\r\n  .yt-pv-step h3{font-size:1.25rem; font-weight:700; color:var(--brand); margin:0 0 10px;}\r\n  .yt-pv-step p{color:var(--muted); margin:0;}\r\n\r\n  \/* Features *\/\r\n  .yt-pv-feature-card .yt-pv-feature-icon{font-size:2rem; display:block; margin-bottom:14px;}\r\n  .yt-pv-feature-card h3{font-size:1.2rem; font-weight:700; color:var(--brand); margin:0 0 10px;}\r\n  .yt-pv-feature-card p{color:var(--muted); margin:0;}\r\n\r\n  \/* FAQ *\/\r\n  .vr-tool-faq{ margin: 30px auto; }\r\n  .yt-pv-faq-item{ border-radius:12px; overflow:hidden; box-shadow:var(--sh); transition:var(--t); background:#fff; }\r\n  .yt-pv-faq-item:hover{ box-shadow:var(--sh-lg); }\r\n  .yt-pv-faq-question{\r\n    width:100%; padding:20px 24px; display:flex; justify-content:space-between; align-items:center;\r\n    background:#fff; border:none; text-align:left; font-weight:700; font-size:1.05rem; color:var(--brand); transition:var(--t);\r\n  }\r\n  .yt-pv-faq-question:hover{ background:rgba(255,0,0,.05); }\r\n  .yt-pv-faq-question:not(.collapsed){ background:rgba(255,0,0,.1); }\r\n  .yt-pv-faq-question:not(.collapsed)::after{ transform:rotate(180deg); }\r\n  .yt-pv-faq-answer{ padding:0 24px 22px; color:var(--muted); line-height:1.7; }\r\n\r\n  \/* CTA *\/\r\n  .vr-tool-cta{\r\n    background:var(--grad);\r\n    color:#fff;\r\n    text-align:center;\r\n    padding:50px 0;\r\n  }\r\n  .vr-tool-cta .yt-pv-cta-title{\r\n    font-size:2.4rem;\r\n    font-weight:700;\r\n    margin:0 0 20px;\r\n    line-height:1.2;\r\n  }\r\n  .vr-tool-cta .yt-pv-cta-sub{\r\n    max-width:800px;\r\n    margin:0 auto 30px;\r\n    font-size:1.1rem;\r\n    color:rgba(255,255,255,.92);\r\n  }\r\n  .vr-tool-cta .yt-pv-cta-group .btn{\r\n    background:#fff;\r\n    color:var(--brand);\r\n    font-weight:600;\r\n    padding:14px 32px;\r\n    border-radius:50px;\r\n    box-shadow:var(--sh);\r\n    transition:var(--t);\r\n    text-decoration:none;\r\n    display:inline-block;\r\n  }\r\n  .vr-tool-cta .yt-pv-cta-group .btn:hover{\r\n    transform:translateY(-3px);\r\n    box-shadow:var(--sh-lg);\r\n  }\r\n  .vr-tool-cta .yt-pv-cta-note{\r\n    margin-top:14px;\r\n    font-size:.95rem;\r\n    color:rgba(255,255,255,.85);\r\n  }\r\n\r\n  @keyframes fadeUp{ from{opacity:0; transform:translateY(14px)} to{opacity:1; transform:none} }\r\n  .animate-in{ animation: fadeUp .6s ease both; }\r\n\r\n  @media (max-width:991px){\r\n    .yt-pv-section-title h2{font-size:2.1rem}\r\n    .vr-tool-cta .yt-pv-cta-title{font-size:2.1rem}\r\n  }\r\n  @media (max-width:767px){\r\n    .yt-pv-section-title h2{font-size:1.8rem}\r\n    .cv-card{margin-bottom:20px}\r\n    .vr-tool-cta{padding:60px 0}\r\n    .vr-tool-cta .yt-pv-cta-title{font-size:1.8rem}\r\n    .vr-tool-cta .yt-pv-cta-sub{font-size:1rem}\r\n  }\r\n<\/style>\r\n\r\n<!-- How It Works -->\r\n<section class=\"vr-tool-how\">\r\n  <div class=\"container\">\r\n    <div class=\"yt-pv-section-title\">\r\n      <h2>How to Use the Private YouTube Viewer<\/h2>\r\n      <p>Follow these steps to browse YouTube content anonymously.<\/p>\r\n    <\/div>\r\n\r\n    <div class=\"row g-4\">\r\n      <div class=\"col-md-3\">\r\n        <div class=\"cv-card yt-pv-step\">\r\n          <div class=\"yt-pv-step-icon\"><i class=\"fas fa-link\"><\/i><\/div>\r\n          <h3>Enter Video URL<\/h3>\r\n          <p>Copy the YouTube video or channel URL to view.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"col-md-3\">\r\n        <div class=\"cv-card yt-pv-step\">\r\n          <div class=\"yt-pv-step-icon\"><i class=\"fas fa-search\"><\/i><\/div>\r\n          <h3>Load Content<\/h3>\r\n          <p>Click \u201cView Now\u201d to access public YouTube content.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"col-md-3\">\r\n        <div class=\"cv-card yt-pv-step\">\r\n          <div class=\"yt-pv-step-icon\"><i class=\"fas fa-eye\"><\/i><\/div>\r\n          <h3>Browse Anonymously<\/h3>\r\n          <p>View public videos, playlists, and Shorts privately.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"col-md-3\">\r\n        <div class=\"cv-card yt-pv-step\">\r\n          <div class=\"yt-pv-step-icon\"><i class=\"fas fa-user-secret\"><\/i><\/div>\r\n          <h3>No Login Required<\/h3>\r\n          <p>Access content without a YouTube account.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<!-- Features -->\r\n<section class=\"vr-tool-features\">\r\n  <div class=\"container\">\r\n    <div class=\"yt-pv-section-title\">\r\n      <h2>Private YouTube Viewer Features<\/h2>\r\n      <p>Tools for seamless and private browsing of YouTube content.<\/p>\r\n    <\/div>\r\n\r\n    <div class=\"row g-4\">\r\n      <div class=\"col-md-4\">\r\n        <div class=\"cv-card yt-pv-feature-card\">\r\n          <span class=\"yt-pv-feature-icon\">\ud83d\udd12<\/span>\r\n          <h3>Anonymous Browsing<\/h3>\r\n          <p>Browse YouTube without revealing your identity.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"col-md-4\">\r\n        <div class=\"cv-card yt-pv-feature-card\">\r\n          <span class=\"yt-pv-feature-icon\">\ud83c\udfa5<\/span>\r\n          <h3>Public Content Access<\/h3>\r\n          <p>View public videos, playlists, and channels effortlessly.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"col-md-4\">\r\n        <div class=\"cv-card yt-pv-feature-card\">\r\n          <span class=\"yt-pv-feature-icon\">\ud83d\udcf9<\/span>\r\n          <h3>Multiple Content Types<\/h3>\r\n          <p>Supports videos, playlists, Shorts, and channel details.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"col-md-4\">\r\n        <div class=\"cv-card yt-pv-feature-card\">\r\n          <span class=\"yt-pv-feature-icon\">\ud83d\udcf1<\/span>\r\n          <h3>Multi-Device Support<\/h3>\r\n          <p>Optimized for phones, tablets, and desktops.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"col-md-4\">\r\n        <div class=\"cv-card yt-pv-feature-card\">\r\n          <span class=\"yt-pv-feature-icon\">\ud83d\udd11<\/span>\r\n          <h3>No Login Needed<\/h3>\r\n          <p>Browse without YouTube credentials.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"col-md-4\">\r\n        <div class=\"cv-card yt-pv-feature-card\">\r\n          <span class=\"yt-pv-feature-icon\">\u26a1<\/span>\r\n          <h3>Fast Access<\/h3>\r\n          <p>Quickly load YouTube content anonymously.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<!-- FAQ -->\r\n<section class=\"vr-tool-faq\">\r\n  <div class=\"container\">\r\n    <div class=\"yt-pv-section-title\">\r\n      <h2>Frequently Asked Questions<\/h2>\r\n      <p>Learn how to use the Private YouTube Viewer effectively.<\/p>\r\n    <\/div>\r\n\r\n    <div class=\"row justify-content-center\">\r\n      <div class=\"col-lg-8\">\r\n        <div class=\"accordion\" id=\"faqAccordion\">\r\n          <div class=\"yt-pv-faq-item accordion-item mb-3\">\r\n            <h2 class=\"accordion-header\">\r\n              <button class=\"yt-pv-faq-question accordion-button collapsed\" data-bs-toggle=\"collapse\" data-bs-target=\"#faqCollapse1\">\r\n                Can I view private YouTube content?\r\n              <\/button>\r\n            <\/h2>\r\n            <div id=\"faqCollapse1\" class=\"accordion-collapse collapse\" data-bs-parent=\"#faqAccordion\">\r\n              <div class=\"yt-pv-faq-answer accordion-body\">\r\n                No. The Private YouTube Viewer only shows publicly shared content, respecting privacy settings.\r\n              <\/div>\r\n            <\/div>\r\n          <\/div>\r\n          <div class=\"yt-pv-faq-item accordion-item mb-3\">\r\n            <h2 class=\"accordion-header\">\r\n              <button class=\"yt-pv-faq-question accordion-button collapsed\" data-bs-toggle=\"collapse\" data-bs-target=\"#faqCollapse2\">\r\n                Do I need a YouTube account to browse?\r\n              <\/button>\r\n            <\/h2>\r\n            <div id=\"faqCollapse2\" class=\"accordion-collapse collapse\" data-bs-parent=\"#faqAccordion\">\r\n              <div class=\"yt-pv-faq-answer accordion-body\">\r\n                No. The Private YouTube Viewer works without a login.\r\n              <\/div>\r\n            <\/div>\r\n          <\/div>\r\n          <div class=\"yt-pv-faq-item accordion-item mb-3\">\r\n            <h2 class=\"accordion-header\">\r\n              <button class=\"yt-pv-faq-question accordion-button collapsed\" data-bs-toggle=\"collapse\" data-bs-target=\"#faqCollapse3\">\r\n                Is the Private YouTube Viewer free to use?\r\n              <\/button>\r\n            <\/h2>\r\n            <div id=\"faqCollapse3\" class=\"accordion-collapse collapse\" data-bs-parent=\"#faqAccordion\">\r\n              <div class=\"yt-pv-faq-answer accordion-body\">\r\n                Yes. It\u2019s a free tool with no charges or subscriptions.\r\n              <\/div>\r\n            <\/div>\r\n          <\/div>\r\n          <div class=\"yt-pv-faq-item accordion-item mb-3\">\r\n            <h2 class=\"accordion-header\">\r\n              <button class=\"yt-pv-faq-question accordion-button collapsed\" data-bs-toggle=\"collapse\" data-bs-target=\"#faqCollapse4\">\r\n                Is this tool affiliated with YouTube?\r\n              <\/button>\r\n            <\/h2>\r\n            <div id=\"faqCollapse4\" class=\"accordion-collapse collapse\" data-bs-parent=\"#faqAccordion\">\r\n              <div class=\"yt-pv-faq-answer accordion-body\">\r\n                No. This is an independent Private YouTube Viewer, and browsing is anonymous with no user alerts.\r\n              <\/div>\r\n            <\/div>\r\n          <\/div>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<!-- CTA Section -->\r\n<section class=\"vr-tool-cta\">\r\n  <div class=\"container\" style=\"text-align: center;\">\r\n    <h2 class=\"yt-pv-cta-title text-white\">Try the Private YouTube Viewer Now<\/h2>\r\n    <p class=\"yt-pv-cta-sub\">\r\n      Browse publicly shared YouTube content anonymously without login. Safe, private, and easy to use.\r\n    <\/p>\r\n    <div class=\"yt-pv-cta-group\">\r\n      <a href=\"#\" class=\"btn btn-lg\">Try It Now<\/a>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<script>\r\n  document.querySelectorAll('.yt-pv-faq-question').forEach(btn=>{\r\n    btn.addEventListener('click', ()=>{\r\n      document.querySelectorAll('.yt-pv-faq-question').forEach(b=>{ if(b!==btn) b.classList.add('collapsed'); });\r\n      btn.classList.toggle('collapsed');\r\n    });\r\n  });\r\n<\/script>[\/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            \/* Professional Color Palette *\/\r\n            --primary-color: #006064;\r\n            --primary-light: #00838f;\r\n            --secondary-color: #ff6e40;\r\n            --secondary-light: #ff8a65;\r\n            --accent-color: #ffb74d;\r\n            --accent-light: #ffcc80;\r\n            --success-color: #00897b;\r\n            --success-light: #4db6ac;\r\n            --warning-color: #ffa000;\r\n            --warning-light: #ffca28;\r\n            --danger-color: #e53935;\r\n            --danger-light: #ef5350;\r\n            \r\n            \/* Background & Text Colors *\/\r\n            --bg-primary: #f5f5f5;\r\n            --bg-secondary: #ffffff;\r\n            --bg-tertiary: #f9f9f9;\r\n            --bg-card: #ffffff;\r\n            --glass-bg: rgba(0, 96, 100, 0.08);\r\n            --glass-border: rgba(0, 131, 143, 0.15);\r\n            --text-primary: #263238;\r\n            --text-secondary: #546e7a;\r\n            --text-muted: #90a4ae;\r\n            --text-accent: #ff6e40;\r\n            \r\n            \/* Shadows & Borders *\/\r\n            --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.08);\r\n            --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.12);\r\n            --shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.16);\r\n            --shadow-xl: 0 16px 48px rgba(0, 0, 0, 0.2);\r\n            --border-radius: 16px;\r\n            --border-radius-lg: 24px;\r\n        }\r\n\r\n       .wrapper {\r\n\tfont-family: 'Outfit', sans-serif;\r\n\tbackground: linear-gradient(135deg, #f5f5f5 0%, #e0f2f1 100%);\r\n\tline-height: 1.6;\r\n\tcolor: var(--text-primary);\r\n\tposition: relative;\r\n\toverflow-x: hidden;\r\n\tpadding: 80px 16px;\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(0, 96, 100, 0.08) 0%, transparent 50%),\r\n                radial-gradient(circle at 80% 80%, rgba(255, 110, 64, 0.08) 0%, transparent 50%),\r\n                radial-gradient(circle at 50% 50%, rgba(255, 183, 77, 0.05) 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(--primary-light));\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(--secondary-color));\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 h1 {\r\n            font-size: clamp(2.5rem, 6vw, 4rem);\r\n            font-weight: 900;\r\n            background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));\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(255, 110, 64, 0.2);\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(0, 96, 100, 0.12);\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(0, 131, 143, 0.15);\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(--secondary-color), var(--accent-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 !important;\r\n            padding: 20px 25px !important;\r\n            background: var(--bg-tertiary) !important;\r\n            border: 2px solid var(--bg-tertiary) !important;\r\n            border-radius: var(--border-radius) !important;\r\n            color: var(--text-primary) !important;\r\n            font-size: 16px !important;\r\n            font-weight: 500 !important;\r\n            transition: all 0.3s ease !important;\r\n            outline: none !important;\r\n            font-family: inherit !important;\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(0, 131, 143, 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(229, 57, 53, 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(--secondary-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(229, 57, 53, 0.08);\r\n            border: 1px solid rgba(229, 57, 53, 0.2);\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(0, 131, 143, 0.15);\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(0, 131, 143, 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(0, 131, 143, 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(0, 0, 0, 0.1);\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(255, 110, 64, 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(0, 0, 0, 0.1);\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(255, 110, 64, 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(255, 110, 64, 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(0, 131, 143, 0.15);\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(0, 96, 100, 0.05);\r\n            border: 1px solid rgba(0, 131, 143, 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(0, 131, 143, 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(0, 131, 143, 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(0, 137, 123, 0.08);\r\n            box-shadow: 0 0 20px rgba(0, 137, 123, 0.2);\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(0, 131, 143, 0.15);\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(255, 110, 64, 0.08), rgba(0, 131, 143, 0.08));\r\n            border: 1px solid rgba(255, 110, 64, 0.2);\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(0, 96, 100, 0.08);\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(0, 0, 0, 0.1);\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(0, 0, 0, 0.1);\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(0, 131, 143, 0.15);\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(229, 57, 53, 0.08);\r\n            border: 1px solid rgba(229, 57, 53, 0.2);\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(229, 57, 53, 0.12);\r\n        }\r\n\r\n        .wrapper .yvv-progress-bar-container {\r\n            width: 100%;\r\n            height: 8px;\r\n            background: rgba(0, 0, 0, 0.1);\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(0, 96, 100, 0.08), rgba(255, 110, 64, 0.08));\r\n            border: 1px solid rgba(0, 131, 143, 0.2);\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(0, 131, 143, 0.08) 1px, transparent 1px),\r\n                linear-gradient(90deg, rgba(0, 131, 143, 0.08) 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(0, 0, 0, 0.1);\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(--secondary-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 h1 {\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 h1 {\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 h1 {\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 h1 {\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 h1 {\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 h1 {\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 h1 {\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 h1 {\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 h1 {\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<div 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\">\r\n                        <h1>Private YouTube Viewer<\/h1>\r\n                    <\/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     <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    <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<\/div>\r\n\r\n<style>       \r\n  :root{\r\n    --grad: linear-gradient(45deg,#ff0000 0%,#ff4d4d 25%,#ff6666 50%,#ff8080 75%,#ff9999 100%);\r\n    --brand:#ff0000;\r\n    --ink:#333;\r\n    --muted:#666;\r\n    --muted-2:#9498a1;\r\n    --light:#f8f9fa;\r\n    --card:#fff;\r\n    --radius:15px;\r\n    --sh:0 4px 12px rgba(0,0,0,.08);\r\n    --sh-lg:0 8px 24px rgba(0,0,0,.12);\r\n    --t:.3s ease;\r\n  }\r\n\r\n  \/* ---------- Titles ---------- *\/\r\n  .yt-pv-section-title{text-align:center; margin-bottom:60px;}\r\n  .yt-pv-section-title h2{font-weight:700; font-size:2.5rem; color:var(--brand); margin:0 0 12px;}\r\n  .yt-pv-section-title p{color:var(--muted); max-width:700px; margin:0 auto; font-size:1.05rem;}\r\n \r\n  \/* ---------- Cards ---------- *\/\r\n  .cv-card{\r\n    background:var(--card); border-radius:var(--radius); box-shadow:var(--sh);\r\n    height:100%; transition:var(--t); padding:30px;\r\n  }\r\n  .cv-card:hover{transform:translateY(-10px); box-shadow:var(--sh-lg);}\r\n\r\n  \/* Steps *\/\r\n  .yt-pv-step{ position:relative; text-align:center; }\r\n  .yt-pv-step .yt-pv-step-icon{\r\n    width:80px; height:80px; margin:0 auto 22px; border-radius:50%; display:flex; align-items:center; justify-content:center;\r\n    background:var(--grad); color:#fff; font-size:2rem; box-shadow:0 5px 15px rgba(0,0,0,.1); transition:var(--t);\r\n  }\r\n  .yt-pv-step:hover .yt-pv-step-icon{ transform:scale(1.08); }\r\n  .yt-pv-step h3{font-size:1.25rem; font-weight:700; color:var(--brand); margin:0 0 10px;}\r\n  .yt-pv-step p{color:var(--muted); margin:0;}\r\n\r\n  \/* Features *\/\r\n  .yt-pv-feature-card .yt-pv-feature-icon{font-size:2rem; display:block; margin-bottom:14px;}\r\n  .yt-pv-feature-card h3{font-size:1.2rem; font-weight:700; color:var(--brand); margin:0 0 10px;}\r\n  .yt-pv-feature-card p{color:var(--muted); margin:0;}\r\n\r\n  \/* FAQ *\/\r\n  .vr-tool-faq{ margin: 30px auto; }\r\n  .yt-pv-faq-item{ border-radius:12px; overflow:hidden; box-shadow:var(--sh); transition:var(--t); background:#fff; }\r\n  .yt-pv-faq-item:hover{ box-shadow:var(--sh-lg); }\r\n  .yt-pv-faq-question{\r\n    width:100%; padding:20px 24px; display:flex; justify-content:space-between; align-items:center;\r\n    background:#fff; border:none; text-align:left; font-weight:700; font-size:1.05rem; color:var(--brand); transition:var(--t);\r\n  }\r\n  .yt-pv-faq-question:hover{ background:rgba(255,0,0,.05); }\r\n  .yt-pv-faq-question:not(.collapsed){ background:rgba(255,0,0,.1); }\r\n  .yt-pv-faq-question:not(.collapsed)::after{ transform:rotate(180deg); }\r\n  .yt-pv-faq-answer{ padding:0 24px 22px; color:var(--muted); line-height:1.7; }\r\n\r\n  \/* CTA *\/\r\n  .vr-tool-cta{\r\n    background:var(--grad);\r\n    color:#fff;\r\n    text-align:center;\r\n    padding:50px 0;\r\n  }\r\n  .vr-tool-cta .yt-pv-cta-title{\r\n    font-size:2.4rem;\r\n    font-weight:700;\r\n    margin:0 0 20px;\r\n    line-height:1.2;\r\n  }\r\n  .vr-tool-cta .yt-pv-cta-sub{\r\n    max-width:800px;\r\n    margin:0 auto 30px;\r\n    font-size:1.1rem;\r\n    color:rgba(255,255,255,.92);\r\n  }\r\n  .vr-tool-cta .yt-pv-cta-group .btn{\r\n    background:#fff;\r\n    color:var(--brand);\r\n    font-weight:600;\r\n    padding:14px 32px;\r\n    border-radius:50px;\r\n    box-shadow:var(--sh);\r\n    transition:var(--t);\r\n    text-decoration:none;\r\n    display:inline-block;\r\n  }\r\n  .vr-tool-cta .yt-pv-cta-group .btn:hover{\r\n    transform:translateY(-3px);\r\n    box-shadow:var(--sh-lg);\r\n  }\r\n  .vr-tool-cta .yt-pv-cta-note{\r\n    margin-top:14px;\r\n    font-size:.95rem;\r\n    color:rgba(255,255,255,.85);\r\n  }\r\n\r\n  @keyframes fadeUp{ from{opacity:0; transform:translateY(14px)} to{opacity:1; transform:none} }\r\n  .animate-in{ animation: fadeUp .6s ease both; }\r\n\r\n  @media (max-width:991px){\r\n    .yt-pv-section-title h2{font-size:2.1rem}\r\n    .vr-tool-cta .yt-pv-cta-title{font-size:2.1rem}\r\n  }\r\n  @media (max-width:767px){\r\n    .yt-pv-section-title h2{font-size:1.8rem}\r\n    .cv-card{margin-bottom:20px}\r\n    .vr-tool-cta{padding:60px 0}\r\n    .vr-tool-cta .yt-pv-cta-title{font-size:1.8rem}\r\n    .vr-tool-cta .yt-pv-cta-sub{font-size:1rem}\r\n  }\r\n<\/style>\r\n\r\n<!-- How It Works -->\r\n<section class=\"vr-tool-how\">\r\n  <div class=\"container\">\r\n    <div class=\"yt-pv-section-title\">\r\n      <h2>How to Use the Private YouTube Viewer<\/h2>\r\n      <p>Follow these steps to browse YouTube content anonymously.<\/p>\r\n    <\/div>\r\n\r\n    <div class=\"row g-4\">\r\n      <div class=\"col-md-3\">\r\n        <div class=\"cv-card yt-pv-step\">\r\n          <div class=\"yt-pv-step-icon\"><i class=\"fas fa-link\"><\/i><\/div>\r\n          <h3>Enter Video URL<\/h3>\r\n          <p>Copy the YouTube video or channel URL to view.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"col-md-3\">\r\n        <div class=\"cv-card yt-pv-step\">\r\n          <div class=\"yt-pv-step-icon\"><i class=\"fas fa-search\"><\/i><\/div>\r\n          <h3>Load Content<\/h3>\r\n          <p>Click \u201cView Now\u201d to access public YouTube content.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"col-md-3\">\r\n        <div class=\"cv-card yt-pv-step\">\r\n          <div class=\"yt-pv-step-icon\"><i class=\"fas fa-eye\"><\/i><\/div>\r\n          <h3>Browse Anonymously<\/h3>\r\n          <p>View public videos, playlists, and Shorts privately.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"col-md-3\">\r\n        <div class=\"cv-card yt-pv-step\">\r\n          <div class=\"yt-pv-step-icon\"><i class=\"fas fa-user-secret\"><\/i><\/div>\r\n          <h3>No Login Required<\/h3>\r\n          <p>Access content without a YouTube account.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<!-- Features -->\r\n<section class=\"vr-tool-features\">\r\n  <div class=\"container\">\r\n    <div class=\"yt-pv-section-title\">\r\n      <h2>Private YouTube Viewer Features<\/h2>\r\n      <p>Tools for seamless and private browsing of YouTube content.<\/p>\r\n    <\/div>\r\n\r\n    <div class=\"row g-4\">\r\n      <div class=\"col-md-4\">\r\n        <div class=\"cv-card yt-pv-feature-card\">\r\n          <span class=\"yt-pv-feature-icon\">\ud83d\udd12<\/span>\r\n          <h3>Anonymous Browsing<\/h3>\r\n          <p>Browse YouTube without revealing your identity.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"col-md-4\">\r\n        <div class=\"cv-card yt-pv-feature-card\">\r\n          <span class=\"yt-pv-feature-icon\">\ud83c\udfa5<\/span>\r\n          <h3>Public Content Access<\/h3>\r\n          <p>View public videos, playlists, and channels effortlessly.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"col-md-4\">\r\n        <div class=\"cv-card yt-pv-feature-card\">\r\n          <span class=\"yt-pv-feature-icon\">\ud83d\udcf9<\/span>\r\n          <h3>Multiple Content Types<\/h3>\r\n          <p>Supports videos, playlists, Shorts, and channel details.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"col-md-4\">\r\n        <div class=\"cv-card yt-pv-feature-card\">\r\n          <span class=\"yt-pv-feature-icon\">\ud83d\udcf1<\/span>\r\n          <h3>Multi-Device Support<\/h3>\r\n          <p>Optimized for phones, tablets, and desktops.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"col-md-4\">\r\n        <div class=\"cv-card yt-pv-feature-card\">\r\n          <span class=\"yt-pv-feature-icon\">\ud83d\udd11<\/span>\r\n          <h3>No Login Needed<\/h3>\r\n          <p>Browse without YouTube credentials.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"col-md-4\">\r\n        <div class=\"cv-card yt-pv-feature-card\">\r\n          <span class=\"yt-pv-feature-icon\">\u26a1<\/span>\r\n          <h3>Fast Access<\/h3>\r\n          <p>Quickly load YouTube content anonymously.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<!-- FAQ -->\r\n<section class=\"vr-tool-faq\">\r\n  <div class=\"container\">\r\n    <div class=\"yt-pv-section-title\">\r\n      <h2>Frequently Asked Questions<\/h2>\r\n      <p>Learn how to use the Private YouTube Viewer effectively.<\/p>\r\n    <\/div>\r\n\r\n    <div class=\"row justify-content-center\">\r\n      <div class=\"col-lg-8\">\r\n        <div class=\"accordion\" id=\"faqAccordion\">\r\n          <div class=\"yt-pv-faq-item accordion-item mb-3\">\r\n            <h2 class=\"accordion-header\">\r\n              <button class=\"yt-pv-faq-question accordion-button collapsed\" data-bs-toggle=\"collapse\" data-bs-target=\"#faqCollapse1\">\r\n                Can I view private YouTube content?\r\n              <\/button>\r\n            <\/h2>\r\n            <div id=\"faqCollapse1\" class=\"accordion-collapse collapse\" data-bs-parent=\"#faqAccordion\">\r\n              <div class=\"yt-pv-faq-answer accordion-body\">\r\n                No. The Private YouTube Viewer only shows publicly shared content, respecting privacy settings.\r\n              <\/div>\r\n            <\/div>\r\n          <\/div>\r\n          <div class=\"yt-pv-faq-item accordion-item mb-3\">\r\n            <h2 class=\"accordion-header\">\r\n              <button class=\"yt-pv-faq-question accordion-button collapsed\" data-bs-toggle=\"collapse\" data-bs-target=\"#faqCollapse2\">\r\n                Do I need a YouTube account to browse?\r\n              <\/button>\r\n            <\/h2>\r\n            <div id=\"faqCollapse2\" class=\"accordion-collapse collapse\" data-bs-parent=\"#faqAccordion\">\r\n              <div class=\"yt-pv-faq-answer accordion-body\">\r\n                No. The Private YouTube Viewer works without a login.\r\n              <\/div>\r\n            <\/div>\r\n          <\/div>\r\n          <div class=\"yt-pv-faq-item accordion-item mb-3\">\r\n            <h2 class=\"accordion-header\">\r\n              <button class=\"yt-pv-faq-question accordion-button collapsed\" data-bs-toggle=\"collapse\" data-bs-target=\"#faqCollapse3\">\r\n                Is the Private YouTube Viewer free to use?\r\n              <\/button>\r\n            <\/h2>\r\n            <div id=\"faqCollapse3\" class=\"accordion-collapse collapse\" data-bs-parent=\"#faqAccordion\">\r\n              <div class=\"yt-pv-faq-answer accordion-body\">\r\n                Yes. It\u2019s a free tool with no charges or subscriptions.\r\n              <\/div>\r\n            <\/div>\r\n          <\/div>\r\n          <div class=\"yt-pv-faq-item accordion-item mb-3\">\r\n            <h2 class=\"accordion-header\">\r\n              <button class=\"yt-pv-faq-question accordion-button collapsed\" data-bs-toggle=\"collapse\" data-bs-target=\"#faqCollapse4\">\r\n                Is this tool affiliated with YouTube?\r\n              <\/button>\r\n            <\/h2>\r\n            <div id=\"faqCollapse4\" class=\"accordion-collapse collapse\" data-bs-parent=\"#faqAccordion\">\r\n              <div class=\"yt-pv-faq-answer accordion-body\">\r\n                No. This is an independent Private YouTube Viewer, and browsing is anonymous with no user alerts.\r\n              <\/div>\r\n            <\/div>\r\n          <\/div>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<!-- CTA Section -->\r\n<section class=\"vr-tool-cta\">\r\n  <div class=\"container\" style=\"text-align: center;\">\r\n    <h2 class=\"yt-pv-cta-title text-white\">Try the Private YouTube Viewer Now<\/h2>\r\n    <p class=\"yt-pv-cta-sub\">\r\n      Browse publicly shared YouTube content anonymously without login. Safe, private, and easy to use.\r\n    <\/p>\r\n    <div class=\"yt-pv-cta-group\">\r\n      <a href=\"#\" class=\"btn btn-lg\">Try It Now<\/a>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<script>\r\n  document.querySelectorAll('.yt-pv-faq-question').forEach(btn=>{\r\n    btn.addEventListener('click', ()=>{\r\n      document.querySelectorAll('.yt-pv-faq-question').forEach(b=>{ if(b!==btn) b.classList.add('collapsed'); });\r\n      btn.classList.toggle('collapsed');\r\n    });\r\n  });\r\n<\/script><\/p>\n","protected":false},"author":4,"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":"1300","footnotes":""},"class_list":["post-524","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/viewri.com\/es\/wp-json\/wp\/v2\/pages\/524","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/viewri.com\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/viewri.com\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/viewri.com\/es\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/viewri.com\/es\/wp-json\/wp\/v2\/comments?post=524"}],"version-history":[{"count":7,"href":"https:\/\/viewri.com\/es\/wp-json\/wp\/v2\/pages\/524\/revisions"}],"predecessor-version":[{"id":1297,"href":"https:\/\/viewri.com\/es\/wp-json\/wp\/v2\/pages\/524\/revisions\/1297"}],"up":[{"embeddable":true,"href":"https:\/\/viewri.com\/es\/wp-json\/wp\/v2\/pages\/144"}],"wp:attachment":[{"href":"https:\/\/viewri.com\/es\/wp-json\/wp\/v2\/media?parent=524"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}