{"id":512,"date":"2025-10-15T03:32:03","date_gmt":"2025-10-15T03:32:03","guid":{"rendered":"https:\/\/viewri.com\/?page_id=512"},"modified":"2025-12-29T08:53:15","modified_gmt":"2025-12-29T08:53:15","slug":"private-video","status":"publish","type":"page","link":"https:\/\/viewri.com\/youtube\/private-video\/","title":{"rendered":"youtube private video viewer"},"content":{"rendered":"<p>[et_pb_section fb_built=&#8221;1&#8243; fullwidth=&#8221;on&#8221; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_fullwidth_code _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;]<style>\r\n    @import url('https:\/\/fonts.googleapis.com\/css2?family=Outfit:wght@300;400;500;600;700;800;900&display=swap');\r\n\r\n    .wrapper * {\r\n        margin: 0;\r\n        padding: 0;\r\n        box-sizing: border-box;\r\n    }\r\n\r\n    .wrapper {\r\n        --primary-color: #0D7377;\r\n        --primary-light: #14A085;\r\n        --secondary-color: #8B1A1A;\r\n        --secondary-light: #C23B3B;\r\n        --accent-color: #D4AF37;\r\n        --accent-light: #F1C40F;\r\n        --success-color: #27AE60;\r\n        --success-light: #2ECC71;\r\n        --warning-color: #E67E22;\r\n        --warning-light: #F39C12;\r\n        --danger-color: #C0392B;\r\n        --danger-light: #E74C3C;\r\n        --bg-primary: #121212;\r\n        --bg-secondary: #1E1E1E;\r\n        --bg-tertiary: #2C2C2C;\r\n        --bg-card: #3A3A3A;\r\n        --glass-bg: rgba(13, 115, 119, 0.1);\r\n        --glass-border: rgba(20, 160, 133, 0.2);\r\n        --text-primary: #F5F5F5;\r\n        --text-secondary: #CCCCCC;\r\n        --text-muted: #A0A0A0;\r\n        --text-accent: #D4AF37;\r\n        --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.3);\r\n        --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.4);\r\n        --shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.5);\r\n        --shadow-xl: 0 16px 48px rgba(0, 0, 0, 0.6);\r\n        --border-radius: 16px;\r\n        --border-radius-lg: 24px;\r\n    }\r\n\r\n    .wrapper {\r\n        font-family: 'Outfit', sans-serif;\r\n        background: linear-gradient(135deg, #121212 0%, #1A1A1A 25%, #222222 50%, #2C2C2C 75%, #333333 100%);\r\n        padding: 100px 0;\r\n        line-height: 1.6;\r\n        color: var(--text-primary);\r\n        position: relative;\r\n        overflow-x: hidden;\r\n    }\r\n\r\n    .wrapper::before {\r\n        content: '';\r\n        position: fixed;\r\n        top: 0;\r\n        left: 0;\r\n        width: 100%;\r\n        height: 100%;\r\n        background:\r\n            radial-gradient(circle at 20% 20%, rgba(13, 115, 119, 0.15) 0%, transparent 50%),\r\n            radial-gradient(circle at 80% 80%, rgba(212, 175, 55, 0.15) 0%, transparent 50%),\r\n            radial-gradient(circle at 50% 50%, rgba(139, 26, 26, 0.1) 0%, transparent 50%);\r\n        pointer-events: none;\r\n        z-index: -1;\r\n    }\r\n\r\n    .wrapper .yvv-container {\r\n        max-width: 1400px;\r\n        margin: 0 auto;\r\n        padding: 20px;\r\n        position: relative;\r\n        z-index: 1;\r\n    }\r\n\r\n    \/* Header Section *\/\r\n    .wrapper .yvv-header {\r\n        text-align: center;\r\n        margin-bottom: 40px;\r\n        padding: 40px 0;\r\n        animation: fadeInDown 1s ease-out;\r\n    }\r\n\r\n    .wrapper .yvv-brand-logo {\r\n        display: flex;\r\n        align-items: center;\r\n        justify-content: center;\r\n        gap: 25px;\r\n        margin-bottom: 25px;\r\n        flex-wrap: wrap;\r\n    }\r\n\r\n    .wrapper .yvv-brand-icon {\r\n        width: 80px;\r\n        height: 80px;\r\n        background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));\r\n        border-radius: var(--border-radius);\r\n        display: flex;\r\n        align-items: center;\r\n        justify-content: center;\r\n        color: white;\r\n        font-size: 36px;\r\n        font-weight: 800;\r\n        box-shadow: var(--shadow-lg);\r\n        animation: float 4s ease-in-out infinite;\r\n        position: relative;\r\n    }\r\n\r\n    .wrapper .yvv-brand-icon::after {\r\n        content: '';\r\n        position: absolute;\r\n        inset: -2px;\r\n        background: linear-gradient(135deg, var(--primary-light), var(--secondary-light));\r\n        border-radius: var(--border-radius);\r\n        z-index: -1;\r\n        opacity: 0.5;\r\n        animation: pulse 2s ease-in-out infinite;\r\n    }\r\n\r\n    .wrapper .yvv-brand-title h1 {\r\n        font-size: clamp(2.5rem, 6vw, 4rem);\r\n        font-weight: 900;\r\n        background: linear-gradient(135deg, var(--text-primary), var(--text-accent));\r\n        -webkit-background-clip: text;\r\n        -webkit-text-fill-color: transparent;\r\n        background-clip: text;\r\n        letter-spacing: -1px;\r\n        text-shadow: 0 4px 20px rgba(212, 175, 55, 0.3);\r\n    }\r\n\r\n    .wrapper .yvv-brand-subtitle {\r\n        color: var(--text-secondary);\r\n        font-size: 20px;\r\n        font-weight: 500;\r\n        margin-bottom: 30px;\r\n        max-width: 700px;\r\n        margin-left: auto;\r\n        margin-right: auto;\r\n    }\r\n\r\n    .wrapper .yvv-feature-badges {\r\n        display: flex;\r\n        justify-content: center;\r\n        gap: 15px;\r\n        flex-wrap: wrap;\r\n    }\r\n\r\n    .wrapper .yvv-feature-badge {\r\n        display: flex;\r\n        align-items: center;\r\n        gap: 10px;\r\n        background: var(--glass-bg);\r\n        backdrop-filter: blur(20px);\r\n        border: 1px solid var(--glass-border);\r\n        padding: 12px 24px;\r\n        border-radius: 50px;\r\n        color: var(--text-primary);\r\n        font-size: 14px;\r\n        font-weight: 600;\r\n        transition: all 0.3s ease;\r\n    }\r\n\r\n    .wrapper .yvv-feature-badge:hover {\r\n        transform: translateY(-3px);\r\n        box-shadow: var(--shadow-md);\r\n        background: rgba(13, 115, 119, 0.2);\r\n    }\r\n\r\n    .wrapper .yvv-badge-icon {\r\n        width: 20px;\r\n        height: 20px;\r\n        background: linear-gradient(135deg, var(--success-color), var(--success-light));\r\n        border-radius: 50%;\r\n        display: flex;\r\n        align-items: center;\r\n        justify-content: center;\r\n        font-size: 10px;\r\n        color: white;\r\n        font-weight: 700;\r\n    }\r\n\r\n    \/* Search Section *\/\r\n    .wrapper .yvv-search-section {\r\n        background: var(--bg-secondary);\r\n        border: 1px solid rgba(13, 115, 119, 0.3);\r\n        padding: 40px;\r\n        border-radius: var(--border-radius-lg);\r\n        box-shadow: var(--shadow-xl);\r\n        margin-bottom: 40px;\r\n        animation: fadeInUp 1s ease-out 0.2s both;\r\n        position: relative;\r\n        overflow: hidden;\r\n    }\r\n\r\n    .wrapper .yvv-search-section::before {\r\n        content: '';\r\n        position: absolute;\r\n        top: 0;\r\n        left: 0;\r\n        right: 0;\r\n        height: 2px;\r\n        background: linear-gradient(90deg, var(--primary-color), var(--accent-color), var(--secondary-color));\r\n    }\r\n\r\n    .wrapper .yvv-search-form {\r\n        display: flex;\r\n        gap: 20px;\r\n        margin-bottom: 25px;\r\n        position: relative;\r\n    }\r\n\r\n    .wrapper .yvv-search-input {\r\n        flex: 1;\r\n        padding: 20px 25px;\r\n        background: var(--bg-tertiary);\r\n        border: 2px solid var(--bg-card);\r\n        border-radius: var(--border-radius);\r\n        font-size: 16px;\r\n        font-weight: 500;\r\n        transition: all 0.3s ease;\r\n        outline: none;\r\n        font-family: inherit;\r\n        color: var(--text-primary);\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(13, 115, 119, 0.1);\r\n        transform: translateY(-2px);\r\n\t\t\t  color:white;\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(192, 57, 43, 0.1);\r\n    }\r\n\r\n    .wrapper .yvv-search-input::placeholder {\r\n        color: var(--text-muted);\r\n        font-weight: 400;\r\n    }\r\n\r\n    .wrapper .yvv-search-btn {\r\n        padding: 20px 40px;\r\n        background: linear-gradient(135deg, var(--primary-color), var(--primary-light));\r\n        color: white;\r\n        border: none;\r\n        border-radius: var(--border-radius);\r\n        font-size: 16px;\r\n        font-weight: 700;\r\n        cursor: pointer;\r\n        transition: all 0.3s ease;\r\n        min-width: 200px;\r\n        position: relative;\r\n        overflow: hidden;\r\n        box-shadow: var(--shadow-md);\r\n        font-family: inherit;\r\n    }\r\n\r\n    .wrapper .yvv-search-btn:hover:not(:disabled) {\r\n        transform: translateY(-3px);\r\n        box-shadow: var(--shadow-lg);\r\n        background: linear-gradient(135deg, var(--primary-light), var(--accent-color));\r\n    }\r\n\r\n    .wrapper .yvv-search-btn:disabled {\r\n        opacity: 0.6;\r\n        cursor: not-allowed;\r\n        transform: none;\r\n    }\r\n\r\n    .wrapper .yvv-loading-indicator {\r\n        display: none;\r\n        text-align: center;\r\n        padding: 30px;\r\n        color: var(--text-secondary);\r\n    }\r\n\r\n    .wrapper .yvv-error-display {\r\n        background: rgba(192, 57, 43, 0.1);\r\n        border: 1px solid rgba(192, 57, 43, 0.3);\r\n        color: var(--danger-light);\r\n        padding: 20px 25px;\r\n        border-radius: var(--border-radius);\r\n        margin-top: 20px;\r\n        display: none;\r\n        font-weight: 500;\r\n    }\r\n\r\n    \/* Video Player Section - Full Interface *\/\r\n    .wrapper .yvv-video-player-section {\r\n        display: none;\r\n        background: var(--bg-secondary);\r\n        border: 1px solid rgba(13, 115, 119, 0.3);\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(13, 115, 119, 0.2);\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 var(--accent-color);\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(13, 115, 119, 0.2);\r\n    }\r\n\r\n    .wrapper .yvv-video-controls {\r\n        display: flex;\r\n        align-items: center;\r\n        gap: 20px;\r\n    }\r\n\r\n    .wrapper .yvv-control-btn {\r\n        width: 50px;\r\n        height: 50px;\r\n        background: linear-gradient(135deg, var(--primary-color), var(--primary-light));\r\n        border: none;\r\n        border-radius: 50%;\r\n        color: white;\r\n        font-size: 18px;\r\n        cursor: pointer;\r\n        transition: all 0.3s ease;\r\n        display: flex;\r\n        align-items: center;\r\n        justify-content: center;\r\n        box-shadow: var(--shadow-sm);\r\n    }\r\n\r\n    .wrapper .yvv-control-btn:hover {\r\n        transform: scale(1.1);\r\n        box-shadow: var(--shadow-md);\r\n    }\r\n\r\n    .wrapper .yvv-progress-section {\r\n        flex: 1;\r\n        margin: 0 20px;\r\n    }\r\n\r\n    .wrapper .yvv-progress-bar {\r\n        width: 100%;\r\n        height: 10px;\r\n        background: rgba(255, 255, 255, 0.2);\r\n        border-radius: 5px;\r\n        cursor: pointer;\r\n        position: relative;\r\n        overflow: hidden;\r\n        margin-bottom: 8px;\r\n    }\r\n\r\n    .wrapper .yvv-progress-fill {\r\n        height: 100%;\r\n        background: linear-gradient(135deg, var(--secondary-color), var(--secondary-light));\r\n        border-radius: 5px;\r\n        width: 0%;\r\n        transition: width 0.1s ease;\r\n        box-shadow: 0 2px 8px rgba(194, 59, 59, 0.4);\r\n    }\r\n\r\n    .wrapper .yvv-time-info {\r\n        color: var(--text-primary);\r\n        font-size: 14px;\r\n        font-weight: 600;\r\n        text-align: center;\r\n    }\r\n\r\n    .wrapper .yvv-volume-section {\r\n        display: flex;\r\n        align-items: center;\r\n        gap: 10px;\r\n        min-width: 120px;\r\n    }\r\n\r\n    .wrapper .yvv-volume-icon {\r\n        color: var(--text-primary);\r\n        font-size: 18px;\r\n        width: 24px;\r\n        text-align: center;\r\n    }\r\n\r\n    .wrapper .yvv-volume-control {\r\n        width: 80px;\r\n        height: 8px;\r\n        background: rgba(255, 255, 255, 0.2);\r\n        border-radius: 4px;\r\n        outline: none;\r\n        cursor: pointer;\r\n        -webkit-appearance: none;\r\n        appearance: none;\r\n    }\r\n\r\n    .wrapper .yvv-volume-control::-webkit-slider-thumb {\r\n        -webkit-appearance: none;\r\n        appearance: none;\r\n        width: 16px;\r\n        height: 16px;\r\n        background: var(--accent-light);\r\n        border-radius: 50%;\r\n        cursor: pointer;\r\n        box-shadow: 0 2px 6px rgba(241, 196, 15, 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(--accent-light);\r\n        border-radius: 50%;\r\n        cursor: pointer;\r\n        border: none;\r\n        box-shadow: 0 2px 6px rgba(241, 196, 15, 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(13, 115, 119, 0.3);\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(13, 115, 119, 0.05);\r\n        border: 1px solid rgba(13, 115, 119, 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(13, 115, 119, 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(13, 115, 119, 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(39, 174, 96, 0.1);\r\n        box-shadow: 0 0 20px rgba(39, 174, 96, 0.3);\r\n    }\r\n\r\n    .wrapper .yvv-format-option.playing::before {\r\n        content: '\u25b6 NOW PLAYING';\r\n        position: absolute;\r\n        top: -10px;\r\n        right: 15px;\r\n        background: linear-gradient(135deg, var(--success-color), var(--success-light));\r\n        color: white;\r\n        padding: 4px 12px;\r\n        border-radius: 12px;\r\n        font-size: 10px;\r\n        font-weight: 700;\r\n        letter-spacing: 0.5px;\r\n    }\r\n\r\n    .wrapper .yvv-format-header {\r\n        display: flex;\r\n        justify-content: space-between;\r\n        align-items: center;\r\n        margin-bottom: 15px;\r\n    }\r\n\r\n    .wrapper .yvv-format-quality {\r\n        font-size: 20px;\r\n        font-weight: 700;\r\n        color: var(--text-primary);\r\n    }\r\n\r\n    .wrapper .yvv-format-type-badge {\r\n        background: linear-gradient(135deg, var(--accent-color), var(--accent-light));\r\n        color: white;\r\n        padding: 6px 16px;\r\n        border-radius: 20px;\r\n        font-size: 12px;\r\n        font-weight: 700;\r\n    }\r\n\r\n    .wrapper .yvv-format-actions {\r\n        display: flex;\r\n        gap: 12px;\r\n    }\r\n\r\n    .wrapper .yvv-action-btn {\r\n        flex: 1;\r\n        padding: 14px;\r\n        border: none;\r\n        border-radius: 10px;\r\n        font-size: 14px;\r\n        font-weight: 600;\r\n        cursor: pointer;\r\n        transition: all 0.3s ease;\r\n        display: flex;\r\n        align-items: center;\r\n        justify-content: center;\r\n        gap: 8px;\r\n        font-family: inherit;\r\n    }\r\n\r\n    .wrapper .yvv-stream-action {\r\n        background: linear-gradient(135deg, var(--secondary-color), var(--secondary-light));\r\n        color: white;\r\n    }\r\n\r\n    .wrapper .yvv-stream-action:hover {\r\n        transform: translateY(-2px);\r\n        box-shadow: var(--shadow-sm);\r\n    }\r\n\r\n    .wrapper .yvv-stream-action.playing {\r\n        background: linear-gradient(135deg, var(--success-color), var(--success-light));\r\n    }\r\n\r\n    .wrapper .yvv-download-action {\r\n        background: linear-gradient(135deg, var(--warning-color), var(--warning-light));\r\n        color: white;\r\n    }\r\n\r\n    .wrapper .yvv-download-action:hover {\r\n        transform: translateY(-2px);\r\n        box-shadow: var(--shadow-sm);\r\n    }\r\n\r\n    .wrapper .yvv-audio-action {\r\n        background: linear-gradient(135deg, var(--accent-color), var(--accent-light));\r\n        color: white;\r\n    }\r\n\r\n    .wrapper .yvv-audio-action:hover {\r\n        transform: translateY(-2px);\r\n        box-shadow: var(--shadow-sm);\r\n    }\r\n\r\n    \/* Audio Player Section *\/\r\n    .wrapper .yvv-audio-player-section {\r\n        display: none;\r\n        background: var(--bg-secondary);\r\n        border: 1px solid rgba(13, 115, 119, 0.3);\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(212, 175, 55, 0.1), rgba(13, 115, 119, 0.1));\r\n        border: 1px solid rgba(212, 175, 55, 0.3);\r\n        border-radius: var(--border-radius);\r\n        padding: 30px;\r\n        margin-bottom: 25px;\r\n        text-align: center;\r\n    }\r\n\r\n    .wrapper .yvv-visualizer-bars {\r\n        display: flex;\r\n        align-items: end;\r\n        justify-content: center;\r\n        gap: 6px;\r\n        height: 80px;\r\n        margin-bottom: 20px;\r\n    }\r\n\r\n    .wrapper .yvv-visualizer-bar {\r\n        width: 6px;\r\n        background: linear-gradient(to top, var(--accent-color), var(--accent-light), var(--primary-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(13, 115, 119, 0.1);\r\n        border-radius: var(--border-radius);\r\n        padding: 20px 25px;\r\n    }\r\n\r\n    .wrapper .yvv-audio-play-btn {\r\n        width: 60px;\r\n        height: 60px;\r\n        background: linear-gradient(135deg, var(--accent-color), var(--accent-light));\r\n        border: none;\r\n        border-radius: 50%;\r\n        color: white;\r\n        font-size: 24px;\r\n        cursor: pointer;\r\n        transition: all 0.3s ease;\r\n        display: flex;\r\n        align-items: center;\r\n        justify-content: center;\r\n        box-shadow: var(--shadow-md);\r\n    }\r\n\r\n    .wrapper .yvv-audio-play-btn:hover {\r\n        transform: scale(1.1);\r\n        box-shadow: var(--shadow-lg);\r\n    }\r\n\r\n    .wrapper .yvv-audio-progress {\r\n        flex: 1;\r\n        cursor: pointer;\r\n        padding: 15px 0;\r\n    }\r\n\r\n    .wrapper .yvv-audio-progress-track {\r\n        width: 100%;\r\n        height: 8px;\r\n        background: rgba(255, 255, 255, 0.2);\r\n        border-radius: 4px;\r\n        position: relative;\r\n        overflow: hidden;\r\n    }\r\n\r\n    .wrapper .yvv-audio-progress-fill {\r\n        height: 100%;\r\n        background: linear-gradient(135deg, var(--accent-color), var(--accent-light));\r\n        border-radius: 4px;\r\n        width: 0%;\r\n        transition: width 0.1s ease;\r\n    }\r\n\r\n    .wrapper .yvv-audio-time {\r\n        color: var(--text-primary);\r\n        font-size: 16px;\r\n        font-weight: 600;\r\n        min-width: 100px;\r\n        text-align: center;\r\n    }\r\n\r\n    .wrapper .yvv-audio-volume {\r\n        display: flex;\r\n        align-items: center;\r\n        gap: 12px;\r\n        min-width: 120px;\r\n    }\r\n\r\n    .wrapper .yvv-audio-volume-icon {\r\n        color: var(--text-primary);\r\n        font-size: 20px;\r\n        width: 24px;\r\n        text-align: center;\r\n    }\r\n\r\n    .wrapper .yvv-audio-volume-slider {\r\n        width: 80px;\r\n        height: 6px;\r\n        background: rgba(255, 255, 255, 0.2);\r\n        border-radius: 3px;\r\n        outline: none;\r\n        cursor: pointer;\r\n        -webkit-appearance: none;\r\n        appearance: none;\r\n    }\r\n\r\n    .wrapper .yvv-audio-volume-slider::-webkit-slider-thumb {\r\n        -webkit-appearance: none;\r\n        appearance: none;\r\n        width: 16px;\r\n        height: 16px;\r\n        background: var(--accent-light);\r\n        border-radius: 50%;\r\n        cursor: pointer;\r\n    }\r\n\r\n    .wrapper .yvv-audio-volume-slider::-moz-range-thumb {\r\n        width: 16px;\r\n        height: 16px;\r\n        background: var(--accent-light);\r\n        border-radius: 50%;\r\n        cursor: pointer;\r\n        border: none;\r\n    }\r\n\r\n    \/* Download Progress *\/\r\n    .wrapper .yvv-download-progress {\r\n        position: fixed;\r\n        bottom: 20px;\r\n        right: 20px;\r\n        background: var(--bg-secondary);\r\n        border: 1px solid rgba(13, 115, 119, 0.3);\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(192, 57, 43, 0.1);\r\n        border: 1px solid rgba(192, 57, 43, 0.3);\r\n        color: var(--danger-light);\r\n        padding: 6px 12px;\r\n        border-radius: 6px;\r\n        font-size: 12px;\r\n        cursor: pointer;\r\n        transition: all 0.3s ease;\r\n        font-weight: 500;\r\n    }\r\n\r\n    .wrapper .yvv-cancel-btn:hover {\r\n        background: rgba(192, 57, 43, 0.2);\r\n    }\r\n\r\n    .wrapper .yvv-progress-bar-container {\r\n        width: 100%;\r\n        height: 8px;\r\n        background: rgba(255, 255, 255, 0.2);\r\n        border-radius: 4px;\r\n        overflow: hidden;\r\n        margin-bottom: 10px;\r\n    }\r\n\r\n    .wrapper .yvv-progress-bar-fill {\r\n        height: 100%;\r\n        background: linear-gradient(135deg, var(--success-color), var(--success-light));\r\n        border-radius: 4px;\r\n        width: 0%;\r\n        transition: width 0.3s ease;\r\n    }\r\n\r\n    .wrapper .yvv-progress-details {\r\n        display: flex;\r\n        justify-content: space-between;\r\n        font-size: 12px;\r\n        color: var(--text-secondary);\r\n    }\r\n\r\n    \/* Loading Animation *\/\r\n    .wrapper .yvv-cyber-loading {\r\n        position: relative;\r\n        width: 100%;\r\n        max-width: 500px;\r\n        margin: 0 auto;\r\n        padding: 40px;\r\n        background: linear-gradient(135deg, rgba(13, 115, 119, 0.1), rgba(212, 175, 55, 0.1));\r\n        border: 1px solid rgba(13, 115, 119, 0.3);\r\n        border-radius: var(--border-radius-lg);\r\n    }\r\n\r\n    .wrapper .yvv-loading-grid {\r\n        position: absolute;\r\n        top: 0;\r\n        left: 0;\r\n        right: 0;\r\n        bottom: 0;\r\n        background-image:\r\n            linear-gradient(rgba(13, 115, 119, 0.1) 1px, transparent 1px),\r\n            linear-gradient(90deg, rgba(13, 115, 119, 0.1) 1px, transparent 1px);\r\n        background-size: 25px 25px;\r\n        animation: gridShift 8s linear infinite;\r\n    }\r\n\r\n    @keyframes gridShift {\r\n        0% {\r\n            transform: translate(0, 0);\r\n        }\r\n\r\n        100% {\r\n            transform: translate(25px, 25px);\r\n        }\r\n    }\r\n\r\n    .wrapper .yvv-loading-waves {\r\n        display: flex;\r\n        flex-direction: column;\r\n        gap: 12px;\r\n        margin-bottom: 25px;\r\n    }\r\n\r\n    .wrapper .yvv-loading-wave {\r\n        height: 4px;\r\n        background: linear-gradient(90deg, transparent, var(--primary-light), transparent);\r\n        border-radius: 2px;\r\n        animation: waveFlow 2.5s ease-in-out infinite;\r\n    }\r\n\r\n    .wrapper .yvv-loading-wave:nth-child(2) {\r\n        animation-delay: 0.5s;\r\n    }\r\n\r\n    .wrapper .yvv-loading-wave:nth-child(3) {\r\n        animation-delay: 1s;\r\n    }\r\n\r\n    @keyframes waveFlow {\r\n\r\n        0%,\r\n        100% {\r\n            opacity: 0.3;\r\n            transform: scaleX(0.3);\r\n        }\r\n\r\n        50% {\r\n            opacity: 1;\r\n            transform: scaleX(1);\r\n        }\r\n    }\r\n\r\n    .wrapper .yvv-loading-text {\r\n        text-align: center;\r\n        color: var(--text-primary);\r\n        font-size: 18px;\r\n        font-weight: 600;\r\n    }\r\n\r\n    .wrapper .yvv-loading-dots::after {\r\n        content: '';\r\n        animation: loadingDots 2.5s steps(4, end) infinite;\r\n    }\r\n\r\n    @keyframes loadingDots {\r\n\r\n        0%,\r\n        20% {\r\n            content: '';\r\n        }\r\n\r\n        40% {\r\n            content: '.';\r\n        }\r\n\r\n        60% {\r\n            content: '..';\r\n        }\r\n\r\n        80%,\r\n        100% {\r\n            content: '...';\r\n        }\r\n    }\r\n\r\n    .wrapper .yvv-loading-progress-bar {\r\n        width: 100%;\r\n        height: 6px;\r\n        background: rgba(255, 255, 255, 0.2);\r\n        border-radius: 3px;\r\n        overflow: hidden;\r\n        margin-top: 15px;\r\n    }\r\n\r\n    .wrapper .yvv-loading-progress-fill {\r\n        height: 100%;\r\n        background: linear-gradient(90deg, var(--primary-light), var(--accent-light));\r\n        border-radius: 3px;\r\n        animation: progressFlow 3s ease-in-out infinite;\r\n    }\r\n\r\n    @keyframes progressFlow {\r\n        0% {\r\n            width: 0%;\r\n        }\r\n\r\n        50% {\r\n            width: 80%;\r\n        }\r\n\r\n        100% {\r\n            width: 100%;\r\n        }\r\n    }\r\n\r\n    \/* Animations *\/\r\n    @keyframes fadeInDown {\r\n        from {\r\n            opacity: 0;\r\n            transform: translateY(-30px);\r\n        }\r\n\r\n        to {\r\n            opacity: 1;\r\n            transform: translateY(0);\r\n        }\r\n    }\r\n\r\n    @keyframes fadeInUp {\r\n        from {\r\n            opacity: 0;\r\n            transform: translateY(30px);\r\n        }\r\n\r\n        to {\r\n            opacity: 1;\r\n            transform: translateY(0);\r\n        }\r\n    }\r\n\r\n    @keyframes slideInUp {\r\n        from {\r\n            opacity: 0;\r\n            transform: translateY(50px);\r\n        }\r\n\r\n        to {\r\n            opacity: 1;\r\n            transform: translateY(0);\r\n        }\r\n    }\r\n\r\n    @keyframes slideInLeft {\r\n        from {\r\n            opacity: 0;\r\n            transform: translateX(-50px);\r\n        }\r\n\r\n        to {\r\n            opacity: 1;\r\n            transform: translateX(0);\r\n        }\r\n    }\r\n\r\n    @keyframes slideInRight {\r\n        from {\r\n            opacity: 0;\r\n            transform: translateX(50px);\r\n        }\r\n\r\n        to {\r\n            opacity: 1;\r\n            transform: translateX(0);\r\n        }\r\n    }\r\n\r\n    @keyframes float {\r\n\r\n        0%,\r\n        100% {\r\n            transform: translateY(0px) scale(1);\r\n        }\r\n\r\n        50% {\r\n            transform: translateY(-10px) scale(1.05);\r\n        }\r\n    }\r\n\r\n    @keyframes pulse {\r\n\r\n        0%,\r\n        100% {\r\n            transform: scale(1);\r\n            opacity: 0.5;\r\n        }\r\n\r\n        50% {\r\n            transform: scale(1.1);\r\n            opacity: 0.8;\r\n        }\r\n    }\r\n\r\n    \/* Responsive Design *\/\r\n    \/* 375px and below *\/\r\n    @media (max-width: 375px) {\r\n        .wrapper .yvv-container {\r\n            padding: 10px;\r\n        }\r\n\r\n        .wrapper .yvv-header {\r\n            padding: 20px 0 15px;\r\n            margin-bottom: 25px;\r\n        }\r\n\r\n        .wrapper .yvv-brand-logo {\r\n            flex-direction: column;\r\n            gap: 15px;\r\n            margin-bottom: 20px;\r\n        }\r\n\r\n        .wrapper .yvv-brand-icon {\r\n            width: 60px;\r\n            height: 60px;\r\n            font-size: 28px;\r\n        }\r\n\r\n        .wrapper .yvv-brand-title 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<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>YouTube Private Video 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-video-thumbnail\" 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-format-grid\">\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-video-thumbnail').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-format-grid');\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>[\/et_pb_fullwidth_code][\/et_pb_section][et_pb_section fb_built=&#8221;1&#8243; fullwidth=&#8221;on&#8221; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; hover_enabled=&#8221;0&#8243; global_colors_info=&#8221;{}&#8221; max_width=&#8221;1280px&#8221; module_alignment=&#8221;center&#8221; custom_padding=&#8221;50px||50px||true|false&#8221; sticky_enabled=&#8221;0&#8243; locked=&#8221;off&#8221;][et_pb_fullwidth_code _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; hover_enabled=&#8221;0&#8243; global_colors_info=&#8221;{}&#8221; sticky_enabled=&#8221;0&#8243;][\/et_pb_fullwidth_code][\/et_pb_section][et_pb_section fb_built=&#8221;1&#8243; fullwidth=&#8221;on&#8221; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_fullwidth_code _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;]<style>       \r\n  :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 YouTube Private Video Viewer<\/h2>\r\n      <p>Follow these steps to access publicly shared YouTube videos 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 Video<\/h3>\r\n          <p>Click \u201cView Now\u201d to access publicly shared YouTube videos.<\/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 and playlists 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>YouTube Private Video Viewer Features<\/h2>\r\n      <p>Tools for seamless and private browsing of publicly shared YouTube videos.<\/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 videos 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 Video Access<\/h3>\r\n          <p>View publicly shared videos and playlists 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, and channel content.<\/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 videos 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 YouTube Private Video 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 videos?\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 YouTube Private Video 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 YouTube Private Video 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 YouTube Private Video 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 YouTube Private Video 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 YouTube Private Video Viewer Now<\/h2>\r\n    <p class=\"yt-pv-cta-sub\">\r\n      Browse publicly shared YouTube videos 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        --primary-color: #0D7377;\r\n        --primary-light: #14A085;\r\n        --secondary-color: #8B1A1A;\r\n        --secondary-light: #C23B3B;\r\n        --accent-color: #D4AF37;\r\n        --accent-light: #F1C40F;\r\n        --success-color: #27AE60;\r\n        --success-light: #2ECC71;\r\n        --warning-color: #E67E22;\r\n        --warning-light: #F39C12;\r\n        --danger-color: #C0392B;\r\n        --danger-light: #E74C3C;\r\n        --bg-primary: #121212;\r\n        --bg-secondary: #1E1E1E;\r\n        --bg-tertiary: #2C2C2C;\r\n        --bg-card: #3A3A3A;\r\n        --glass-bg: rgba(13, 115, 119, 0.1);\r\n        --glass-border: rgba(20, 160, 133, 0.2);\r\n        --text-primary: #F5F5F5;\r\n        --text-secondary: #CCCCCC;\r\n        --text-muted: #A0A0A0;\r\n        --text-accent: #D4AF37;\r\n        --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.3);\r\n        --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.4);\r\n        --shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.5);\r\n        --shadow-xl: 0 16px 48px rgba(0, 0, 0, 0.6);\r\n        --border-radius: 16px;\r\n        --border-radius-lg: 24px;\r\n    }\r\n\r\n    .wrapper {\r\n        font-family: 'Outfit', sans-serif;\r\n        background: linear-gradient(135deg, #121212 0%, #1A1A1A 25%, #222222 50%, #2C2C2C 75%, #333333 100%);\r\n        padding: 100px 0;\r\n        line-height: 1.6;\r\n        color: var(--text-primary);\r\n        position: relative;\r\n        overflow-x: hidden;\r\n    }\r\n\r\n    .wrapper::before {\r\n        content: '';\r\n        position: fixed;\r\n        top: 0;\r\n        left: 0;\r\n        width: 100%;\r\n        height: 100%;\r\n        background:\r\n            radial-gradient(circle at 20% 20%, rgba(13, 115, 119, 0.15) 0%, transparent 50%),\r\n            radial-gradient(circle at 80% 80%, rgba(212, 175, 55, 0.15) 0%, transparent 50%),\r\n            radial-gradient(circle at 50% 50%, rgba(139, 26, 26, 0.1) 0%, transparent 50%);\r\n        pointer-events: none;\r\n        z-index: -1;\r\n    }\r\n\r\n    .wrapper .yvv-container {\r\n        max-width: 1400px;\r\n        margin: 0 auto;\r\n        padding: 20px;\r\n        position: relative;\r\n        z-index: 1;\r\n    }\r\n\r\n    \/* Header Section *\/\r\n    .wrapper .yvv-header {\r\n        text-align: center;\r\n        margin-bottom: 40px;\r\n        padding: 40px 0;\r\n        animation: fadeInDown 1s ease-out;\r\n    }\r\n\r\n    .wrapper .yvv-brand-logo {\r\n        display: flex;\r\n        align-items: center;\r\n        justify-content: center;\r\n        gap: 25px;\r\n        margin-bottom: 25px;\r\n        flex-wrap: wrap;\r\n    }\r\n\r\n    .wrapper .yvv-brand-icon {\r\n        width: 80px;\r\n        height: 80px;\r\n        background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));\r\n        border-radius: var(--border-radius);\r\n        display: flex;\r\n        align-items: center;\r\n        justify-content: center;\r\n        color: white;\r\n        font-size: 36px;\r\n        font-weight: 800;\r\n        box-shadow: var(--shadow-lg);\r\n        animation: float 4s ease-in-out infinite;\r\n        position: relative;\r\n    }\r\n\r\n    .wrapper .yvv-brand-icon::after {\r\n        content: '';\r\n        position: absolute;\r\n        inset: -2px;\r\n        background: linear-gradient(135deg, var(--primary-light), var(--secondary-light));\r\n        border-radius: var(--border-radius);\r\n        z-index: -1;\r\n        opacity: 0.5;\r\n        animation: pulse 2s ease-in-out infinite;\r\n    }\r\n\r\n    .wrapper .yvv-brand-title h1 {\r\n        font-size: clamp(2.5rem, 6vw, 4rem);\r\n        font-weight: 900;\r\n        background: linear-gradient(135deg, var(--text-primary), var(--text-accent));\r\n        -webkit-background-clip: text;\r\n        -webkit-text-fill-color: transparent;\r\n        background-clip: text;\r\n        letter-spacing: -1px;\r\n        text-shadow: 0 4px 20px rgba(212, 175, 55, 0.3);\r\n    }\r\n\r\n    .wrapper .yvv-brand-subtitle {\r\n        color: var(--text-secondary);\r\n        font-size: 20px;\r\n        font-weight: 500;\r\n        margin-bottom: 30px;\r\n        max-width: 700px;\r\n        margin-left: auto;\r\n        margin-right: auto;\r\n    }\r\n\r\n    .wrapper .yvv-feature-badges {\r\n        display: flex;\r\n        justify-content: center;\r\n        gap: 15px;\r\n        flex-wrap: wrap;\r\n    }\r\n\r\n    .wrapper .yvv-feature-badge {\r\n        display: flex;\r\n        align-items: center;\r\n        gap: 10px;\r\n        background: var(--glass-bg);\r\n        backdrop-filter: blur(20px);\r\n        border: 1px solid var(--glass-border);\r\n        padding: 12px 24px;\r\n        border-radius: 50px;\r\n        color: var(--text-primary);\r\n        font-size: 14px;\r\n        font-weight: 600;\r\n        transition: all 0.3s ease;\r\n    }\r\n\r\n    .wrapper .yvv-feature-badge:hover {\r\n        transform: translateY(-3px);\r\n        box-shadow: var(--shadow-md);\r\n        background: rgba(13, 115, 119, 0.2);\r\n    }\r\n\r\n    .wrapper .yvv-badge-icon {\r\n        width: 20px;\r\n        height: 20px;\r\n        background: linear-gradient(135deg, var(--success-color), var(--success-light));\r\n        border-radius: 50%;\r\n        display: flex;\r\n        align-items: center;\r\n        justify-content: center;\r\n        font-size: 10px;\r\n        color: white;\r\n        font-weight: 700;\r\n    }\r\n\r\n    \/* Search Section *\/\r\n    .wrapper .yvv-search-section {\r\n        background: var(--bg-secondary);\r\n        border: 1px solid rgba(13, 115, 119, 0.3);\r\n        padding: 40px;\r\n        border-radius: var(--border-radius-lg);\r\n        box-shadow: var(--shadow-xl);\r\n        margin-bottom: 40px;\r\n        animation: fadeInUp 1s ease-out 0.2s both;\r\n        position: relative;\r\n        overflow: hidden;\r\n    }\r\n\r\n    .wrapper .yvv-search-section::before {\r\n        content: '';\r\n        position: absolute;\r\n        top: 0;\r\n        left: 0;\r\n        right: 0;\r\n        height: 2px;\r\n        background: linear-gradient(90deg, var(--primary-color), var(--accent-color), var(--secondary-color));\r\n    }\r\n\r\n    .wrapper .yvv-search-form {\r\n        display: flex;\r\n        gap: 20px;\r\n        margin-bottom: 25px;\r\n        position: relative;\r\n    }\r\n\r\n    .wrapper .yvv-search-input {\r\n        flex: 1;\r\n        padding: 20px 25px;\r\n        background: var(--bg-tertiary);\r\n        border: 2px solid var(--bg-card);\r\n        border-radius: var(--border-radius);\r\n        font-size: 16px;\r\n        font-weight: 500;\r\n        transition: all 0.3s ease;\r\n        outline: none;\r\n        font-family: inherit;\r\n        color: var(--text-primary);\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(13, 115, 119, 0.1);\r\n        transform: translateY(-2px);\r\n\t\t\t  color:white;\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(192, 57, 43, 0.1);\r\n    }\r\n\r\n    .wrapper .yvv-search-input::placeholder {\r\n        color: var(--text-muted);\r\n        font-weight: 400;\r\n    }\r\n\r\n    .wrapper .yvv-search-btn {\r\n        padding: 20px 40px;\r\n        background: linear-gradient(135deg, var(--primary-color), var(--primary-light));\r\n        color: white;\r\n        border: none;\r\n        border-radius: var(--border-radius);\r\n        font-size: 16px;\r\n        font-weight: 700;\r\n        cursor: pointer;\r\n        transition: all 0.3s ease;\r\n        min-width: 200px;\r\n        position: relative;\r\n        overflow: hidden;\r\n        box-shadow: var(--shadow-md);\r\n        font-family: inherit;\r\n    }\r\n\r\n    .wrapper .yvv-search-btn:hover:not(:disabled) {\r\n        transform: translateY(-3px);\r\n        box-shadow: var(--shadow-lg);\r\n        background: linear-gradient(135deg, var(--primary-light), var(--accent-color));\r\n    }\r\n\r\n    .wrapper .yvv-search-btn:disabled {\r\n        opacity: 0.6;\r\n        cursor: not-allowed;\r\n        transform: none;\r\n    }\r\n\r\n    .wrapper .yvv-loading-indicator {\r\n        display: none;\r\n        text-align: center;\r\n        padding: 30px;\r\n        color: var(--text-secondary);\r\n    }\r\n\r\n    .wrapper .yvv-error-display {\r\n        background: rgba(192, 57, 43, 0.1);\r\n        border: 1px solid rgba(192, 57, 43, 0.3);\r\n        color: var(--danger-light);\r\n        padding: 20px 25px;\r\n        border-radius: var(--border-radius);\r\n        margin-top: 20px;\r\n        display: none;\r\n        font-weight: 500;\r\n    }\r\n\r\n    \/* Video Player Section - Full Interface *\/\r\n    .wrapper .yvv-video-player-section {\r\n        display: none;\r\n        background: var(--bg-secondary);\r\n        border: 1px solid rgba(13, 115, 119, 0.3);\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(13, 115, 119, 0.2);\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 var(--accent-color);\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(13, 115, 119, 0.2);\r\n    }\r\n\r\n    .wrapper .yvv-video-controls {\r\n        display: flex;\r\n        align-items: center;\r\n        gap: 20px;\r\n    }\r\n\r\n    .wrapper .yvv-control-btn {\r\n        width: 50px;\r\n        height: 50px;\r\n        background: linear-gradient(135deg, var(--primary-color), var(--primary-light));\r\n        border: none;\r\n        border-radius: 50%;\r\n        color: white;\r\n        font-size: 18px;\r\n        cursor: pointer;\r\n        transition: all 0.3s ease;\r\n        display: flex;\r\n        align-items: center;\r\n        justify-content: center;\r\n        box-shadow: var(--shadow-sm);\r\n    }\r\n\r\n    .wrapper .yvv-control-btn:hover {\r\n        transform: scale(1.1);\r\n        box-shadow: var(--shadow-md);\r\n    }\r\n\r\n    .wrapper .yvv-progress-section {\r\n        flex: 1;\r\n        margin: 0 20px;\r\n    }\r\n\r\n    .wrapper .yvv-progress-bar {\r\n        width: 100%;\r\n        height: 10px;\r\n        background: rgba(255, 255, 255, 0.2);\r\n        border-radius: 5px;\r\n        cursor: pointer;\r\n        position: relative;\r\n        overflow: hidden;\r\n        margin-bottom: 8px;\r\n    }\r\n\r\n    .wrapper .yvv-progress-fill {\r\n        height: 100%;\r\n        background: linear-gradient(135deg, var(--secondary-color), var(--secondary-light));\r\n        border-radius: 5px;\r\n        width: 0%;\r\n        transition: width 0.1s ease;\r\n        box-shadow: 0 2px 8px rgba(194, 59, 59, 0.4);\r\n    }\r\n\r\n    .wrapper .yvv-time-info {\r\n        color: var(--text-primary);\r\n        font-size: 14px;\r\n        font-weight: 600;\r\n        text-align: center;\r\n    }\r\n\r\n    .wrapper .yvv-volume-section {\r\n        display: flex;\r\n        align-items: center;\r\n        gap: 10px;\r\n        min-width: 120px;\r\n    }\r\n\r\n    .wrapper .yvv-volume-icon {\r\n        color: var(--text-primary);\r\n        font-size: 18px;\r\n        width: 24px;\r\n        text-align: center;\r\n    }\r\n\r\n    .wrapper .yvv-volume-control {\r\n        width: 80px;\r\n        height: 8px;\r\n        background: rgba(255, 255, 255, 0.2);\r\n        border-radius: 4px;\r\n        outline: none;\r\n        cursor: pointer;\r\n        -webkit-appearance: none;\r\n        appearance: none;\r\n    }\r\n\r\n    .wrapper .yvv-volume-control::-webkit-slider-thumb {\r\n        -webkit-appearance: none;\r\n        appearance: none;\r\n        width: 16px;\r\n        height: 16px;\r\n        background: var(--accent-light);\r\n        border-radius: 50%;\r\n        cursor: pointer;\r\n        box-shadow: 0 2px 6px rgba(241, 196, 15, 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(--accent-light);\r\n        border-radius: 50%;\r\n        cursor: pointer;\r\n        border: none;\r\n        box-shadow: 0 2px 6px rgba(241, 196, 15, 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(13, 115, 119, 0.3);\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(13, 115, 119, 0.05);\r\n        border: 1px solid rgba(13, 115, 119, 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(13, 115, 119, 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(13, 115, 119, 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(39, 174, 96, 0.1);\r\n        box-shadow: 0 0 20px rgba(39, 174, 96, 0.3);\r\n    }\r\n\r\n    .wrapper .yvv-format-option.playing::before {\r\n        content: '\u25b6 NOW PLAYING';\r\n        position: absolute;\r\n        top: -10px;\r\n        right: 15px;\r\n        background: linear-gradient(135deg, var(--success-color), var(--success-light));\r\n        color: white;\r\n        padding: 4px 12px;\r\n        border-radius: 12px;\r\n        font-size: 10px;\r\n        font-weight: 700;\r\n        letter-spacing: 0.5px;\r\n    }\r\n\r\n    .wrapper .yvv-format-header {\r\n        display: flex;\r\n        justify-content: space-between;\r\n        align-items: center;\r\n        margin-bottom: 15px;\r\n    }\r\n\r\n    .wrapper .yvv-format-quality {\r\n        font-size: 20px;\r\n        font-weight: 700;\r\n        color: var(--text-primary);\r\n    }\r\n\r\n    .wrapper .yvv-format-type-badge {\r\n        background: linear-gradient(135deg, var(--accent-color), var(--accent-light));\r\n        color: white;\r\n        padding: 6px 16px;\r\n        border-radius: 20px;\r\n        font-size: 12px;\r\n        font-weight: 700;\r\n    }\r\n\r\n    .wrapper .yvv-format-actions {\r\n        display: flex;\r\n        gap: 12px;\r\n    }\r\n\r\n    .wrapper .yvv-action-btn {\r\n        flex: 1;\r\n        padding: 14px;\r\n        border: none;\r\n        border-radius: 10px;\r\n        font-size: 14px;\r\n        font-weight: 600;\r\n        cursor: pointer;\r\n        transition: all 0.3s ease;\r\n        display: flex;\r\n        align-items: center;\r\n        justify-content: center;\r\n        gap: 8px;\r\n        font-family: inherit;\r\n    }\r\n\r\n    .wrapper .yvv-stream-action {\r\n        background: linear-gradient(135deg, var(--secondary-color), var(--secondary-light));\r\n        color: white;\r\n    }\r\n\r\n    .wrapper .yvv-stream-action:hover {\r\n        transform: translateY(-2px);\r\n        box-shadow: var(--shadow-sm);\r\n    }\r\n\r\n    .wrapper .yvv-stream-action.playing {\r\n        background: linear-gradient(135deg, var(--success-color), var(--success-light));\r\n    }\r\n\r\n    .wrapper .yvv-download-action {\r\n        background: linear-gradient(135deg, var(--warning-color), var(--warning-light));\r\n        color: white;\r\n    }\r\n\r\n    .wrapper .yvv-download-action:hover {\r\n        transform: translateY(-2px);\r\n        box-shadow: var(--shadow-sm);\r\n    }\r\n\r\n    .wrapper .yvv-audio-action {\r\n        background: linear-gradient(135deg, var(--accent-color), var(--accent-light));\r\n        color: white;\r\n    }\r\n\r\n    .wrapper .yvv-audio-action:hover {\r\n        transform: translateY(-2px);\r\n        box-shadow: var(--shadow-sm);\r\n    }\r\n\r\n    \/* Audio Player Section *\/\r\n    .wrapper .yvv-audio-player-section {\r\n        display: none;\r\n        background: var(--bg-secondary);\r\n        border: 1px solid rgba(13, 115, 119, 0.3);\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(212, 175, 55, 0.1), rgba(13, 115, 119, 0.1));\r\n        border: 1px solid rgba(212, 175, 55, 0.3);\r\n        border-radius: var(--border-radius);\r\n        padding: 30px;\r\n        margin-bottom: 25px;\r\n        text-align: center;\r\n    }\r\n\r\n    .wrapper .yvv-visualizer-bars {\r\n        display: flex;\r\n        align-items: end;\r\n        justify-content: center;\r\n        gap: 6px;\r\n        height: 80px;\r\n        margin-bottom: 20px;\r\n    }\r\n\r\n    .wrapper .yvv-visualizer-bar {\r\n        width: 6px;\r\n        background: linear-gradient(to top, var(--accent-color), var(--accent-light), var(--primary-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(13, 115, 119, 0.1);\r\n        border-radius: var(--border-radius);\r\n        padding: 20px 25px;\r\n    }\r\n\r\n    .wrapper .yvv-audio-play-btn {\r\n        width: 60px;\r\n        height: 60px;\r\n        background: linear-gradient(135deg, var(--accent-color), var(--accent-light));\r\n        border: none;\r\n        border-radius: 50%;\r\n        color: white;\r\n        font-size: 24px;\r\n        cursor: pointer;\r\n        transition: all 0.3s ease;\r\n        display: flex;\r\n        align-items: center;\r\n        justify-content: center;\r\n        box-shadow: var(--shadow-md);\r\n    }\r\n\r\n    .wrapper .yvv-audio-play-btn:hover {\r\n        transform: scale(1.1);\r\n        box-shadow: var(--shadow-lg);\r\n    }\r\n\r\n    .wrapper .yvv-audio-progress {\r\n        flex: 1;\r\n        cursor: pointer;\r\n        padding: 15px 0;\r\n    }\r\n\r\n    .wrapper .yvv-audio-progress-track {\r\n        width: 100%;\r\n        height: 8px;\r\n        background: rgba(255, 255, 255, 0.2);\r\n        border-radius: 4px;\r\n        position: relative;\r\n        overflow: hidden;\r\n    }\r\n\r\n    .wrapper .yvv-audio-progress-fill {\r\n        height: 100%;\r\n        background: linear-gradient(135deg, var(--accent-color), var(--accent-light));\r\n        border-radius: 4px;\r\n        width: 0%;\r\n        transition: width 0.1s ease;\r\n    }\r\n\r\n    .wrapper .yvv-audio-time {\r\n        color: var(--text-primary);\r\n        font-size: 16px;\r\n        font-weight: 600;\r\n        min-width: 100px;\r\n        text-align: center;\r\n    }\r\n\r\n    .wrapper .yvv-audio-volume {\r\n        display: flex;\r\n        align-items: center;\r\n        gap: 12px;\r\n        min-width: 120px;\r\n    }\r\n\r\n    .wrapper .yvv-audio-volume-icon {\r\n        color: var(--text-primary);\r\n        font-size: 20px;\r\n        width: 24px;\r\n        text-align: center;\r\n    }\r\n\r\n    .wrapper .yvv-audio-volume-slider {\r\n        width: 80px;\r\n        height: 6px;\r\n        background: rgba(255, 255, 255, 0.2);\r\n        border-radius: 3px;\r\n        outline: none;\r\n        cursor: pointer;\r\n        -webkit-appearance: none;\r\n        appearance: none;\r\n    }\r\n\r\n    .wrapper .yvv-audio-volume-slider::-webkit-slider-thumb {\r\n        -webkit-appearance: none;\r\n        appearance: none;\r\n        width: 16px;\r\n        height: 16px;\r\n        background: var(--accent-light);\r\n        border-radius: 50%;\r\n        cursor: pointer;\r\n    }\r\n\r\n    .wrapper .yvv-audio-volume-slider::-moz-range-thumb {\r\n        width: 16px;\r\n        height: 16px;\r\n        background: var(--accent-light);\r\n        border-radius: 50%;\r\n        cursor: pointer;\r\n        border: none;\r\n    }\r\n\r\n    \/* Download Progress *\/\r\n    .wrapper .yvv-download-progress {\r\n        position: fixed;\r\n        bottom: 20px;\r\n        right: 20px;\r\n        background: var(--bg-secondary);\r\n        border: 1px solid rgba(13, 115, 119, 0.3);\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(192, 57, 43, 0.1);\r\n        border: 1px solid rgba(192, 57, 43, 0.3);\r\n        color: var(--danger-light);\r\n        padding: 6px 12px;\r\n        border-radius: 6px;\r\n        font-size: 12px;\r\n        cursor: pointer;\r\n        transition: all 0.3s ease;\r\n        font-weight: 500;\r\n    }\r\n\r\n    .wrapper .yvv-cancel-btn:hover {\r\n        background: rgba(192, 57, 43, 0.2);\r\n    }\r\n\r\n    .wrapper .yvv-progress-bar-container {\r\n        width: 100%;\r\n        height: 8px;\r\n        background: rgba(255, 255, 255, 0.2);\r\n        border-radius: 4px;\r\n        overflow: hidden;\r\n        margin-bottom: 10px;\r\n    }\r\n\r\n    .wrapper .yvv-progress-bar-fill {\r\n        height: 100%;\r\n        background: linear-gradient(135deg, var(--success-color), var(--success-light));\r\n        border-radius: 4px;\r\n        width: 0%;\r\n        transition: width 0.3s ease;\r\n    }\r\n\r\n    .wrapper .yvv-progress-details {\r\n        display: flex;\r\n        justify-content: space-between;\r\n        font-size: 12px;\r\n        color: var(--text-secondary);\r\n    }\r\n\r\n    \/* Loading Animation *\/\r\n    .wrapper .yvv-cyber-loading {\r\n        position: relative;\r\n        width: 100%;\r\n        max-width: 500px;\r\n        margin: 0 auto;\r\n        padding: 40px;\r\n        background: linear-gradient(135deg, rgba(13, 115, 119, 0.1), rgba(212, 175, 55, 0.1));\r\n        border: 1px solid rgba(13, 115, 119, 0.3);\r\n        border-radius: var(--border-radius-lg);\r\n    }\r\n\r\n    .wrapper .yvv-loading-grid {\r\n        position: absolute;\r\n        top: 0;\r\n        left: 0;\r\n        right: 0;\r\n        bottom: 0;\r\n        background-image:\r\n            linear-gradient(rgba(13, 115, 119, 0.1) 1px, transparent 1px),\r\n            linear-gradient(90deg, rgba(13, 115, 119, 0.1) 1px, transparent 1px);\r\n        background-size: 25px 25px;\r\n        animation: gridShift 8s linear infinite;\r\n    }\r\n\r\n    @keyframes gridShift {\r\n        0% {\r\n            transform: translate(0, 0);\r\n        }\r\n\r\n        100% {\r\n            transform: translate(25px, 25px);\r\n        }\r\n    }\r\n\r\n    .wrapper .yvv-loading-waves {\r\n        display: flex;\r\n        flex-direction: column;\r\n        gap: 12px;\r\n        margin-bottom: 25px;\r\n    }\r\n\r\n    .wrapper .yvv-loading-wave {\r\n        height: 4px;\r\n        background: linear-gradient(90deg, transparent, var(--primary-light), transparent);\r\n        border-radius: 2px;\r\n        animation: waveFlow 2.5s ease-in-out infinite;\r\n    }\r\n\r\n    .wrapper .yvv-loading-wave:nth-child(2) {\r\n        animation-delay: 0.5s;\r\n    }\r\n\r\n    .wrapper .yvv-loading-wave:nth-child(3) {\r\n        animation-delay: 1s;\r\n    }\r\n\r\n    @keyframes waveFlow {\r\n\r\n        0%,\r\n        100% {\r\n            opacity: 0.3;\r\n            transform: scaleX(0.3);\r\n        }\r\n\r\n        50% {\r\n            opacity: 1;\r\n            transform: scaleX(1);\r\n        }\r\n    }\r\n\r\n    .wrapper .yvv-loading-text {\r\n        text-align: center;\r\n        color: var(--text-primary);\r\n        font-size: 18px;\r\n        font-weight: 600;\r\n    }\r\n\r\n    .wrapper .yvv-loading-dots::after {\r\n        content: '';\r\n        animation: loadingDots 2.5s steps(4, end) infinite;\r\n    }\r\n\r\n    @keyframes loadingDots {\r\n\r\n        0%,\r\n        20% {\r\n            content: '';\r\n        }\r\n\r\n        40% {\r\n            content: '.';\r\n        }\r\n\r\n        60% {\r\n            content: '..';\r\n        }\r\n\r\n        80%,\r\n        100% {\r\n            content: '...';\r\n        }\r\n    }\r\n\r\n    .wrapper .yvv-loading-progress-bar {\r\n        width: 100%;\r\n        height: 6px;\r\n        background: rgba(255, 255, 255, 0.2);\r\n        border-radius: 3px;\r\n        overflow: hidden;\r\n        margin-top: 15px;\r\n    }\r\n\r\n    .wrapper .yvv-loading-progress-fill {\r\n        height: 100%;\r\n        background: linear-gradient(90deg, var(--primary-light), var(--accent-light));\r\n        border-radius: 3px;\r\n        animation: progressFlow 3s ease-in-out infinite;\r\n    }\r\n\r\n    @keyframes progressFlow {\r\n        0% {\r\n            width: 0%;\r\n        }\r\n\r\n        50% {\r\n            width: 80%;\r\n        }\r\n\r\n        100% {\r\n            width: 100%;\r\n        }\r\n    }\r\n\r\n    \/* Animations *\/\r\n    @keyframes fadeInDown {\r\n        from {\r\n            opacity: 0;\r\n            transform: translateY(-30px);\r\n        }\r\n\r\n        to {\r\n            opacity: 1;\r\n            transform: translateY(0);\r\n        }\r\n    }\r\n\r\n    @keyframes fadeInUp {\r\n        from {\r\n            opacity: 0;\r\n            transform: translateY(30px);\r\n        }\r\n\r\n        to {\r\n            opacity: 1;\r\n            transform: translateY(0);\r\n        }\r\n    }\r\n\r\n    @keyframes slideInUp {\r\n        from {\r\n            opacity: 0;\r\n            transform: translateY(50px);\r\n        }\r\n\r\n        to {\r\n            opacity: 1;\r\n            transform: translateY(0);\r\n        }\r\n    }\r\n\r\n    @keyframes slideInLeft {\r\n        from {\r\n            opacity: 0;\r\n            transform: translateX(-50px);\r\n        }\r\n\r\n        to {\r\n            opacity: 1;\r\n            transform: translateX(0);\r\n        }\r\n    }\r\n\r\n    @keyframes slideInRight {\r\n        from {\r\n            opacity: 0;\r\n            transform: translateX(50px);\r\n        }\r\n\r\n        to {\r\n            opacity: 1;\r\n            transform: translateX(0);\r\n        }\r\n    }\r\n\r\n    @keyframes float {\r\n\r\n        0%,\r\n        100% {\r\n            transform: translateY(0px) scale(1);\r\n        }\r\n\r\n        50% {\r\n            transform: translateY(-10px) scale(1.05);\r\n        }\r\n    }\r\n\r\n    @keyframes pulse {\r\n\r\n        0%,\r\n        100% {\r\n            transform: scale(1);\r\n            opacity: 0.5;\r\n        }\r\n\r\n        50% {\r\n            transform: scale(1.1);\r\n            opacity: 0.8;\r\n        }\r\n    }\r\n\r\n    \/* Responsive Design *\/\r\n    \/* 375px and below *\/\r\n    @media (max-width: 375px) {\r\n        .wrapper .yvv-container {\r\n            padding: 10px;\r\n        }\r\n\r\n        .wrapper .yvv-header {\r\n            padding: 20px 0 15px;\r\n            margin-bottom: 25px;\r\n        }\r\n\r\n        .wrapper .yvv-brand-logo {\r\n            flex-direction: column;\r\n            gap: 15px;\r\n            margin-bottom: 20px;\r\n        }\r\n\r\n        .wrapper .yvv-brand-icon {\r\n            width: 60px;\r\n            height: 60px;\r\n            font-size: 28px;\r\n        }\r\n\r\n        .wrapper .yvv-brand-title 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<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>YouTube Private Video 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-video-thumbnail\" 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-format-grid\">\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-video-thumbnail').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-format-grid');\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><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 YouTube Private Video Viewer<\/h2>\r\n      <p>Follow these steps to access publicly shared YouTube videos 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 Video<\/h3>\r\n          <p>Click \u201cView Now\u201d to access publicly shared YouTube videos.<\/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 and playlists 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>YouTube Private Video Viewer Features<\/h2>\r\n      <p>Tools for seamless and private browsing of publicly shared YouTube videos.<\/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 videos 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 Video Access<\/h3>\r\n          <p>View publicly shared videos and playlists 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, and channel content.<\/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 videos 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 YouTube Private Video 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 videos?\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 YouTube Private Video 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 YouTube Private Video 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 YouTube Private Video 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 YouTube Private Video 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 YouTube Private Video Viewer Now<\/h2>\r\n    <p class=\"yt-pv-cta-sub\">\r\n      Browse publicly shared YouTube videos 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-512","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/viewri.com\/wp-json\/wp\/v2\/pages\/512","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/viewri.com\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/viewri.com\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/viewri.com\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/viewri.com\/wp-json\/wp\/v2\/comments?post=512"}],"version-history":[{"count":6,"href":"https:\/\/viewri.com\/wp-json\/wp\/v2\/pages\/512\/revisions"}],"predecessor-version":[{"id":1307,"href":"https:\/\/viewri.com\/wp-json\/wp\/v2\/pages\/512\/revisions\/1307"}],"up":[{"embeddable":true,"href":"https:\/\/viewri.com\/wp-json\/wp\/v2\/pages\/144"}],"wp:attachment":[{"href":"https:\/\/viewri.com\/wp-json\/wp\/v2\/media?parent=512"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}