{"id":286,"date":"2025-09-13T11:04:20","date_gmt":"2025-09-13T11:04:20","guid":{"rendered":"https:\/\/viewri.com\/?page_id=286"},"modified":"2025-12-29T08:20:12","modified_gmt":"2025-12-29T08:20:12","slug":"video","status":"publish","type":"page","link":"https:\/\/viewri.com\/tiktok\/video\/","title":{"rendered":"TikTok 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;]    <link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap\"\r\n        rel=\"stylesheet\">\r\n    <link href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/font-awesome\/6.4.0\/css\/all.min.css\" rel=\"stylesheet\">\r\n    <style>\r\n        :root {\r\n            --primary: #ff0050;\r\n            --secondary: #00f2ea;\r\n            --accent: #ff4081;\r\n            --purple: #8b5cf6;\r\n            --purple-light: #a78bfa;\r\n            --purple-dark: #7c3aed;\r\n            --pink: #ec4899;\r\n            --pink-light: #f472b6;\r\n            --orange: #ff8800;\r\n            --green: #00ff88;\r\n            --blue: #3b82f6;\r\n            --yellow: #fbbf24;\r\n            --tiktok-red: #fe2c55;\r\n            --tiktok-blue: #25f4ee;\r\n            --tiktok-purple: #a855f7;\r\n\r\n            \/* Color Scheme *\/\r\n            --bg-primary: #0f0f23;\r\n            --bg-secondary: #1a1a2e;\r\n            --bg-tertiary: #16213e;\r\n            --card-dark: #1e1e3f;\r\n            --card-purple: #2d1b69;\r\n            --card-blue: #0f3460;\r\n            --text-light: #ffffff;\r\n            --text-gray: #a0a0a0;\r\n            --text-purple: #c084fc;\r\n\r\n            --glass-dark: rgba(30, 30, 63, 0.8);\r\n            --glass-purple: rgba(45, 27, 105, 0.8);\r\n            --glass-blue: rgba(15, 52, 96, 0.8);\r\n            --glass-border: rgba(255, 255, 255, 0.1);\r\n\r\n            --shadow: 0 4px 20px rgba(0, 0, 0, 0.3);\r\n            --shadow-lg: 0 8px 40px rgba(0, 0, 0, 0.4);\r\n            --shadow-xl: 0 16px 60px rgba(0, 0, 0, 0.5);\r\n            --shadow-purple: 0 8px 32px rgba(139, 92, 246, 0.3);\r\n            --shadow-pink: 0 8px 32px rgba(236, 72, 153, 0.3);\r\n            --shadow-blue: 0 8px 32px rgba(37, 244, 238, 0.3);\r\n\r\n            --glow-purple: 0 0 30px rgba(139, 92, 246, 0.5);\r\n            --glow-pink: 0 0 30px rgba(236, 72, 153, 0.5);\r\n            --glow-blue: 0 0 30px rgba(37, 244, 238, 0.5);\r\n            --glow-tiktok: 0 0 40px rgba(254, 44, 85, 0.6);\r\n        }\r\n\r\n        * {\r\n            margin: 0;\r\n            padding: 0;\r\n            box-sizing: border-box;\r\n        }\r\n\r\n        .tiktok_body{\r\n            font-family: 'Inter', sans-serif;\r\n            background: linear-gradient(135deg,\r\n                    var(--bg-primary) 0%,\r\n                    var(--bg-secondary) 25%,\r\n                    var(--bg-tertiary) 50%,\r\n                    var(--card-purple) 75%,\r\n                    var(--card-blue) 100%);\r\n            background-size: 400% 400%;\r\n            animation: gradientShift 20s ease infinite;\r\n            color: var(--text-light);\r\n            \r\n            overflow-x: hidden;\r\n            position: relative;\r\n        }\r\n\r\n        .tiktok_body::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% 30%, rgba(139, 92, 246, 0.1) 0%, transparent 50%),\r\n                radial-gradient(circle at 80% 70%, rgba(236, 72, 153, 0.1) 0%, transparent 50%),\r\n                radial-gradient(circle at 50% 50%, rgba(37, 244, 238, 0.08) 0%, transparent 60%);\r\n            pointer-events: none;\r\n            z-index: -1;\r\n            animation: backgroundFloat 15s ease-in-out infinite;\r\n        }\r\n\r\n        .container_tiktok {\r\n            max-width: 1200px;\r\n            margin: 0 auto;\r\n            padding: 100px 20px;\r\n            position: relative;\r\n            z-index: 1;\r\n        }\r\n\r\n        \/* Header *\/\r\n        .header {\r\n            text-align: center;\r\n            margin-bottom: 2.5rem;\r\n            animation: fadeInDown 1s ease-out;\r\n        }\r\n\r\n        .logo {\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            gap: 1.5rem;\r\n            margin-bottom: 1rem;\r\n            flex-wrap: wrap;\r\n        }\r\n\r\n        .logo-icon {\r\n            width: 70px;\r\n            height: 70px;\r\n            background: linear-gradient(135deg, var(--tiktok-red), var(--pink), var(--purple));\r\n            border-radius: 20px;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            font-size: 28px;\r\n            color: white;\r\n            box-shadow: var(--shadow-xl), var(--glow-tiktok);\r\n            animation: logoFloat 4s ease-in-out infinite;\r\n            position: relative;\r\n            overflow: hidden;\r\n            border: 2px solid rgba(255, 255, 255, 0.1);\r\n            flex-shrink: 0;\r\n        }\r\n\r\n        .logo-icon::before {\r\n            content: '';\r\n            position: absolute;\r\n            top: -50%;\r\n            left: -50%;\r\n            width: 200%;\r\n            height: 200%;\r\n            background: linear-gradient(45deg, transparent, rgba(255, 255, 255, 0.3), transparent);\r\n            animation: logoShine 3s ease-in-out infinite;\r\n        }\r\n\r\n        .logo-text {\r\n            font-size: clamp(1.8rem, 5vw, 3.5rem);\r\n            font-weight: 900;\r\n            background: linear-gradient(135deg, var(--tiktok-red), var(--tiktok-blue), var(--purple), var(--pink));\r\n            background-size: 300% 300%;\r\n            -webkit-background-clip: text;\r\n            -webkit-text-fill-color: transparent;\r\n            letter-spacing: -2px;\r\n            animation: textGradient 4s ease infinite;\r\n            filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.3));\r\n            text-align: center;\r\n        }\r\n\r\n        .subtitle {\r\n            font-size: clamp(0.9rem, 2.5vw, 1.1rem);\r\n            color: var(--text-gray);\r\n            font-weight: 500;\r\n            margin-top: 0.5rem;\r\n            animation: subtitleGlow 3s ease-in-out infinite;\r\n            text-align: center;\r\n            padding: 0 1rem;\r\n        }\r\n\r\n        \/* Enhanced Search Section *\/\r\n        .search-section {\r\n            background: linear-gradient(135deg,\r\n                    var(--glass-dark) 0%,\r\n                    var(--glass-purple) 50%,\r\n                    var(--glass-blue) 100%);\r\n            backdrop-filter: blur(25px);\r\n            border: 2px solid var(--glass-border);\r\n            border-radius: 24px;\r\n            padding: clamp(1.5rem, 4vw, 2.5rem);\r\n            margin-bottom: 2rem;\r\n            box-shadow: var(--shadow-xl), var(--shadow-purple);\r\n            animation: fadeInUp 1s ease-out 0.2s both;\r\n            position: relative;\r\n            overflow: hidden;\r\n        }\r\n\r\n        .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,\r\n                    transparent,\r\n                    var(--purple),\r\n                    var(--pink),\r\n                    var(--tiktok-blue),\r\n                    transparent);\r\n            animation: borderFlow 3s ease-in-out infinite;\r\n        }\r\n\r\n        .search-section::after {\r\n            content: '';\r\n            position: absolute;\r\n            top: 0;\r\n            left: 0;\r\n            width: 100%;\r\n            height: 100%;\r\n            background: linear-gradient(135deg,\r\n                    rgba(139, 92, 246, 0.05) 0%,\r\n                    rgba(236, 72, 153, 0.05) 50%,\r\n                    rgba(37, 244, 238, 0.05) 100%);\r\n            pointer-events: none;\r\n            border-radius: 24px;\r\n            animation: overlayPulse 6s ease-in-out infinite;\r\n        }\r\n\r\n        .input-group {\r\n            position: relative;\r\n            margin-bottom: 1.5rem;\r\n            z-index: 2;\r\n        }\r\n\r\n        .input-field {\r\n            width: 100% !important;\r\n            padding: clamp(1rem, 3vw, 1.5rem) clamp(1.2rem, 4vw, 2rem) !important;\r\n            background: linear-gradient(135deg,\r\n                    rgba(30, 30, 63, 0.9) 0%,\r\n                    rgba(45, 27, 105, 0.7) 100%) !important;\r\n            border: 2px solid rgba(139, 92, 246, 0.3) !important;\r\n            border-radius: 20px !important;\r\n            color: var(--text-light) !important;\r\n            font-size: clamp(0.9rem, 2.5vw, 1.1rem) !important;\r\n            font-weight: 500 !important;\r\n            transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;\r\n            outline: none !important;\r\n            backdrop-filter: blur(15px) !important;\r\n            box-shadow: var(--shadow), inset 0 2px 10px rgba(0, 0, 0, 0.2) !important;\r\n            position: relative;\r\n        }\r\n\r\n        .input-field::before {\r\n            content: '';\r\n            position: absolute;\r\n            top: 0;\r\n            left: 0;\r\n            right: 0;\r\n            bottom: 0;\r\n            background: linear-gradient(135deg,\r\n                    rgba(139, 92, 246, 0.1) 0%,\r\n                    rgba(236, 72, 153, 0.1) 100%);\r\n            border-radius: 20px;\r\n            opacity: 0;\r\n            transition: opacity 0.4s ease;\r\n            pointer-events: none;\r\n        }\r\n\r\n        .input-field:focus {\r\n            border-color: var(--purple) !important;\r\n            box-shadow:\r\n                0 0 0 4px rgba(139, 92, 246, 0.2),\r\n                var(--glow-purple),\r\n                inset 0 2px 10px rgba(0, 0, 0, 0.3);\r\n            background: linear-gradient(135deg,\r\n                    rgba(30, 30, 63, 0.95) 0%,\r\n                    rgba(45, 27, 105, 0.8) 100%) !important;\r\n            transform: translateY(-3px) scale(1.01) !important;\r\n            animation: inputFocusGlow 2s ease-in-out infinite !important;\r\n        }\r\n\r\n        .input-field:focus::before {\r\n            opacity: 1;\r\n        }\r\n\r\n        .input-field::placeholder {\r\n            color: var(--text-gray);\r\n            transition: all 0.3s ease;\r\n            font-weight: 400;\r\n        }\r\n\r\n        .input-field:focus::placeholder {\r\n            color: var(--text-purple);\r\n            transform: translateY(-2px);\r\n            opacity: 0.8;\r\n        }\r\n\r\n        .input-actions {\r\n            display: flex;\r\n            justify-content: space-between;\r\n            align-items: center;\r\n            margin-top: 1rem;\r\n            font-size: clamp(0.8rem, 2vw, 0.9rem);\r\n            color: var(--text-gray);\r\n            z-index: 2;\r\n            position: relative;\r\n            flex-wrap: wrap;\r\n            gap: 0.5rem;\r\n        }\r\n\r\n        .paste-btn {\r\n            background: linear-gradient(135deg, var(--tiktok-blue), var(--secondary));\r\n            border: none;\r\n            color: white;\r\n            cursor: pointer;\r\n            padding: clamp(0.5rem, 2vw, 0.7rem) clamp(0.8rem, 3vw, 1.4rem);\r\n            border-radius: 14px;\r\n            transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 0.5rem;\r\n            font-weight: 600;\r\n            box-shadow: var(--shadow), var(--shadow-blue);\r\n            font-size: clamp(0.8rem, 2vw, 0.9rem);\r\n            position: relative;\r\n            overflow: hidden;\r\n            border: 1px solid rgba(37, 244, 238, 0.3);\r\n            min-height: 44px;\r\n            \/* Touch-friendly *\/\r\n        }\r\n\r\n        .paste-btn::before {\r\n            content: '';\r\n            position: absolute;\r\n            top: 0;\r\n            left: -100%;\r\n            width: 100%;\r\n            height: 100%;\r\n            background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);\r\n            transition: left 0.5s;\r\n        }\r\n\r\n        .paste-btn:hover::before,\r\n        .paste-btn:active::before {\r\n            left: 100%;\r\n        }\r\n\r\n        .paste-btn:hover,\r\n        .paste-btn:active {\r\n            transform: translateY(-3px) scale(1.05);\r\n            box-shadow: var(--shadow-lg), var(--glow-blue);\r\n            background: linear-gradient(135deg, var(--tiktok-blue), var(--blue));\r\n        }\r\n\r\n        .action-buttons {\r\n            display: grid;\r\n            grid-template-columns: 1fr;\r\n            gap: 1rem;\r\n            align-items: center;\r\n            z-index: 2;\r\n            position: relative;\r\n        }\r\n\r\n        .search-btn {\r\n            background: linear-gradient(135deg, var(--tiktok-red), var(--pink), var(--purple));\r\n            background-size: 200% 200%;\r\n            color: white;\r\n            border: none;\r\n            padding: clamp(1rem, 3vw, 1.4rem) clamp(1.5rem, 4vw, 2.8rem);\r\n            border-radius: 20px;\r\n            font-size: clamp(0.9rem, 2.5vw, 1.1rem);\r\n            font-weight: 700;\r\n            cursor: pointer;\r\n            transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);\r\n            position: relative;\r\n            overflow: hidden;\r\n            box-shadow: var(--shadow-lg), var(--shadow-pink);\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            gap: 0.75rem;\r\n            min-height: 56px;\r\n            animation: buttonPulse 4s ease-in-out infinite;\r\n            border: 2px solid rgba(254, 44, 85, 0.3);\r\n            width: 100%;\r\n        }\r\n\r\n        .search-btn::before {\r\n            content: '';\r\n            position: absolute;\r\n            top: 0;\r\n            left: -100%;\r\n            width: 100%;\r\n            height: 100%;\r\n            background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);\r\n            transition: left 0.6s;\r\n        }\r\n\r\n        .search-btn:hover:not(:disabled)::before,\r\n        .search-btn:active:not(:disabled)::before {\r\n            left: 100%;\r\n        }\r\n\r\n        .search-btn:hover:not(:disabled),\r\n        .search-btn:active:not(:disabled) {\r\n            transform: translateY(-4px) scale(1.02);\r\n            box-shadow: var(--shadow-xl), var(--glow-tiktok);\r\n            background-position: 100% 100%;\r\n            animation: buttonHoverGlow 1s ease-in-out infinite;\r\n        }\r\n\r\n        .search-btn:disabled {\r\n            opacity: 0.6;\r\n            cursor: not-allowed;\r\n            transform: none;\r\n            animation: none;\r\n        }\r\n\r\n        .search-another-btn {\r\n            background: linear-gradient(135deg, var(--purple), var(--purple-dark));\r\n            color: white;\r\n            border: none;\r\n            padding: clamp(0.8rem, 2.5vw, 1.1rem) clamp(1rem, 3vw, 1.6rem);\r\n            border-radius: 18px;\r\n            cursor: pointer;\r\n            transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            gap: 0.5rem;\r\n            min-height: 48px;\r\n            width: 100%;\r\n            font-weight: 600;\r\n            box-shadow: var(--shadow), var(--shadow-purple);\r\n            font-size: clamp(0.8rem, 2vw, 0.95rem);\r\n            position: relative;\r\n            overflow: hidden;\r\n            border: 2px solid rgba(139, 92, 246, 0.3);\r\n        }\r\n\r\n        .search-another-btn::before {\r\n            content: '';\r\n            position: absolute;\r\n            top: 0;\r\n            left: -100%;\r\n            width: 100%;\r\n            height: 100%;\r\n            background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);\r\n            transition: left 0.5s;\r\n        }\r\n\r\n        .search-another-btn:hover::before,\r\n        .search-another-btn:active::before {\r\n            left: 100%;\r\n        }\r\n\r\n        .search-another-btn:hover,\r\n        .search-another-btn:active {\r\n            transform: translateY(-3px) scale(1.05);\r\n            box-shadow: var(--shadow-lg), var(--glow-purple);\r\n        }\r\n\r\n        \/* Loading Animation - NO FLOATING *\/\r\n        .loading {\r\n            display: none;\r\n            text-align: center;\r\n            padding: clamp(2rem, 5vw, 3.5rem) clamp(1.5rem, 4vw, 2.5rem);\r\n            background: linear-gradient(135deg,\r\n                    var(--glass-dark) 0%,\r\n                    var(--glass-purple) 50%,\r\n                    var(--glass-blue) 100%);\r\n            backdrop-filter: blur(25px);\r\n            border: 2px solid var(--glass-border);\r\n            border-radius: 24px;\r\n            margin: 2rem 0;\r\n            box-shadow: var(--shadow-xl), var(--shadow-purple);\r\n        }\r\n\r\n        .loading::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,\r\n                    transparent,\r\n                    var(--purple),\r\n                    var(--pink),\r\n                    transparent);\r\n            border-radius: 24px 24px 0 0;\r\n        }\r\n\r\n        .loading-spinner {\r\n            width: clamp(60px, 15vw, 100px);\r\n            height: clamp(60px, 15vw, 100px);\r\n            margin: 0 auto 2rem;\r\n            position: relative;\r\n        }\r\n\r\n        .spinner-ring {\r\n            position: absolute;\r\n            border: 4px solid transparent;\r\n            border-radius: 50%;\r\n            animation: spin 2s linear infinite;\r\n        }\r\n\r\n        .spinner-ring:nth-child(1) {\r\n            width: 100%;\r\n            height: 100%;\r\n            border-top-color: var(--tiktok-red);\r\n            border-right-color: var(--tiktok-red);\r\n            animation-duration: 2s;\r\n            box-shadow: 0 0 20px rgba(254, 44, 85, 0.4);\r\n        }\r\n\r\n        .spinner-ring:nth-child(2) {\r\n            width: 75%;\r\n            height: 75%;\r\n            top: 12.5%;\r\n            left: 12.5%;\r\n            border-bottom-color: var(--tiktok-blue);\r\n            border-left-color: var(--tiktok-blue);\r\n            animation-duration: 1.5s;\r\n            animation-direction: reverse;\r\n            box-shadow: 0 0 15px rgba(37, 244, 238, 0.4);\r\n        }\r\n\r\n        .spinner-ring:nth-child(3) {\r\n            width: 50%;\r\n            height: 50%;\r\n            top: 25%;\r\n            left: 25%;\r\n            border-top-color: var(--purple);\r\n            animation-duration: 1s;\r\n            box-shadow: 0 0 10px rgba(139, 92, 246, 0.4);\r\n        }\r\n\r\n        .loading-text {\r\n            font-size: clamp(1rem, 3vw, 1.4rem);\r\n            font-weight: 700;\r\n            margin-bottom: 0.5rem;\r\n            background: linear-gradient(135deg, var(--tiktok-red), var(--tiktok-blue), var(--purple));\r\n            background-size: 200% 200%;\r\n            -webkit-background-clip: text;\r\n            -webkit-text-fill-color: transparent;\r\n            animation: textGradient 3s ease infinite;\r\n        }\r\n\r\n        .loading-subtext {\r\n            color: var(--text-gray);\r\n            font-size: clamp(0.8rem, 2vw, 1rem);\r\n            animation: textFade 2s ease-in-out infinite;\r\n        }\r\n\r\n        \/* Main Video Section - NO FLOATING *\/\r\n        .video-section {\r\n            display: none;\r\n            animation: fadeInUp 0.8s ease-out;\r\n            background: linear-gradient(135deg,\r\n                    var(--glass-dark) 0%,\r\n                    var(--glass-purple) 30%,\r\n                    var(--glass-blue) 70%,\r\n                    var(--glass-dark) 100%);\r\n            backdrop-filter: blur(25px);\r\n            border: 2px solid var(--glass-border);\r\n            border-radius: 24px;\r\n            padding: clamp(1.5rem, 4vw, 2.5rem);\r\n            box-shadow: var(--shadow-xl), var(--shadow-purple);\r\n            position: relative;\r\n            overflow: hidden;\r\n        }\r\n\r\n        .video-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,\r\n                    transparent,\r\n                    var(--tiktok-red),\r\n                    var(--tiktok-blue),\r\n                    var(--purple),\r\n                    var(--pink),\r\n                    transparent);\r\n            animation: borderFlow 4s ease-in-out infinite;\r\n        }\r\n\r\n        \/* Author Info - NO FLOATING *\/\r\n        .author-section {\r\n            display: flex;\r\n            align-items: center;\r\n            gap: clamp(0.8rem, 3vw, 1.2rem);\r\n            margin-bottom: 1.5rem;\r\n            padding: clamp(1rem, 3vw, 1.5rem);\r\n            background: linear-gradient(135deg,\r\n                    rgba(139, 92, 246, 0.15) 0%,\r\n                    rgba(236, 72, 153, 0.15) 50%,\r\n                    rgba(37, 244, 238, 0.15) 100%);\r\n            border-radius: 20px;\r\n            border: 1px solid rgba(139, 92, 246, 0.3);\r\n            width: 100%;\r\n            box-shadow: var(--shadow), var(--shadow-purple);\r\n            transition: all 0.4s ease;\r\n            flex-wrap: wrap;\r\n            justify-content: center;\r\n            text-align: center;\r\n        }\r\n\r\n        .author-section:hover,\r\n        .author-section:active {\r\n            transform: translateY(-3px);\r\n            box-shadow: var(--shadow-lg), var(--glow-purple);\r\n        }\r\n\r\n        .author-avatar {\r\n            width: clamp(50px, 12vw, 60px);\r\n            height: clamp(50px, 12vw, 60px);\r\n            border-radius: 50%;\r\n            object-fit: cover;\r\n            border: 3px solid transparent;\r\n            background: linear-gradient(135deg, var(--tiktok-red), var(--tiktok-blue));\r\n            padding: 2px;\r\n            box-shadow: var(--shadow), var(--shadow-pink);\r\n            animation: avatarPulse 4s ease-in-out infinite;\r\n            flex-shrink: 0;\r\n        }\r\n\r\n        .author-details {\r\n            flex: 1;\r\n            min-width: 0;\r\n        }\r\n\r\n        .author-details h3 {\r\n            font-size: clamp(1rem, 3vw, 1.2rem);\r\n            font-weight: 700;\r\n            margin-bottom: 0.25rem;\r\n            background: linear-gradient(135deg, var(--tiktok-red), var(--tiktok-blue));\r\n            -webkit-background-clip: text;\r\n            -webkit-text-fill-color: transparent;\r\n            word-break: break-word;\r\n        }\r\n\r\n        .author-username {\r\n            color: var(--text-gray);\r\n            font-size: clamp(0.8rem, 2.5vw, 0.95rem);\r\n            font-weight: 500;\r\n            word-break: break-word;\r\n        }\r\n\r\n        \/* Title - NO FLOATING *\/\r\n        .video-title {\r\n            font-size: clamp(1.2rem, 4vw, 1.6rem);\r\n            font-weight: 800;\r\n            margin-bottom: 1.5rem;\r\n            line-height: 1.4;\r\n            color: var(--text-light);\r\n            width: 100%;\r\n            text-align: center;\r\n            text-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);\r\n            word-break: break-word;\r\n            padding: 0 1rem;\r\n        }\r\n\r\n        \/* Stats Grid - NO FLOATING - REMOVED SIZE *\/\r\n        .video-stats {\r\n            display: grid;\r\n            grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));\r\n            gap: clamp(0.5rem, 2vw, 1rem);\r\n            margin-bottom: 2rem;\r\n        }\r\n\r\n        .stat-item {\r\n            background: linear-gradient(135deg,\r\n                    var(--glass-dark) 0%,\r\n                    var(--glass-purple) 100%);\r\n            padding: clamp(0.8rem, 3vw, 1.2rem);\r\n            border-radius: 18px;\r\n            text-align: center;\r\n            border: 1px solid var(--glass-border);\r\n            transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);\r\n            position: relative;\r\n            overflow: hidden;\r\n            box-shadow: var(--shadow);\r\n            backdrop-filter: blur(15px);\r\n            min-height: 80px;\r\n            display: flex;\r\n            flex-direction: column;\r\n            justify-content: center;\r\n        }\r\n\r\n        .stat-item::before {\r\n            content: '';\r\n            position: absolute;\r\n            top: 0;\r\n            left: -100%;\r\n            width: 100%;\r\n            height: 100%;\r\n            background: linear-gradient(90deg, transparent, rgba(139, 92, 246, 0.3), transparent);\r\n            transition: left 0.6s;\r\n        }\r\n\r\n        .stat-item:hover::before,\r\n        .stat-item:active::before {\r\n            left: 100%;\r\n        }\r\n\r\n        .stat-item:hover,\r\n        .stat-item:active {\r\n            transform: translateY(-5px) scale(1.02);\r\n            box-shadow: var(--shadow-lg), var(--glow-purple);\r\n        }\r\n\r\n        .stat-item.views {\r\n            border-color: rgba(254, 44, 85, 0.4);\r\n            background: linear-gradient(135deg,\r\n                    rgba(254, 44, 85, 0.1) 0%,\r\n                    var(--glass-dark) 100%);\r\n        }\r\n\r\n        .stat-item.likes {\r\n            border-color: rgba(37, 244, 238, 0.4);\r\n            background: linear-gradient(135deg,\r\n                    rgba(37, 244, 238, 0.1) 0%,\r\n                    var(--glass-dark) 100%);\r\n        }\r\n\r\n        .stat-item.comments {\r\n            border-color: rgba(168, 85, 247, 0.4);\r\n            background: linear-gradient(135deg,\r\n                    rgba(168, 85, 247, 0.1) 0%,\r\n                    var(--glass-dark) 100%);\r\n        }\r\n\r\n        .stat-item.shares {\r\n            border-color: rgba(255, 136, 0, 0.4);\r\n            background: linear-gradient(135deg,\r\n                    rgba(255, 136, 0, 0.1) 0%,\r\n                    var(--glass-dark) 100%);\r\n        }\r\n\r\n        .stat-item.duration {\r\n            border-color: rgba(59, 130, 246, 0.4);\r\n            background: linear-gradient(135deg,\r\n                    rgba(59, 130, 246, 0.1) 0%,\r\n                    var(--glass-dark) 100%);\r\n        }\r\n\r\n        .stat-value {\r\n            font-size: clamp(1.2rem, 4vw, 1.6rem);\r\n            font-weight: 900;\r\n            display: block;\r\n            margin-bottom: 0.25rem;\r\n            background: linear-gradient(135deg, var(--tiktok-red), var(--tiktok-blue));\r\n            -webkit-background-clip: text;\r\n            -webkit-text-fill-color: transparent;\r\n            animation: valueGlow 4s ease-in-out infinite;\r\n        }\r\n\r\n        .stat-label {\r\n            font-size: clamp(0.7rem, 2vw, 0.8rem);\r\n            color: var(--text-gray);\r\n            font-weight: 600;\r\n            text-transform: uppercase;\r\n            letter-spacing: 0.5px;\r\n        }\r\n\r\n        \/* Video Streaming Area - NO FLOATING *\/\r\n        .video-streaming-area {\r\n            background: linear-gradient(135deg,\r\n                    rgba(254, 44, 85, 0.08) 0%,\r\n                    rgba(37, 244, 238, 0.08) 50%,\r\n                    rgba(168, 85, 247, 0.08) 100%);\r\n            border: 2px solid rgba(254, 44, 85, 0.3);\r\n            border-radius: 24px;\r\n            padding: clamp(1.5rem, 4vw, 2.5rem);\r\n            margin-bottom: 1.5rem;\r\n            position: relative;\r\n            overflow: hidden;\r\n            box-shadow: var(--shadow-lg), var(--shadow-pink);\r\n            backdrop-filter: blur(15px);\r\n        }\r\n\r\n        .video-streaming-area::before {\r\n            content: '';\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(254, 44, 85, 0.05) 1px, transparent 1px),\r\n                linear-gradient(90deg, rgba(37, 244, 238, 0.05) 1px, transparent 1px);\r\n            background-size: 30px 30px;\r\n            opacity: 0.6;\r\n            pointer-events: none;\r\n            z-index: 1;\r\n            animation: gridMove 12s linear infinite;\r\n        }\r\n\r\n        .video-streaming-area::after {\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,\r\n                    transparent,\r\n                    var(--tiktok-red),\r\n                    var(--tiktok-blue),\r\n                    var(--purple),\r\n                    transparent);\r\n            z-index: 2;\r\n            animation: borderFlow 3s ease-in-out infinite;\r\n        }\r\n\r\n        .streaming-header {\r\n            text-align: center;\r\n            margin-bottom: 2rem;\r\n            position: relative;\r\n            z-index: 3;\r\n        }\r\n\r\n        .streaming-title {\r\n            font-size: clamp(1rem, 3vw, 1.3rem);\r\n            font-weight: 700;\r\n            margin-bottom: 0.5rem;\r\n            background: linear-gradient(135deg, var(--tiktok-red), var(--tiktok-blue));\r\n            -webkit-background-clip: text;\r\n            -webkit-text-fill-color: transparent;\r\n            animation: titlePulse 4s ease-in-out infinite;\r\n        }\r\n\r\n        .streaming-subtitle {\r\n            color: var(--text-gray);\r\n            font-size: clamp(0.8rem, 2vw, 0.95rem);\r\n            font-weight: 500;\r\n        }\r\n\r\n        \/* Video Player - NO FLOATING *\/\r\n        .video-player-wrapper {\r\n            position: relative;\r\n            width: 100%;\r\n            max-width: min(380px, 90vw);\r\n            margin: 0 auto;\r\n            aspect-ratio: 9\/16;\r\n            border-radius: 24px;\r\n            overflow: hidden;\r\n            box-shadow: var(--shadow-xl), var(--shadow-pink);\r\n            background: #000;\r\n            z-index: 3;\r\n            border: 2px solid rgba(254, 44, 85, 0.3);\r\n        }\r\n\r\n        .video-thumbnail {\r\n            position: absolute;\r\n            top: 0;\r\n            left: 0;\r\n            width: 100%;\r\n            height: 100%;\r\n            object-fit: cover;\r\n            z-index: 4;\r\n            cursor: pointer;\r\n            transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);\r\n        }\r\n\r\n        .video-thumbnail:hover,\r\n        .video-thumbnail:active {\r\n            transform: scale(1.02);\r\n        }\r\n\r\n        .thumbnail-overlay {\r\n            position: absolute;\r\n            top: 0;\r\n            left: 0;\r\n            width: 100%;\r\n            height: 100%;\r\n            background: rgba(0, 0, 0, 0.4);\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            z-index: 5;\r\n            cursor: pointer;\r\n            transition: all 0.4s ease;\r\n            backdrop-filter: blur(2px);\r\n        }\r\n\r\n        .thumbnail-overlay:hover,\r\n        .thumbnail-overlay:active {\r\n            background: rgba(0, 0, 0, 0.6);\r\n            backdrop-filter: blur(4px);\r\n        }\r\n\r\n        .thumbnail-play-btn {\r\n            width: clamp(60px, 15vw, 80px);\r\n            height: clamp(60px, 15vw, 80px);\r\n            background: linear-gradient(135deg, var(--tiktok-red), var(--pink));\r\n            border: none;\r\n            border-radius: 50%;\r\n            color: white;\r\n            font-size: clamp(1.5rem, 4vw, 2rem);\r\n            cursor: pointer;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            box-shadow: var(--shadow-xl), var(--glow-tiktok);\r\n            transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);\r\n            position: relative;\r\n            overflow: hidden;\r\n            animation: playButtonPulse 3s ease-in-out infinite;\r\n            border: 2px solid rgba(255, 255, 255, 0.2);\r\n            min-height: 44px;\r\n            \/* Touch-friendly *\/\r\n        }\r\n\r\n        .thumbnail-play-btn::before {\r\n            content: '';\r\n            position: absolute;\r\n            top: 0;\r\n            left: 0;\r\n            right: 0;\r\n            bottom: 0;\r\n            background: linear-gradient(45deg, transparent, rgba(255, 255, 255, 0.3), transparent);\r\n            transform: translateX(-100%);\r\n            transition: transform 0.6s;\r\n        }\r\n\r\n        .thumbnail-play-btn::hover,\r\n        .thumbnail-play-btn::active {\r\n            transform: translateX(100%);\r\n        }\r\n\r\n        .thumbnail-play-btn:hover,\r\n        .thumbnail-play-btn:active {\r\n            transform: scale(1.15);\r\n            box-shadow: var(--shadow-xl), var(--glow-tiktok);\r\n        }\r\n\r\n        .video-player {\r\n            width: 100%;\r\n            height: 100%;\r\n            object-fit: contain;\r\n            background: #000;\r\n            position: relative;\r\n            z-index: 2;\r\n            display: none;\r\n        }\r\n\r\n        .video-player.playing {\r\n            display: block;\r\n        }\r\n\r\n        .video-controls {\r\n            position: absolute;\r\n            bottom: 0;\r\n            left: 0;\r\n            right: 0;\r\n            background: linear-gradient(transparent, rgba(0, 0, 0, 0.9));\r\n            padding: clamp(1rem, 3vw, 1.5rem);\r\n            transform: translateY(100%);\r\n            transition: transform 0.4s ease;\r\n            z-index: 10;\r\n            backdrop-filter: blur(10px);\r\n        }\r\n\r\n        .video-player-wrapper:hover .video-controls,\r\n        .video-controls.show {\r\n            transform: translateY(0);\r\n        }\r\n\r\n        .progress-bar {\r\n            width: 100%;\r\n            height: clamp(4px, 1.5vw, 6px);\r\n            background: rgba(255, 255, 255, 0.2);\r\n            border-radius: 3px;\r\n            margin-bottom: 0.5rem;\r\n            cursor: pointer;\r\n            position: relative;\r\n            overflow: hidden;\r\n            min-height: 20px;\r\n            \/* Touch-friendly *\/\r\n            display: flex;\r\n            align-items: center;\r\n        }\r\n\r\n        .progress-fill {\r\n            height: 100%;\r\n            background: linear-gradient(90deg, var(--tiktok-red), var(--pink));\r\n            border-radius: 3px;\r\n            width: 0%;\r\n            transition: width 0.1s linear;\r\n            box-shadow: 0 0 10px rgba(254, 44, 85, 0.5);\r\n        }\r\n\r\n        \/* Video Time Display *\/\r\n        .video-time {\r\n            display: flex;\r\n            justify-content: space-between;\r\n            font-size: clamp(0.7rem, 2vw, 0.8rem);\r\n            color: var(--text-gray);\r\n            margin-bottom: 1rem;\r\n        }\r\n\r\n        .control-buttons {\r\n            display: flex;\r\n            justify-content: space-between;\r\n            align-items: center;\r\n            flex-wrap: wrap;\r\n            gap: 1rem;\r\n        }\r\n\r\n        .control-group {\r\n            display: flex;\r\n            align-items: center;\r\n            gap: clamp(0.5rem, 2vw, 0.75rem);\r\n            flex-wrap: wrap;\r\n        }\r\n\r\n        .control-btn {\r\n            background: rgba(255, 255, 255, 0.15);\r\n            border: none;\r\n            color: white;\r\n            width: clamp(40px, 10vw, 44px);\r\n            height: clamp(40px, 10vw, 44px);\r\n            border-radius: 50%;\r\n            cursor: pointer;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            transition: all 0.3s ease;\r\n            backdrop-filter: blur(10px);\r\n            border: 1px solid rgba(255, 255, 255, 0.2);\r\n            font-size: clamp(0.8rem, 2vw, 1rem);\r\n            min-height: 44px;\r\n            \/* Touch-friendly *\/\r\n            min-width: 44px;\r\n        }\r\n\r\n        .control-btn:hover,\r\n        .control-btn:active {\r\n            background: rgba(255, 255, 255, 0.25);\r\n            transform: scale(1.1);\r\n            box-shadow: var(--shadow);\r\n        }\r\n\r\n        .play-btn {\r\n            width: clamp(50px, 12vw, 60px);\r\n            height: clamp(50px, 12vw, 60px);\r\n            background: linear-gradient(135deg, var(--tiktok-red), var(--pink));\r\n            font-size: clamp(1rem, 3vw, 1.4rem);\r\n            border: none;\r\n            box-shadow: var(--shadow-lg), var(--glow-tiktok);\r\n        }\r\n\r\n        .volume-control {\r\n            display: flex;\r\n            align-items: center;\r\n            gap: clamp(0.3rem, 1.5vw, 0.5rem);\r\n            flex-wrap: wrap;\r\n        }\r\n\r\n        .volume-slider {\r\n            width: clamp(60px, 15vw, 80px);\r\n            height: clamp(4px, 1.5vw, 6px);\r\n            background: rgba(255, 255, 255, 0.2);\r\n            border-radius: 3px;\r\n            cursor: pointer;\r\n            position: relative;\r\n            overflow: hidden;\r\n            min-height: 20px;\r\n            \/* Touch-friendly *\/\r\n            display: flex;\r\n            align-items: center;\r\n        }\r\n\r\n        .volume-fill {\r\n            height: 100%;\r\n            background: linear-gradient(90deg, var(--tiktok-blue), var(--green));\r\n            border-radius: 3px;\r\n            width: 100%;\r\n            transition: width 0.1s ease;\r\n            box-shadow: 0 0 8px rgba(37, 244, 238, 0.4);\r\n        }\r\n\r\n        \/* Download Section - NO FLOATING *\/\r\n        .download-section {\r\n            background: linear-gradient(135deg,\r\n                    rgba(37, 244, 238, 0.1) 0%,\r\n                    rgba(0, 255, 136, 0.1) 50%,\r\n                    var(--glass-dark) 100%);\r\n            border: 2px solid rgba(37, 244, 238, 0.3);\r\n            border-radius: 20px;\r\n            padding: clamp(1rem, 3vw, 1.5rem);\r\n            margin-bottom: 1.5rem;\r\n            box-shadow: var(--shadow), var(--shadow-blue);\r\n            position: relative;\r\n            overflow: hidden;\r\n            backdrop-filter: blur(15px);\r\n        }\r\n\r\n        .download-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,\r\n                    transparent,\r\n                    var(--tiktok-blue),\r\n                    var(--green),\r\n                    transparent);\r\n            animation: borderFlow 3s ease-in-out infinite;\r\n        }\r\n\r\n        .download-header {\r\n            text-align: center;\r\n            margin-bottom: clamp(0.8rem, 2.5vw, 1.2rem);\r\n        }\r\n\r\n        .download-title {\r\n            font-size: clamp(1rem, 3vw, 1.2rem);\r\n            font-weight: 700;\r\n            margin-bottom: 0.25rem;\r\n            background: linear-gradient(135deg, var(--tiktok-blue), var(--green));\r\n            -webkit-background-clip: text;\r\n            -webkit-text-fill-color: transparent;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            gap: 0.5rem;\r\n            animation: titlePulse 4s ease-in-out infinite;\r\n            flex-wrap: wrap;\r\n        }\r\n\r\n        .download-subtitle {\r\n            color: var(--text-gray);\r\n            font-size: clamp(0.8rem, 2vw, 0.9rem);\r\n        }\r\n\r\n        .download-grid {\r\n            display: grid;\r\n            grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));\r\n            gap: clamp(0.8rem, 2vw, 1rem);\r\n        }\r\n\r\n        .download-btn {\r\n            background: linear-gradient(135deg, var(--tiktok-blue), #00d4cc);\r\n            color: white;\r\n            border: none;\r\n            padding: clamp(0.8rem, 3vw, 1rem) clamp(1rem, 3vw, 1.5rem);\r\n            border-radius: 16px;\r\n            font-weight: 700;\r\n            cursor: pointer;\r\n            transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            gap: 0.5rem;\r\n            box-shadow: var(--shadow), var(--shadow-blue);\r\n            position: relative;\r\n            overflow: hidden;\r\n            font-size: clamp(0.8rem, 2vw, 0.95rem);\r\n            animation: buttonGlow 5s ease-in-out infinite;\r\n            border: 1px solid rgba(37, 244, 238, 0.3);\r\n            min-height: 48px;\r\n            text-align: center;\r\n        }\r\n\r\n        .download-btn::before {\r\n            content: '';\r\n            position: absolute;\r\n            top: 0;\r\n            left: -100%;\r\n            width: 100%;\r\n            height: 100%;\r\n            background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);\r\n            transition: left 0.5s;\r\n        }\r\n\r\n        .download-btn:hover:not(:disabled)::before,\r\n        .download-btn:active:not(:disabled)::before {\r\n            left: 100%;\r\n        }\r\n\r\n        .download-btn:hover:not(:disabled),\r\n        .download-btn:active:not(:disabled) {\r\n            transform: translateY(-3px) scale(1.02);\r\n            box-shadow: var(--shadow-lg), var(--glow-blue);\r\n        }\r\n\r\n        .download-btn:disabled {\r\n            opacity: 0.6;\r\n            cursor: not-allowed;\r\n            transform: none;\r\n            animation: none;\r\n        }\r\n\r\n        .download-btn.hd {\r\n            background: linear-gradient(135deg, var(--orange), #ff6600);\r\n            border-color: rgba(255, 136, 0, 0.3);\r\n        }\r\n\r\n        .download-btn.hd:hover:not(:disabled),\r\n        .download-btn.hd:active:not(:disabled) {\r\n            box-shadow: var(--shadow-lg), 0 0 30px rgba(255, 136, 0, 0.5);\r\n        }\r\n\r\n        \/* Audio Streaming Section - NO FLOATING *\/\r\n        .audio-streaming {\r\n            background: linear-gradient(135deg,\r\n                    rgba(168, 85, 247, 0.12) 0%,\r\n                    rgba(236, 72, 153, 0.12) 50%,\r\n                    var(--glass-dark) 100%);\r\n            border: 2px solid rgba(168, 85, 247, 0.3);\r\n            border-radius: 20px;\r\n            padding: clamp(1rem, 3vw, 1.5rem);\r\n            position: relative;\r\n            overflow: hidden;\r\n            box-shadow: var(--shadow), var(--shadow-purple);\r\n            backdrop-filter: blur(15px);\r\n        }\r\n\r\n        .audio-streaming::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,\r\n                    transparent,\r\n                    var(--purple),\r\n                    var(--pink),\r\n                    transparent);\r\n            animation: borderFlow 3s ease-in-out infinite;\r\n        }\r\n\r\n        .audio-header {\r\n            text-align: center;\r\n            margin-bottom: clamp(0.8rem, 2.5vw, 1.2rem);\r\n        }\r\n\r\n        .audio-main-title {\r\n            font-size: clamp(1rem, 3vw, 1.2rem);\r\n            font-weight: 700;\r\n            margin-bottom: 0.25rem;\r\n            background: linear-gradient(135deg, var(--purple), var(--pink));\r\n            -webkit-background-clip: text;\r\n            -webkit-text-fill-color: transparent;\r\n            width: 100%;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            gap: 0.5rem;\r\n            animation: titlePulse 4s ease-in-out infinite;\r\n            flex-wrap: wrap;\r\n        }\r\n\r\n        .audio-subtitle {\r\n            color: var(--text-gray);\r\n            font-size: clamp(0.8rem, 2vw, 0.9rem);\r\n            margin-bottom: clamp(0.8rem, 2.5vw, 1.2rem);\r\n        }\r\n\r\n        .audio-player-section {\r\n            display: flex;\r\n            align-items: center;\r\n            gap: clamp(0.8rem, 3vw, 1.2rem);\r\n            margin-bottom: 1.5rem;\r\n            flex-wrap: wrap;\r\n            justify-content: center;\r\n        }\r\n\r\n        \/* Audio Icon - Left Side, Smaller *\/\r\n        .audio-icon-wrapper {\r\n            position: relative;\r\n            flex-shrink: 0;\r\n        }\r\n\r\n        .audio-icon {\r\n            width: clamp(40px, 10vw, 50px);\r\n            height: clamp(40px, 10vw, 50px);\r\n            background: linear-gradient(135deg, var(--purple), var(--pink));\r\n            border-radius: 50%;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            font-size: clamp(1rem, 2.5vw, 1.2rem);\r\n            color: white;\r\n            box-shadow: var(--shadow), var(--shadow-purple);\r\n            animation: audioIconPulse 4s ease-in-out infinite;\r\n            position: relative;\r\n            z-index: 2;\r\n            border: 2px solid rgba(168, 85, 247, 0.3);\r\n        }\r\n\r\n        .audio-wave {\r\n            position: absolute;\r\n            top: 50%;\r\n            left: 50%;\r\n            transform: translate(-50%, -50%);\r\n            border: 1px solid rgba(168, 85, 247, 0.2);\r\n            border-radius: 50%;\r\n            animation: audioWaveRipple 2s ease-out infinite;\r\n        }\r\n\r\n        .audio-wave:nth-child(1) {\r\n            width: clamp(50px, 12vw, 60px);\r\n            height: clamp(50px, 12vw, 60px);\r\n            animation-delay: 0s;\r\n        }\r\n\r\n        .audio-wave:nth-child(2) {\r\n            width: clamp(60px, 15vw, 75px);\r\n            height: clamp(60px, 15vw, 75px);\r\n            animation-delay: 0.5s;\r\n        }\r\n\r\n        .audio-wave:nth-child(3) {\r\n            width: clamp(70px, 18vw, 90px);\r\n            height: clamp(70px, 18vw, 90px);\r\n            animation-delay: 1s;\r\n        }\r\n\r\n        .audio-info {\r\n            flex: 1;\r\n            min-width: 0;\r\n            text-align: center;\r\n        }\r\n\r\n        .audio-title {\r\n            font-size: clamp(0.9rem, 2.5vw, 1rem);\r\n            font-weight: 700;\r\n            color: var(--text-light);\r\n            margin-bottom: 0.25rem;\r\n            word-break: break-word;\r\n        }\r\n\r\n        .audio-artist {\r\n            font-size: clamp(0.75rem, 2vw, 0.85rem);\r\n            color: var(--text-gray);\r\n            margin-bottom: 1rem;\r\n            word-break: break-word;\r\n        }\r\n\r\n        \/* Audio Progress Bar *\/\r\n        .audio-progress-container {\r\n            width: 100%;\r\n            margin-bottom: 1rem;\r\n        }\r\n\r\n        .audio-progress {\r\n            height: clamp(6px, 2vw, 8px);\r\n            background: rgba(168, 85, 247, 0.2);\r\n            border-radius: 4px;\r\n            position: relative;\r\n            cursor: pointer;\r\n            overflow: hidden;\r\n            margin-bottom: 0.5rem;\r\n            min-height: 20px;\r\n            \/* Touch-friendly *\/\r\n            display: flex;\r\n            align-items: center;\r\n        }\r\n\r\n        .audio-progress-fill {\r\n            height: 100%;\r\n            background: linear-gradient(90deg, var(--purple), var(--pink));\r\n            border-radius: 4px;\r\n            width: 0%;\r\n            transition: width 0.1s ease;\r\n            box-shadow: 0 0 10px rgba(168, 85, 247, 0.4);\r\n        }\r\n\r\n        .audio-time {\r\n            display: flex;\r\n            justify-content: space-between;\r\n            font-size: clamp(0.7rem, 2vw, 0.8rem);\r\n            color: var(--text-gray);\r\n            margin-bottom: 1rem;\r\n        }\r\n\r\n        \/* Audio Controls *\/\r\n        .audio-controls {\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            gap: clamp(0.8rem, 3vw, 1rem);\r\n            margin-bottom: 1rem;\r\n            flex-wrap: wrap;\r\n        }\r\n\r\n        .audio-play-btn {\r\n            width: clamp(44px, 10vw, 50px);\r\n            height: clamp(44px, 10vw, 50px);\r\n            background: linear-gradient(135deg, var(--purple), var(--pink));\r\n            border: none;\r\n            border-radius: 50%;\r\n            color: white;\r\n            cursor: pointer;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);\r\n            box-shadow: var(--shadow), var(--shadow-purple);\r\n            font-size: clamp(1rem, 2.5vw, 1.2rem);\r\n            flex-shrink: 0;\r\n            animation: audioPlayPulse 4s ease-in-out infinite;\r\n            border: 2px solid rgba(168, 85, 247, 0.3);\r\n            min-height: 44px;\r\n            \/* Touch-friendly *\/\r\n            min-width: 44px;\r\n        }\r\n\r\n        .audio-play-btn:hover,\r\n        .audio-play-btn:active {\r\n            transform: scale(1.1);\r\n            box-shadow: var(--shadow-lg), var(--glow-purple);\r\n        }\r\n\r\n        \/* Audio Volume Control *\/\r\n        .audio-volume-control {\r\n            display: flex;\r\n            align-items: center;\r\n            gap: clamp(0.5rem, 2vw, 0.75rem);\r\n            flex-wrap: wrap;\r\n        }\r\n\r\n        .audio-volume-btn {\r\n            background: rgba(168, 85, 247, 0.15);\r\n            border: none;\r\n            color: var(--purple-light);\r\n            width: clamp(36px, 8vw, 40px);\r\n            height: clamp(36px, 8vw, 40px);\r\n            border-radius: 50%;\r\n            cursor: pointer;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            transition: all 0.3s ease;\r\n            backdrop-filter: blur(10px);\r\n            border: 1px solid rgba(168, 85, 247, 0.2);\r\n            font-size: clamp(0.8rem, 2vw, 1rem);\r\n            min-height: 44px;\r\n            \/* Touch-friendly *\/\r\n            min-width: 44px;\r\n        }\r\n\r\n        .audio-volume-btn:hover,\r\n        .audio-volume-btn:active {\r\n            background: rgba(168, 85, 247, 0.25);\r\n            transform: scale(1.1);\r\n            box-shadow: var(--shadow);\r\n        }\r\n\r\n        .audio-volume-slider {\r\n            width: clamp(60px, 15vw, 80px);\r\n            height: clamp(4px, 1.5vw, 6px);\r\n            background: rgba(168, 85, 247, 0.2);\r\n            border-radius: 3px;\r\n            cursor: pointer;\r\n            position: relative;\r\n            overflow: hidden;\r\n            min-height: 20px;\r\n            \/* Touch-friendly *\/\r\n            display: flex;\r\n            align-items: center;\r\n        }\r\n\r\n        .audio-volume-fill {\r\n            height: 100%;\r\n            background: linear-gradient(90deg, var(--purple), var(--pink));\r\n            border-radius: 3px;\r\n            width: 100%;\r\n            transition: width 0.1s ease;\r\n            box-shadow: 0 0 8px rgba(168, 85, 247, 0.4);\r\n        }\r\n\r\n        .download-audio-section {\r\n            text-align: center;\r\n        }\r\n\r\n        .download-audio-btn {\r\n            background: linear-gradient(135deg, var(--purple), var(--purple-dark));\r\n            color: white;\r\n            border: none;\r\n            padding: clamp(0.8rem, 3vw, 1rem) clamp(1rem, 3vw, 1.5rem);\r\n            border-radius: 16px;\r\n            font-weight: 700;\r\n            cursor: pointer;\r\n            transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);\r\n            display: inline-flex;\r\n            align-items: center;\r\n            gap: 0.5rem;\r\n            box-shadow: var(--shadow), var(--shadow-purple);\r\n            font-size: clamp(0.8rem, 2vw, 0.95rem);\r\n            position: relative;\r\n            overflow: hidden;\r\n            animation: buttonGlow 5s ease-in-out infinite;\r\n            border: 1px solid rgba(168, 85, 247, 0.3);\r\n            min-height: 48px;\r\n            width: 100%;\r\n            max-width: 300px;\r\n            justify-content: center;\r\n        }\r\n\r\n        .download-audio-btn::before {\r\n            content: '';\r\n            position: absolute;\r\n            top: 0;\r\n            left: -100%;\r\n            width: 100%;\r\n            height: 100%;\r\n            background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);\r\n            transition: left 0.5s;\r\n        }\r\n\r\n        .download-audio-btn:hover:not(:disabled)::before,\r\n        .download-audio-btn:active:not(:disabled)::before {\r\n            left: 100%;\r\n        }\r\n\r\n        .download-audio-btn:hover:not(:disabled),\r\n        .download-audio-btn:active:not(:disabled) {\r\n            transform: translateY(-3px) scale(1.02);\r\n            box-shadow: var(--shadow-lg), var(--glow-purple);\r\n        }\r\n\r\n        .download-audio-btn:disabled {\r\n            opacity: 0.6;\r\n            cursor: not-allowed;\r\n            transform: none;\r\n            animation: none;\r\n        }\r\n\r\n        \/* Download Progress - NO FLOATING *\/\r\n        .download-progress {\r\n            position: fixed;\r\n            bottom: 1.5rem;\r\n            right: 1.5rem;\r\n            background: linear-gradient(135deg,\r\n                    var(--glass-dark) 0%,\r\n                    var(--glass-purple) 100%);\r\n            backdrop-filter: blur(25px);\r\n            border: 2px solid var(--glass-border);\r\n            border-radius: 18px;\r\n            padding: clamp(1rem, 3vw, 1.5rem) clamp(1.5rem, 4vw, 2rem);\r\n            min-width: min(320px, 90vw);\r\n            max-width: 90vw;\r\n            box-shadow: var(--shadow-xl), var(--shadow-purple);\r\n            z-index: 1000;\r\n            display: none;\r\n        }\r\n\r\n        .download-progress.show {\r\n            display: block;\r\n            animation: slideInRight 0.4s ease-out;\r\n        }\r\n\r\n        .progress-header {\r\n            display: flex;\r\n            justify-content: space-between;\r\n            align-items: center;\r\n            margin-bottom: 1rem;\r\n            gap: 1rem;\r\n            flex-wrap: wrap;\r\n        }\r\n\r\n        .progress-text {\r\n            font-weight: 700;\r\n            font-size: clamp(0.8rem, 2vw, 0.95rem);\r\n            color: var(--text-light);\r\n            background: linear-gradient(135deg, var(--tiktok-red), var(--tiktok-blue));\r\n            -webkit-background-clip: text;\r\n            -webkit-text-fill-color: transparent;\r\n            flex: 1;\r\n            min-width: 0;\r\n        }\r\n\r\n        .cancel-btn {\r\n            background: rgba(255, 51, 102, 0.15);\r\n            border: 1px solid rgba(255, 51, 102, 0.3);\r\n            color: #ff3366;\r\n            padding: clamp(0.4rem, 1.5vw, 0.5rem) clamp(0.8rem, 2vw, 1rem);\r\n            border-radius: 10px;\r\n            font-size: clamp(0.7rem, 2vw, 0.8rem);\r\n            cursor: pointer;\r\n            transition: all 0.3s ease;\r\n            font-weight: 600;\r\n            backdrop-filter: blur(10px);\r\n            min-height: 36px;\r\n            flex-shrink: 0;\r\n        }\r\n\r\n        .cancel-btn:hover,\r\n        .cancel-btn:active {\r\n            background: rgba(255, 51, 102, 0.25);\r\n            transform: scale(1.05);\r\n        }\r\n\r\n        .progress-bar-container {\r\n            width: 100%;\r\n            height: clamp(6px, 2vw, 8px);\r\n            background: rgba(168, 85, 247, 0.2);\r\n            border-radius: 4px;\r\n            overflow: hidden;\r\n        }\r\n\r\n        .progress-bar-fill {\r\n            height: 100%;\r\n            background: linear-gradient(90deg, var(--green), #00cc77);\r\n            border-radius: 4px;\r\n            width: 0%;\r\n            transition: width 0.3s ease;\r\n            box-shadow: 0 0 12px rgba(0, 255, 136, 0.4);\r\n            animation: progressGlow 3s ease-in-out infinite;\r\n        }\r\n\r\n        \/* Error Message - NO FLOATING *\/\r\n        .error-message {\r\n            background: linear-gradient(135deg,\r\n                    rgba(255, 51, 102, 0.1) 0%,\r\n                    var(--glass-dark) 100%);\r\n            border: 2px solid rgba(255, 51, 102, 0.3);\r\n            color: #ff6b6b;\r\n            padding: clamp(1rem, 3vw, 1.2rem) clamp(1.2rem, 4vw, 1.8rem);\r\n            border-radius: 16px;\r\n            margin: 1rem 0;\r\n            display: none;\r\n            align-items: center;\r\n            gap: clamp(0.5rem, 2vw, 1rem);\r\n            font-weight: 600;\r\n            backdrop-filter: blur(15px);\r\n            box-shadow: var(--shadow);\r\n            animation: errorShake 0.5s ease-in-out;\r\n            font-size: clamp(0.8rem, 2vw, 1rem);\r\n            flex-wrap: wrap;\r\n        }\r\n\t\t\t\r\n\t\t\t.paste-btn {\r\n\tbackground: linear-gradient(135deg, var(--tiktok-blue), var(--secondary));\r\n\tborder: none;\r\n\tcolor: white;\r\n\tcursor: pointer;\r\n\tpadding: clamp(0.5rem, 2vw, 0.7rem) clamp(0.8rem, 3vw, 1.4rem);\r\n\tborder-radius: 14px;\r\n\ttransition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tgap: 0.5rem;\r\n\tfont-weight: 600;\r\n\tbox-shadow: var(--shadow), var(--shadow-blue);\r\n\tfont-size: clamp(0.8rem, 2vw, 0.9rem);\r\n\tposition: relative;\r\n\toverflow: hidden;\r\n\tborder: 1px solid rgba(37, 244, 238, 0.3);\r\n\tmin-height: 44px !important;\r\n\twidth: 100%;\r\n\tdisplay: flex;\r\n\tjustify-content: center;\r\n}\r\n\r\n        .error-message.show {\r\n            display: flex;\r\n            animation: fadeInUp 0.3s ease-out, errorShake 0.5s ease-in-out;\r\n        }\r\n\r\n        \/* Animations - KEPT ONLY DECORATIVE ONES *\/\r\n        @keyframes gradientShift {\r\n\r\n            0%,\r\n            100% {\r\n                background-position: 0% 50%;\r\n            }\r\n\r\n            50% {\r\n                background-position: 100% 50%;\r\n            }\r\n        }\r\n\r\n        @keyframes backgroundFloat {\r\n\r\n            0%,\r\n            100% {\r\n                opacity: 1;\r\n                transform: translateY(0px);\r\n            }\r\n\r\n            50% {\r\n                opacity: 0.8;\r\n                transform: translateY(-10px);\r\n            }\r\n        }\r\n\r\n        @keyframes fadeInDown {\r\n            from {\r\n                opacity: 0;\r\n                transform: translateY(-40px);\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(40px);\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 slideInRight {\r\n            from {\r\n                opacity: 0;\r\n                transform: translateX(100%);\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 spin {\r\n            to {\r\n                transform: rotate(360deg);\r\n            }\r\n        }\r\n\r\n        @keyframes logoFloat {\r\n\r\n            0%,\r\n            100% {\r\n                transform: translateY(0px) rotate(0deg);\r\n            }\r\n\r\n            50% {\r\n                transform: translateY(-10px) rotate(5deg);\r\n            }\r\n        }\r\n\r\n        @keyframes logoShine {\r\n            0% {\r\n                transform: translateX(-100%) translateY(-100%) rotate(45deg);\r\n            }\r\n\r\n            100% {\r\n                transform: translateX(100%) translateY(100%) rotate(45deg);\r\n            }\r\n        }\r\n\r\n        @keyframes textGradient {\r\n\r\n            0%,\r\n            100% {\r\n                background-position: 0% 50%;\r\n            }\r\n\r\n            50% {\r\n                background-position: 100% 50%;\r\n            }\r\n        }\r\n\r\n        @keyframes subtitleGlow {\r\n\r\n            0%,\r\n            100% {\r\n                text-shadow: 0 0 5px rgba(160, 160, 160, 0.3);\r\n            }\r\n\r\n            50% {\r\n                text-shadow: 0 0 15px rgba(160, 160, 160, 0.6);\r\n            }\r\n        }\r\n\r\n        @keyframes borderFlow {\r\n\r\n            0%,\r\n            100% {\r\n                opacity: 0.5;\r\n            }\r\n\r\n            50% {\r\n                opacity: 1;\r\n            }\r\n        }\r\n\r\n        @keyframes overlayPulse {\r\n\r\n            0%,\r\n            100% {\r\n                opacity: 1;\r\n            }\r\n\r\n            50% {\r\n                opacity: 0.7;\r\n            }\r\n        }\r\n\r\n        @keyframes inputFocusGlow {\r\n\r\n            0%,\r\n            100% {\r\n                box-shadow: 0 0 0 4px rgba(139, 92, 246, 0.2), var(--glow-purple), inset 0 2px 10px rgba(0, 0, 0, 0.3);\r\n            }\r\n\r\n            50% {\r\n                box-shadow: 0 0 0 6px rgba(139, 92, 246, 0.4), var(--glow-purple), inset 0 2px 10px rgba(0, 0, 0, 0.3);\r\n            }\r\n        }\r\n\r\n        @keyframes buttonPulse {\r\n\r\n            0%,\r\n            100% {\r\n                box-shadow: var(--shadow-lg), var(--shadow-pink);\r\n            }\r\n\r\n            50% {\r\n                box-shadow: var(--shadow-xl), var(--glow-tiktok);\r\n            }\r\n        }\r\n\r\n        @keyframes buttonHoverGlow {\r\n\r\n            0%,\r\n            100% {\r\n                filter: brightness(1);\r\n            }\r\n\r\n            50% {\r\n                filter: brightness(1.2);\r\n            }\r\n        }\r\n\r\n        @keyframes textFade {\r\n\r\n            0%,\r\n            100% {\r\n                opacity: 0.7;\r\n            }\r\n\r\n            50% {\r\n                opacity: 1;\r\n            }\r\n        }\r\n\r\n        @keyframes avatarPulse {\r\n\r\n            0%,\r\n            100% {\r\n                box-shadow: var(--shadow), var(--shadow-pink);\r\n            }\r\n\r\n            50% {\r\n                box-shadow: var(--shadow), 0 0 30px rgba(254, 44, 85, 0.6);\r\n            }\r\n        }\r\n\r\n        @keyframes valueGlow {\r\n\r\n            0%,\r\n            100% {\r\n                filter: brightness(1);\r\n            }\r\n\r\n            50% {\r\n                filter: brightness(1.2);\r\n            }\r\n        }\r\n\r\n        @keyframes gridMove {\r\n            0% {\r\n                transform: translate(0, 0);\r\n            }\r\n\r\n            100% {\r\n                transform: translate(30px, 30px);\r\n            }\r\n        }\r\n\r\n        @keyframes titlePulse {\r\n\r\n            0%,\r\n            100% {\r\n                filter: brightness(1);\r\n            }\r\n\r\n            50% {\r\n                filter: brightness(1.3);\r\n            }\r\n        }\r\n\r\n        @keyframes playButtonPulse {\r\n\r\n            0%,\r\n            100% {\r\n                transform: scale(1);\r\n            }\r\n\r\n            50% {\r\n                transform: scale(1.05);\r\n            }\r\n        }\r\n\r\n        @keyframes buttonGlow {\r\n\r\n            0%,\r\n            100% {\r\n                box-shadow: var(--shadow);\r\n            }\r\n\r\n            50% {\r\n                box-shadow: var(--shadow-lg);\r\n            }\r\n        }\r\n\r\n        @keyframes audioIconPulse {\r\n\r\n            0%,\r\n            100% {\r\n                transform: scale(1);\r\n            }\r\n\r\n            50% {\r\n                transform: scale(1.1);\r\n            }\r\n        }\r\n\r\n        @keyframes audioWaveRipple {\r\n            0% {\r\n                opacity: 1;\r\n                transform: translate(-50%, -50%) scale(0.8);\r\n            }\r\n\r\n            100% {\r\n                opacity: 0;\r\n                transform: translate(-50%, -50%) scale(2);\r\n            }\r\n        }\r\n\r\n        @keyframes audioPlayPulse {\r\n\r\n            0%,\r\n            100% {\r\n                box-shadow: var(--shadow), var(--shadow-purple);\r\n            }\r\n\r\n            50% {\r\n                box-shadow: var(--shadow-lg), var(--glow-purple);\r\n            }\r\n        }\r\n\r\n        @keyframes progressGlow {\r\n\r\n            0%,\r\n            100% {\r\n                box-shadow: 0 0 12px rgba(0, 255, 136, 0.4);\r\n            }\r\n\r\n            50% {\r\n                box-shadow: 0 0 20px rgba(0, 255, 136, 0.8);\r\n            }\r\n        }\r\n\r\n        @keyframes errorShake {\r\n\r\n            0%,\r\n            100% {\r\n                transform: translateX(0);\r\n            }\r\n\r\n            25% {\r\n                transform: translateX(-5px);\r\n            }\r\n\r\n            75% {\r\n                transform: translateX(5px);\r\n            }\r\n        }\r\n\r\n        \/* Enhanced Responsive Design *\/\r\n\r\n        \/* Large Tablets and Small Desktops *\/\r\n        @media (max-width: 1024px) {\r\n            .container {\r\n                padding: clamp(1rem, 3vw, 1.5rem);\r\n            }\r\n\r\n            .video-stats {\r\n                grid-template-columns: repeat(3, 1fr);\r\n            }\r\n\r\n            .download-grid {\r\n                grid-template-columns: 1fr;\r\n            }\r\n\r\n            .action-buttons {\r\n                grid-template-columns: 1fr;\r\n                gap: 1rem;\r\n            }\r\n\r\n            .search-another-btn {\r\n                width: 100%;\r\n            }\r\n\r\n            .audio-player-section {\r\n                flex-direction: column;\r\n                text-align: center;\r\n                gap: 1rem;\r\n            }\r\n\r\n            .audio-controls {\r\n                flex-direction: row;\r\n                justify-content: center;\r\n                gap: 1rem;\r\n            }\r\n\r\n            .audio-volume-control {\r\n                justify-content: center;\r\n            }\r\n\r\n            .video-player-wrapper {\r\n                max-width: min(320px, 85vw);\r\n            }\r\n\t\t\t\t\t.logo-icon {\r\n\twidth: 50px;\r\n\theight: 50px;\r\n\tfont-size: 20px;\r\n\tmargin-top: 60px;\r\n}\r\n\t\t\t\t\t.logo {\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n\tgap: 1.5rem;\r\n\tmargin-bottom: 1rem;\r\n\tflex-wrap: wrap;\r\n\tflex-direction: column !important;\r\n}\r\n        }\r\n\r\n        \/* Tablets *\/\r\n        @media (max-width: 768px) {\r\n            .container {\r\n                padding: 1rem;\r\n            }\r\n\r\n            .logo {\r\n                flex-direction: column;\r\n                gap: 1rem;\r\n            }\r\n\r\n            .logo-icon {\r\n                width: 60px;\r\n                height: 60px;\r\n                font-size: 24px;\r\n            }\r\n\r\n            .video-stats {\r\n                grid-template-columns: repeat(2, 1fr);\r\n                gap: 0.8rem;\r\n            }\r\n\r\n            .author-section {\r\n                flex-direction: column;\r\n                text-align: center;\r\n                gap: 1rem;\r\n            }\r\n\r\n            .download-progress {\r\n                left: 1rem;\r\n                right: 1rem;\r\n                bottom: 1rem;\r\n                min-width: auto;\r\n            }\r\n\r\n            .control-buttons {\r\n                flex-direction: column;\r\n                gap: 1rem;\r\n                align-items: center;\r\n            }\r\n\r\n            .volume-control {\r\n                order: 3;\r\n                width: 100%;\r\n                justify-content: center;\r\n            }\r\n\r\n            .audio-controls {\r\n                flex-direction: column;\r\n                gap: 1rem;\r\n            }\r\n\r\n            .audio-volume-control {\r\n                width: 100%;\r\n                justify-content: center;\r\n            }\r\n\r\n            .video-player-wrapper {\r\n                max-width: min(300px, 80vw);\r\n            }\r\n\r\n            \/* Show video controls on mobile *\/\r\n            .video-controls {\r\n                transform: translateY(0);\r\n                position: relative;\r\n                background: rgba(0, 0, 0, 0.8);\r\n                margin-top: 1rem;\r\n                border-radius: 12px;\r\n            }\r\n\r\n            .video-player-wrapper:hover .video-controls {\r\n                transform: translateY(0);\r\n            }\r\n\t\t\t\t\t.logo-icon {\r\n\twidth: 50px;\r\n\theight: 50px;\r\n\tfont-size: 20px;\r\n\tmargin-top: 60px;\r\n}\r\n        }\r\n\r\n        \/* Mobile Phones *\/\r\n        @media (max-width: 480px) {\r\n            .container {\r\n                padding: 0.8rem;\r\n            }\r\n\r\n            .header {\r\n                margin-bottom: 1.5rem;\r\n            }\r\n\r\n            .logo-icon {\r\n                width: 50px;\r\n                height: 50px;\r\n                font-size: 20px;\r\n            }\r\n\r\n            .video-stats {\r\n                grid-template-columns: 1fr;\r\n                gap: 0.6rem;\r\n            }\r\n\r\n            .stat-item {\r\n                min-height: 70px;\r\n                padding: 0.8rem;\r\n            }\r\n\r\n            .stat-value {\r\n                font-size: 1.3rem;\r\n            }\r\n\r\n            .audio-player-section {\r\n                gap: 0.8rem;\r\n            }\r\n\r\n            .audio-icon {\r\n                width: 40px;\r\n                height: 40px;\r\n                font-size: 1rem;\r\n            }\r\n\r\n            .audio-play-btn {\r\n                width: 44px;\r\n                height: 44px;\r\n                font-size: 1rem;\r\n            }\r\n\r\n            .video-player-wrapper {\r\n                max-width: min(280px, 75vw);\r\n            }\r\n\r\n            .thumbnail-play-btn {\r\n                width: 60px;\r\n                height: 60px;\r\n                font-size: 1.5rem;\r\n            }\r\n\r\n            .download-progress {\r\n                left: 0.5rem;\r\n                right: 0.5rem;\r\n                bottom: 0.5rem;\r\n                padding: 1rem;\r\n            }\r\n\r\n            .progress-header {\r\n                flex-direction: column;\r\n                gap: 0.5rem;\r\n                align-items: stretch;\r\n            }\r\n\r\n            .cancel-btn {\r\n                align-self: center;\r\n                min-width: 80px;\r\n            }\r\n\r\n            \/* Touch-friendly adjustments *\/\r\n            .input-field {\r\n                font-size: 16px;\r\n                \/* Prevents zoom on iOS *\/\r\n            }\r\n\r\n            .control-btn,\r\n            .audio-play-btn,\r\n            .audio-volume-btn,\r\n            .paste-btn,\r\n            .search-btn,\r\n            .download-btn,\r\n            .download-audio-btn {\r\n                min-height: 44px;\r\n                min-width: 44px;\r\n            }\r\n\r\n            .progress-bar,\r\n            .audio-progress,\r\n            .volume-slider,\r\n            .audio-volume-slider {\r\n                min-height: 44px;\r\n            }\r\n\t\t\t\t\t.logo-icon {\r\n\twidth: 50px;\r\n\theight: 50px;\r\n\tfont-size: 20px;\r\n\tmargin-top: 60px;\r\n}\r\n        }\r\n\r\n        \/* Small Mobile Phones *\/\r\n        @media (max-width: 360px) {\r\n            .container {\r\n                padding: 0.5rem;\r\n            }\r\n\r\n            .search-section,\r\n            .video-section,\r\n            .download-section,\r\n            .audio-streaming {\r\n                padding: 1rem;\r\n                border-radius: 16px;\r\n            }\r\n\r\n            .logo-text {\r\n                font-size: 1.5rem;\r\n                letter-spacing: -1px;\r\n            }\r\n\r\n            .subtitle {\r\n                font-size: 0.8rem;\r\n            }\r\n\r\n            .video-player-wrapper {\r\n                max-width: min(260px, 70vw);\r\n            }\r\n\r\n            .audio-wave:nth-child(1) {\r\n                width: 45px;\r\n                height: 45px;\r\n            }\r\n\r\n            .audio-wave:nth-child(2) {\r\n                width: 55px;\r\n                height: 55px;\r\n            }\r\n\r\n            .audio-wave:nth-child(3) {\r\n                width: 65px;\r\n                height: 65px;\r\n            }\r\n\t\t\t\t\t.logo-icon {\r\n\twidth: 50px;\r\n\theight: 50px;\r\n\tfont-size: 20px;\r\n\tmargin-top: 60px;\r\n}\r\n        }\r\n\r\n        \/* Landscape Mobile *\/\r\n        @media (max-height: 500px) and (orientation: landscape) {\r\n            .container {\r\n                padding: 1rem;\r\n            }\r\n\r\n            .header {\r\n                margin-bottom: 1rem;\r\n            }\r\n\r\n            .logo {\r\n                flex-direction: row;\r\n                gap: 1rem;\r\n            }\r\n\r\n            .logo-icon {\r\n                width: 40px;\r\n                height: 40px;\r\n                font-size: 16px;\r\n            }\r\n\r\n            .video-player-wrapper {\r\n                max-width: min(200px, 30vw);\r\n            }\r\n\r\n            .video-stats {\r\n                grid-template-columns: repeat(5, 1fr);\r\n                gap: 0.5rem;\r\n            }\r\n\r\n            .stat-item {\r\n                min-height: 60px;\r\n                padding: 0.5rem;\r\n            }\r\n\r\n            .stat-value {\r\n                font-size: 1rem;\r\n            }\r\n\r\n            .stat-label {\r\n                font-size: 0.6rem;\r\n            }\r\n        }\r\n\r\n        \/* High DPI Displays *\/\r\n        @media (-webkit-min-device-pixel-ratio: 2),\r\n        (min-resolution: 192dpi) {\r\n\r\n            .logo-icon,\r\n            .author-avatar,\r\n            .audio-icon,\r\n            .thumbnail-play-btn,\r\n            .audio-play-btn {\r\n                image-rendering: -webkit-optimize-contrast;\r\n                image-rendering: crisp-edges;\r\n            }\r\n        }\r\n\r\n        \/* Reduced Motion *\/\r\n        @media (prefers-reduced-motion: reduce) {\r\n\r\n            *,\r\n            *::before,\r\n            *::after {\r\n                animation-duration: 0.01ms !important;\r\n                animation-iteration-count: 1 !important;\r\n                transition-duration: 0.01ms !important;\r\n            }\r\n\r\n            .video-player-wrapper,\r\n            .search-section,\r\n            .video-section,\r\n            .download-section,\r\n            .audio-streaming {\r\n                animation: none !important;\r\n            }\r\n        }\r\n\r\n        \/* High Contrast Mode *\/\r\n        @media (prefers-contrast: high) {\r\n            :root {\r\n                --glass-dark: rgba(0, 0, 0, 0.9);\r\n                --glass-purple: rgba(0, 0, 0, 0.9);\r\n                --glass-blue: rgba(0, 0, 0, 0.9);\r\n                --glass-border: rgba(255, 255, 255, 0.8);\r\n                --shadow: 0 4px 20px rgba(0, 0, 0, 0.8);\r\n                --shadow-lg: 0 8px 40px rgba(0, 0, 0, 0.9);\r\n                --shadow-xl: 0 16px 60px rgba(0, 0, 0, 1);\r\n            }\r\n\r\n            .input-field,\r\n            .search-btn,\r\n            .download-btn,\r\n            .audio-play-btn {\r\n                border: 2px solid var(--text-light);\r\n            }\r\n        }\r\n\r\n        \/* Dark Mode Support *\/\r\n        @media (prefers-color-scheme: dark) {\r\n\r\n            \/* Already using dark theme, but can add specific adjustments *\/\r\n            body {\r\n                background: linear-gradient(135deg,\r\n                        #000000 0%,\r\n                        var(--bg-primary) 25%,\r\n                        var(--bg-secondary) 50%,\r\n                        var(--card-purple) 75%,\r\n                        var(--card-blue) 100%);\r\n            }\r\n        }\r\n\r\n        \/* Print Styles *\/\r\n        @media print {\r\n            body {\r\n                background: white !important;\r\n                color: black !important;\r\n            }\r\n\r\n            .container {\r\n                max-width: none;\r\n                padding: 0;\r\n            }\r\n\r\n            .video-player-wrapper,\r\n            .download-section,\r\n            .audio-streaming,\r\n            .download-progress {\r\n                display: none !important;\r\n            }\r\n\r\n            .search-section,\r\n            .video-section {\r\n                background: white !important;\r\n                border: 1px solid black !important;\r\n                box-shadow: none !important;\r\n            }\r\n        }\r\n    <\/style>\r\n\r\n\r\n<div class=\"tiktok_body\">\r\n    <div class=\"container_tiktok\">\r\n        <!-- Header -->\r\n        <div class=\"header\">\r\n            <div class=\"logo\">\r\n                <div class=\"logo-icon\">\r\n                    <i class=\"fab fa-tiktok\"><\/i>\r\n                <\/div>\r\n                <h1 class=\"logo-text\">TikTok Video Viewer<\/h1>\r\n            <\/div>\r\n            <p class=\"subtitle\">Stream & Download TikTok Videos in Ultra Premium Quality<\/p>\r\n        <\/div>\r\n\r\n        <!-- Search Section -->\r\n        <div class=\"search-section\">\r\n            <div class=\"input-group\">\r\n                <input type=\"text\" class=\"input-field\" id=\"videoInput\" placeholder=\"Enter TikTok video URL or video ID\">\r\n                <div class=\"input-actions\">\r\n                    <span>Supports URLs and video IDs<\/span>\r\n                    <button class=\"paste-btn\" onclick=\"pasteFromClipboard()\">\r\n                        <i class=\"fas fa-paste\"><\/i> Paste\r\n                    <\/button>\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <div class=\"action-buttons\">\r\n                <button class=\"search-btn\" onclick=\"loadVideo()\" id=\"loadBtn\">\r\n                    <i class=\"fas fa-play-circle\"><\/i>\r\n                    <span id=\"loadText\">Load Video<\/span>\r\n                <\/button>\r\n                <button class=\"search-another-btn\" onclick=\"searchAnother()\" id=\"searchAnotherBtn\"\r\n                    style=\"display: none;\">\r\n                    <i class=\"fas fa-search\"><\/i> Search Another\r\n                <\/button>\r\n            <\/div>\r\n\r\n            <div class=\"error-message\" id=\"errorMessage\">\r\n                <i class=\"fas fa-exclamation-triangle\"><\/i>\r\n                <span id=\"errorText\"><\/span>\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <!-- Loading Animation -->\r\n        <div class=\"loading\" id=\"loading\">\r\n            <div class=\"loading-spinner\">\r\n                <div class=\"spinner-ring\"><\/div>\r\n                <div class=\"spinner-ring\"><\/div>\r\n                <div class=\"spinner-ring\"><\/div>\r\n            <\/div>\r\n            <div class=\"loading-text\">Loading TikTok Video<\/div>\r\n            <div class=\"loading-subtext\">Fetching video details and preparing premium stream...<\/div>\r\n        <\/div>\r\n\r\n        <!-- Main Video Section -->\r\n        <div class=\"video-section\" id=\"videoSection\">\r\n            <!-- Full Width Title -->\r\n            <h2 class=\"video-title\" id=\"videoTitle\"><\/h2>\r\n\r\n            <!-- Author Info -->\r\n            <div class=\"author-section\" id=\"authorSection\">\r\n                <img decoding=\"async\" class=\"author-avatar\" id=\"authorAvatar\" src=\"\/placeholder.svg\" alt=\"Author\">\r\n                <div class=\"author-details\">\r\n                    <h3 id=\"authorName\"><\/h3>\r\n                    <p class=\"author-username\" id=\"authorUsername\"><\/p>\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <!-- Stats Grid -->\r\n            <div class=\"video-stats\" id=\"videoStats\"><\/div>\r\n\r\n            <!-- Video Streaming Area -->\r\n            <div class=\"video-streaming-area\">\r\n                <div class=\"streaming-header\">\r\n                    <h3 class=\"streaming-title\">\ud83c\udfac Video Streaming<\/h3>\r\n                    <p class=\"streaming-subtitle\">High Quality Video Player with Premium Controls<\/p>\r\n                <\/div>\r\n\r\n                <div class=\"video-player-wrapper\">\r\n                    <!-- Video Thumbnail -->\r\n                    <img decoding=\"async\" class=\"video-thumbnail\" id=\"videoThumbnail\" src=\"\/placeholder.svg\" alt=\"Video Thumbnail\">\r\n                    <div class=\"thumbnail-overlay\" onclick=\"startVideoPlayback()\">\r\n                        <button class=\"thumbnail-play-btn\">\r\n                            <i class=\"fas fa-play\"><\/i>\r\n                        <\/button>\r\n                    <\/div>\r\n\r\n                    <!-- Video Player -->\r\n                    <video class=\"video-player\" id=\"videoPlayer\" loop preload=\"metadata\">\r\n                        Your browser doesn't support video playback.\r\n                    <\/video>\r\n\r\n                    <div class=\"video-controls\" id=\"videoControls\">\r\n                        <div class=\"progress-bar\" onclick=\"seekVideo(event)\">\r\n                            <div class=\"progress-fill\" id=\"progressFill\"><\/div>\r\n                        <\/div>\r\n\r\n                        <!-- Video Time Display -->\r\n                        <div class=\"video-time\">\r\n                            <span id=\"videoCurrentTime\">0:00<\/span>\r\n                            <span id=\"videoDuration\">0:00<\/span>\r\n                        <\/div>\r\n\r\n                        <div class=\"control-buttons\">\r\n                            <div class=\"control-group volume-control\">\r\n                                <button class=\"control-btn\" onclick=\"toggleMute()\" id=\"muteBtn\">\r\n                                    <i class=\"fas fa-volume-up\"><\/i>\r\n                                <\/button>\r\n                                <div class=\"volume-slider\" onclick=\"setVolume(event)\">\r\n                                    <div class=\"volume-fill\" id=\"volumeFill\"><\/div>\r\n                                <\/div>\r\n                            <\/div>\r\n\r\n                            <button class=\"control-btn play-btn\" onclick=\"togglePlay()\" id=\"playBtn\">\r\n                                <i class=\"fas fa-play\"><\/i>\r\n                            <\/button>\r\n\r\n                            <div class=\"control-group\">\r\n                                <button class=\"control-btn\" onclick=\"toggleFullscreen()\" id=\"fullscreenBtn\">\r\n                                    <i class=\"fas fa-expand\"><\/i>\r\n                                <\/button>\r\n                            <\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <!-- Download Section -->\r\n            <div class=\"download-section\">\r\n                <div class=\"download-header\">\r\n                    <h3 class=\"download-title\">\r\n                        <i class=\"fas fa-download\"><\/i>\r\n                        Download Options\r\n                    <\/h3>\r\n                    <p class=\"download-subtitle\">Choose your preferred quality and format<\/p>\r\n                <\/div>\r\n\r\n                <div class=\"download-grid\">\r\n                    <button class=\"download-btn\" onclick=\"downloadVideo('standard')\" id=\"downloadStandard\">\r\n                        <i class=\"fas fa-download\"><\/i>\r\n                        <span>Standard Quality<\/span>\r\n                    <\/button>\r\n                    <button class=\"download-btn hd\" onclick=\"downloadVideo('hd')\" id=\"downloadHD\">\r\n                        <i class=\"fas fa-hd-video\"><\/i>\r\n                        <span>HD Quality<\/span>\r\n                    <\/button>\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <!-- Audio Streaming Section -->\r\n            <div class=\"audio-streaming\" id=\"audioStreaming\" style=\"display: none;\">\r\n                <div class=\"audio-header\">\r\n                    <h3 class=\"audio-main-title\">\r\n                        <i class=\"fas fa-music\"><\/i>\r\n                        Audio Streaming\r\n                    <\/h3>\r\n                    <p class=\"audio-subtitle\">High Quality Audio Player with Advanced Controls<\/p>\r\n                <\/div>\r\n\r\n                <div class=\"audio-player-section\">\r\n                    <div class=\"audio-icon-wrapper\">\r\n                        <div class=\"audio-wave\"><\/div>\r\n                        <div class=\"audio-wave\"><\/div>\r\n                        <div class=\"audio-wave\"><\/div>\r\n                        <div class=\"audio-icon\">\r\n                            <i class=\"fas fa-music\"><\/i>\r\n                        <\/div>\r\n                    <\/div>\r\n\r\n                    <div class=\"audio-info\">\r\n                        <div class=\"audio-title\" id=\"audioTitle\">Audio Track<\/div>\r\n                        <div class=\"audio-artist\" id=\"audioArtist\">TikTok Audio<\/div>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <!-- Audio Progress Bar -->\r\n                <div class=\"audio-progress-container\">\r\n                    <div class=\"audio-progress\" onclick=\"seekAudio(event)\">\r\n                        <div class=\"audio-progress-fill\" id=\"audioProgressFill\"><\/div>\r\n                    <\/div>\r\n                    <div class=\"audio-time\">\r\n                        <span id=\"audioCurrentTime\">0:00<\/span>\r\n                        <span id=\"audioDuration\">0:00<\/span>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <!-- Audio Controls -->\r\n                <div class=\"audio-controls\">\r\n                    <button class=\"audio-play-btn\" onclick=\"toggleAudioPlay()\" id=\"audioPlayBtn\">\r\n                        <i class=\"fas fa-play\"><\/i>\r\n                    <\/button>\r\n\r\n                    <!-- Audio Volume Control -->\r\n                    <div class=\"audio-volume-control\">\r\n                        <button class=\"audio-volume-btn\" onclick=\"toggleAudioMute()\" id=\"audioMuteBtn\">\r\n                            <i class=\"fas fa-volume-up\"><\/i>\r\n                        <\/button>\r\n                        <div class=\"audio-volume-slider\" onclick=\"setAudioVolume(event)\">\r\n                            <div class=\"audio-volume-fill\" id=\"audioVolumeFill\"><\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <div class=\"download-audio-section\">\r\n                    <button class=\"download-audio-btn\" onclick=\"downloadVideo('audio')\" id=\"downloadAudio\">\r\n                        <i class=\"fas fa-download\"><\/i>\r\n                        <span>Download Audio<\/span>\r\n                    <\/button>\r\n                <\/div>\r\n\r\n                <audio id=\"audioElement\" loop><\/audio>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <!-- Download Progress -->\r\n    <div class=\"download-progress\" id=\"downloadProgress\">\r\n        <div class=\"progress-header\">\r\n            <span class=\"progress-text\" id=\"progressText\">Downloading...<\/span>\r\n            <button class=\"cancel-btn\" onclick=\"cancelDownload()\">Cancel<\/button>\r\n        <\/div>\r\n        <div class=\"progress-bar-container\">\r\n            <div class=\"progress-bar-fill\" id=\"progressBarFill\"><\/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        const API_URL = 'https:\/\/tools.xrespond.com\/api\/tiktok\/profile\/videos\/details';\r\n        let currentVideoData = null;\r\n        let isLoading = false;\r\n        let isDownloading = false;\r\n        let downloadController = null;\r\n        let currentVolume = 1;\r\n        let isMuted = false;\r\n        let isFullscreen = false;\r\n        let audioPlaying = false;\r\n        let videoStarted = false;\r\n        let audioCurrentVolume = 1;\r\n        let audioIsMuted = false;\r\n\r\n        \/\/ Mobile detection\r\n        const isMobile = \/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini\/i.test(navigator.userAgent);\r\n        const isTouch = 'ontouchstart' in window || navigator.maxTouchPoints > 0;\r\n\r\n        \/\/ Utility Functions\r\n        function formatNumber(num) {\r\n            if (num >= 1000000) {\r\n                return (num \/ 1000000).toFixed(1) + 'M';\r\n            }\r\n            if (num >= 1000) {\r\n                return (num \/ 1000).toFixed(1) + 'K';\r\n            }\r\n            return num.toString();\r\n        }\r\n\r\n        function formatDuration(seconds) {\r\n            const mins = Math.floor(seconds \/ 60);\r\n            const secs = Math.floor(seconds % 60);\r\n            return `${mins}:${secs.toString().padStart(2, '0')}`;\r\n        }\r\n\r\n        function formatFileSize(bytes) {\r\n            if (bytes >= 1024 * 1024) {\r\n                return (bytes \/ (1024 * 1024)).toFixed(1) + ' MB';\r\n            }\r\n            if (bytes >= 1024) {\r\n                return (bytes \/ 1024).toFixed(1) + ' KB';\r\n            }\r\n            return bytes + ' B';\r\n        }\r\n\r\n        \/\/ Mobile-specific functions\r\n        function showVideoControlsOnMobile() {\r\n            if (isMobile || isTouch) {\r\n                const videoControls = document.getElementById('videoControls');\r\n                if (videoControls) {\r\n                    videoControls.classList.add('show');\r\n                    \/\/ Hide after 3 seconds of inactivity\r\n                    setTimeout(() => {\r\n                        if (!videoControls.matches(':hover')) {\r\n                            videoControls.classList.remove('show');\r\n                        }\r\n                    }, 3000);\r\n                }\r\n            }\r\n        }\r\n\r\n        function handleTouchEvents() {\r\n            if (isMobile || isTouch) {\r\n                \/\/ Add touch event listeners for better mobile interaction\r\n                document.addEventListener('touchstart', function (e) {\r\n                    \/\/ Handle touch start\r\n                }, { passive: true });\r\n\r\n                document.addEventListener('touchend', function (e) {\r\n                    \/\/ Handle touch end\r\n                }, { passive: true });\r\n\r\n                \/\/ Prevent zoom on double tap for video controls\r\n                let lastTouchEnd = 0;\r\n                document.addEventListener('touchend', function (e) {\r\n                    const now = (new Date()).getTime();\r\n                    if (now - lastTouchEnd <= 300) {\r\n                        e.preventDefault();\r\n                    }\r\n                    lastTouchEnd = now;\r\n                }, false);\r\n            }\r\n        }\r\n\r\n        \/\/ UI Functions\r\n        function showLoading() {\r\n            document.getElementById('loading').style.display = 'block';\r\n        }\r\n\r\n        function hideLoading() {\r\n            document.getElementById('loading').style.display = 'none';\r\n        }\r\n\r\n        function showError(message) {\r\n            const errorDiv = document.getElementById('errorMessage');\r\n            const errorText = document.getElementById('errorText');\r\n            errorText.textContent = message;\r\n            errorDiv.classList.add('show');\r\n\r\n            \/\/ Auto-hide error after 5 seconds on mobile\r\n            if (isMobile) {\r\n                setTimeout(() => {\r\n                    hideError();\r\n                }, 5000);\r\n            }\r\n        }\r\n\r\n        function hideError() {\r\n            document.getElementById('errorMessage').classList.remove('show');\r\n        }\r\n\r\n        function showDownloadProgress(text, progress = 0) {\r\n            const progressDiv = document.getElementById('downloadProgress');\r\n            const progressText = document.getElementById('progressText');\r\n            const progressFill = document.getElementById('progressBarFill');\r\n\r\n            \/\/ Add null checks to prevent errors\r\n            if (progressText) {\r\n                progressText.textContent = text;\r\n            }\r\n            if (progressFill) {\r\n                progressFill.style.width = `${progress}%`;\r\n            }\r\n            if (progressDiv) {\r\n                progressDiv.classList.add('show');\r\n            }\r\n        }\r\n\r\n        function hideDownloadProgress() {\r\n            const progressDiv = document.getElementById('downloadProgress');\r\n            if (progressDiv) {\r\n                progressDiv.classList.remove('show');\r\n            }\r\n        }\r\n\r\n        \/\/ Main Functions\r\n        async function pasteFromClipboard() {\r\n            try {\r\n                const text = await navigator.clipboard.readText();\r\n                document.getElementById('videoInput').value = text;\r\n            } catch (err) {\r\n                console.error('Failed to read clipboard:', err);\r\n                \/\/ On mobile, focus the input to show keyboard\r\n                const input = document.getElementById('videoInput');\r\n                input.focus();\r\n                if (isMobile) {\r\n                    input.select();\r\n                }\r\n            }\r\n        }\r\n\r\n        function searchAnother() {\r\n            document.getElementById('videoInput').value = '';\r\n            document.getElementById('videoSection').style.display = 'none';\r\n            document.getElementById('searchAnotherBtn').style.display = 'none';\r\n            document.getElementById('audioStreaming').style.display = 'none';\r\n            currentVideoData = null;\r\n            videoStarted = false;\r\n            hideError();\r\n\r\n            \/\/ Reset players\r\n            const videoPlayer = document.getElementById('videoPlayer');\r\n            const audioElement = document.getElementById('audioElement');\r\n            const videoThumbnail = document.getElementById('videoThumbnail');\r\n            const thumbnailOverlay = document.querySelector('.thumbnail-overlay');\r\n\r\n            videoPlayer.src = '';\r\n            videoPlayer.pause();\r\n            videoPlayer.classList.remove('playing');\r\n            audioElement.src = '';\r\n            audioElement.pause();\r\n            audioPlaying = false;\r\n            document.getElementById('audioPlayBtn').innerHTML = '<i class=\"fas fa-play\"><\/i>';\r\n\r\n            \/\/ Show thumbnail again\r\n            videoThumbnail.style.display = 'block';\r\n            thumbnailOverlay.style.display = 'flex';\r\n\r\n            \/\/ Scroll to top on mobile\r\n            if (isMobile) {\r\n                window.scrollTo({ top: 0, behavior: 'smooth' });\r\n            }\r\n\r\n            document.getElementById('videoInput').focus();\r\n        }\r\n\r\n        async function loadVideo() {\r\n            if (isLoading) return;\r\n\r\n            const input = document.getElementById('videoInput').value.trim();\r\n            if (!input) {\r\n                showError('Please enter a TikTok video URL or ID');\r\n                return;\r\n            }\r\n\r\n            isLoading = true;\r\n            const loadBtn = document.getElementById('loadBtn');\r\n            const loadText = document.getElementById('loadText');\r\n\r\n            loadBtn.disabled = true;\r\n            loadText.textContent = 'Loading...';\r\n            showLoading();\r\n            hideError();\r\n\r\n            try {\r\n                const response = await fetch(API_URL, {\r\n                    method: 'POST',\r\n                    headers: {\r\n                        'Content-Type': 'application\/json',\r\n                        'Accept': 'application\/json'\r\n                    },\r\n                    body: JSON.stringify({ url: input })\r\n                });\r\n\r\n                const data = await response.json();\r\n\r\n                if (data.status !== 'success') {\r\n                    throw new Error(data.message || 'Failed to load video');\r\n                }\r\n\r\n                currentVideoData = data.data.data;\r\n                displayVideo(currentVideoData);\r\n\r\n                document.getElementById('videoSection').style.display = 'block';\r\n                document.getElementById('searchAnotherBtn').style.display = 'block';\r\n                document.getElementById('videoInput').value = '';\r\n\r\n                \/\/ Scroll to video section on mobile\r\n                if (isMobile) {\r\n                    setTimeout(() => {\r\n                        document.getElementById('videoSection').scrollIntoView({\r\n                            behavior: 'smooth',\r\n                            block: 'start'\r\n                        });\r\n                    }, 500);\r\n                }\r\n\r\n            } catch (error) {\r\n                showError(error.message || 'Error loading video. Please try again.');\r\n                console.error('Load video error:', error);\r\n            } finally {\r\n                isLoading = false;\r\n                loadBtn.disabled = false;\r\n                loadText.textContent = 'Load Video';\r\n                hideLoading();\r\n            }\r\n        }\r\n\r\n        function displayVideo(data) {\r\n            \/\/ Set video title\r\n            document.getElementById('videoTitle').textContent = data.title;\r\n\r\n            \/\/ Set video stats in horizontal grid - REMOVED SIZE STAT\r\n            const statsContainer = document.getElementById('videoStats');\r\n            statsContainer.innerHTML = `\r\n        <div class=\"stat-item views\">\r\n            <span class=\"stat-value\">${formatNumber(data.play_count)}<\/span>\r\n            <span class=\"stat-label\">Views<\/span>\r\n        <\/div>\r\n        <div class=\"stat-item likes\">\r\n            <span class=\"stat-value\">${formatNumber(data.digg_count)}<\/span>\r\n            <span class=\"stat-label\">Likes<\/span>\r\n        <\/div>\r\n        <div class=\"stat-item comments\">\r\n            <span class=\"stat-value\">${formatNumber(data.comment_count)}<\/span>\r\n            <span class=\"stat-label\">Comments<\/span>\r\n        <\/div>\r\n        <div class=\"stat-item shares\">\r\n            <span class=\"stat-value\">${formatNumber(data.share_count)}<\/span>\r\n            <span class=\"stat-label\">Shares<\/span>\r\n        <\/div>\r\n        <div class=\"stat-item duration\">\r\n            <span class=\"stat-value\">${formatDuration(data.duration)}<\/span>\r\n            <span class=\"stat-label\">Duration<\/span>\r\n        <\/div>\r\n    `;\r\n\r\n            \/\/ Set author info\r\n            document.getElementById('authorAvatar').src = data.author.avatar;\r\n            document.getElementById('authorName').textContent = data.author.nickname;\r\n            document.getElementById('authorUsername').textContent = `@${data.author.unique_id}`;\r\n\r\n            \/\/ Set video thumbnail\r\n            const videoThumbnail = document.getElementById('videoThumbnail');\r\n            videoThumbnail.src = data.cover || data.dynamic_cover || '\/placeholder.svg?height=600&width=400';\r\n\r\n            \/\/ Set video player\r\n            const videoPlayer = document.getElementById('videoPlayer');\r\n            videoPlayer.src = data.play;\r\n            videoPlayer.addEventListener('loadedmetadata', () => {\r\n                videoPlayer.volume = currentVolume;\r\n                videoPlayer.muted = isMuted;\r\n                updateVolumeDisplay();\r\n                \/\/ Set video duration\r\n                document.getElementById('videoDuration').textContent = formatDuration(videoPlayer.duration);\r\n            });\r\n            videoPlayer.addEventListener('timeupdate', updateVideoProgress);\r\n\r\n            \/\/ Mobile-specific video player setup\r\n            if (isMobile) {\r\n                videoPlayer.setAttribute('playsinline', 'true');\r\n                videoPlayer.setAttribute('webkit-playsinline', 'true');\r\n\r\n                \/\/ Show controls on touch\r\n                videoPlayer.addEventListener('touchstart', showVideoControlsOnMobile);\r\n            }\r\n\r\n            \/\/ Set audio player\r\n            if (data.music) {\r\n                const audioElement = document.getElementById('audioElement');\r\n                const audioStreaming = document.getElementById('audioStreaming');\r\n                const audioTitle = document.getElementById('audioTitle');\r\n                const audioArtist = document.getElementById('audioArtist');\r\n\r\n                audioElement.src = data.music;\r\n                audioTitle.textContent = data.music_info?.title || 'Audio Track';\r\n                audioArtist.textContent = data.music_info?.author || data.author.nickname;\r\n                audioStreaming.style.display = 'block';\r\n\r\n                audioElement.addEventListener('timeupdate', updateAudioProgress);\r\n                audioElement.addEventListener('loadedmetadata', () => {\r\n                    document.getElementById('audioDuration').textContent = formatDuration(audioElement.duration);\r\n                    audioElement.volume = audioCurrentVolume;\r\n                    audioElement.muted = audioIsMuted;\r\n                    updateAudioVolumeDisplay();\r\n                });\r\n            }\r\n\r\n            \/\/ Update download buttons\r\n            updateDownloadButtons(data);\r\n        }\r\n\r\n        function updateDownloadButtons(data) {\r\n            const standardBtn = document.getElementById('downloadStandard');\r\n            const hdBtn = document.getElementById('downloadHD');\r\n            const audioBtn = document.getElementById('downloadAudio');\r\n\r\n            \/\/ Standard quality\r\n            standardBtn.innerHTML = `<i class=\"fas fa-download\"><\/i><span>Standard (${formatFileSize(data.size)})<\/span>`;\r\n\r\n            \/\/ HD quality\r\n            if (data.hd_size && data.hdplay) {\r\n                hdBtn.innerHTML = `<i class=\"fas fa-hd-video\"><\/i><span>HD (${formatFileSize(data.hd_size)})<\/span>`;\r\n                hdBtn.style.display = 'flex';\r\n            } else {\r\n                hdBtn.style.display = 'none';\r\n            }\r\n\r\n            \/\/ Audio\r\n            audioBtn.innerHTML = `<i class=\"fas fa-download\"><\/i><span>Download Audio<\/span>`;\r\n        }\r\n\r\n        function startVideoPlayback() {\r\n            const videoPlayer = document.getElementById('videoPlayer');\r\n            const videoThumbnail = document.getElementById('videoThumbnail');\r\n            const thumbnailOverlay = document.querySelector('.thumbnail-overlay');\r\n\r\n            \/\/ Hide thumbnail and show video\r\n            videoThumbnail.style.display = 'none';\r\n            thumbnailOverlay.style.display = 'none';\r\n            videoPlayer.classList.add('playing');\r\n\r\n            \/\/ Start playing\r\n            videoPlayer.play().catch(e => {\r\n                console.error('Error playing video:', e);\r\n                showError('Unable to play video. Please try again.');\r\n            });\r\n\r\n            document.getElementById('playBtn').innerHTML = '<i class=\"fas fa-pause\"><\/i>';\r\n            videoStarted = true;\r\n\r\n            \/\/ Show controls on mobile\r\n            if (isMobile) {\r\n                showVideoControlsOnMobile();\r\n            }\r\n        }\r\n\r\n        \/\/ Video Player Controls\r\n        function togglePlay() {\r\n            if (!videoStarted) {\r\n                startVideoPlayback();\r\n                return;\r\n            }\r\n\r\n            const videoPlayer = document.getElementById('videoPlayer');\r\n            const playBtn = document.getElementById('playBtn');\r\n\r\n            if (videoPlayer.paused) {\r\n                videoPlayer.play().catch(e => {\r\n                    console.error('Error playing video:', e);\r\n                    showError('Unable to play video. Please try again.');\r\n                });\r\n                playBtn.innerHTML = '<i class=\"fas fa-pause\"><\/i>';\r\n            } else {\r\n                videoPlayer.pause();\r\n                playBtn.innerHTML = '<i class=\"fas fa-play\"><\/i>';\r\n            }\r\n\r\n            \/\/ Show controls on mobile\r\n            if (isMobile) {\r\n                showVideoControlsOnMobile();\r\n            }\r\n        }\r\n\r\n        function toggleAudioPlay() {\r\n            const audioElement = document.getElementById('audioElement');\r\n            const audioPlayBtn = document.getElementById('audioPlayBtn');\r\n\r\n            if (audioElement.paused) {\r\n                audioElement.play().catch(e => {\r\n                    console.error('Error playing audio:', e);\r\n                    showError('Unable to play audio. Please try again.');\r\n                });\r\n                audioPlayBtn.innerHTML = '<i class=\"fas fa-pause\"><\/i>';\r\n                audioPlaying = true;\r\n            } else {\r\n                audioElement.pause();\r\n                audioPlayBtn.innerHTML = '<i class=\"fas fa-play\"><\/i>';\r\n                audioPlaying = false;\r\n            }\r\n        }\r\n\r\n        function toggleMute() {\r\n            const videoPlayer = document.getElementById('videoPlayer');\r\n            const muteBtn = document.getElementById('muteBtn');\r\n\r\n            if (isMuted) {\r\n                isMuted = false;\r\n                videoPlayer.muted = false;\r\n                videoPlayer.volume = currentVolume;\r\n                muteBtn.innerHTML = '<i class=\"fas fa-volume-up\"><\/i>';\r\n            } else {\r\n                isMuted = true;\r\n                videoPlayer.muted = true;\r\n                muteBtn.innerHTML = '<i class=\"fas fa-volume-mute\"><\/i>';\r\n            }\r\n\r\n            updateVolumeDisplay();\r\n\r\n            \/\/ Show controls on mobile\r\n            if (isMobile) {\r\n                showVideoControlsOnMobile();\r\n            }\r\n        }\r\n\r\n        function toggleAudioMute() {\r\n            const audioElement = document.getElementById('audioElement');\r\n            const audioMuteBtn = document.getElementById('audioMuteBtn');\r\n\r\n            if (audioIsMuted) {\r\n                audioIsMuted = false;\r\n                audioElement.muted = false;\r\n                audioElement.volume = audioCurrentVolume;\r\n                audioMuteBtn.innerHTML = '<i class=\"fas fa-volume-up\"><\/i>';\r\n            } else {\r\n                audioIsMuted = true;\r\n                audioElement.muted = true;\r\n                audioMuteBtn.innerHTML = '<i class=\"fas fa-volume-mute\"><\/i>';\r\n            }\r\n\r\n            updateAudioVolumeDisplay();\r\n        }\r\n\r\n        function setVolume(event) {\r\n            const volumeSlider = event.currentTarget;\r\n            const rect = volumeSlider.getBoundingClientRect();\r\n            const pos = (event.clientX - rect.left) \/ rect.width;\r\n            currentVolume = Math.max(0, Math.min(1, pos));\r\n\r\n            const videoPlayer = document.getElementById('videoPlayer');\r\n            videoPlayer.volume = currentVolume;\r\n\r\n            if (currentVolume === 0) {\r\n                isMuted = true;\r\n                videoPlayer.muted = true;\r\n                document.getElementById('muteBtn').innerHTML = '<i class=\"fas fa-volume-mute\"><\/i>';\r\n            } else {\r\n                isMuted = false;\r\n                videoPlayer.muted = false;\r\n                document.getElementById('muteBtn').innerHTML = '<i class=\"fas fa-volume-up\"><\/i>';\r\n            }\r\n\r\n            updateVolumeDisplay();\r\n\r\n            \/\/ Show controls on mobile\r\n            if (isMobile) {\r\n                showVideoControlsOnMobile();\r\n            }\r\n        }\r\n\r\n        function setAudioVolume(event) {\r\n            const volumeSlider = event.currentTarget;\r\n            const rect = volumeSlider.getBoundingClientRect();\r\n            const pos = (event.clientX - rect.left) \/ rect.width;\r\n            audioCurrentVolume = Math.max(0, Math.min(1, pos));\r\n\r\n            const audioElement = document.getElementById('audioElement');\r\n            audioElement.volume = audioCurrentVolume;\r\n\r\n            if (audioCurrentVolume === 0) {\r\n                audioIsMuted = true;\r\n                audioElement.muted = true;\r\n                document.getElementById('audioMuteBtn').innerHTML = '<i class=\"fas fa-volume-mute\"><\/i>';\r\n            } else {\r\n                audioIsMuted = false;\r\n                audioElement.muted = false;\r\n                document.getElementById('audioMuteBtn').innerHTML = '<i class=\"fas fa-volume-up\"><\/i>';\r\n            }\r\n\r\n            updateAudioVolumeDisplay();\r\n        }\r\n\r\n        function updateVolumeDisplay() {\r\n            const volumeFill = document.getElementById('volumeFill');\r\n            const displayVolume = isMuted ? 0 : currentVolume;\r\n            volumeFill.style.width = `${displayVolume * 100}%`;\r\n        }\r\n\r\n        function updateAudioVolumeDisplay() {\r\n            const volumeFill = document.getElementById('audioVolumeFill');\r\n            const displayVolume = audioIsMuted ? 0 : audioCurrentVolume;\r\n            volumeFill.style.width = `${displayVolume * 100}%`;\r\n        }\r\n\r\n        function seekVideo(event) {\r\n            const videoPlayer = document.getElementById('videoPlayer');\r\n            const progressBar = event.currentTarget;\r\n            const rect = progressBar.getBoundingClientRect();\r\n            const pos = (event.clientX - rect.left) \/ rect.width;\r\n            videoPlayer.currentTime = pos * videoPlayer.duration;\r\n\r\n            \/\/ Show controls on mobile\r\n            if (isMobile) {\r\n                showVideoControlsOnMobile();\r\n            }\r\n        }\r\n\r\n        function seekAudio(event) {\r\n            const audioElement = document.getElementById('audioElement');\r\n            const progressBar = event.currentTarget;\r\n            const rect = progressBar.getBoundingClientRect();\r\n            const pos = (event.clientX - rect.left) \/ rect.width;\r\n            audioElement.currentTime = pos * audioElement.duration;\r\n        }\r\n\r\n        \/\/ Updated video progress function with time display\r\n        function updateVideoProgress() {\r\n            const videoPlayer = document.getElementById('videoPlayer');\r\n            const progressFill = document.getElementById('progressFill');\r\n            const currentTime = document.getElementById('videoCurrentTime');\r\n\r\n            const progress = (videoPlayer.currentTime \/ videoPlayer.duration) * 100;\r\n            progressFill.style.width = `${progress}%`;\r\n            currentTime.textContent = formatDuration(videoPlayer.currentTime);\r\n        }\r\n\r\n        function updateAudioProgress() {\r\n            const audioElement = document.getElementById('audioElement');\r\n            const progressFill = document.getElementById('audioProgressFill');\r\n            const currentTime = document.getElementById('audioCurrentTime');\r\n\r\n            const progress = (audioElement.currentTime \/ audioElement.duration) * 100;\r\n            progressFill.style.width = `${progress}%`;\r\n            currentTime.textContent = formatDuration(audioElement.currentTime);\r\n        }\r\n\r\n        function toggleFullscreen() {\r\n            const videoWrapper = document.querySelector('.video-player-wrapper');\r\n            const fullscreenBtn = document.getElementById('fullscreenBtn');\r\n\r\n            if (!isFullscreen) {\r\n                if (videoWrapper.requestFullscreen) {\r\n                    videoWrapper.requestFullscreen();\r\n                } else if (videoWrapper.webkitRequestFullscreen) {\r\n                    videoWrapper.webkitRequestFullscreen();\r\n                } else if (videoWrapper.msRequestFullscreen) {\r\n                    videoWrapper.msRequestFullscreen();\r\n                }\r\n                isFullscreen = true;\r\n                fullscreenBtn.innerHTML = '<i class=\"fas fa-compress\"><\/i>';\r\n            } else {\r\n                if (document.exitFullscreen) {\r\n                    document.exitFullscreen();\r\n                } else if (document.webkitExitFullscreen) {\r\n                    document.webkitExitFullscreen();\r\n                } else if (document.msExitFullscreen) {\r\n                    document.msExitFullscreen();\r\n                }\r\n                isFullscreen = false;\r\n                fullscreenBtn.innerHTML = '<i class=\"fas fa-expand\"><\/i>';\r\n            }\r\n\r\n            \/\/ Show controls on mobile\r\n            if (isMobile) {\r\n                showVideoControlsOnMobile();\r\n            }\r\n        }\r\n\r\n        \/\/ Download Functions\r\n        async function downloadVideo(quality) {\r\n            if (!currentVideoData || isDownloading) return;\r\n\r\n            let downloadUrl, filename, expectedSize;\r\n\r\n            switch (quality) {\r\n                case 'hd':\r\n                    if (!currentVideoData.hdplay) {\r\n                        showError('HD quality not available for this video');\r\n                        return;\r\n                    }\r\n                    downloadUrl = currentVideoData.hdplay;\r\n                    filename = `tiktok-${currentVideoData.id}-hd.mp4`;\r\n                    expectedSize = currentVideoData.hd_size;\r\n                    break;\r\n                case 'audio':\r\n                    if (!currentVideoData.music) {\r\n                        showError('Audio not available for this video');\r\n                        return;\r\n                    }\r\n                    downloadUrl = currentVideoData.music;\r\n                    filename = `tiktok-${currentVideoData.id}-audio.mp3`;\r\n                    expectedSize = null;\r\n                    break;\r\n                default:\r\n                    downloadUrl = currentVideoData.play;\r\n                    filename = `tiktok-${currentVideoData.id}.mp4`;\r\n                    expectedSize = currentVideoData.size;\r\n            }\r\n\r\n            isDownloading = true;\r\n            downloadController = new AbortController();\r\n\r\n            \/\/ Disable download buttons\r\n            document.querySelectorAll('.download-btn, .download-audio-btn').forEach(btn => btn.disabled = true);\r\n\r\n            showDownloadProgress(`Starting download...`, 0);\r\n\r\n            try {\r\n                const response = await fetch(downloadUrl, {\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 = expectedSize || 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 ? Math.round((receivedSize \/ totalSize) * 100) : 0;\r\n                    showDownloadProgress(`Downloading ${quality} quality... ${progress}%`, progress);\r\n                }\r\n\r\n                showDownloadProgress('Processing download...', 95);\r\n\r\n                \/\/ Combine chunks\r\n                const chunksAll = new Uint8Array(receivedSize);\r\n                let position = 0;\r\n                for (const chunk of chunks) {\r\n                    chunksAll.set(chunk, position);\r\n                    position += chunk.length;\r\n                }\r\n\r\n                const mimeType = quality === 'audio' ? 'audio\/mpeg' : 'video\/mp4';\r\n                const blob = new Blob([chunksAll], { type: mimeType });\r\n                const url = URL.createObjectURL(blob);\r\n\r\n                const a = document.createElement('a');\r\n                a.href = url;\r\n                a.download = filename;\r\n                a.style.display = 'none';\r\n                document.body.appendChild(a);\r\n                a.click();\r\n                document.body.removeChild(a);\r\n                URL.revokeObjectURL(url);\r\n\r\n                showDownloadProgress('Download completed successfully!', 100);\r\n                setTimeout(hideDownloadProgress, 2000);\r\n\r\n            } catch (error) {\r\n                if (error.name === 'AbortError') {\r\n                    showDownloadProgress('Download cancelled', 0);\r\n                } else {\r\n                    showError(`Download failed: ${error.message}`);\r\n                    hideDownloadProgress();\r\n                }\r\n            } finally {\r\n                isDownloading = false;\r\n                downloadController = null;\r\n                document.querySelectorAll('.download-btn, .download-audio-btn').forEach(btn => btn.disabled = false);\r\n            }\r\n        }\r\n\r\n        function cancelDownload() {\r\n            if (downloadController) {\r\n                downloadController.abort();\r\n            }\r\n        }\r\n\r\n        \/\/ Event Listeners\r\n        document.getElementById('videoInput').addEventListener('keypress', (e) => {\r\n            if (e.key === 'Enter' && !isLoading) {\r\n                loadVideo();\r\n            }\r\n        });\r\n\r\n        \/\/ Fullscreen change events\r\n        document.addEventListener('fullscreenchange', () => {\r\n            isFullscreen = !!document.fullscreenElement;\r\n            const fullscreenBtn = document.getElementById('fullscreenBtn');\r\n            if (fullscreenBtn) {\r\n                fullscreenBtn.innerHTML = isFullscreen ? '<i class=\"fas fa-compress\"><\/i>' : '<i class=\"fas fa-expand\"><\/i>';\r\n            }\r\n        });\r\n\r\n        \/\/ Keyboard shortcuts (desktop only)\r\n        document.addEventListener('keydown', (e) => {\r\n            if (!isMobile && currentVideoData && document.getElementById('videoSection').style.display === 'block') {\r\n                switch (e.key) {\r\n                    case ' ':\r\n                        e.preventDefault();\r\n                        togglePlay();\r\n                        break;\r\n                    case 'f':\r\n                    case 'F':\r\n                        toggleFullscreen();\r\n                        break;\r\n                    case 'm':\r\n                    case 'M':\r\n                        toggleMute();\r\n                        break;\r\n                }\r\n            }\r\n        });\r\n\r\n        \/\/ Touch event handlers for mobile\r\n        if (isMobile || isTouch) {\r\n            \/\/ Handle touch events for sliders\r\n            function handleTouchSlider(element, callback) {\r\n                element.addEventListener('touchstart', function (e) {\r\n                    e.preventDefault();\r\n                    const touch = e.touches[0];\r\n                    const rect = element.getBoundingClientRect();\r\n                    const pos = (touch.clientX - rect.left) \/ rect.width;\r\n                    callback(pos);\r\n                }, { passive: false });\r\n\r\n                element.addEventListener('touchmove', function (e) {\r\n                    e.preventDefault();\r\n                    const touch = e.touches[0];\r\n                    const rect = element.getBoundingClientRect();\r\n                    const pos = (touch.clientX - rect.left) \/ rect.width;\r\n                    callback(pos);\r\n                }, { passive: false });\r\n            }\r\n\r\n            \/\/ Apply touch handlers to sliders\r\n            document.addEventListener('DOMContentLoaded', () => {\r\n                const volumeSlider = document.getElementById('volumeFill')?.parentElement;\r\n                const audioVolumeSlider = document.getElementById('audioVolumeFill')?.parentElement;\r\n                const progressBar = document.getElementById('progressFill')?.parentElement;\r\n                const audioProgressBar = document.getElementById('audioProgressFill')?.parentElement;\r\n\r\n                if (volumeSlider) {\r\n                    handleTouchSlider(volumeSlider, (pos) => {\r\n                        currentVolume = Math.max(0, Math.min(1, pos));\r\n                        const videoPlayer = document.getElementById('videoPlayer');\r\n                        if (videoPlayer) {\r\n                            videoPlayer.volume = currentVolume;\r\n                            updateVolumeDisplay();\r\n                        }\r\n                    });\r\n                }\r\n\r\n                if (audioVolumeSlider) {\r\n                    handleTouchSlider(audioVolumeSlider, (pos) => {\r\n                        audioCurrentVolume = Math.max(0, Math.min(1, pos));\r\n                        const audioElement = document.getElementById('audioElement');\r\n                        if (audioElement) {\r\n                            audioElement.volume = audioCurrentVolume;\r\n                            updateAudioVolumeDisplay();\r\n                        }\r\n                    });\r\n                }\r\n\r\n                if (progressBar) {\r\n                    handleTouchSlider(progressBar, (pos) => {\r\n                        const videoPlayer = document.getElementById('videoPlayer');\r\n                        if (videoPlayer && videoPlayer.duration) {\r\n                            videoPlayer.currentTime = pos * videoPlayer.duration;\r\n                        }\r\n                    });\r\n                }\r\n\r\n                if (audioProgressBar) {\r\n                    handleTouchSlider(audioProgressBar, (pos) => {\r\n                        const audioElement = document.getElementById('audioElement');\r\n                        if (audioElement && audioElement.duration) {\r\n                            audioElement.currentTime = pos * audioElement.duration;\r\n                        }\r\n                    });\r\n                }\r\n            });\r\n        }\r\n\r\n        \/\/ Initialize\r\n        document.addEventListener('DOMContentLoaded', () => {\r\n            document.getElementById('videoInput').focus();\r\n            updateAudioVolumeDisplay();\r\n            handleTouchEvents();\r\n\r\n            \/\/ Prevent zoom on iOS when focusing inputs\r\n            if (\/iPad|iPhone|iPod\/.test(navigator.userAgent)) {\r\n                const viewport = document.querySelector('meta[name=viewport]');\r\n                if (viewport) {\r\n                    viewport.setAttribute('content', 'width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no');\r\n                }\r\n            }\r\n\r\n            \/\/ Add orientation change handler\r\n            window.addEventListener('orientationchange', () => {\r\n                setTimeout(() => {\r\n                    \/\/ Recalculate dimensions after orientation change\r\n                    window.scrollTo(0, 0);\r\n                }, 100);\r\n            });\r\n\r\n            \/\/ Add resize handler for responsive adjustments\r\n            window.addEventListener('resize', () => {\r\n                \/\/ Handle responsive adjustments\r\n                if (window.innerWidth <= 768) {\r\n                    \/\/ Mobile adjustments\r\n                    showVideoControlsOnMobile();\r\n                }\r\n            });\r\n        });\r\n    <\/script>\r\n<\/div>\r\n\r\n[\/et_pb_fullwidth_code][\/et_pb_section][et_pb_section fb_built=&#8221;1&#8243; fullwidth=&#8221;on&#8221; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; max_width=&#8221;1280px&#8221; module_alignment=&#8221;center&#8221; custom_padding=&#8221;25px||25px||true|false&#8221; locked=&#8221;off&#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;][\/et_pb_fullwidth_code][\/et_pb_section][et_pb_section fb_built=&#8221;1&#8243; fullwidth=&#8221;on&#8221; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_fullwidth_code _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;] <style>\r\n        \/* Prefixed CSS Variables *\/\r\n        :root {\r\n            --tk-video-primary: #EE1D52;\r\n            --tk-video-secondary: #69C9D0;\r\n            --tk-video-dark: #000000;\r\n            --tk-video-accent: #25F4EE;\r\n            --tk-video-text-dark: #030303;\r\n            --tk-video-text-light: #606060;\r\n            --tk-video-bg-light: #f9f9f9;\r\n            --tk-video-border-light: #e5e5e5;\r\n            --tk-video-success: #34a853;\r\n            --tk-video-warning: #fbbc05;\r\n        }\r\n        \r\n \r\n        \r\n        \/* Prefixed Section Styles *\/\r\n        .tk-video-section {\r\n            padding: 80px 0;\r\n            position: relative;\r\n        }\r\n        \r\n        .tk-video-section-heading {\r\n            font-size: 2.75rem;\r\n            font-weight: 700;\r\n            margin-bottom: 1rem;\r\n            text-align: center;\r\n        }\r\n        \r\n        .tk-video-section-description {\r\n            font-size: 1.25rem;\r\n            color: var(--tk-video-text-light);\r\n            text-align: center;\r\n            max-width: 700px;\r\n            margin: 0 auto 3rem;\r\n        }\r\n        \r\n        \/* Prefixed Hero Section *\/\r\n        #tk-video-hero {\r\n            background: linear-gradient(135deg, var(--tk-video-primary), var(--tk-video-secondary), var(--tk-video-dark));\r\n            color: white;\r\n            padding: 120px 0;\r\n            position: relative;\r\n            overflow: hidden;\r\n        }\r\n        \r\n        #tk-video-hero::before {\r\n            content: \"\";\r\n            position: absolute;\r\n            top: 0;\r\n            left: 0;\r\n            width: 100%;\r\n            height: 100%;\r\n            background-image: \r\n                radial-gradient(circle at 20% 50%, rgba(238, 29, 82, 0.2) 0%, transparent 50%),\r\n                radial-gradient(circle at 80% 80%, rgba(105, 201, 208, 0.2) 0%, transparent 50%),\r\n                radial-gradient(circle at 40% 20%, rgba(1, 1, 1, 0.1) 0%, transparent 50%);\r\n        }\r\n        \r\n        .tk-video-hero-content {\r\n            position: relative;\r\n            z-index: 2;\r\n        }\r\n        \r\n        .tk-video-hero-title {\r\n            font-size: 3.5rem;\r\n            font-weight: 700;\r\n            margin-bottom: 1.5rem;\r\n            line-height: 1.2;\r\n        }\r\n        \r\n        .tk-video-hero-subtitle {\r\n            font-size: 1.5rem;\r\n            margin-bottom: 3rem;\r\n            opacity: 0.95;\r\n            font-weight: 400;\r\n        }\r\n        \r\n        .tk-video-btn-container {\r\n            display: flex;\r\n            justify-content: center;\r\n            gap: 15px;\r\n            margin-bottom: 3rem;\r\n        }\r\n        \r\n        .tk-video-btn-hero {\r\n            padding: 14px 32px;\r\n            font-size: 1.1rem;\r\n            font-weight: 600;\r\n            border-radius: 50px;\r\n            transition: all 0.3s ease;\r\n            text-decoration: none;\r\n            display: inline-block;\r\n        }\r\n        \r\n        .tk-video-btn-primary-hero {\r\n            background-color: white;\r\n            color: var(--tk-video-primary);\r\n            border: none;\r\n            box-shadow: 0 4px 15px rgba(0,0,0,0.2);\r\n        }\r\n        \r\n        .tk-video-btn-primary-hero:hover {\r\n            transform: translateY(-3px);\r\n            box-shadow: 0 8px 25px rgba(0,0,0,0.3);\r\n            color: var(--tk-video-primary);\r\n        }\r\n        \r\n        .tk-video-btn-secondary-hero {\r\n            background-color: transparent;\r\n            color: white;\r\n            border: 2px solid white;\r\n        }\r\n        \r\n        .tk-video-btn-secondary-hero:hover {\r\n            background-color: white;\r\n            color: var(--tk-video-primary);\r\n            transform: translateY(-3px);\r\n        }\r\n        \r\n        .tk-video-url-container {\r\n            max-width: 700px;\r\n            margin: 0 auto;\r\n            position: relative;\r\n        }\r\n        \r\n        .tk-video-url-input {\r\n            width: 100%;\r\n            padding: 18px 60px 18px 25px;\r\n            border-radius: 50px;\r\n            border: none;\r\n            font-size: 1.1rem;\r\n            box-shadow: 0 10px 30px rgba(0,0,0,0.2);\r\n            font-family: 'Fira Sans', sans-serif;\r\n        }\r\n        \r\n        .tk-video-url-btn {\r\n            position: absolute;\r\n            right: 8px;\r\n            top: 50%;\r\n            transform: translateY(-50%);\r\n            background-color: var(--tk-video-secondary);\r\n            color: var(--tk-video-dark);\r\n            border: none;\r\n            border-radius: 50%;\r\n            width: 45px;\r\n            height: 45px;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            font-size: 1.2rem;\r\n            transition: all 0.3s ease;\r\n        }\r\n        \r\n        .tk-video-url-btn:hover {\r\n            background-color: var(--tk-video-accent);\r\n            transform: translateY(-50%) scale(1.05);\r\n        }\r\n        \r\n        .tk-video-video-mockup {\r\n            max-width: 350px;\r\n            margin: 3rem auto 0;\r\n            background-color: rgba(255, 255, 255, 0.1);\r\n            backdrop-filter: blur(10px);\r\n            border-radius: 20px;\r\n            overflow: hidden;\r\n            box-shadow: 0 10px 30px rgba(0,0,0,0.3);\r\n            border: 1px solid rgba(255, 255, 255, 0.2);\r\n            position: relative;\r\n        }\r\n        \r\n        .tk-video-mockup-header {\r\n            height: 30px;\r\n            background-color: var(--tk-video-dark);\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            position: relative;\r\n        }\r\n        \r\n        .tk-video-mockup-header::before {\r\n            content: \"\";\r\n            position: absolute;\r\n            top: 0;\r\n            left: 0;\r\n            width: 100%;\r\n            height: 100%;\r\n            background: linear-gradient(90deg, var(--tk-video-secondary), var(--tk-video-accent));\r\n            opacity: 0.7;\r\n        }\r\n        \r\n        .tk-video-mockup-content {\r\n            aspect-ratio: 9\/16;\r\n            background-color: #000;\r\n            position: relative;\r\n            overflow: hidden;\r\n        }\r\n        \r\n        .tk-video-mockup-video {\r\n            width: 100%;\r\n            height: 100%;\r\n            object-fit: cover;\r\n        }\r\n        \r\n        .tk-video-mockup-overlay {\r\n            position: absolute;\r\n            top: 0;\r\n            left: 0;\r\n            width: 100%;\r\n            height: 100%;\r\n            background: linear-gradient(transparent, rgba(0,0,0,0.7));\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n        }\r\n        \r\n        .tk-video-mockup-play-btn {\r\n            width: 60px;\r\n            height: 60px;\r\n            background-color: rgba(255, 255, 255, 0.9);\r\n            border-radius: 50%;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            color: var(--tk-video-primary);\r\n            font-size: 24px;\r\n            box-shadow: 0 5px 15px rgba(0,0,0,0.3);\r\n            transition: all 0.3s ease;\r\n        }\r\n        \r\n        .tk-video-mockup-play-btn:hover {\r\n            transform: scale(1.1);\r\n        }\r\n        \r\n        .tk-video-mockup-actions {\r\n            position: absolute;\r\n            bottom: 20px;\r\n            left: 20px;\r\n            right: 20px;\r\n            display: flex;\r\n            justify-content: space-between;\r\n            align-items: center;\r\n        }\r\n        \r\n        .tk-video-mockup-action {\r\n            color: white;\r\n            font-size: 1.2rem;\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 5px;\r\n        }\r\n        \r\n        .tk-video-mockup-stats {\r\n            color: white;\r\n            font-size: 0.9rem;\r\n            display: flex;\r\n            gap: 15px;\r\n        }\r\n        \r\n        .tk-video-floating-icon {\r\n            position: absolute;\r\n            opacity: 0.15;\r\n            animation: float 15s infinite ease-in-out;\r\n            color: white;\r\n        }\r\n        \r\n        .tk-video-floating-icon:nth-child(1) {\r\n            top: 15%;\r\n            left: 10%;\r\n            font-size: 40px;\r\n            animation-delay: 0s;\r\n        }\r\n        \r\n        .tk-video-floating-icon:nth-child(2) {\r\n            top: 60%;\r\n            right: 10%;\r\n            font-size: 60px;\r\n            animation-delay: 2s;\r\n        }\r\n        \r\n        .tk-video-floating-icon:nth-child(3) {\r\n            bottom: 15%;\r\n            left: 20%;\r\n            font-size: 50px;\r\n            animation-delay: 5s;\r\n        }\r\n        \r\n        @keyframes float {\r\n            0%, 100% {\r\n                transform: translateY(0) rotate(0deg);\r\n            }\r\n            50% {\r\n                transform: translateY(-20px) rotate(10deg);\r\n            }\r\n        }\r\n        \r\n        \/* Prefixed How It Works Section *\/\r\n        #tk-video-how-it-works {\r\n            background-color: var(--tk-video-bg-light);\r\n        }\r\n        \r\n        .tk-video-steps-container {\r\n            max-width: 1000px;\r\n            margin: 0 auto;\r\n        }\r\n        \r\n        .tk-video-step-card {\r\n            background-color: white;\r\n            border-radius: 16px;\r\n            padding: 40px 30px;\r\n            height: 100%;\r\n            box-shadow: 0 5px 20px rgba(0,0,0,0.05);\r\n            transition: all 0.3s ease;\r\n            text-align: center;\r\n            border: 1px solid var(--tk-video-border-light);\r\n            position: relative;\r\n            overflow: hidden;\r\n        }\r\n        \r\n        .tk-video-step-card::before {\r\n            content: \"\";\r\n            position: absolute;\r\n            top: 0;\r\n            left: 0;\r\n            width: 100%;\r\n            height: 5px;\r\n            background: linear-gradient(90deg, var(--tk-video-primary), var(--tk-video-secondary));\r\n        }\r\n        \r\n        .tk-video-step-card:hover {\r\n            transform: translateY(-10px);\r\n            box-shadow: 0 15px 35px rgba(0,0,0,0.1);\r\n        }\r\n        \r\n        .tk-video-step-number {\r\n            display: inline-flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            width: 60px;\r\n            height: 60px;\r\n            background: linear-gradient(135deg, var(--tk-video-primary), var(--tk-video-secondary));\r\n            color: white;\r\n            border-radius: 50%;\r\n            font-size: 1.5rem;\r\n            font-weight: 700;\r\n            margin-bottom: 25px;\r\n        }\r\n        \r\n        .tk-video-step-icon {\r\n            font-size: 3rem;\r\n            background: linear-gradient(135deg, var(--tk-video-primary), var(--tk-video-secondary));\r\n            -webkit-background-clip: text;\r\n            background-clip: text;\r\n            color: transparent;\r\n            margin-bottom: 20px;\r\n            transition: transform 0.3s ease;\r\n        }\r\n        \r\n        .tk-video-step-card:hover .tk-video-step-icon {\r\n            transform: scale(1.1);\r\n        }\r\n        \r\n        .tk-video-step-title {\r\n            font-size: 1.5rem;\r\n            font-weight: 600;\r\n            margin-bottom: 15px;\r\n            color: var(--tk-video-text-dark);\r\n        }\r\n        \r\n        .tk-video-step-description {\r\n            font-size: 1.1rem;\r\n            color: var(--tk-video-text-light);\r\n            line-height: 1.6;\r\n        }\r\n        \r\n        \/* Prefixed Features Section *\/\r\n        #tk-video-features {\r\n            background-color: white;\r\n        }\r\n        \r\n        .tk-video-features-container {\r\n            max-width: 1000px;\r\n            margin: 0 auto;\r\n        }\r\n        \r\n        .tk-video-features-grid {\r\n            display: grid;\r\n            grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));\r\n            gap: 20px;\r\n        }\r\n        \r\n        .tk-video-feature-card {\r\n            background-color: var(--tk-video-bg-light);\r\n            border-radius: 12px;\r\n            padding: 25px;\r\n            box-shadow: 0 3px 10px rgba(0,0,0,0.05);\r\n            transition: all 0.3s ease;\r\n            height: 100%;\r\n            text-align: center;\r\n        }\r\n        \r\n        .tk-video-feature-card:hover {\r\n            transform: translateY(-5px);\r\n            box-shadow: 0 8px 20px rgba(0,0,0,0.1);\r\n        }\r\n        \r\n        .tk-video-feature-icon {\r\n            font-size: 2.5rem;\r\n            margin-bottom: 15px;\r\n            background: linear-gradient(135deg, var(--tk-video-primary), var(--tk-video-secondary));\r\n            -webkit-background-clip: text;\r\n            background-clip: text;\r\n            color: transparent;\r\n            transition: transform 0.3s ease;\r\n        }\r\n        \r\n        .tk-video-feature-card:hover .tk-video-feature-icon {\r\n            transform: scale(1.1);\r\n        }\r\n        \r\n        .tk-video-feature-title {\r\n            font-size: 1.2rem;\r\n            font-weight: 600;\r\n            margin-bottom: 10px;\r\n            color: var(--tk-video-text-dark);\r\n        }\r\n        \r\n        .tk-video-feature-description {\r\n            font-size: 1rem;\r\n            color: var(--tk-video-text-light);\r\n            line-height: 1.5;\r\n        }\r\n        \r\n        .tk-video-pro-badge {\r\n            display: inline-block;\r\n            padding: 3px 8px;\r\n            border-radius: 12px;\r\n            font-size: 0.7rem;\r\n            font-weight: 600;\r\n            margin-top: 10px;\r\n            background-color: var(--tk-video-warning);\r\n            color: white;\r\n        }\r\n        \r\n        \/* Prefixed FAQ Section *\/\r\n        #tk-video-faq {\r\n            background-color: var(--tk-video-bg-light);\r\n        }\r\n        \r\n        .tk-video-faq-container {\r\n            max-width: 800px;\r\n            margin: 0 auto;\r\n        }\r\n        \r\n        .tk-video-accordion-item {\r\n            border: none;\r\n            margin-bottom: 15px;\r\n            border-radius: 12px;\r\n            overflow: hidden;\r\n            box-shadow: 0 3px 10px rgba(0,0,0,0.05);\r\n        }\r\n        \r\n        .tk-video-accordion-button {\r\n            font-size: 1.2rem;\r\n            font-weight: 600;\r\n            padding: 20px 25px;\r\n            background-color: white;\r\n            color: var(--tk-video-text-dark);\r\n            border: none;\r\n            box-shadow: none;\r\n        }\r\n        \r\n        .tk-video-accordion-button:not(.collapsed) {\r\n            color: var(--tk-video-primary);\r\n            background-color: white;\r\n            box-shadow: none;\r\n        }\r\n        \r\n        .tk-video-accordion-button:focus {\r\n            box-shadow: none;\r\n            border: none;\r\n        }\r\n        \r\n        .tk-video-accordion-button::after {\r\n            background-image: url(\"data:image\/svg+xml,%3csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 16 16' fill='%23EE1D52'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'\/%3e%3c\/svg%3e\");\r\n        }\r\n        \r\n        .tk-video-accordion-body {\r\n            padding: 5px 25px 25px;\r\n            font-size: 1.1rem;\r\n            color: var(--tk-video-text-light);\r\n            line-height: 1.7;\r\n        }\r\n        \r\n        \/* Prefixed Modal Styles *\/\r\n        .tk-video-modal-content {\r\n            border-radius: 16px;\r\n            border: none;\r\n            box-shadow: 0 20px 60px rgba(0,0,0,0.2);\r\n        }\r\n        \r\n        .tk-video-modal-header {\r\n            background: linear-gradient(135deg, var(--tk-video-primary), var(--tk-video-secondary));\r\n            color: white;\r\n            border-radius: 16px 16px 0 0;\r\n            padding: 25px 30px;\r\n            border: none;\r\n        }\r\n        \r\n        .tk-video-modal-title {\r\n            font-size: 1.5rem;\r\n            font-weight: 700;\r\n        }\r\n        \r\n        .tk-video-btn-close {\r\n            filter: brightness(0) invert(1);\r\n            opacity: 0.8;\r\n        }\r\n        \r\n        .tk-video-btn-close:hover {\r\n            opacity: 1;\r\n        }\r\n        \r\n        .tk-video-modal-body {\r\n            padding: 30px;\r\n        }\r\n        \r\n        .tk-video-form-control {\r\n            border-radius: 10px;\r\n            border: 1px solid var(--tk-video-border-light);\r\n            padding: 12px 15px;\r\n            font-size: 1.1rem;\r\n            font-family: 'Fira Sans', sans-serif;\r\n        }\r\n        \r\n        .tk-video-form-control:focus {\r\n            border-color: var(--tk-video-secondary);\r\n            box-shadow: 0 0 0 0.2rem rgba(105, 201, 208, 0.25);\r\n        }\r\n        \r\n        .tk-video-form-check-input {\r\n            width: 1.2em;\r\n            height: 1.2em;\r\n            margin-top: 0.3em;\r\n        }\r\n        \r\n        .tk-video-form-check-label {\r\n            font-size: 1.1rem;\r\n            padding-left: 10px;\r\n        }\r\n        \r\n        .tk-video-modal-footer {\r\n            padding: 20px 30px;\r\n            border: none;\r\n        }\r\n        \r\n        .tk-video-btn-modal {\r\n            padding: 10px 25px;\r\n            font-size: 1.1rem;\r\n            font-weight: 600;\r\n            border-radius: 8px;\r\n            transition: all 0.3s ease;\r\n        }\r\n        \r\n        \/* Prefixed Responsive Design *\/\r\n        @media (max-width: 768px) {\r\n            .tk-video-section {\r\n                padding: 60px 0;\r\n            }\r\n            \r\n            .tk-video-section-heading {\r\n                font-size: 2.2rem;\r\n            }\r\n            \r\n            .tk-video-section-description {\r\n                font-size: 1.1rem;\r\n            }\r\n            \r\n            .tk-video-hero-title {\r\n                font-size: 2.5rem;\r\n            }\r\n            \r\n            .tk-video-hero-subtitle {\r\n                font-size: 1.2rem;\r\n            }\r\n            \r\n            .tk-video-btn-container {\r\n                flex-direction: column;\r\n                align-items: center;\r\n            }\r\n            \r\n            .tk-video-btn-hero {\r\n                width: 250px;\r\n            }\r\n            \r\n            .tk-video-step-card {\r\n                margin-bottom: 30px;\r\n            }\r\n        }\r\n    <\/style>\r\n <!-- Prefixed Hero Section -->\r\n    \r\n    <!-- Prefixed How It Works Section -->\r\n    <section id=\"tk-video-how-it-works\" class=\"tk-video-section\">\r\n        <div class=\"container\">\r\n            <h2 class=\"tk-video-section-heading\" data-aos=\"fade-up\">How It Works<\/h2>\r\n            <p class=\"tk-video-section-description\" data-aos=\"fade-up\" data-aos-delay=\"100\">Simple steps to watch TikTok videos anonymously<\/p>\r\n            \r\n            <div class=\"tk-video-steps-container\">\r\n                <div class=\"row g-4\">\r\n                    <div class=\"col-md-4\" data-aos=\"fade-up\" data-aos-delay=\"200\">\r\n                        <div class=\"tk-video-step-card\">\r\n                            <div class=\"tk-video-step-number\">1<\/div>\r\n                            <div class=\"tk-video-step-icon\">\r\n                                <i class=\"fas fa-copy\"><\/i>\r\n                            <\/div>\r\n                            <h3 class=\"tk-video-step-title\">Paste TikTok Video URL<\/h3>\r\n                            <p class=\"tk-video-step-description\">Copy the link of the TikTok video you want to watch<\/p>\r\n                        <\/div>\r\n                    <\/div>\r\n                    \r\n                    <div class=\"col-md-4\" data-aos=\"fade-up\" data-aos-delay=\"300\">\r\n                        <div class=\"tk-video-step-card\">\r\n                            <div class=\"tk-video-step-number\">2<\/div>\r\n                            <div class=\"tk-video-step-icon\">\r\n                                <i class=\"fas fa-mouse-pointer\"><\/i>\r\n                            <\/div>\r\n                            <h3 class=\"tk-video-step-title\">Hit \"Watch\"<\/h3>\r\n                            <p class=\"tk-video-step-description\">Click the watch button and our tool loads the video instantly<\/p>\r\n                        <\/div>\r\n                    <\/div>\r\n                    \r\n                    <div class=\"col-md-4\" data-aos=\"fade-up\" data-aos-delay=\"400\">\r\n                        <div class=\"tk-video-step-card\">\r\n                            <div class=\"tk-video-step-number\">3<\/div>\r\n                            <div class=\"tk-video-step-icon\">\r\n                                <i class=\"fas fa-eye\"><\/i>\r\n                            <\/div>\r\n                            <h3 class=\"tk-video-step-title\">Enjoy the video with no login or app needed<\/h3>\r\n                            <p class=\"tk-video-step-description\">Stream the TikTok video directly in your browser without any restrictions<\/p>\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/section>\r\n\r\n    <!-- Prefixed Features Section -->\r\n    <section id=\"tk-video-features\" class=\"tk-video-section\">\r\n        <div class=\"container\">\r\n            <h2 class=\"tk-video-section-heading\" data-aos=\"fade-up\">Features<\/h2>\r\n            <p class=\"tk-video-section-description\" data-aos=\"fade-up\" data-aos-delay=\"100\">Discover what makes our TikTok Video Viewer special<\/p>\r\n            \r\n            <div class=\"tk-video-features-container\">\r\n                <div class=\"tk-video-features-grid\">\r\n                    <div class=\"tk-video-feature-card\" data-aos=\"fade-up\" data-aos-delay=\"200\">\r\n                        <div class=\"tk-video-feature-icon\">\r\n                            <i class=\"fas fa-user-times\"><\/i>\r\n                        <\/div>\r\n                        <h3 class=\"tk-video-feature-title\">No Login Required<\/h3>\r\n                        <p class=\"tk-video-feature-description\">Watch TikTok videos without creating an account or logging in<\/p>\r\n                    <\/div>\r\n                    \r\n                    <div class=\"tk-video-feature-card\" data-aos=\"fade-up\" data-aos-delay=\"300\">\r\n                        <div class=\"tk-video-feature-icon\">\r\n                            <i class=\"fas fa-rocket\"><\/i>\r\n                        <\/div>\r\n                        <h3 class=\"tk-video-feature-title\">Fast & Lightweight<\/h3>\r\n                        <p class=\"tk-video-feature-description\">Instant loading with minimal resource usage for a smooth experience<\/p>\r\n                    <\/div>\r\n                    \r\n                    <div class=\"tk-video-feature-card\" data-aos=\"fade-up\" data-aos-delay=\"400\">\r\n                        <div class=\"tk-video-feature-icon\">\r\n                            <i class=\"fas fa-user-secret\"><\/i>\r\n                        <\/div>\r\n                        <h3 class=\"tk-video-feature-title\">Anonymous Viewing<\/h3>\r\n                        <p class=\"tk-video-feature-description\">Browse videos without revealing your identity or leaving any trace<\/p>\r\n                    <\/div>\r\n                    \r\n                    <div class=\"tk-video-feature-card\" data-aos=\"fade-up\" data-aos-delay=\"500\">\r\n                        <div class=\"tk-video-feature-icon\">\r\n                            <i class=\"fas fa-laptop\"><\/i>\r\n                        <\/div>\r\n                        <h3 class=\"tk-video-feature-title\">Works on All Devices<\/h3>\r\n                        <p class=\"tk-video-feature-description\">Fully responsive design that works perfectly on mobile, tablet, and desktop<\/p>\r\n                    <\/div>\r\n                    \r\n                    <div class=\"tk-video-feature-card\" data-aos=\"fade-up\" data-aos-delay=\"600\">\r\n                        <div class=\"tk-video-feature-icon\">\r\n                            <i class=\"fas fa-volume-up\"><\/i>\r\n                        <\/div>\r\n                        <h3 class=\"tk-video-feature-title\">Audio\/Video Sync<\/h3>\r\n                        <p class=\"tk-video-feature-description\">Enjoy videos with perfectly synchronized audio and video playback<\/p>\r\n                    <\/div>\r\n                    \r\n                    <div class=\"tk-video-feature-card\" data-aos=\"fade-up\" data-aos-delay=\"700\">\r\n                        <div class=\"tk-video-feature-icon\">\r\n                            <i class=\"fas fa-film\"><\/i>\r\n                        <\/div>\r\n                        <h3 class=\"tk-video-feature-title\">No TikTok Watermark<\/h3>\r\n                        <p class=\"tk-video-feature-description\">Watch videos without the TikTok logo watermark<\/p>\r\n                        <span class=\"tk-video-pro-badge\">Pro only<\/span>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/section>\r\n\r\n    <!-- Prefixed FAQ Section -->\r\n    <section id=\"tk-video-faq\" class=\"tk-video-section\">\r\n        <div class=\"container\">\r\n            <h2 class=\"tk-video-section-heading\" data-aos=\"fade-up\">Frequently Asked Questions<\/h2>\r\n            <p class=\"tk-video-section-description\" data-aos=\"fade-up\" data-aos-delay=\"100\">Get answers to common questions about our TikTok Video Viewer<\/p>\r\n            \r\n            <div class=\"tk-video-faq-container\">\r\n                <div class=\"accordion\" id=\"tk-video-faqAccordion\">\r\n                    <div class=\"tk-video-accordion-item\" data-aos=\"fade-up\" data-aos-delay=\"200\">\r\n                        <h2 class=\"accordion-header\" id=\"tk-video-headingOne\">\r\n                            <button class=\"tk-video-accordion-button\" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#tk-video-collapseOne\" aria-expanded=\"true\" aria-controls=\"tk-video-collapseOne\">\r\n                                Can I download TikTok videos?\r\n                            <\/button>\r\n                        <\/h2>\r\n                        <div id=\"tk-video-collapseOne\" class=\"accordion-collapse collapse show\" aria-labelledby=\"tk-video-headingOne\" data-bs-parent=\"#tk-video-faqAccordion\">\r\n                            <div class=\"tk-video-accordion-body\">\r\n                                Yes, our tool allows you to download TikTok videos for personal use. However, please remember to respect copyright laws and the creator's rights. Downloaded content should not be redistributed or used for commercial purposes without permission.\r\n                            <\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n                    \r\n                    <div class=\"tk-video-accordion-item\" data-aos=\"fade-up\" data-aos-delay=\"300\">\r\n                        <h2 class=\"accordion-header\" id=\"tk-video-headingTwo\">\r\n                            <button class=\"tk-video-accordion-button collapsed\" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#tk-video-collapseTwo\" aria-expanded=\"false\" aria-controls=\"tk-video-collapseTwo\">\r\n                                Does this work on private accounts?\r\n                            <\/button>\r\n                        <\/h2>\r\n                        <div id=\"tk-video-collapseTwo\" class=\"accordion-collapse collapse\" aria-labelledby=\"tk-video-headingTwo\" data-bs-parent=\"#tk-video-faqAccordion\">\r\n                            <div class=\"tk-video-accordion-body\">\r\n                                No, our tool can only access public TikTok videos. We respect TikTok's privacy settings and cannot bypass any privacy restrictions. If a video is set to private or shared only with followers, it cannot be viewed through our tool.\r\n                            <\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n                    \r\n                    <div class=\"tk-video-accordion-item\" data-aos=\"fade-up\" data-aos-delay=\"400\">\r\n                        <h2 class=\"accordion-header\" id=\"tk-video-headingThree\">\r\n                            <button class=\"tk-video-accordion-button collapsed\" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#tk-video-collapseThree\" aria-expanded=\"false\" aria-controls=\"tk-video-collapseThree\">\r\n                                Do I need the TikTok app installed?\r\n                            <\/button>\r\n                        <\/h2>\r\n                        <div id=\"tk-video-collapseThree\" class=\"accordion-collapse collapse\" aria-labelledby=\"tk-video-headingThree\" data-bs-parent=\"#tk-video-faqAccordion\">\r\n                            <div class=\"tk-video-accordion-body\">\r\n                                No, you don't need the TikTok app installed to use our viewer. It works directly in your web browser, allowing you to watch TikTok videos without installing any additional software or applications.\r\n                            <\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n                    \r\n                    <div class=\"tk-video-accordion-item\" data-aos=\"fade-up\" data-aos-delay=\"500\">\r\n                        <h2 class=\"accordion-header\" id=\"tk-video-headingFour\">\r\n                            <button class=\"tk-video-accordion-button collapsed\" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#tk-video-collapseFour\" aria-expanded=\"false\" aria-controls=\"tk-video-collapseFour\">\r\n                                Is the viewer free?\r\n                            <\/button>\r\n                        <\/h2>\r\n                        <div id=\"tk-video-collapseFour\" class=\"accordion-collapse collapse\" aria-labelledby=\"tk-video-headingFour\" data-bs-parent=\"#tk-video-faqAccordion\">\r\n                            <div class=\"tk-video-accordion-body\">\r\n                                Yes, our TikTok Video Viewer is completely free to use. There are no hidden fees, premium features, or subscription requirements. We believe in providing unrestricted access to TikTok content for everyone.\r\n                            <\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/section>\r\n<script>\r\n   \/\/ Initialize AOS\r\n        AOS.init({\r\n            duration: 800,\r\n            once: true\r\n        });\r\n<\/script>[\/et_pb_fullwidth_code][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>    <link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap\"\r\n        rel=\"stylesheet\">\r\n    <link href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/font-awesome\/6.4.0\/css\/all.min.css\" rel=\"stylesheet\">\r\n    <style>\r\n        :root {\r\n            --primary: #ff0050;\r\n            --secondary: #00f2ea;\r\n            --accent: #ff4081;\r\n            --purple: #8b5cf6;\r\n            --purple-light: #a78bfa;\r\n            --purple-dark: #7c3aed;\r\n            --pink: #ec4899;\r\n            --pink-light: #f472b6;\r\n            --orange: #ff8800;\r\n            --green: #00ff88;\r\n            --blue: #3b82f6;\r\n            --yellow: #fbbf24;\r\n            --tiktok-red: #fe2c55;\r\n            --tiktok-blue: #25f4ee;\r\n            --tiktok-purple: #a855f7;\r\n\r\n            \/* Color Scheme *\/\r\n            --bg-primary: #0f0f23;\r\n            --bg-secondary: #1a1a2e;\r\n            --bg-tertiary: #16213e;\r\n            --card-dark: #1e1e3f;\r\n            --card-purple: #2d1b69;\r\n            --card-blue: #0f3460;\r\n            --text-light: #ffffff;\r\n            --text-gray: #a0a0a0;\r\n            --text-purple: #c084fc;\r\n\r\n            --glass-dark: rgba(30, 30, 63, 0.8);\r\n            --glass-purple: rgba(45, 27, 105, 0.8);\r\n            --glass-blue: rgba(15, 52, 96, 0.8);\r\n            --glass-border: rgba(255, 255, 255, 0.1);\r\n\r\n            --shadow: 0 4px 20px rgba(0, 0, 0, 0.3);\r\n            --shadow-lg: 0 8px 40px rgba(0, 0, 0, 0.4);\r\n            --shadow-xl: 0 16px 60px rgba(0, 0, 0, 0.5);\r\n            --shadow-purple: 0 8px 32px rgba(139, 92, 246, 0.3);\r\n            --shadow-pink: 0 8px 32px rgba(236, 72, 153, 0.3);\r\n            --shadow-blue: 0 8px 32px rgba(37, 244, 238, 0.3);\r\n\r\n            --glow-purple: 0 0 30px rgba(139, 92, 246, 0.5);\r\n            --glow-pink: 0 0 30px rgba(236, 72, 153, 0.5);\r\n            --glow-blue: 0 0 30px rgba(37, 244, 238, 0.5);\r\n            --glow-tiktok: 0 0 40px rgba(254, 44, 85, 0.6);\r\n        }\r\n\r\n        * {\r\n            margin: 0;\r\n            padding: 0;\r\n            box-sizing: border-box;\r\n        }\r\n\r\n        .tiktok_body{\r\n            font-family: 'Inter', sans-serif;\r\n            background: linear-gradient(135deg,\r\n                    var(--bg-primary) 0%,\r\n                    var(--bg-secondary) 25%,\r\n                    var(--bg-tertiary) 50%,\r\n                    var(--card-purple) 75%,\r\n                    var(--card-blue) 100%);\r\n            background-size: 400% 400%;\r\n            animation: gradientShift 20s ease infinite;\r\n            color: var(--text-light);\r\n            \r\n            overflow-x: hidden;\r\n            position: relative;\r\n        }\r\n\r\n        .tiktok_body::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% 30%, rgba(139, 92, 246, 0.1) 0%, transparent 50%),\r\n                radial-gradient(circle at 80% 70%, rgba(236, 72, 153, 0.1) 0%, transparent 50%),\r\n                radial-gradient(circle at 50% 50%, rgba(37, 244, 238, 0.08) 0%, transparent 60%);\r\n            pointer-events: none;\r\n            z-index: -1;\r\n            animation: backgroundFloat 15s ease-in-out infinite;\r\n        }\r\n\r\n        .container_tiktok {\r\n            max-width: 1200px;\r\n            margin: 0 auto;\r\n            padding: 100px 20px;\r\n            position: relative;\r\n            z-index: 1;\r\n        }\r\n\r\n        \/* Header *\/\r\n        .header {\r\n            text-align: center;\r\n            margin-bottom: 2.5rem;\r\n            animation: fadeInDown 1s ease-out;\r\n        }\r\n\r\n        .logo {\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            gap: 1.5rem;\r\n            margin-bottom: 1rem;\r\n            flex-wrap: wrap;\r\n        }\r\n\r\n        .logo-icon {\r\n            width: 70px;\r\n            height: 70px;\r\n            background: linear-gradient(135deg, var(--tiktok-red), var(--pink), var(--purple));\r\n            border-radius: 20px;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            font-size: 28px;\r\n            color: white;\r\n            box-shadow: var(--shadow-xl), var(--glow-tiktok);\r\n            animation: logoFloat 4s ease-in-out infinite;\r\n            position: relative;\r\n            overflow: hidden;\r\n            border: 2px solid rgba(255, 255, 255, 0.1);\r\n            flex-shrink: 0;\r\n        }\r\n\r\n        .logo-icon::before {\r\n            content: '';\r\n            position: absolute;\r\n            top: -50%;\r\n            left: -50%;\r\n            width: 200%;\r\n            height: 200%;\r\n            background: linear-gradient(45deg, transparent, rgba(255, 255, 255, 0.3), transparent);\r\n            animation: logoShine 3s ease-in-out infinite;\r\n        }\r\n\r\n        .logo-text {\r\n            font-size: clamp(1.8rem, 5vw, 3.5rem);\r\n            font-weight: 900;\r\n            background: linear-gradient(135deg, var(--tiktok-red), var(--tiktok-blue), var(--purple), var(--pink));\r\n            background-size: 300% 300%;\r\n            -webkit-background-clip: text;\r\n            -webkit-text-fill-color: transparent;\r\n            letter-spacing: -2px;\r\n            animation: textGradient 4s ease infinite;\r\n            filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.3));\r\n            text-align: center;\r\n        }\r\n\r\n        .subtitle {\r\n            font-size: clamp(0.9rem, 2.5vw, 1.1rem);\r\n            color: var(--text-gray);\r\n            font-weight: 500;\r\n            margin-top: 0.5rem;\r\n            animation: subtitleGlow 3s ease-in-out infinite;\r\n            text-align: center;\r\n            padding: 0 1rem;\r\n        }\r\n\r\n        \/* Enhanced Search Section *\/\r\n        .search-section {\r\n            background: linear-gradient(135deg,\r\n                    var(--glass-dark) 0%,\r\n                    var(--glass-purple) 50%,\r\n                    var(--glass-blue) 100%);\r\n            backdrop-filter: blur(25px);\r\n            border: 2px solid var(--glass-border);\r\n            border-radius: 24px;\r\n            padding: clamp(1.5rem, 4vw, 2.5rem);\r\n            margin-bottom: 2rem;\r\n            box-shadow: var(--shadow-xl), var(--shadow-purple);\r\n            animation: fadeInUp 1s ease-out 0.2s both;\r\n            position: relative;\r\n            overflow: hidden;\r\n        }\r\n\r\n        .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,\r\n                    transparent,\r\n                    var(--purple),\r\n                    var(--pink),\r\n                    var(--tiktok-blue),\r\n                    transparent);\r\n            animation: borderFlow 3s ease-in-out infinite;\r\n        }\r\n\r\n        .search-section::after {\r\n            content: '';\r\n            position: absolute;\r\n            top: 0;\r\n            left: 0;\r\n            width: 100%;\r\n            height: 100%;\r\n            background: linear-gradient(135deg,\r\n                    rgba(139, 92, 246, 0.05) 0%,\r\n                    rgba(236, 72, 153, 0.05) 50%,\r\n                    rgba(37, 244, 238, 0.05) 100%);\r\n            pointer-events: none;\r\n            border-radius: 24px;\r\n            animation: overlayPulse 6s ease-in-out infinite;\r\n        }\r\n\r\n        .input-group {\r\n            position: relative;\r\n            margin-bottom: 1.5rem;\r\n            z-index: 2;\r\n        }\r\n\r\n        .input-field {\r\n            width: 100% !important;\r\n            padding: clamp(1rem, 3vw, 1.5rem) clamp(1.2rem, 4vw, 2rem) !important;\r\n            background: linear-gradient(135deg,\r\n                    rgba(30, 30, 63, 0.9) 0%,\r\n                    rgba(45, 27, 105, 0.7) 100%) !important;\r\n            border: 2px solid rgba(139, 92, 246, 0.3) !important;\r\n            border-radius: 20px !important;\r\n            color: var(--text-light) !important;\r\n            font-size: clamp(0.9rem, 2.5vw, 1.1rem) !important;\r\n            font-weight: 500 !important;\r\n            transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;\r\n            outline: none !important;\r\n            backdrop-filter: blur(15px) !important;\r\n            box-shadow: var(--shadow), inset 0 2px 10px rgba(0, 0, 0, 0.2) !important;\r\n            position: relative;\r\n        }\r\n\r\n        .input-field::before {\r\n            content: '';\r\n            position: absolute;\r\n            top: 0;\r\n            left: 0;\r\n            right: 0;\r\n            bottom: 0;\r\n            background: linear-gradient(135deg,\r\n                    rgba(139, 92, 246, 0.1) 0%,\r\n                    rgba(236, 72, 153, 0.1) 100%);\r\n            border-radius: 20px;\r\n            opacity: 0;\r\n            transition: opacity 0.4s ease;\r\n            pointer-events: none;\r\n        }\r\n\r\n        .input-field:focus {\r\n            border-color: var(--purple) !important;\r\n            box-shadow:\r\n                0 0 0 4px rgba(139, 92, 246, 0.2),\r\n                var(--glow-purple),\r\n                inset 0 2px 10px rgba(0, 0, 0, 0.3);\r\n            background: linear-gradient(135deg,\r\n                    rgba(30, 30, 63, 0.95) 0%,\r\n                    rgba(45, 27, 105, 0.8) 100%) !important;\r\n            transform: translateY(-3px) scale(1.01) !important;\r\n            animation: inputFocusGlow 2s ease-in-out infinite !important;\r\n        }\r\n\r\n        .input-field:focus::before {\r\n            opacity: 1;\r\n        }\r\n\r\n        .input-field::placeholder {\r\n            color: var(--text-gray);\r\n            transition: all 0.3s ease;\r\n            font-weight: 400;\r\n        }\r\n\r\n        .input-field:focus::placeholder {\r\n            color: var(--text-purple);\r\n            transform: translateY(-2px);\r\n            opacity: 0.8;\r\n        }\r\n\r\n        .input-actions {\r\n            display: flex;\r\n            justify-content: space-between;\r\n            align-items: center;\r\n            margin-top: 1rem;\r\n            font-size: clamp(0.8rem, 2vw, 0.9rem);\r\n            color: var(--text-gray);\r\n            z-index: 2;\r\n            position: relative;\r\n            flex-wrap: wrap;\r\n            gap: 0.5rem;\r\n        }\r\n\r\n        .paste-btn {\r\n            background: linear-gradient(135deg, var(--tiktok-blue), var(--secondary));\r\n            border: none;\r\n            color: white;\r\n            cursor: pointer;\r\n            padding: clamp(0.5rem, 2vw, 0.7rem) clamp(0.8rem, 3vw, 1.4rem);\r\n            border-radius: 14px;\r\n            transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 0.5rem;\r\n            font-weight: 600;\r\n            box-shadow: var(--shadow), var(--shadow-blue);\r\n            font-size: clamp(0.8rem, 2vw, 0.9rem);\r\n            position: relative;\r\n            overflow: hidden;\r\n            border: 1px solid rgba(37, 244, 238, 0.3);\r\n            min-height: 44px;\r\n            \/* Touch-friendly *\/\r\n        }\r\n\r\n        .paste-btn::before {\r\n            content: '';\r\n            position: absolute;\r\n            top: 0;\r\n            left: -100%;\r\n            width: 100%;\r\n            height: 100%;\r\n            background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);\r\n            transition: left 0.5s;\r\n        }\r\n\r\n        .paste-btn:hover::before,\r\n        .paste-btn:active::before {\r\n            left: 100%;\r\n        }\r\n\r\n        .paste-btn:hover,\r\n        .paste-btn:active {\r\n            transform: translateY(-3px) scale(1.05);\r\n            box-shadow: var(--shadow-lg), var(--glow-blue);\r\n            background: linear-gradient(135deg, var(--tiktok-blue), var(--blue));\r\n        }\r\n\r\n        .action-buttons {\r\n            display: grid;\r\n            grid-template-columns: 1fr;\r\n            gap: 1rem;\r\n            align-items: center;\r\n            z-index: 2;\r\n            position: relative;\r\n        }\r\n\r\n        .search-btn {\r\n            background: linear-gradient(135deg, var(--tiktok-red), var(--pink), var(--purple));\r\n            background-size: 200% 200%;\r\n            color: white;\r\n            border: none;\r\n            padding: clamp(1rem, 3vw, 1.4rem) clamp(1.5rem, 4vw, 2.8rem);\r\n            border-radius: 20px;\r\n            font-size: clamp(0.9rem, 2.5vw, 1.1rem);\r\n            font-weight: 700;\r\n            cursor: pointer;\r\n            transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);\r\n            position: relative;\r\n            overflow: hidden;\r\n            box-shadow: var(--shadow-lg), var(--shadow-pink);\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            gap: 0.75rem;\r\n            min-height: 56px;\r\n            animation: buttonPulse 4s ease-in-out infinite;\r\n            border: 2px solid rgba(254, 44, 85, 0.3);\r\n            width: 100%;\r\n        }\r\n\r\n        .search-btn::before {\r\n            content: '';\r\n            position: absolute;\r\n            top: 0;\r\n            left: -100%;\r\n            width: 100%;\r\n            height: 100%;\r\n            background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);\r\n            transition: left 0.6s;\r\n        }\r\n\r\n        .search-btn:hover:not(:disabled)::before,\r\n        .search-btn:active:not(:disabled)::before {\r\n            left: 100%;\r\n        }\r\n\r\n        .search-btn:hover:not(:disabled),\r\n        .search-btn:active:not(:disabled) {\r\n            transform: translateY(-4px) scale(1.02);\r\n            box-shadow: var(--shadow-xl), var(--glow-tiktok);\r\n            background-position: 100% 100%;\r\n            animation: buttonHoverGlow 1s ease-in-out infinite;\r\n        }\r\n\r\n        .search-btn:disabled {\r\n            opacity: 0.6;\r\n            cursor: not-allowed;\r\n            transform: none;\r\n            animation: none;\r\n        }\r\n\r\n        .search-another-btn {\r\n            background: linear-gradient(135deg, var(--purple), var(--purple-dark));\r\n            color: white;\r\n            border: none;\r\n            padding: clamp(0.8rem, 2.5vw, 1.1rem) clamp(1rem, 3vw, 1.6rem);\r\n            border-radius: 18px;\r\n            cursor: pointer;\r\n            transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            gap: 0.5rem;\r\n            min-height: 48px;\r\n            width: 100%;\r\n            font-weight: 600;\r\n            box-shadow: var(--shadow), var(--shadow-purple);\r\n            font-size: clamp(0.8rem, 2vw, 0.95rem);\r\n            position: relative;\r\n            overflow: hidden;\r\n            border: 2px solid rgba(139, 92, 246, 0.3);\r\n        }\r\n\r\n        .search-another-btn::before {\r\n            content: '';\r\n            position: absolute;\r\n            top: 0;\r\n            left: -100%;\r\n            width: 100%;\r\n            height: 100%;\r\n            background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);\r\n            transition: left 0.5s;\r\n        }\r\n\r\n        .search-another-btn:hover::before,\r\n        .search-another-btn:active::before {\r\n            left: 100%;\r\n        }\r\n\r\n        .search-another-btn:hover,\r\n        .search-another-btn:active {\r\n            transform: translateY(-3px) scale(1.05);\r\n            box-shadow: var(--shadow-lg), var(--glow-purple);\r\n        }\r\n\r\n        \/* Loading Animation - NO FLOATING *\/\r\n        .loading {\r\n            display: none;\r\n            text-align: center;\r\n            padding: clamp(2rem, 5vw, 3.5rem) clamp(1.5rem, 4vw, 2.5rem);\r\n            background: linear-gradient(135deg,\r\n                    var(--glass-dark) 0%,\r\n                    var(--glass-purple) 50%,\r\n                    var(--glass-blue) 100%);\r\n            backdrop-filter: blur(25px);\r\n            border: 2px solid var(--glass-border);\r\n            border-radius: 24px;\r\n            margin: 2rem 0;\r\n            box-shadow: var(--shadow-xl), var(--shadow-purple);\r\n        }\r\n\r\n        .loading::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,\r\n                    transparent,\r\n                    var(--purple),\r\n                    var(--pink),\r\n                    transparent);\r\n            border-radius: 24px 24px 0 0;\r\n        }\r\n\r\n        .loading-spinner {\r\n            width: clamp(60px, 15vw, 100px);\r\n            height: clamp(60px, 15vw, 100px);\r\n            margin: 0 auto 2rem;\r\n            position: relative;\r\n        }\r\n\r\n        .spinner-ring {\r\n            position: absolute;\r\n            border: 4px solid transparent;\r\n            border-radius: 50%;\r\n            animation: spin 2s linear infinite;\r\n        }\r\n\r\n        .spinner-ring:nth-child(1) {\r\n            width: 100%;\r\n            height: 100%;\r\n            border-top-color: var(--tiktok-red);\r\n            border-right-color: var(--tiktok-red);\r\n            animation-duration: 2s;\r\n            box-shadow: 0 0 20px rgba(254, 44, 85, 0.4);\r\n        }\r\n\r\n        .spinner-ring:nth-child(2) {\r\n            width: 75%;\r\n            height: 75%;\r\n            top: 12.5%;\r\n            left: 12.5%;\r\n            border-bottom-color: var(--tiktok-blue);\r\n            border-left-color: var(--tiktok-blue);\r\n            animation-duration: 1.5s;\r\n            animation-direction: reverse;\r\n            box-shadow: 0 0 15px rgba(37, 244, 238, 0.4);\r\n        }\r\n\r\n        .spinner-ring:nth-child(3) {\r\n            width: 50%;\r\n            height: 50%;\r\n            top: 25%;\r\n            left: 25%;\r\n            border-top-color: var(--purple);\r\n            animation-duration: 1s;\r\n            box-shadow: 0 0 10px rgba(139, 92, 246, 0.4);\r\n        }\r\n\r\n        .loading-text {\r\n            font-size: clamp(1rem, 3vw, 1.4rem);\r\n            font-weight: 700;\r\n            margin-bottom: 0.5rem;\r\n            background: linear-gradient(135deg, var(--tiktok-red), var(--tiktok-blue), var(--purple));\r\n            background-size: 200% 200%;\r\n            -webkit-background-clip: text;\r\n            -webkit-text-fill-color: transparent;\r\n            animation: textGradient 3s ease infinite;\r\n        }\r\n\r\n        .loading-subtext {\r\n            color: var(--text-gray);\r\n            font-size: clamp(0.8rem, 2vw, 1rem);\r\n            animation: textFade 2s ease-in-out infinite;\r\n        }\r\n\r\n        \/* Main Video Section - NO FLOATING *\/\r\n        .video-section {\r\n            display: none;\r\n            animation: fadeInUp 0.8s ease-out;\r\n            background: linear-gradient(135deg,\r\n                    var(--glass-dark) 0%,\r\n                    var(--glass-purple) 30%,\r\n                    var(--glass-blue) 70%,\r\n                    var(--glass-dark) 100%);\r\n            backdrop-filter: blur(25px);\r\n            border: 2px solid var(--glass-border);\r\n            border-radius: 24px;\r\n            padding: clamp(1.5rem, 4vw, 2.5rem);\r\n            box-shadow: var(--shadow-xl), var(--shadow-purple);\r\n            position: relative;\r\n            overflow: hidden;\r\n        }\r\n\r\n        .video-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,\r\n                    transparent,\r\n                    var(--tiktok-red),\r\n                    var(--tiktok-blue),\r\n                    var(--purple),\r\n                    var(--pink),\r\n                    transparent);\r\n            animation: borderFlow 4s ease-in-out infinite;\r\n        }\r\n\r\n        \/* Author Info - NO FLOATING *\/\r\n        .author-section {\r\n            display: flex;\r\n            align-items: center;\r\n            gap: clamp(0.8rem, 3vw, 1.2rem);\r\n            margin-bottom: 1.5rem;\r\n            padding: clamp(1rem, 3vw, 1.5rem);\r\n            background: linear-gradient(135deg,\r\n                    rgba(139, 92, 246, 0.15) 0%,\r\n                    rgba(236, 72, 153, 0.15) 50%,\r\n                    rgba(37, 244, 238, 0.15) 100%);\r\n            border-radius: 20px;\r\n            border: 1px solid rgba(139, 92, 246, 0.3);\r\n            width: 100%;\r\n            box-shadow: var(--shadow), var(--shadow-purple);\r\n            transition: all 0.4s ease;\r\n            flex-wrap: wrap;\r\n            justify-content: center;\r\n            text-align: center;\r\n        }\r\n\r\n        .author-section:hover,\r\n        .author-section:active {\r\n            transform: translateY(-3px);\r\n            box-shadow: var(--shadow-lg), var(--glow-purple);\r\n        }\r\n\r\n        .author-avatar {\r\n            width: clamp(50px, 12vw, 60px);\r\n            height: clamp(50px, 12vw, 60px);\r\n            border-radius: 50%;\r\n            object-fit: cover;\r\n            border: 3px solid transparent;\r\n            background: linear-gradient(135deg, var(--tiktok-red), var(--tiktok-blue));\r\n            padding: 2px;\r\n            box-shadow: var(--shadow), var(--shadow-pink);\r\n            animation: avatarPulse 4s ease-in-out infinite;\r\n            flex-shrink: 0;\r\n        }\r\n\r\n        .author-details {\r\n            flex: 1;\r\n            min-width: 0;\r\n        }\r\n\r\n        .author-details h3 {\r\n            font-size: clamp(1rem, 3vw, 1.2rem);\r\n            font-weight: 700;\r\n            margin-bottom: 0.25rem;\r\n            background: linear-gradient(135deg, var(--tiktok-red), var(--tiktok-blue));\r\n            -webkit-background-clip: text;\r\n            -webkit-text-fill-color: transparent;\r\n            word-break: break-word;\r\n        }\r\n\r\n        .author-username {\r\n            color: var(--text-gray);\r\n            font-size: clamp(0.8rem, 2.5vw, 0.95rem);\r\n            font-weight: 500;\r\n            word-break: break-word;\r\n        }\r\n\r\n        \/* Title - NO FLOATING *\/\r\n        .video-title {\r\n            font-size: clamp(1.2rem, 4vw, 1.6rem);\r\n            font-weight: 800;\r\n            margin-bottom: 1.5rem;\r\n            line-height: 1.4;\r\n            color: var(--text-light);\r\n            width: 100%;\r\n            text-align: center;\r\n            text-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);\r\n            word-break: break-word;\r\n            padding: 0 1rem;\r\n        }\r\n\r\n        \/* Stats Grid - NO FLOATING - REMOVED SIZE *\/\r\n        .video-stats {\r\n            display: grid;\r\n            grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));\r\n            gap: clamp(0.5rem, 2vw, 1rem);\r\n            margin-bottom: 2rem;\r\n        }\r\n\r\n        .stat-item {\r\n            background: linear-gradient(135deg,\r\n                    var(--glass-dark) 0%,\r\n                    var(--glass-purple) 100%);\r\n            padding: clamp(0.8rem, 3vw, 1.2rem);\r\n            border-radius: 18px;\r\n            text-align: center;\r\n            border: 1px solid var(--glass-border);\r\n            transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);\r\n            position: relative;\r\n            overflow: hidden;\r\n            box-shadow: var(--shadow);\r\n            backdrop-filter: blur(15px);\r\n            min-height: 80px;\r\n            display: flex;\r\n            flex-direction: column;\r\n            justify-content: center;\r\n        }\r\n\r\n        .stat-item::before {\r\n            content: '';\r\n            position: absolute;\r\n            top: 0;\r\n            left: -100%;\r\n            width: 100%;\r\n            height: 100%;\r\n            background: linear-gradient(90deg, transparent, rgba(139, 92, 246, 0.3), transparent);\r\n            transition: left 0.6s;\r\n        }\r\n\r\n        .stat-item:hover::before,\r\n        .stat-item:active::before {\r\n            left: 100%;\r\n        }\r\n\r\n        .stat-item:hover,\r\n        .stat-item:active {\r\n            transform: translateY(-5px) scale(1.02);\r\n            box-shadow: var(--shadow-lg), var(--glow-purple);\r\n        }\r\n\r\n        .stat-item.views {\r\n            border-color: rgba(254, 44, 85, 0.4);\r\n            background: linear-gradient(135deg,\r\n                    rgba(254, 44, 85, 0.1) 0%,\r\n                    var(--glass-dark) 100%);\r\n        }\r\n\r\n        .stat-item.likes {\r\n            border-color: rgba(37, 244, 238, 0.4);\r\n            background: linear-gradient(135deg,\r\n                    rgba(37, 244, 238, 0.1) 0%,\r\n                    var(--glass-dark) 100%);\r\n        }\r\n\r\n        .stat-item.comments {\r\n            border-color: rgba(168, 85, 247, 0.4);\r\n            background: linear-gradient(135deg,\r\n                    rgba(168, 85, 247, 0.1) 0%,\r\n                    var(--glass-dark) 100%);\r\n        }\r\n\r\n        .stat-item.shares {\r\n            border-color: rgba(255, 136, 0, 0.4);\r\n            background: linear-gradient(135deg,\r\n                    rgba(255, 136, 0, 0.1) 0%,\r\n                    var(--glass-dark) 100%);\r\n        }\r\n\r\n        .stat-item.duration {\r\n            border-color: rgba(59, 130, 246, 0.4);\r\n            background: linear-gradient(135deg,\r\n                    rgba(59, 130, 246, 0.1) 0%,\r\n                    var(--glass-dark) 100%);\r\n        }\r\n\r\n        .stat-value {\r\n            font-size: clamp(1.2rem, 4vw, 1.6rem);\r\n            font-weight: 900;\r\n            display: block;\r\n            margin-bottom: 0.25rem;\r\n            background: linear-gradient(135deg, var(--tiktok-red), var(--tiktok-blue));\r\n            -webkit-background-clip: text;\r\n            -webkit-text-fill-color: transparent;\r\n            animation: valueGlow 4s ease-in-out infinite;\r\n        }\r\n\r\n        .stat-label {\r\n            font-size: clamp(0.7rem, 2vw, 0.8rem);\r\n            color: var(--text-gray);\r\n            font-weight: 600;\r\n            text-transform: uppercase;\r\n            letter-spacing: 0.5px;\r\n        }\r\n\r\n        \/* Video Streaming Area - NO FLOATING *\/\r\n        .video-streaming-area {\r\n            background: linear-gradient(135deg,\r\n                    rgba(254, 44, 85, 0.08) 0%,\r\n                    rgba(37, 244, 238, 0.08) 50%,\r\n                    rgba(168, 85, 247, 0.08) 100%);\r\n            border: 2px solid rgba(254, 44, 85, 0.3);\r\n            border-radius: 24px;\r\n            padding: clamp(1.5rem, 4vw, 2.5rem);\r\n            margin-bottom: 1.5rem;\r\n            position: relative;\r\n            overflow: hidden;\r\n            box-shadow: var(--shadow-lg), var(--shadow-pink);\r\n            backdrop-filter: blur(15px);\r\n        }\r\n\r\n        .video-streaming-area::before {\r\n            content: '';\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(254, 44, 85, 0.05) 1px, transparent 1px),\r\n                linear-gradient(90deg, rgba(37, 244, 238, 0.05) 1px, transparent 1px);\r\n            background-size: 30px 30px;\r\n            opacity: 0.6;\r\n            pointer-events: none;\r\n            z-index: 1;\r\n            animation: gridMove 12s linear infinite;\r\n        }\r\n\r\n        .video-streaming-area::after {\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,\r\n                    transparent,\r\n                    var(--tiktok-red),\r\n                    var(--tiktok-blue),\r\n                    var(--purple),\r\n                    transparent);\r\n            z-index: 2;\r\n            animation: borderFlow 3s ease-in-out infinite;\r\n        }\r\n\r\n        .streaming-header {\r\n            text-align: center;\r\n            margin-bottom: 2rem;\r\n            position: relative;\r\n            z-index: 3;\r\n        }\r\n\r\n        .streaming-title {\r\n            font-size: clamp(1rem, 3vw, 1.3rem);\r\n            font-weight: 700;\r\n            margin-bottom: 0.5rem;\r\n            background: linear-gradient(135deg, var(--tiktok-red), var(--tiktok-blue));\r\n            -webkit-background-clip: text;\r\n            -webkit-text-fill-color: transparent;\r\n            animation: titlePulse 4s ease-in-out infinite;\r\n        }\r\n\r\n        .streaming-subtitle {\r\n            color: var(--text-gray);\r\n            font-size: clamp(0.8rem, 2vw, 0.95rem);\r\n            font-weight: 500;\r\n        }\r\n\r\n        \/* Video Player - NO FLOATING *\/\r\n        .video-player-wrapper {\r\n            position: relative;\r\n            width: 100%;\r\n            max-width: min(380px, 90vw);\r\n            margin: 0 auto;\r\n            aspect-ratio: 9\/16;\r\n            border-radius: 24px;\r\n            overflow: hidden;\r\n            box-shadow: var(--shadow-xl), var(--shadow-pink);\r\n            background: #000;\r\n            z-index: 3;\r\n            border: 2px solid rgba(254, 44, 85, 0.3);\r\n        }\r\n\r\n        .video-thumbnail {\r\n            position: absolute;\r\n            top: 0;\r\n            left: 0;\r\n            width: 100%;\r\n            height: 100%;\r\n            object-fit: cover;\r\n            z-index: 4;\r\n            cursor: pointer;\r\n            transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);\r\n        }\r\n\r\n        .video-thumbnail:hover,\r\n        .video-thumbnail:active {\r\n            transform: scale(1.02);\r\n        }\r\n\r\n        .thumbnail-overlay {\r\n            position: absolute;\r\n            top: 0;\r\n            left: 0;\r\n            width: 100%;\r\n            height: 100%;\r\n            background: rgba(0, 0, 0, 0.4);\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            z-index: 5;\r\n            cursor: pointer;\r\n            transition: all 0.4s ease;\r\n            backdrop-filter: blur(2px);\r\n        }\r\n\r\n        .thumbnail-overlay:hover,\r\n        .thumbnail-overlay:active {\r\n            background: rgba(0, 0, 0, 0.6);\r\n            backdrop-filter: blur(4px);\r\n        }\r\n\r\n        .thumbnail-play-btn {\r\n            width: clamp(60px, 15vw, 80px);\r\n            height: clamp(60px, 15vw, 80px);\r\n            background: linear-gradient(135deg, var(--tiktok-red), var(--pink));\r\n            border: none;\r\n            border-radius: 50%;\r\n            color: white;\r\n            font-size: clamp(1.5rem, 4vw, 2rem);\r\n            cursor: pointer;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            box-shadow: var(--shadow-xl), var(--glow-tiktok);\r\n            transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);\r\n            position: relative;\r\n            overflow: hidden;\r\n            animation: playButtonPulse 3s ease-in-out infinite;\r\n            border: 2px solid rgba(255, 255, 255, 0.2);\r\n            min-height: 44px;\r\n            \/* Touch-friendly *\/\r\n        }\r\n\r\n        .thumbnail-play-btn::before {\r\n            content: '';\r\n            position: absolute;\r\n            top: 0;\r\n            left: 0;\r\n            right: 0;\r\n            bottom: 0;\r\n            background: linear-gradient(45deg, transparent, rgba(255, 255, 255, 0.3), transparent);\r\n            transform: translateX(-100%);\r\n            transition: transform 0.6s;\r\n        }\r\n\r\n        .thumbnail-play-btn::hover,\r\n        .thumbnail-play-btn::active {\r\n            transform: translateX(100%);\r\n        }\r\n\r\n        .thumbnail-play-btn:hover,\r\n        .thumbnail-play-btn:active {\r\n            transform: scale(1.15);\r\n            box-shadow: var(--shadow-xl), var(--glow-tiktok);\r\n        }\r\n\r\n        .video-player {\r\n            width: 100%;\r\n            height: 100%;\r\n            object-fit: contain;\r\n            background: #000;\r\n            position: relative;\r\n            z-index: 2;\r\n            display: none;\r\n        }\r\n\r\n        .video-player.playing {\r\n            display: block;\r\n        }\r\n\r\n        .video-controls {\r\n            position: absolute;\r\n            bottom: 0;\r\n            left: 0;\r\n            right: 0;\r\n            background: linear-gradient(transparent, rgba(0, 0, 0, 0.9));\r\n            padding: clamp(1rem, 3vw, 1.5rem);\r\n            transform: translateY(100%);\r\n            transition: transform 0.4s ease;\r\n            z-index: 10;\r\n            backdrop-filter: blur(10px);\r\n        }\r\n\r\n        .video-player-wrapper:hover .video-controls,\r\n        .video-controls.show {\r\n            transform: translateY(0);\r\n        }\r\n\r\n        .progress-bar {\r\n            width: 100%;\r\n            height: clamp(4px, 1.5vw, 6px);\r\n            background: rgba(255, 255, 255, 0.2);\r\n            border-radius: 3px;\r\n            margin-bottom: 0.5rem;\r\n            cursor: pointer;\r\n            position: relative;\r\n            overflow: hidden;\r\n            min-height: 20px;\r\n            \/* Touch-friendly *\/\r\n            display: flex;\r\n            align-items: center;\r\n        }\r\n\r\n        .progress-fill {\r\n            height: 100%;\r\n            background: linear-gradient(90deg, var(--tiktok-red), var(--pink));\r\n            border-radius: 3px;\r\n            width: 0%;\r\n            transition: width 0.1s linear;\r\n            box-shadow: 0 0 10px rgba(254, 44, 85, 0.5);\r\n        }\r\n\r\n        \/* Video Time Display *\/\r\n        .video-time {\r\n            display: flex;\r\n            justify-content: space-between;\r\n            font-size: clamp(0.7rem, 2vw, 0.8rem);\r\n            color: var(--text-gray);\r\n            margin-bottom: 1rem;\r\n        }\r\n\r\n        .control-buttons {\r\n            display: flex;\r\n            justify-content: space-between;\r\n            align-items: center;\r\n            flex-wrap: wrap;\r\n            gap: 1rem;\r\n        }\r\n\r\n        .control-group {\r\n            display: flex;\r\n            align-items: center;\r\n            gap: clamp(0.5rem, 2vw, 0.75rem);\r\n            flex-wrap: wrap;\r\n        }\r\n\r\n        .control-btn {\r\n            background: rgba(255, 255, 255, 0.15);\r\n            border: none;\r\n            color: white;\r\n            width: clamp(40px, 10vw, 44px);\r\n            height: clamp(40px, 10vw, 44px);\r\n            border-radius: 50%;\r\n            cursor: pointer;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            transition: all 0.3s ease;\r\n            backdrop-filter: blur(10px);\r\n            border: 1px solid rgba(255, 255, 255, 0.2);\r\n            font-size: clamp(0.8rem, 2vw, 1rem);\r\n            min-height: 44px;\r\n            \/* Touch-friendly *\/\r\n            min-width: 44px;\r\n        }\r\n\r\n        .control-btn:hover,\r\n        .control-btn:active {\r\n            background: rgba(255, 255, 255, 0.25);\r\n            transform: scale(1.1);\r\n            box-shadow: var(--shadow);\r\n        }\r\n\r\n        .play-btn {\r\n            width: clamp(50px, 12vw, 60px);\r\n            height: clamp(50px, 12vw, 60px);\r\n            background: linear-gradient(135deg, var(--tiktok-red), var(--pink));\r\n            font-size: clamp(1rem, 3vw, 1.4rem);\r\n            border: none;\r\n            box-shadow: var(--shadow-lg), var(--glow-tiktok);\r\n        }\r\n\r\n        .volume-control {\r\n            display: flex;\r\n            align-items: center;\r\n            gap: clamp(0.3rem, 1.5vw, 0.5rem);\r\n            flex-wrap: wrap;\r\n        }\r\n\r\n        .volume-slider {\r\n            width: clamp(60px, 15vw, 80px);\r\n            height: clamp(4px, 1.5vw, 6px);\r\n            background: rgba(255, 255, 255, 0.2);\r\n            border-radius: 3px;\r\n            cursor: pointer;\r\n            position: relative;\r\n            overflow: hidden;\r\n            min-height: 20px;\r\n            \/* Touch-friendly *\/\r\n            display: flex;\r\n            align-items: center;\r\n        }\r\n\r\n        .volume-fill {\r\n            height: 100%;\r\n            background: linear-gradient(90deg, var(--tiktok-blue), var(--green));\r\n            border-radius: 3px;\r\n            width: 100%;\r\n            transition: width 0.1s ease;\r\n            box-shadow: 0 0 8px rgba(37, 244, 238, 0.4);\r\n        }\r\n\r\n        \/* Download Section - NO FLOATING *\/\r\n        .download-section {\r\n            background: linear-gradient(135deg,\r\n                    rgba(37, 244, 238, 0.1) 0%,\r\n                    rgba(0, 255, 136, 0.1) 50%,\r\n                    var(--glass-dark) 100%);\r\n            border: 2px solid rgba(37, 244, 238, 0.3);\r\n            border-radius: 20px;\r\n            padding: clamp(1rem, 3vw, 1.5rem);\r\n            margin-bottom: 1.5rem;\r\n            box-shadow: var(--shadow), var(--shadow-blue);\r\n            position: relative;\r\n            overflow: hidden;\r\n            backdrop-filter: blur(15px);\r\n        }\r\n\r\n        .download-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,\r\n                    transparent,\r\n                    var(--tiktok-blue),\r\n                    var(--green),\r\n                    transparent);\r\n            animation: borderFlow 3s ease-in-out infinite;\r\n        }\r\n\r\n        .download-header {\r\n            text-align: center;\r\n            margin-bottom: clamp(0.8rem, 2.5vw, 1.2rem);\r\n        }\r\n\r\n        .download-title {\r\n            font-size: clamp(1rem, 3vw, 1.2rem);\r\n            font-weight: 700;\r\n            margin-bottom: 0.25rem;\r\n            background: linear-gradient(135deg, var(--tiktok-blue), var(--green));\r\n            -webkit-background-clip: text;\r\n            -webkit-text-fill-color: transparent;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            gap: 0.5rem;\r\n            animation: titlePulse 4s ease-in-out infinite;\r\n            flex-wrap: wrap;\r\n        }\r\n\r\n        .download-subtitle {\r\n            color: var(--text-gray);\r\n            font-size: clamp(0.8rem, 2vw, 0.9rem);\r\n        }\r\n\r\n        .download-grid {\r\n            display: grid;\r\n            grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));\r\n            gap: clamp(0.8rem, 2vw, 1rem);\r\n        }\r\n\r\n        .download-btn {\r\n            background: linear-gradient(135deg, var(--tiktok-blue), #00d4cc);\r\n            color: white;\r\n            border: none;\r\n            padding: clamp(0.8rem, 3vw, 1rem) clamp(1rem, 3vw, 1.5rem);\r\n            border-radius: 16px;\r\n            font-weight: 700;\r\n            cursor: pointer;\r\n            transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            gap: 0.5rem;\r\n            box-shadow: var(--shadow), var(--shadow-blue);\r\n            position: relative;\r\n            overflow: hidden;\r\n            font-size: clamp(0.8rem, 2vw, 0.95rem);\r\n            animation: buttonGlow 5s ease-in-out infinite;\r\n            border: 1px solid rgba(37, 244, 238, 0.3);\r\n            min-height: 48px;\r\n            text-align: center;\r\n        }\r\n\r\n        .download-btn::before {\r\n            content: '';\r\n            position: absolute;\r\n            top: 0;\r\n            left: -100%;\r\n            width: 100%;\r\n            height: 100%;\r\n            background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);\r\n            transition: left 0.5s;\r\n        }\r\n\r\n        .download-btn:hover:not(:disabled)::before,\r\n        .download-btn:active:not(:disabled)::before {\r\n            left: 100%;\r\n        }\r\n\r\n        .download-btn:hover:not(:disabled),\r\n        .download-btn:active:not(:disabled) {\r\n            transform: translateY(-3px) scale(1.02);\r\n            box-shadow: var(--shadow-lg), var(--glow-blue);\r\n        }\r\n\r\n        .download-btn:disabled {\r\n            opacity: 0.6;\r\n            cursor: not-allowed;\r\n            transform: none;\r\n            animation: none;\r\n        }\r\n\r\n        .download-btn.hd {\r\n            background: linear-gradient(135deg, var(--orange), #ff6600);\r\n            border-color: rgba(255, 136, 0, 0.3);\r\n        }\r\n\r\n        .download-btn.hd:hover:not(:disabled),\r\n        .download-btn.hd:active:not(:disabled) {\r\n            box-shadow: var(--shadow-lg), 0 0 30px rgba(255, 136, 0, 0.5);\r\n        }\r\n\r\n        \/* Audio Streaming Section - NO FLOATING *\/\r\n        .audio-streaming {\r\n            background: linear-gradient(135deg,\r\n                    rgba(168, 85, 247, 0.12) 0%,\r\n                    rgba(236, 72, 153, 0.12) 50%,\r\n                    var(--glass-dark) 100%);\r\n            border: 2px solid rgba(168, 85, 247, 0.3);\r\n            border-radius: 20px;\r\n            padding: clamp(1rem, 3vw, 1.5rem);\r\n            position: relative;\r\n            overflow: hidden;\r\n            box-shadow: var(--shadow), var(--shadow-purple);\r\n            backdrop-filter: blur(15px);\r\n        }\r\n\r\n        .audio-streaming::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,\r\n                    transparent,\r\n                    var(--purple),\r\n                    var(--pink),\r\n                    transparent);\r\n            animation: borderFlow 3s ease-in-out infinite;\r\n        }\r\n\r\n        .audio-header {\r\n            text-align: center;\r\n            margin-bottom: clamp(0.8rem, 2.5vw, 1.2rem);\r\n        }\r\n\r\n        .audio-main-title {\r\n            font-size: clamp(1rem, 3vw, 1.2rem);\r\n            font-weight: 700;\r\n            margin-bottom: 0.25rem;\r\n            background: linear-gradient(135deg, var(--purple), var(--pink));\r\n            -webkit-background-clip: text;\r\n            -webkit-text-fill-color: transparent;\r\n            width: 100%;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            gap: 0.5rem;\r\n            animation: titlePulse 4s ease-in-out infinite;\r\n            flex-wrap: wrap;\r\n        }\r\n\r\n        .audio-subtitle {\r\n            color: var(--text-gray);\r\n            font-size: clamp(0.8rem, 2vw, 0.9rem);\r\n            margin-bottom: clamp(0.8rem, 2.5vw, 1.2rem);\r\n        }\r\n\r\n        .audio-player-section {\r\n            display: flex;\r\n            align-items: center;\r\n            gap: clamp(0.8rem, 3vw, 1.2rem);\r\n            margin-bottom: 1.5rem;\r\n            flex-wrap: wrap;\r\n            justify-content: center;\r\n        }\r\n\r\n        \/* Audio Icon - Left Side, Smaller *\/\r\n        .audio-icon-wrapper {\r\n            position: relative;\r\n            flex-shrink: 0;\r\n        }\r\n\r\n        .audio-icon {\r\n            width: clamp(40px, 10vw, 50px);\r\n            height: clamp(40px, 10vw, 50px);\r\n            background: linear-gradient(135deg, var(--purple), var(--pink));\r\n            border-radius: 50%;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            font-size: clamp(1rem, 2.5vw, 1.2rem);\r\n            color: white;\r\n            box-shadow: var(--shadow), var(--shadow-purple);\r\n            animation: audioIconPulse 4s ease-in-out infinite;\r\n            position: relative;\r\n            z-index: 2;\r\n            border: 2px solid rgba(168, 85, 247, 0.3);\r\n        }\r\n\r\n        .audio-wave {\r\n            position: absolute;\r\n            top: 50%;\r\n            left: 50%;\r\n            transform: translate(-50%, -50%);\r\n            border: 1px solid rgba(168, 85, 247, 0.2);\r\n            border-radius: 50%;\r\n            animation: audioWaveRipple 2s ease-out infinite;\r\n        }\r\n\r\n        .audio-wave:nth-child(1) {\r\n            width: clamp(50px, 12vw, 60px);\r\n            height: clamp(50px, 12vw, 60px);\r\n            animation-delay: 0s;\r\n        }\r\n\r\n        .audio-wave:nth-child(2) {\r\n            width: clamp(60px, 15vw, 75px);\r\n            height: clamp(60px, 15vw, 75px);\r\n            animation-delay: 0.5s;\r\n        }\r\n\r\n        .audio-wave:nth-child(3) {\r\n            width: clamp(70px, 18vw, 90px);\r\n            height: clamp(70px, 18vw, 90px);\r\n            animation-delay: 1s;\r\n        }\r\n\r\n        .audio-info {\r\n            flex: 1;\r\n            min-width: 0;\r\n            text-align: center;\r\n        }\r\n\r\n        .audio-title {\r\n            font-size: clamp(0.9rem, 2.5vw, 1rem);\r\n            font-weight: 700;\r\n            color: var(--text-light);\r\n            margin-bottom: 0.25rem;\r\n            word-break: break-word;\r\n        }\r\n\r\n        .audio-artist {\r\n            font-size: clamp(0.75rem, 2vw, 0.85rem);\r\n            color: var(--text-gray);\r\n            margin-bottom: 1rem;\r\n            word-break: break-word;\r\n        }\r\n\r\n        \/* Audio Progress Bar *\/\r\n        .audio-progress-container {\r\n            width: 100%;\r\n            margin-bottom: 1rem;\r\n        }\r\n\r\n        .audio-progress {\r\n            height: clamp(6px, 2vw, 8px);\r\n            background: rgba(168, 85, 247, 0.2);\r\n            border-radius: 4px;\r\n            position: relative;\r\n            cursor: pointer;\r\n            overflow: hidden;\r\n            margin-bottom: 0.5rem;\r\n            min-height: 20px;\r\n            \/* Touch-friendly *\/\r\n            display: flex;\r\n            align-items: center;\r\n        }\r\n\r\n        .audio-progress-fill {\r\n            height: 100%;\r\n            background: linear-gradient(90deg, var(--purple), var(--pink));\r\n            border-radius: 4px;\r\n            width: 0%;\r\n            transition: width 0.1s ease;\r\n            box-shadow: 0 0 10px rgba(168, 85, 247, 0.4);\r\n        }\r\n\r\n        .audio-time {\r\n            display: flex;\r\n            justify-content: space-between;\r\n            font-size: clamp(0.7rem, 2vw, 0.8rem);\r\n            color: var(--text-gray);\r\n            margin-bottom: 1rem;\r\n        }\r\n\r\n        \/* Audio Controls *\/\r\n        .audio-controls {\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            gap: clamp(0.8rem, 3vw, 1rem);\r\n            margin-bottom: 1rem;\r\n            flex-wrap: wrap;\r\n        }\r\n\r\n        .audio-play-btn {\r\n            width: clamp(44px, 10vw, 50px);\r\n            height: clamp(44px, 10vw, 50px);\r\n            background: linear-gradient(135deg, var(--purple), var(--pink));\r\n            border: none;\r\n            border-radius: 50%;\r\n            color: white;\r\n            cursor: pointer;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);\r\n            box-shadow: var(--shadow), var(--shadow-purple);\r\n            font-size: clamp(1rem, 2.5vw, 1.2rem);\r\n            flex-shrink: 0;\r\n            animation: audioPlayPulse 4s ease-in-out infinite;\r\n            border: 2px solid rgba(168, 85, 247, 0.3);\r\n            min-height: 44px;\r\n            \/* Touch-friendly *\/\r\n            min-width: 44px;\r\n        }\r\n\r\n        .audio-play-btn:hover,\r\n        .audio-play-btn:active {\r\n            transform: scale(1.1);\r\n            box-shadow: var(--shadow-lg), var(--glow-purple);\r\n        }\r\n\r\n        \/* Audio Volume Control *\/\r\n        .audio-volume-control {\r\n            display: flex;\r\n            align-items: center;\r\n            gap: clamp(0.5rem, 2vw, 0.75rem);\r\n            flex-wrap: wrap;\r\n        }\r\n\r\n        .audio-volume-btn {\r\n            background: rgba(168, 85, 247, 0.15);\r\n            border: none;\r\n            color: var(--purple-light);\r\n            width: clamp(36px, 8vw, 40px);\r\n            height: clamp(36px, 8vw, 40px);\r\n            border-radius: 50%;\r\n            cursor: pointer;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            transition: all 0.3s ease;\r\n            backdrop-filter: blur(10px);\r\n            border: 1px solid rgba(168, 85, 247, 0.2);\r\n            font-size: clamp(0.8rem, 2vw, 1rem);\r\n            min-height: 44px;\r\n            \/* Touch-friendly *\/\r\n            min-width: 44px;\r\n        }\r\n\r\n        .audio-volume-btn:hover,\r\n        .audio-volume-btn:active {\r\n            background: rgba(168, 85, 247, 0.25);\r\n            transform: scale(1.1);\r\n            box-shadow: var(--shadow);\r\n        }\r\n\r\n        .audio-volume-slider {\r\n            width: clamp(60px, 15vw, 80px);\r\n            height: clamp(4px, 1.5vw, 6px);\r\n            background: rgba(168, 85, 247, 0.2);\r\n            border-radius: 3px;\r\n            cursor: pointer;\r\n            position: relative;\r\n            overflow: hidden;\r\n            min-height: 20px;\r\n            \/* Touch-friendly *\/\r\n            display: flex;\r\n            align-items: center;\r\n        }\r\n\r\n        .audio-volume-fill {\r\n            height: 100%;\r\n            background: linear-gradient(90deg, var(--purple), var(--pink));\r\n            border-radius: 3px;\r\n            width: 100%;\r\n            transition: width 0.1s ease;\r\n            box-shadow: 0 0 8px rgba(168, 85, 247, 0.4);\r\n        }\r\n\r\n        .download-audio-section {\r\n            text-align: center;\r\n        }\r\n\r\n        .download-audio-btn {\r\n            background: linear-gradient(135deg, var(--purple), var(--purple-dark));\r\n            color: white;\r\n            border: none;\r\n            padding: clamp(0.8rem, 3vw, 1rem) clamp(1rem, 3vw, 1.5rem);\r\n            border-radius: 16px;\r\n            font-weight: 700;\r\n            cursor: pointer;\r\n            transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);\r\n            display: inline-flex;\r\n            align-items: center;\r\n            gap: 0.5rem;\r\n            box-shadow: var(--shadow), var(--shadow-purple);\r\n            font-size: clamp(0.8rem, 2vw, 0.95rem);\r\n            position: relative;\r\n            overflow: hidden;\r\n            animation: buttonGlow 5s ease-in-out infinite;\r\n            border: 1px solid rgba(168, 85, 247, 0.3);\r\n            min-height: 48px;\r\n            width: 100%;\r\n            max-width: 300px;\r\n            justify-content: center;\r\n        }\r\n\r\n        .download-audio-btn::before {\r\n            content: '';\r\n            position: absolute;\r\n            top: 0;\r\n            left: -100%;\r\n            width: 100%;\r\n            height: 100%;\r\n            background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);\r\n            transition: left 0.5s;\r\n        }\r\n\r\n        .download-audio-btn:hover:not(:disabled)::before,\r\n        .download-audio-btn:active:not(:disabled)::before {\r\n            left: 100%;\r\n        }\r\n\r\n        .download-audio-btn:hover:not(:disabled),\r\n        .download-audio-btn:active:not(:disabled) {\r\n            transform: translateY(-3px) scale(1.02);\r\n            box-shadow: var(--shadow-lg), var(--glow-purple);\r\n        }\r\n\r\n        .download-audio-btn:disabled {\r\n            opacity: 0.6;\r\n            cursor: not-allowed;\r\n            transform: none;\r\n            animation: none;\r\n        }\r\n\r\n        \/* Download Progress - NO FLOATING *\/\r\n        .download-progress {\r\n            position: fixed;\r\n            bottom: 1.5rem;\r\n            right: 1.5rem;\r\n            background: linear-gradient(135deg,\r\n                    var(--glass-dark) 0%,\r\n                    var(--glass-purple) 100%);\r\n            backdrop-filter: blur(25px);\r\n            border: 2px solid var(--glass-border);\r\n            border-radius: 18px;\r\n            padding: clamp(1rem, 3vw, 1.5rem) clamp(1.5rem, 4vw, 2rem);\r\n            min-width: min(320px, 90vw);\r\n            max-width: 90vw;\r\n            box-shadow: var(--shadow-xl), var(--shadow-purple);\r\n            z-index: 1000;\r\n            display: none;\r\n        }\r\n\r\n        .download-progress.show {\r\n            display: block;\r\n            animation: slideInRight 0.4s ease-out;\r\n        }\r\n\r\n        .progress-header {\r\n            display: flex;\r\n            justify-content: space-between;\r\n            align-items: center;\r\n            margin-bottom: 1rem;\r\n            gap: 1rem;\r\n            flex-wrap: wrap;\r\n        }\r\n\r\n        .progress-text {\r\n            font-weight: 700;\r\n            font-size: clamp(0.8rem, 2vw, 0.95rem);\r\n            color: var(--text-light);\r\n            background: linear-gradient(135deg, var(--tiktok-red), var(--tiktok-blue));\r\n            -webkit-background-clip: text;\r\n            -webkit-text-fill-color: transparent;\r\n            flex: 1;\r\n            min-width: 0;\r\n        }\r\n\r\n        .cancel-btn {\r\n            background: rgba(255, 51, 102, 0.15);\r\n            border: 1px solid rgba(255, 51, 102, 0.3);\r\n            color: #ff3366;\r\n            padding: clamp(0.4rem, 1.5vw, 0.5rem) clamp(0.8rem, 2vw, 1rem);\r\n            border-radius: 10px;\r\n            font-size: clamp(0.7rem, 2vw, 0.8rem);\r\n            cursor: pointer;\r\n            transition: all 0.3s ease;\r\n            font-weight: 600;\r\n            backdrop-filter: blur(10px);\r\n            min-height: 36px;\r\n            flex-shrink: 0;\r\n        }\r\n\r\n        .cancel-btn:hover,\r\n        .cancel-btn:active {\r\n            background: rgba(255, 51, 102, 0.25);\r\n            transform: scale(1.05);\r\n        }\r\n\r\n        .progress-bar-container {\r\n            width: 100%;\r\n            height: clamp(6px, 2vw, 8px);\r\n            background: rgba(168, 85, 247, 0.2);\r\n            border-radius: 4px;\r\n            overflow: hidden;\r\n        }\r\n\r\n        .progress-bar-fill {\r\n            height: 100%;\r\n            background: linear-gradient(90deg, var(--green), #00cc77);\r\n            border-radius: 4px;\r\n            width: 0%;\r\n            transition: width 0.3s ease;\r\n            box-shadow: 0 0 12px rgba(0, 255, 136, 0.4);\r\n            animation: progressGlow 3s ease-in-out infinite;\r\n        }\r\n\r\n        \/* Error Message - NO FLOATING *\/\r\n        .error-message {\r\n            background: linear-gradient(135deg,\r\n                    rgba(255, 51, 102, 0.1) 0%,\r\n                    var(--glass-dark) 100%);\r\n            border: 2px solid rgba(255, 51, 102, 0.3);\r\n            color: #ff6b6b;\r\n            padding: clamp(1rem, 3vw, 1.2rem) clamp(1.2rem, 4vw, 1.8rem);\r\n            border-radius: 16px;\r\n            margin: 1rem 0;\r\n            display: none;\r\n            align-items: center;\r\n            gap: clamp(0.5rem, 2vw, 1rem);\r\n            font-weight: 600;\r\n            backdrop-filter: blur(15px);\r\n            box-shadow: var(--shadow);\r\n            animation: errorShake 0.5s ease-in-out;\r\n            font-size: clamp(0.8rem, 2vw, 1rem);\r\n            flex-wrap: wrap;\r\n        }\r\n\t\t\t\r\n\t\t\t.paste-btn {\r\n\tbackground: linear-gradient(135deg, var(--tiktok-blue), var(--secondary));\r\n\tborder: none;\r\n\tcolor: white;\r\n\tcursor: pointer;\r\n\tpadding: clamp(0.5rem, 2vw, 0.7rem) clamp(0.8rem, 3vw, 1.4rem);\r\n\tborder-radius: 14px;\r\n\ttransition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tgap: 0.5rem;\r\n\tfont-weight: 600;\r\n\tbox-shadow: var(--shadow), var(--shadow-blue);\r\n\tfont-size: clamp(0.8rem, 2vw, 0.9rem);\r\n\tposition: relative;\r\n\toverflow: hidden;\r\n\tborder: 1px solid rgba(37, 244, 238, 0.3);\r\n\tmin-height: 44px !important;\r\n\twidth: 100%;\r\n\tdisplay: flex;\r\n\tjustify-content: center;\r\n}\r\n\r\n        .error-message.show {\r\n            display: flex;\r\n            animation: fadeInUp 0.3s ease-out, errorShake 0.5s ease-in-out;\r\n        }\r\n\r\n        \/* Animations - KEPT ONLY DECORATIVE ONES *\/\r\n        @keyframes gradientShift {\r\n\r\n            0%,\r\n            100% {\r\n                background-position: 0% 50%;\r\n            }\r\n\r\n            50% {\r\n                background-position: 100% 50%;\r\n            }\r\n        }\r\n\r\n        @keyframes backgroundFloat {\r\n\r\n            0%,\r\n            100% {\r\n                opacity: 1;\r\n                transform: translateY(0px);\r\n            }\r\n\r\n            50% {\r\n                opacity: 0.8;\r\n                transform: translateY(-10px);\r\n            }\r\n        }\r\n\r\n        @keyframes fadeInDown {\r\n            from {\r\n                opacity: 0;\r\n                transform: translateY(-40px);\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(40px);\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 slideInRight {\r\n            from {\r\n                opacity: 0;\r\n                transform: translateX(100%);\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 spin {\r\n            to {\r\n                transform: rotate(360deg);\r\n            }\r\n        }\r\n\r\n        @keyframes logoFloat {\r\n\r\n            0%,\r\n            100% {\r\n                transform: translateY(0px) rotate(0deg);\r\n            }\r\n\r\n            50% {\r\n                transform: translateY(-10px) rotate(5deg);\r\n            }\r\n        }\r\n\r\n        @keyframes logoShine {\r\n            0% {\r\n                transform: translateX(-100%) translateY(-100%) rotate(45deg);\r\n            }\r\n\r\n            100% {\r\n                transform: translateX(100%) translateY(100%) rotate(45deg);\r\n            }\r\n        }\r\n\r\n        @keyframes textGradient {\r\n\r\n            0%,\r\n            100% {\r\n                background-position: 0% 50%;\r\n            }\r\n\r\n            50% {\r\n                background-position: 100% 50%;\r\n            }\r\n        }\r\n\r\n        @keyframes subtitleGlow {\r\n\r\n            0%,\r\n            100% {\r\n                text-shadow: 0 0 5px rgba(160, 160, 160, 0.3);\r\n            }\r\n\r\n            50% {\r\n                text-shadow: 0 0 15px rgba(160, 160, 160, 0.6);\r\n            }\r\n        }\r\n\r\n        @keyframes borderFlow {\r\n\r\n            0%,\r\n            100% {\r\n                opacity: 0.5;\r\n            }\r\n\r\n            50% {\r\n                opacity: 1;\r\n            }\r\n        }\r\n\r\n        @keyframes overlayPulse {\r\n\r\n            0%,\r\n            100% {\r\n                opacity: 1;\r\n            }\r\n\r\n            50% {\r\n                opacity: 0.7;\r\n            }\r\n        }\r\n\r\n        @keyframes inputFocusGlow {\r\n\r\n            0%,\r\n            100% {\r\n                box-shadow: 0 0 0 4px rgba(139, 92, 246, 0.2), var(--glow-purple), inset 0 2px 10px rgba(0, 0, 0, 0.3);\r\n            }\r\n\r\n            50% {\r\n                box-shadow: 0 0 0 6px rgba(139, 92, 246, 0.4), var(--glow-purple), inset 0 2px 10px rgba(0, 0, 0, 0.3);\r\n            }\r\n        }\r\n\r\n        @keyframes buttonPulse {\r\n\r\n            0%,\r\n            100% {\r\n                box-shadow: var(--shadow-lg), var(--shadow-pink);\r\n            }\r\n\r\n            50% {\r\n                box-shadow: var(--shadow-xl), var(--glow-tiktok);\r\n            }\r\n        }\r\n\r\n        @keyframes buttonHoverGlow {\r\n\r\n            0%,\r\n            100% {\r\n                filter: brightness(1);\r\n            }\r\n\r\n            50% {\r\n                filter: brightness(1.2);\r\n            }\r\n        }\r\n\r\n        @keyframes textFade {\r\n\r\n            0%,\r\n            100% {\r\n                opacity: 0.7;\r\n            }\r\n\r\n            50% {\r\n                opacity: 1;\r\n            }\r\n        }\r\n\r\n        @keyframes avatarPulse {\r\n\r\n            0%,\r\n            100% {\r\n                box-shadow: var(--shadow), var(--shadow-pink);\r\n            }\r\n\r\n            50% {\r\n                box-shadow: var(--shadow), 0 0 30px rgba(254, 44, 85, 0.6);\r\n            }\r\n        }\r\n\r\n        @keyframes valueGlow {\r\n\r\n            0%,\r\n            100% {\r\n                filter: brightness(1);\r\n            }\r\n\r\n            50% {\r\n                filter: brightness(1.2);\r\n            }\r\n        }\r\n\r\n        @keyframes gridMove {\r\n            0% {\r\n                transform: translate(0, 0);\r\n            }\r\n\r\n            100% {\r\n                transform: translate(30px, 30px);\r\n            }\r\n        }\r\n\r\n        @keyframes titlePulse {\r\n\r\n            0%,\r\n            100% {\r\n                filter: brightness(1);\r\n            }\r\n\r\n            50% {\r\n                filter: brightness(1.3);\r\n            }\r\n        }\r\n\r\n        @keyframes playButtonPulse {\r\n\r\n            0%,\r\n            100% {\r\n                transform: scale(1);\r\n            }\r\n\r\n            50% {\r\n                transform: scale(1.05);\r\n            }\r\n        }\r\n\r\n        @keyframes buttonGlow {\r\n\r\n            0%,\r\n            100% {\r\n                box-shadow: var(--shadow);\r\n            }\r\n\r\n            50% {\r\n                box-shadow: var(--shadow-lg);\r\n            }\r\n        }\r\n\r\n        @keyframes audioIconPulse {\r\n\r\n            0%,\r\n            100% {\r\n                transform: scale(1);\r\n            }\r\n\r\n            50% {\r\n                transform: scale(1.1);\r\n            }\r\n        }\r\n\r\n        @keyframes audioWaveRipple {\r\n            0% {\r\n                opacity: 1;\r\n                transform: translate(-50%, -50%) scale(0.8);\r\n            }\r\n\r\n            100% {\r\n                opacity: 0;\r\n                transform: translate(-50%, -50%) scale(2);\r\n            }\r\n        }\r\n\r\n        @keyframes audioPlayPulse {\r\n\r\n            0%,\r\n            100% {\r\n                box-shadow: var(--shadow), var(--shadow-purple);\r\n            }\r\n\r\n            50% {\r\n                box-shadow: var(--shadow-lg), var(--glow-purple);\r\n            }\r\n        }\r\n\r\n        @keyframes progressGlow {\r\n\r\n            0%,\r\n            100% {\r\n                box-shadow: 0 0 12px rgba(0, 255, 136, 0.4);\r\n            }\r\n\r\n            50% {\r\n                box-shadow: 0 0 20px rgba(0, 255, 136, 0.8);\r\n            }\r\n        }\r\n\r\n        @keyframes errorShake {\r\n\r\n            0%,\r\n            100% {\r\n                transform: translateX(0);\r\n            }\r\n\r\n            25% {\r\n                transform: translateX(-5px);\r\n            }\r\n\r\n            75% {\r\n                transform: translateX(5px);\r\n            }\r\n        }\r\n\r\n        \/* Enhanced Responsive Design *\/\r\n\r\n        \/* Large Tablets and Small Desktops *\/\r\n        @media (max-width: 1024px) {\r\n            .container {\r\n                padding: clamp(1rem, 3vw, 1.5rem);\r\n            }\r\n\r\n            .video-stats {\r\n                grid-template-columns: repeat(3, 1fr);\r\n            }\r\n\r\n            .download-grid {\r\n                grid-template-columns: 1fr;\r\n            }\r\n\r\n            .action-buttons {\r\n                grid-template-columns: 1fr;\r\n                gap: 1rem;\r\n            }\r\n\r\n            .search-another-btn {\r\n                width: 100%;\r\n            }\r\n\r\n            .audio-player-section {\r\n                flex-direction: column;\r\n                text-align: center;\r\n                gap: 1rem;\r\n            }\r\n\r\n            .audio-controls {\r\n                flex-direction: row;\r\n                justify-content: center;\r\n                gap: 1rem;\r\n            }\r\n\r\n            .audio-volume-control {\r\n                justify-content: center;\r\n            }\r\n\r\n            .video-player-wrapper {\r\n                max-width: min(320px, 85vw);\r\n            }\r\n\t\t\t\t\t.logo-icon {\r\n\twidth: 50px;\r\n\theight: 50px;\r\n\tfont-size: 20px;\r\n\tmargin-top: 60px;\r\n}\r\n\t\t\t\t\t.logo {\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n\tgap: 1.5rem;\r\n\tmargin-bottom: 1rem;\r\n\tflex-wrap: wrap;\r\n\tflex-direction: column !important;\r\n}\r\n        }\r\n\r\n        \/* Tablets *\/\r\n        @media (max-width: 768px) {\r\n            .container {\r\n                padding: 1rem;\r\n            }\r\n\r\n            .logo {\r\n                flex-direction: column;\r\n                gap: 1rem;\r\n            }\r\n\r\n            .logo-icon {\r\n                width: 60px;\r\n                height: 60px;\r\n                font-size: 24px;\r\n            }\r\n\r\n            .video-stats {\r\n                grid-template-columns: repeat(2, 1fr);\r\n                gap: 0.8rem;\r\n            }\r\n\r\n            .author-section {\r\n                flex-direction: column;\r\n                text-align: center;\r\n                gap: 1rem;\r\n            }\r\n\r\n            .download-progress {\r\n                left: 1rem;\r\n                right: 1rem;\r\n                bottom: 1rem;\r\n                min-width: auto;\r\n            }\r\n\r\n            .control-buttons {\r\n                flex-direction: column;\r\n                gap: 1rem;\r\n                align-items: center;\r\n            }\r\n\r\n            .volume-control {\r\n                order: 3;\r\n                width: 100%;\r\n                justify-content: center;\r\n            }\r\n\r\n            .audio-controls {\r\n                flex-direction: column;\r\n                gap: 1rem;\r\n            }\r\n\r\n            .audio-volume-control {\r\n                width: 100%;\r\n                justify-content: center;\r\n            }\r\n\r\n            .video-player-wrapper {\r\n                max-width: min(300px, 80vw);\r\n            }\r\n\r\n            \/* Show video controls on mobile *\/\r\n            .video-controls {\r\n                transform: translateY(0);\r\n                position: relative;\r\n                background: rgba(0, 0, 0, 0.8);\r\n                margin-top: 1rem;\r\n                border-radius: 12px;\r\n            }\r\n\r\n            .video-player-wrapper:hover .video-controls {\r\n                transform: translateY(0);\r\n            }\r\n\t\t\t\t\t.logo-icon {\r\n\twidth: 50px;\r\n\theight: 50px;\r\n\tfont-size: 20px;\r\n\tmargin-top: 60px;\r\n}\r\n        }\r\n\r\n        \/* Mobile Phones *\/\r\n        @media (max-width: 480px) {\r\n            .container {\r\n                padding: 0.8rem;\r\n            }\r\n\r\n            .header {\r\n                margin-bottom: 1.5rem;\r\n            }\r\n\r\n            .logo-icon {\r\n                width: 50px;\r\n                height: 50px;\r\n                font-size: 20px;\r\n            }\r\n\r\n            .video-stats {\r\n                grid-template-columns: 1fr;\r\n                gap: 0.6rem;\r\n            }\r\n\r\n            .stat-item {\r\n                min-height: 70px;\r\n                padding: 0.8rem;\r\n            }\r\n\r\n            .stat-value {\r\n                font-size: 1.3rem;\r\n            }\r\n\r\n            .audio-player-section {\r\n                gap: 0.8rem;\r\n            }\r\n\r\n            .audio-icon {\r\n                width: 40px;\r\n                height: 40px;\r\n                font-size: 1rem;\r\n            }\r\n\r\n            .audio-play-btn {\r\n                width: 44px;\r\n                height: 44px;\r\n                font-size: 1rem;\r\n            }\r\n\r\n            .video-player-wrapper {\r\n                max-width: min(280px, 75vw);\r\n            }\r\n\r\n            .thumbnail-play-btn {\r\n                width: 60px;\r\n                height: 60px;\r\n                font-size: 1.5rem;\r\n            }\r\n\r\n            .download-progress {\r\n                left: 0.5rem;\r\n                right: 0.5rem;\r\n                bottom: 0.5rem;\r\n                padding: 1rem;\r\n            }\r\n\r\n            .progress-header {\r\n                flex-direction: column;\r\n                gap: 0.5rem;\r\n                align-items: stretch;\r\n            }\r\n\r\n            .cancel-btn {\r\n                align-self: center;\r\n                min-width: 80px;\r\n            }\r\n\r\n            \/* Touch-friendly adjustments *\/\r\n            .input-field {\r\n                font-size: 16px;\r\n                \/* Prevents zoom on iOS *\/\r\n            }\r\n\r\n            .control-btn,\r\n            .audio-play-btn,\r\n            .audio-volume-btn,\r\n            .paste-btn,\r\n            .search-btn,\r\n            .download-btn,\r\n            .download-audio-btn {\r\n                min-height: 44px;\r\n                min-width: 44px;\r\n            }\r\n\r\n            .progress-bar,\r\n            .audio-progress,\r\n            .volume-slider,\r\n            .audio-volume-slider {\r\n                min-height: 44px;\r\n            }\r\n\t\t\t\t\t.logo-icon {\r\n\twidth: 50px;\r\n\theight: 50px;\r\n\tfont-size: 20px;\r\n\tmargin-top: 60px;\r\n}\r\n        }\r\n\r\n        \/* Small Mobile Phones *\/\r\n        @media (max-width: 360px) {\r\n            .container {\r\n                padding: 0.5rem;\r\n            }\r\n\r\n            .search-section,\r\n            .video-section,\r\n            .download-section,\r\n            .audio-streaming {\r\n                padding: 1rem;\r\n                border-radius: 16px;\r\n            }\r\n\r\n            .logo-text {\r\n                font-size: 1.5rem;\r\n                letter-spacing: -1px;\r\n            }\r\n\r\n            .subtitle {\r\n                font-size: 0.8rem;\r\n            }\r\n\r\n            .video-player-wrapper {\r\n                max-width: min(260px, 70vw);\r\n            }\r\n\r\n            .audio-wave:nth-child(1) {\r\n                width: 45px;\r\n                height: 45px;\r\n            }\r\n\r\n            .audio-wave:nth-child(2) {\r\n                width: 55px;\r\n                height: 55px;\r\n            }\r\n\r\n            .audio-wave:nth-child(3) {\r\n                width: 65px;\r\n                height: 65px;\r\n            }\r\n\t\t\t\t\t.logo-icon {\r\n\twidth: 50px;\r\n\theight: 50px;\r\n\tfont-size: 20px;\r\n\tmargin-top: 60px;\r\n}\r\n        }\r\n\r\n        \/* Landscape Mobile *\/\r\n        @media (max-height: 500px) and (orientation: landscape) {\r\n            .container {\r\n                padding: 1rem;\r\n            }\r\n\r\n            .header {\r\n                margin-bottom: 1rem;\r\n            }\r\n\r\n            .logo {\r\n                flex-direction: row;\r\n                gap: 1rem;\r\n            }\r\n\r\n            .logo-icon {\r\n                width: 40px;\r\n                height: 40px;\r\n                font-size: 16px;\r\n            }\r\n\r\n            .video-player-wrapper {\r\n                max-width: min(200px, 30vw);\r\n            }\r\n\r\n            .video-stats {\r\n                grid-template-columns: repeat(5, 1fr);\r\n                gap: 0.5rem;\r\n            }\r\n\r\n            .stat-item {\r\n                min-height: 60px;\r\n                padding: 0.5rem;\r\n            }\r\n\r\n            .stat-value {\r\n                font-size: 1rem;\r\n            }\r\n\r\n            .stat-label {\r\n                font-size: 0.6rem;\r\n            }\r\n        }\r\n\r\n        \/* High DPI Displays *\/\r\n        @media (-webkit-min-device-pixel-ratio: 2),\r\n        (min-resolution: 192dpi) {\r\n\r\n            .logo-icon,\r\n            .author-avatar,\r\n            .audio-icon,\r\n            .thumbnail-play-btn,\r\n            .audio-play-btn {\r\n                image-rendering: -webkit-optimize-contrast;\r\n                image-rendering: crisp-edges;\r\n            }\r\n        }\r\n\r\n        \/* Reduced Motion *\/\r\n        @media (prefers-reduced-motion: reduce) {\r\n\r\n            *,\r\n            *::before,\r\n            *::after {\r\n                animation-duration: 0.01ms !important;\r\n                animation-iteration-count: 1 !important;\r\n                transition-duration: 0.01ms !important;\r\n            }\r\n\r\n            .video-player-wrapper,\r\n            .search-section,\r\n            .video-section,\r\n            .download-section,\r\n            .audio-streaming {\r\n                animation: none !important;\r\n            }\r\n        }\r\n\r\n        \/* High Contrast Mode *\/\r\n        @media (prefers-contrast: high) {\r\n            :root {\r\n                --glass-dark: rgba(0, 0, 0, 0.9);\r\n                --glass-purple: rgba(0, 0, 0, 0.9);\r\n                --glass-blue: rgba(0, 0, 0, 0.9);\r\n                --glass-border: rgba(255, 255, 255, 0.8);\r\n                --shadow: 0 4px 20px rgba(0, 0, 0, 0.8);\r\n                --shadow-lg: 0 8px 40px rgba(0, 0, 0, 0.9);\r\n                --shadow-xl: 0 16px 60px rgba(0, 0, 0, 1);\r\n            }\r\n\r\n            .input-field,\r\n            .search-btn,\r\n            .download-btn,\r\n            .audio-play-btn {\r\n                border: 2px solid var(--text-light);\r\n            }\r\n        }\r\n\r\n        \/* Dark Mode Support *\/\r\n        @media (prefers-color-scheme: dark) {\r\n\r\n            \/* Already using dark theme, but can add specific adjustments *\/\r\n            body {\r\n                background: linear-gradient(135deg,\r\n                        #000000 0%,\r\n                        var(--bg-primary) 25%,\r\n                        var(--bg-secondary) 50%,\r\n                        var(--card-purple) 75%,\r\n                        var(--card-blue) 100%);\r\n            }\r\n        }\r\n\r\n        \/* Print Styles *\/\r\n        @media print {\r\n            body {\r\n                background: white !important;\r\n                color: black !important;\r\n            }\r\n\r\n            .container {\r\n                max-width: none;\r\n                padding: 0;\r\n            }\r\n\r\n            .video-player-wrapper,\r\n            .download-section,\r\n            .audio-streaming,\r\n            .download-progress {\r\n                display: none !important;\r\n            }\r\n\r\n            .search-section,\r\n            .video-section {\r\n                background: white !important;\r\n                border: 1px solid black !important;\r\n                box-shadow: none !important;\r\n            }\r\n        }\r\n    <\/style>\r\n\r\n\r\n<div class=\"tiktok_body\">\r\n    <div class=\"container_tiktok\">\r\n        <!-- Header -->\r\n        <div class=\"header\">\r\n            <div class=\"logo\">\r\n                <div class=\"logo-icon\">\r\n                    <i class=\"fab fa-tiktok\"><\/i>\r\n                <\/div>\r\n                <h1 class=\"logo-text\">TikTok Video Viewer<\/h1>\r\n            <\/div>\r\n            <p class=\"subtitle\">Stream & Download TikTok Videos in Ultra Premium Quality<\/p>\r\n        <\/div>\r\n\r\n        <!-- Search Section -->\r\n        <div class=\"search-section\">\r\n            <div class=\"input-group\">\r\n                <input type=\"text\" class=\"input-field\" id=\"videoInput\" placeholder=\"Enter TikTok video URL or video ID\">\r\n                <div class=\"input-actions\">\r\n                    <span>Supports URLs and video IDs<\/span>\r\n                    <button class=\"paste-btn\" onclick=\"pasteFromClipboard()\">\r\n                        <i class=\"fas fa-paste\"><\/i> Paste\r\n                    <\/button>\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <div class=\"action-buttons\">\r\n                <button class=\"search-btn\" onclick=\"loadVideo()\" id=\"loadBtn\">\r\n                    <i class=\"fas fa-play-circle\"><\/i>\r\n                    <span id=\"loadText\">Load Video<\/span>\r\n                <\/button>\r\n                <button class=\"search-another-btn\" onclick=\"searchAnother()\" id=\"searchAnotherBtn\"\r\n                    style=\"display: none;\">\r\n                    <i class=\"fas fa-search\"><\/i> Search Another\r\n                <\/button>\r\n            <\/div>\r\n\r\n            <div class=\"error-message\" id=\"errorMessage\">\r\n                <i class=\"fas fa-exclamation-triangle\"><\/i>\r\n                <span id=\"errorText\"><\/span>\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <!-- Loading Animation -->\r\n        <div class=\"loading\" id=\"loading\">\r\n            <div class=\"loading-spinner\">\r\n                <div class=\"spinner-ring\"><\/div>\r\n                <div class=\"spinner-ring\"><\/div>\r\n                <div class=\"spinner-ring\"><\/div>\r\n            <\/div>\r\n            <div class=\"loading-text\">Loading TikTok Video<\/div>\r\n            <div class=\"loading-subtext\">Fetching video details and preparing premium stream...<\/div>\r\n        <\/div>\r\n\r\n        <!-- Main Video Section -->\r\n        <div class=\"video-section\" id=\"videoSection\">\r\n            <!-- Full Width Title -->\r\n            <h2 class=\"video-title\" id=\"videoTitle\"><\/h2>\r\n\r\n            <!-- Author Info -->\r\n            <div class=\"author-section\" id=\"authorSection\">\r\n                <img decoding=\"async\" class=\"author-avatar\" id=\"authorAvatar\" src=\"\/placeholder.svg\" alt=\"Author\">\r\n                <div class=\"author-details\">\r\n                    <h3 id=\"authorName\"><\/h3>\r\n                    <p class=\"author-username\" id=\"authorUsername\"><\/p>\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <!-- Stats Grid -->\r\n            <div class=\"video-stats\" id=\"videoStats\"><\/div>\r\n\r\n            <!-- Video Streaming Area -->\r\n            <div class=\"video-streaming-area\">\r\n                <div class=\"streaming-header\">\r\n                    <h3 class=\"streaming-title\">\ud83c\udfac Video Streaming<\/h3>\r\n                    <p class=\"streaming-subtitle\">High Quality Video Player with Premium Controls<\/p>\r\n                <\/div>\r\n\r\n                <div class=\"video-player-wrapper\">\r\n                    <!-- Video Thumbnail -->\r\n                    <img decoding=\"async\" class=\"video-thumbnail\" id=\"videoThumbnail\" src=\"\/placeholder.svg\" alt=\"Video Thumbnail\">\r\n                    <div class=\"thumbnail-overlay\" onclick=\"startVideoPlayback()\">\r\n                        <button class=\"thumbnail-play-btn\">\r\n                            <i class=\"fas fa-play\"><\/i>\r\n                        <\/button>\r\n                    <\/div>\r\n\r\n                    <!-- Video Player -->\r\n                    <video class=\"video-player\" id=\"videoPlayer\" loop preload=\"metadata\">\r\n                        Your browser doesn't support video playback.\r\n                    <\/video>\r\n\r\n                    <div class=\"video-controls\" id=\"videoControls\">\r\n                        <div class=\"progress-bar\" onclick=\"seekVideo(event)\">\r\n                            <div class=\"progress-fill\" id=\"progressFill\"><\/div>\r\n                        <\/div>\r\n\r\n                        <!-- Video Time Display -->\r\n                        <div class=\"video-time\">\r\n                            <span id=\"videoCurrentTime\">0:00<\/span>\r\n                            <span id=\"videoDuration\">0:00<\/span>\r\n                        <\/div>\r\n\r\n                        <div class=\"control-buttons\">\r\n                            <div class=\"control-group volume-control\">\r\n                                <button class=\"control-btn\" onclick=\"toggleMute()\" id=\"muteBtn\">\r\n                                    <i class=\"fas fa-volume-up\"><\/i>\r\n                                <\/button>\r\n                                <div class=\"volume-slider\" onclick=\"setVolume(event)\">\r\n                                    <div class=\"volume-fill\" id=\"volumeFill\"><\/div>\r\n                                <\/div>\r\n                            <\/div>\r\n\r\n                            <button class=\"control-btn play-btn\" onclick=\"togglePlay()\" id=\"playBtn\">\r\n                                <i class=\"fas fa-play\"><\/i>\r\n                            <\/button>\r\n\r\n                            <div class=\"control-group\">\r\n                                <button class=\"control-btn\" onclick=\"toggleFullscreen()\" id=\"fullscreenBtn\">\r\n                                    <i class=\"fas fa-expand\"><\/i>\r\n                                <\/button>\r\n                            <\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <!-- Download Section -->\r\n            <div class=\"download-section\">\r\n                <div class=\"download-header\">\r\n                    <h3 class=\"download-title\">\r\n                        <i class=\"fas fa-download\"><\/i>\r\n                        Download Options\r\n                    <\/h3>\r\n                    <p class=\"download-subtitle\">Choose your preferred quality and format<\/p>\r\n                <\/div>\r\n\r\n                <div class=\"download-grid\">\r\n                    <button class=\"download-btn\" onclick=\"downloadVideo('standard')\" id=\"downloadStandard\">\r\n                        <i class=\"fas fa-download\"><\/i>\r\n                        <span>Standard Quality<\/span>\r\n                    <\/button>\r\n                    <button class=\"download-btn hd\" onclick=\"downloadVideo('hd')\" id=\"downloadHD\">\r\n                        <i class=\"fas fa-hd-video\"><\/i>\r\n                        <span>HD Quality<\/span>\r\n                    <\/button>\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <!-- Audio Streaming Section -->\r\n            <div class=\"audio-streaming\" id=\"audioStreaming\" style=\"display: none;\">\r\n                <div class=\"audio-header\">\r\n                    <h3 class=\"audio-main-title\">\r\n                        <i class=\"fas fa-music\"><\/i>\r\n                        Audio Streaming\r\n                    <\/h3>\r\n                    <p class=\"audio-subtitle\">High Quality Audio Player with Advanced Controls<\/p>\r\n                <\/div>\r\n\r\n                <div class=\"audio-player-section\">\r\n                    <div class=\"audio-icon-wrapper\">\r\n                        <div class=\"audio-wave\"><\/div>\r\n                        <div class=\"audio-wave\"><\/div>\r\n                        <div class=\"audio-wave\"><\/div>\r\n                        <div class=\"audio-icon\">\r\n                            <i class=\"fas fa-music\"><\/i>\r\n                        <\/div>\r\n                    <\/div>\r\n\r\n                    <div class=\"audio-info\">\r\n                        <div class=\"audio-title\" id=\"audioTitle\">Audio Track<\/div>\r\n                        <div class=\"audio-artist\" id=\"audioArtist\">TikTok Audio<\/div>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <!-- Audio Progress Bar -->\r\n                <div class=\"audio-progress-container\">\r\n                    <div class=\"audio-progress\" onclick=\"seekAudio(event)\">\r\n                        <div class=\"audio-progress-fill\" id=\"audioProgressFill\"><\/div>\r\n                    <\/div>\r\n                    <div class=\"audio-time\">\r\n                        <span id=\"audioCurrentTime\">0:00<\/span>\r\n                        <span id=\"audioDuration\">0:00<\/span>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <!-- Audio Controls -->\r\n                <div class=\"audio-controls\">\r\n                    <button class=\"audio-play-btn\" onclick=\"toggleAudioPlay()\" id=\"audioPlayBtn\">\r\n                        <i class=\"fas fa-play\"><\/i>\r\n                    <\/button>\r\n\r\n                    <!-- Audio Volume Control -->\r\n                    <div class=\"audio-volume-control\">\r\n                        <button class=\"audio-volume-btn\" onclick=\"toggleAudioMute()\" id=\"audioMuteBtn\">\r\n                            <i class=\"fas fa-volume-up\"><\/i>\r\n                        <\/button>\r\n                        <div class=\"audio-volume-slider\" onclick=\"setAudioVolume(event)\">\r\n                            <div class=\"audio-volume-fill\" id=\"audioVolumeFill\"><\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <div class=\"download-audio-section\">\r\n                    <button class=\"download-audio-btn\" onclick=\"downloadVideo('audio')\" id=\"downloadAudio\">\r\n                        <i class=\"fas fa-download\"><\/i>\r\n                        <span>Download Audio<\/span>\r\n                    <\/button>\r\n                <\/div>\r\n\r\n                <audio id=\"audioElement\" loop><\/audio>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <!-- Download Progress -->\r\n    <div class=\"download-progress\" id=\"downloadProgress\">\r\n        <div class=\"progress-header\">\r\n            <span class=\"progress-text\" id=\"progressText\">Downloading...<\/span>\r\n            <button class=\"cancel-btn\" onclick=\"cancelDownload()\">Cancel<\/button>\r\n        <\/div>\r\n        <div class=\"progress-bar-container\">\r\n            <div class=\"progress-bar-fill\" id=\"progressBarFill\"><\/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        const API_URL = 'https:\/\/tools.xrespond.com\/api\/tiktok\/profile\/videos\/details';\r\n        let currentVideoData = null;\r\n        let isLoading = false;\r\n        let isDownloading = false;\r\n        let downloadController = null;\r\n        let currentVolume = 1;\r\n        let isMuted = false;\r\n        let isFullscreen = false;\r\n        let audioPlaying = false;\r\n        let videoStarted = false;\r\n        let audioCurrentVolume = 1;\r\n        let audioIsMuted = false;\r\n\r\n        \/\/ Mobile detection\r\n        const isMobile = \/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini\/i.test(navigator.userAgent);\r\n        const isTouch = 'ontouchstart' in window || navigator.maxTouchPoints > 0;\r\n\r\n        \/\/ Utility Functions\r\n        function formatNumber(num) {\r\n            if (num >= 1000000) {\r\n                return (num \/ 1000000).toFixed(1) + 'M';\r\n            }\r\n            if (num >= 1000) {\r\n                return (num \/ 1000).toFixed(1) + 'K';\r\n            }\r\n            return num.toString();\r\n        }\r\n\r\n        function formatDuration(seconds) {\r\n            const mins = Math.floor(seconds \/ 60);\r\n            const secs = Math.floor(seconds % 60);\r\n            return `${mins}:${secs.toString().padStart(2, '0')}`;\r\n        }\r\n\r\n        function formatFileSize(bytes) {\r\n            if (bytes >= 1024 * 1024) {\r\n                return (bytes \/ (1024 * 1024)).toFixed(1) + ' MB';\r\n            }\r\n            if (bytes >= 1024) {\r\n                return (bytes \/ 1024).toFixed(1) + ' KB';\r\n            }\r\n            return bytes + ' B';\r\n        }\r\n\r\n        \/\/ Mobile-specific functions\r\n        function showVideoControlsOnMobile() {\r\n            if (isMobile || isTouch) {\r\n                const videoControls = document.getElementById('videoControls');\r\n                if (videoControls) {\r\n                    videoControls.classList.add('show');\r\n                    \/\/ Hide after 3 seconds of inactivity\r\n                    setTimeout(() => {\r\n                        if (!videoControls.matches(':hover')) {\r\n                            videoControls.classList.remove('show');\r\n                        }\r\n                    }, 3000);\r\n                }\r\n            }\r\n        }\r\n\r\n        function handleTouchEvents() {\r\n            if (isMobile || isTouch) {\r\n                \/\/ Add touch event listeners for better mobile interaction\r\n                document.addEventListener('touchstart', function (e) {\r\n                    \/\/ Handle touch start\r\n                }, { passive: true });\r\n\r\n                document.addEventListener('touchend', function (e) {\r\n                    \/\/ Handle touch end\r\n                }, { passive: true });\r\n\r\n                \/\/ Prevent zoom on double tap for video controls\r\n                let lastTouchEnd = 0;\r\n                document.addEventListener('touchend', function (e) {\r\n                    const now = (new Date()).getTime();\r\n                    if (now - lastTouchEnd <= 300) {\r\n                        e.preventDefault();\r\n                    }\r\n                    lastTouchEnd = now;\r\n                }, false);\r\n            }\r\n        }\r\n\r\n        \/\/ UI Functions\r\n        function showLoading() {\r\n            document.getElementById('loading').style.display = 'block';\r\n        }\r\n\r\n        function hideLoading() {\r\n            document.getElementById('loading').style.display = 'none';\r\n        }\r\n\r\n        function showError(message) {\r\n            const errorDiv = document.getElementById('errorMessage');\r\n            const errorText = document.getElementById('errorText');\r\n            errorText.textContent = message;\r\n            errorDiv.classList.add('show');\r\n\r\n            \/\/ Auto-hide error after 5 seconds on mobile\r\n            if (isMobile) {\r\n                setTimeout(() => {\r\n                    hideError();\r\n                }, 5000);\r\n            }\r\n        }\r\n\r\n        function hideError() {\r\n            document.getElementById('errorMessage').classList.remove('show');\r\n        }\r\n\r\n        function showDownloadProgress(text, progress = 0) {\r\n            const progressDiv = document.getElementById('downloadProgress');\r\n            const progressText = document.getElementById('progressText');\r\n            const progressFill = document.getElementById('progressBarFill');\r\n\r\n            \/\/ Add null checks to prevent errors\r\n            if (progressText) {\r\n                progressText.textContent = text;\r\n            }\r\n            if (progressFill) {\r\n                progressFill.style.width = `${progress}%`;\r\n            }\r\n            if (progressDiv) {\r\n                progressDiv.classList.add('show');\r\n            }\r\n        }\r\n\r\n        function hideDownloadProgress() {\r\n            const progressDiv = document.getElementById('downloadProgress');\r\n            if (progressDiv) {\r\n                progressDiv.classList.remove('show');\r\n            }\r\n        }\r\n\r\n        \/\/ Main Functions\r\n        async function pasteFromClipboard() {\r\n            try {\r\n                const text = await navigator.clipboard.readText();\r\n                document.getElementById('videoInput').value = text;\r\n            } catch (err) {\r\n                console.error('Failed to read clipboard:', err);\r\n                \/\/ On mobile, focus the input to show keyboard\r\n                const input = document.getElementById('videoInput');\r\n                input.focus();\r\n                if (isMobile) {\r\n                    input.select();\r\n                }\r\n            }\r\n        }\r\n\r\n        function searchAnother() {\r\n            document.getElementById('videoInput').value = '';\r\n            document.getElementById('videoSection').style.display = 'none';\r\n            document.getElementById('searchAnotherBtn').style.display = 'none';\r\n            document.getElementById('audioStreaming').style.display = 'none';\r\n            currentVideoData = null;\r\n            videoStarted = false;\r\n            hideError();\r\n\r\n            \/\/ Reset players\r\n            const videoPlayer = document.getElementById('videoPlayer');\r\n            const audioElement = document.getElementById('audioElement');\r\n            const videoThumbnail = document.getElementById('videoThumbnail');\r\n            const thumbnailOverlay = document.querySelector('.thumbnail-overlay');\r\n\r\n            videoPlayer.src = '';\r\n            videoPlayer.pause();\r\n            videoPlayer.classList.remove('playing');\r\n            audioElement.src = '';\r\n            audioElement.pause();\r\n            audioPlaying = false;\r\n            document.getElementById('audioPlayBtn').innerHTML = '<i class=\"fas fa-play\"><\/i>';\r\n\r\n            \/\/ Show thumbnail again\r\n            videoThumbnail.style.display = 'block';\r\n            thumbnailOverlay.style.display = 'flex';\r\n\r\n            \/\/ Scroll to top on mobile\r\n            if (isMobile) {\r\n                window.scrollTo({ top: 0, behavior: 'smooth' });\r\n            }\r\n\r\n            document.getElementById('videoInput').focus();\r\n        }\r\n\r\n        async function loadVideo() {\r\n            if (isLoading) return;\r\n\r\n            const input = document.getElementById('videoInput').value.trim();\r\n            if (!input) {\r\n                showError('Please enter a TikTok video URL or ID');\r\n                return;\r\n            }\r\n\r\n            isLoading = true;\r\n            const loadBtn = document.getElementById('loadBtn');\r\n            const loadText = document.getElementById('loadText');\r\n\r\n            loadBtn.disabled = true;\r\n            loadText.textContent = 'Loading...';\r\n            showLoading();\r\n            hideError();\r\n\r\n            try {\r\n                const response = await fetch(API_URL, {\r\n                    method: 'POST',\r\n                    headers: {\r\n                        'Content-Type': 'application\/json',\r\n                        'Accept': 'application\/json'\r\n                    },\r\n                    body: JSON.stringify({ url: input })\r\n                });\r\n\r\n                const data = await response.json();\r\n\r\n                if (data.status !== 'success') {\r\n                    throw new Error(data.message || 'Failed to load video');\r\n                }\r\n\r\n                currentVideoData = data.data.data;\r\n                displayVideo(currentVideoData);\r\n\r\n                document.getElementById('videoSection').style.display = 'block';\r\n                document.getElementById('searchAnotherBtn').style.display = 'block';\r\n                document.getElementById('videoInput').value = '';\r\n\r\n                \/\/ Scroll to video section on mobile\r\n                if (isMobile) {\r\n                    setTimeout(() => {\r\n                        document.getElementById('videoSection').scrollIntoView({\r\n                            behavior: 'smooth',\r\n                            block: 'start'\r\n                        });\r\n                    }, 500);\r\n                }\r\n\r\n            } catch (error) {\r\n                showError(error.message || 'Error loading video. Please try again.');\r\n                console.error('Load video error:', error);\r\n            } finally {\r\n                isLoading = false;\r\n                loadBtn.disabled = false;\r\n                loadText.textContent = 'Load Video';\r\n                hideLoading();\r\n            }\r\n        }\r\n\r\n        function displayVideo(data) {\r\n            \/\/ Set video title\r\n            document.getElementById('videoTitle').textContent = data.title;\r\n\r\n            \/\/ Set video stats in horizontal grid - REMOVED SIZE STAT\r\n            const statsContainer = document.getElementById('videoStats');\r\n            statsContainer.innerHTML = `\r\n        <div class=\"stat-item views\">\r\n            <span class=\"stat-value\">${formatNumber(data.play_count)}<\/span>\r\n            <span class=\"stat-label\">Views<\/span>\r\n        <\/div>\r\n        <div class=\"stat-item likes\">\r\n            <span class=\"stat-value\">${formatNumber(data.digg_count)}<\/span>\r\n            <span class=\"stat-label\">Likes<\/span>\r\n        <\/div>\r\n        <div class=\"stat-item comments\">\r\n            <span class=\"stat-value\">${formatNumber(data.comment_count)}<\/span>\r\n            <span class=\"stat-label\">Comments<\/span>\r\n        <\/div>\r\n        <div class=\"stat-item shares\">\r\n            <span class=\"stat-value\">${formatNumber(data.share_count)}<\/span>\r\n            <span class=\"stat-label\">Shares<\/span>\r\n        <\/div>\r\n        <div class=\"stat-item duration\">\r\n            <span class=\"stat-value\">${formatDuration(data.duration)}<\/span>\r\n            <span class=\"stat-label\">Duration<\/span>\r\n        <\/div>\r\n    `;\r\n\r\n            \/\/ Set author info\r\n            document.getElementById('authorAvatar').src = data.author.avatar;\r\n            document.getElementById('authorName').textContent = data.author.nickname;\r\n            document.getElementById('authorUsername').textContent = `@${data.author.unique_id}`;\r\n\r\n            \/\/ Set video thumbnail\r\n            const videoThumbnail = document.getElementById('videoThumbnail');\r\n            videoThumbnail.src = data.cover || data.dynamic_cover || '\/placeholder.svg?height=600&width=400';\r\n\r\n            \/\/ Set video player\r\n            const videoPlayer = document.getElementById('videoPlayer');\r\n            videoPlayer.src = data.play;\r\n            videoPlayer.addEventListener('loadedmetadata', () => {\r\n                videoPlayer.volume = currentVolume;\r\n                videoPlayer.muted = isMuted;\r\n                updateVolumeDisplay();\r\n                \/\/ Set video duration\r\n                document.getElementById('videoDuration').textContent = formatDuration(videoPlayer.duration);\r\n            });\r\n            videoPlayer.addEventListener('timeupdate', updateVideoProgress);\r\n\r\n            \/\/ Mobile-specific video player setup\r\n            if (isMobile) {\r\n                videoPlayer.setAttribute('playsinline', 'true');\r\n                videoPlayer.setAttribute('webkit-playsinline', 'true');\r\n\r\n                \/\/ Show controls on touch\r\n                videoPlayer.addEventListener('touchstart', showVideoControlsOnMobile);\r\n            }\r\n\r\n            \/\/ Set audio player\r\n            if (data.music) {\r\n                const audioElement = document.getElementById('audioElement');\r\n                const audioStreaming = document.getElementById('audioStreaming');\r\n                const audioTitle = document.getElementById('audioTitle');\r\n                const audioArtist = document.getElementById('audioArtist');\r\n\r\n                audioElement.src = data.music;\r\n                audioTitle.textContent = data.music_info?.title || 'Audio Track';\r\n                audioArtist.textContent = data.music_info?.author || data.author.nickname;\r\n                audioStreaming.style.display = 'block';\r\n\r\n                audioElement.addEventListener('timeupdate', updateAudioProgress);\r\n                audioElement.addEventListener('loadedmetadata', () => {\r\n                    document.getElementById('audioDuration').textContent = formatDuration(audioElement.duration);\r\n                    audioElement.volume = audioCurrentVolume;\r\n                    audioElement.muted = audioIsMuted;\r\n                    updateAudioVolumeDisplay();\r\n                });\r\n            }\r\n\r\n            \/\/ Update download buttons\r\n            updateDownloadButtons(data);\r\n        }\r\n\r\n        function updateDownloadButtons(data) {\r\n            const standardBtn = document.getElementById('downloadStandard');\r\n            const hdBtn = document.getElementById('downloadHD');\r\n            const audioBtn = document.getElementById('downloadAudio');\r\n\r\n            \/\/ Standard quality\r\n            standardBtn.innerHTML = `<i class=\"fas fa-download\"><\/i><span>Standard (${formatFileSize(data.size)})<\/span>`;\r\n\r\n            \/\/ HD quality\r\n            if (data.hd_size && data.hdplay) {\r\n                hdBtn.innerHTML = `<i class=\"fas fa-hd-video\"><\/i><span>HD (${formatFileSize(data.hd_size)})<\/span>`;\r\n                hdBtn.style.display = 'flex';\r\n            } else {\r\n                hdBtn.style.display = 'none';\r\n            }\r\n\r\n            \/\/ Audio\r\n            audioBtn.innerHTML = `<i class=\"fas fa-download\"><\/i><span>Download Audio<\/span>`;\r\n        }\r\n\r\n        function startVideoPlayback() {\r\n            const videoPlayer = document.getElementById('videoPlayer');\r\n            const videoThumbnail = document.getElementById('videoThumbnail');\r\n            const thumbnailOverlay = document.querySelector('.thumbnail-overlay');\r\n\r\n            \/\/ Hide thumbnail and show video\r\n            videoThumbnail.style.display = 'none';\r\n            thumbnailOverlay.style.display = 'none';\r\n            videoPlayer.classList.add('playing');\r\n\r\n            \/\/ Start playing\r\n            videoPlayer.play().catch(e => {\r\n                console.error('Error playing video:', e);\r\n                showError('Unable to play video. Please try again.');\r\n            });\r\n\r\n            document.getElementById('playBtn').innerHTML = '<i class=\"fas fa-pause\"><\/i>';\r\n            videoStarted = true;\r\n\r\n            \/\/ Show controls on mobile\r\n            if (isMobile) {\r\n                showVideoControlsOnMobile();\r\n            }\r\n        }\r\n\r\n        \/\/ Video Player Controls\r\n        function togglePlay() {\r\n            if (!videoStarted) {\r\n                startVideoPlayback();\r\n                return;\r\n            }\r\n\r\n            const videoPlayer = document.getElementById('videoPlayer');\r\n            const playBtn = document.getElementById('playBtn');\r\n\r\n            if (videoPlayer.paused) {\r\n                videoPlayer.play().catch(e => {\r\n                    console.error('Error playing video:', e);\r\n                    showError('Unable to play video. Please try again.');\r\n                });\r\n                playBtn.innerHTML = '<i class=\"fas fa-pause\"><\/i>';\r\n            } else {\r\n                videoPlayer.pause();\r\n                playBtn.innerHTML = '<i class=\"fas fa-play\"><\/i>';\r\n            }\r\n\r\n            \/\/ Show controls on mobile\r\n            if (isMobile) {\r\n                showVideoControlsOnMobile();\r\n            }\r\n        }\r\n\r\n        function toggleAudioPlay() {\r\n            const audioElement = document.getElementById('audioElement');\r\n            const audioPlayBtn = document.getElementById('audioPlayBtn');\r\n\r\n            if (audioElement.paused) {\r\n                audioElement.play().catch(e => {\r\n                    console.error('Error playing audio:', e);\r\n                    showError('Unable to play audio. Please try again.');\r\n                });\r\n                audioPlayBtn.innerHTML = '<i class=\"fas fa-pause\"><\/i>';\r\n                audioPlaying = true;\r\n            } else {\r\n                audioElement.pause();\r\n                audioPlayBtn.innerHTML = '<i class=\"fas fa-play\"><\/i>';\r\n                audioPlaying = false;\r\n            }\r\n        }\r\n\r\n        function toggleMute() {\r\n            const videoPlayer = document.getElementById('videoPlayer');\r\n            const muteBtn = document.getElementById('muteBtn');\r\n\r\n            if (isMuted) {\r\n                isMuted = false;\r\n                videoPlayer.muted = false;\r\n                videoPlayer.volume = currentVolume;\r\n                muteBtn.innerHTML = '<i class=\"fas fa-volume-up\"><\/i>';\r\n            } else {\r\n                isMuted = true;\r\n                videoPlayer.muted = true;\r\n                muteBtn.innerHTML = '<i class=\"fas fa-volume-mute\"><\/i>';\r\n            }\r\n\r\n            updateVolumeDisplay();\r\n\r\n            \/\/ Show controls on mobile\r\n            if (isMobile) {\r\n                showVideoControlsOnMobile();\r\n            }\r\n        }\r\n\r\n        function toggleAudioMute() {\r\n            const audioElement = document.getElementById('audioElement');\r\n            const audioMuteBtn = document.getElementById('audioMuteBtn');\r\n\r\n            if (audioIsMuted) {\r\n                audioIsMuted = false;\r\n                audioElement.muted = false;\r\n                audioElement.volume = audioCurrentVolume;\r\n                audioMuteBtn.innerHTML = '<i class=\"fas fa-volume-up\"><\/i>';\r\n            } else {\r\n                audioIsMuted = true;\r\n                audioElement.muted = true;\r\n                audioMuteBtn.innerHTML = '<i class=\"fas fa-volume-mute\"><\/i>';\r\n            }\r\n\r\n            updateAudioVolumeDisplay();\r\n        }\r\n\r\n        function setVolume(event) {\r\n            const volumeSlider = event.currentTarget;\r\n            const rect = volumeSlider.getBoundingClientRect();\r\n            const pos = (event.clientX - rect.left) \/ rect.width;\r\n            currentVolume = Math.max(0, Math.min(1, pos));\r\n\r\n            const videoPlayer = document.getElementById('videoPlayer');\r\n            videoPlayer.volume = currentVolume;\r\n\r\n            if (currentVolume === 0) {\r\n                isMuted = true;\r\n                videoPlayer.muted = true;\r\n                document.getElementById('muteBtn').innerHTML = '<i class=\"fas fa-volume-mute\"><\/i>';\r\n            } else {\r\n                isMuted = false;\r\n                videoPlayer.muted = false;\r\n                document.getElementById('muteBtn').innerHTML = '<i class=\"fas fa-volume-up\"><\/i>';\r\n            }\r\n\r\n            updateVolumeDisplay();\r\n\r\n            \/\/ Show controls on mobile\r\n            if (isMobile) {\r\n                showVideoControlsOnMobile();\r\n            }\r\n        }\r\n\r\n        function setAudioVolume(event) {\r\n            const volumeSlider = event.currentTarget;\r\n            const rect = volumeSlider.getBoundingClientRect();\r\n            const pos = (event.clientX - rect.left) \/ rect.width;\r\n            audioCurrentVolume = Math.max(0, Math.min(1, pos));\r\n\r\n            const audioElement = document.getElementById('audioElement');\r\n            audioElement.volume = audioCurrentVolume;\r\n\r\n            if (audioCurrentVolume === 0) {\r\n                audioIsMuted = true;\r\n                audioElement.muted = true;\r\n                document.getElementById('audioMuteBtn').innerHTML = '<i class=\"fas fa-volume-mute\"><\/i>';\r\n            } else {\r\n                audioIsMuted = false;\r\n                audioElement.muted = false;\r\n                document.getElementById('audioMuteBtn').innerHTML = '<i class=\"fas fa-volume-up\"><\/i>';\r\n            }\r\n\r\n            updateAudioVolumeDisplay();\r\n        }\r\n\r\n        function updateVolumeDisplay() {\r\n            const volumeFill = document.getElementById('volumeFill');\r\n            const displayVolume = isMuted ? 0 : currentVolume;\r\n            volumeFill.style.width = `${displayVolume * 100}%`;\r\n        }\r\n\r\n        function updateAudioVolumeDisplay() {\r\n            const volumeFill = document.getElementById('audioVolumeFill');\r\n            const displayVolume = audioIsMuted ? 0 : audioCurrentVolume;\r\n            volumeFill.style.width = `${displayVolume * 100}%`;\r\n        }\r\n\r\n        function seekVideo(event) {\r\n            const videoPlayer = document.getElementById('videoPlayer');\r\n            const progressBar = event.currentTarget;\r\n            const rect = progressBar.getBoundingClientRect();\r\n            const pos = (event.clientX - rect.left) \/ rect.width;\r\n            videoPlayer.currentTime = pos * videoPlayer.duration;\r\n\r\n            \/\/ Show controls on mobile\r\n            if (isMobile) {\r\n                showVideoControlsOnMobile();\r\n            }\r\n        }\r\n\r\n        function seekAudio(event) {\r\n            const audioElement = document.getElementById('audioElement');\r\n            const progressBar = event.currentTarget;\r\n            const rect = progressBar.getBoundingClientRect();\r\n            const pos = (event.clientX - rect.left) \/ rect.width;\r\n            audioElement.currentTime = pos * audioElement.duration;\r\n        }\r\n\r\n        \/\/ Updated video progress function with time display\r\n        function updateVideoProgress() {\r\n            const videoPlayer = document.getElementById('videoPlayer');\r\n            const progressFill = document.getElementById('progressFill');\r\n            const currentTime = document.getElementById('videoCurrentTime');\r\n\r\n            const progress = (videoPlayer.currentTime \/ videoPlayer.duration) * 100;\r\n            progressFill.style.width = `${progress}%`;\r\n            currentTime.textContent = formatDuration(videoPlayer.currentTime);\r\n        }\r\n\r\n        function updateAudioProgress() {\r\n            const audioElement = document.getElementById('audioElement');\r\n            const progressFill = document.getElementById('audioProgressFill');\r\n            const currentTime = document.getElementById('audioCurrentTime');\r\n\r\n            const progress = (audioElement.currentTime \/ audioElement.duration) * 100;\r\n            progressFill.style.width = `${progress}%`;\r\n            currentTime.textContent = formatDuration(audioElement.currentTime);\r\n        }\r\n\r\n        function toggleFullscreen() {\r\n            const videoWrapper = document.querySelector('.video-player-wrapper');\r\n            const fullscreenBtn = document.getElementById('fullscreenBtn');\r\n\r\n            if (!isFullscreen) {\r\n                if (videoWrapper.requestFullscreen) {\r\n                    videoWrapper.requestFullscreen();\r\n                } else if (videoWrapper.webkitRequestFullscreen) {\r\n                    videoWrapper.webkitRequestFullscreen();\r\n                } else if (videoWrapper.msRequestFullscreen) {\r\n                    videoWrapper.msRequestFullscreen();\r\n                }\r\n                isFullscreen = true;\r\n                fullscreenBtn.innerHTML = '<i class=\"fas fa-compress\"><\/i>';\r\n            } else {\r\n                if (document.exitFullscreen) {\r\n                    document.exitFullscreen();\r\n                } else if (document.webkitExitFullscreen) {\r\n                    document.webkitExitFullscreen();\r\n                } else if (document.msExitFullscreen) {\r\n                    document.msExitFullscreen();\r\n                }\r\n                isFullscreen = false;\r\n                fullscreenBtn.innerHTML = '<i class=\"fas fa-expand\"><\/i>';\r\n            }\r\n\r\n            \/\/ Show controls on mobile\r\n            if (isMobile) {\r\n                showVideoControlsOnMobile();\r\n            }\r\n        }\r\n\r\n        \/\/ Download Functions\r\n        async function downloadVideo(quality) {\r\n            if (!currentVideoData || isDownloading) return;\r\n\r\n            let downloadUrl, filename, expectedSize;\r\n\r\n            switch (quality) {\r\n                case 'hd':\r\n                    if (!currentVideoData.hdplay) {\r\n                        showError('HD quality not available for this video');\r\n                        return;\r\n                    }\r\n                    downloadUrl = currentVideoData.hdplay;\r\n                    filename = `tiktok-${currentVideoData.id}-hd.mp4`;\r\n                    expectedSize = currentVideoData.hd_size;\r\n                    break;\r\n                case 'audio':\r\n                    if (!currentVideoData.music) {\r\n                        showError('Audio not available for this video');\r\n                        return;\r\n                    }\r\n                    downloadUrl = currentVideoData.music;\r\n                    filename = `tiktok-${currentVideoData.id}-audio.mp3`;\r\n                    expectedSize = null;\r\n                    break;\r\n                default:\r\n                    downloadUrl = currentVideoData.play;\r\n                    filename = `tiktok-${currentVideoData.id}.mp4`;\r\n                    expectedSize = currentVideoData.size;\r\n            }\r\n\r\n            isDownloading = true;\r\n            downloadController = new AbortController();\r\n\r\n            \/\/ Disable download buttons\r\n            document.querySelectorAll('.download-btn, .download-audio-btn').forEach(btn => btn.disabled = true);\r\n\r\n            showDownloadProgress(`Starting download...`, 0);\r\n\r\n            try {\r\n                const response = await fetch(downloadUrl, {\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 = expectedSize || 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 ? Math.round((receivedSize \/ totalSize) * 100) : 0;\r\n                    showDownloadProgress(`Downloading ${quality} quality... ${progress}%`, progress);\r\n                }\r\n\r\n                showDownloadProgress('Processing download...', 95);\r\n\r\n                \/\/ Combine chunks\r\n                const chunksAll = new Uint8Array(receivedSize);\r\n                let position = 0;\r\n                for (const chunk of chunks) {\r\n                    chunksAll.set(chunk, position);\r\n                    position += chunk.length;\r\n                }\r\n\r\n                const mimeType = quality === 'audio' ? 'audio\/mpeg' : 'video\/mp4';\r\n                const blob = new Blob([chunksAll], { type: mimeType });\r\n                const url = URL.createObjectURL(blob);\r\n\r\n                const a = document.createElement('a');\r\n                a.href = url;\r\n                a.download = filename;\r\n                a.style.display = 'none';\r\n                document.body.appendChild(a);\r\n                a.click();\r\n                document.body.removeChild(a);\r\n                URL.revokeObjectURL(url);\r\n\r\n                showDownloadProgress('Download completed successfully!', 100);\r\n                setTimeout(hideDownloadProgress, 2000);\r\n\r\n            } catch (error) {\r\n                if (error.name === 'AbortError') {\r\n                    showDownloadProgress('Download cancelled', 0);\r\n                } else {\r\n                    showError(`Download failed: ${error.message}`);\r\n                    hideDownloadProgress();\r\n                }\r\n            } finally {\r\n                isDownloading = false;\r\n                downloadController = null;\r\n                document.querySelectorAll('.download-btn, .download-audio-btn').forEach(btn => btn.disabled = false);\r\n            }\r\n        }\r\n\r\n        function cancelDownload() {\r\n            if (downloadController) {\r\n                downloadController.abort();\r\n            }\r\n        }\r\n\r\n        \/\/ Event Listeners\r\n        document.getElementById('videoInput').addEventListener('keypress', (e) => {\r\n            if (e.key === 'Enter' && !isLoading) {\r\n                loadVideo();\r\n            }\r\n        });\r\n\r\n        \/\/ Fullscreen change events\r\n        document.addEventListener('fullscreenchange', () => {\r\n            isFullscreen = !!document.fullscreenElement;\r\n            const fullscreenBtn = document.getElementById('fullscreenBtn');\r\n            if (fullscreenBtn) {\r\n                fullscreenBtn.innerHTML = isFullscreen ? '<i class=\"fas fa-compress\"><\/i>' : '<i class=\"fas fa-expand\"><\/i>';\r\n            }\r\n        });\r\n\r\n        \/\/ Keyboard shortcuts (desktop only)\r\n        document.addEventListener('keydown', (e) => {\r\n            if (!isMobile && currentVideoData && document.getElementById('videoSection').style.display === 'block') {\r\n                switch (e.key) {\r\n                    case ' ':\r\n                        e.preventDefault();\r\n                        togglePlay();\r\n                        break;\r\n                    case 'f':\r\n                    case 'F':\r\n                        toggleFullscreen();\r\n                        break;\r\n                    case 'm':\r\n                    case 'M':\r\n                        toggleMute();\r\n                        break;\r\n                }\r\n            }\r\n        });\r\n\r\n        \/\/ Touch event handlers for mobile\r\n        if (isMobile || isTouch) {\r\n            \/\/ Handle touch events for sliders\r\n            function handleTouchSlider(element, callback) {\r\n                element.addEventListener('touchstart', function (e) {\r\n                    e.preventDefault();\r\n                    const touch = e.touches[0];\r\n                    const rect = element.getBoundingClientRect();\r\n                    const pos = (touch.clientX - rect.left) \/ rect.width;\r\n                    callback(pos);\r\n                }, { passive: false });\r\n\r\n                element.addEventListener('touchmove', function (e) {\r\n                    e.preventDefault();\r\n                    const touch = e.touches[0];\r\n                    const rect = element.getBoundingClientRect();\r\n                    const pos = (touch.clientX - rect.left) \/ rect.width;\r\n                    callback(pos);\r\n                }, { passive: false });\r\n            }\r\n\r\n            \/\/ Apply touch handlers to sliders\r\n            document.addEventListener('DOMContentLoaded', () => {\r\n                const volumeSlider = document.getElementById('volumeFill')?.parentElement;\r\n                const audioVolumeSlider = document.getElementById('audioVolumeFill')?.parentElement;\r\n                const progressBar = document.getElementById('progressFill')?.parentElement;\r\n                const audioProgressBar = document.getElementById('audioProgressFill')?.parentElement;\r\n\r\n                if (volumeSlider) {\r\n                    handleTouchSlider(volumeSlider, (pos) => {\r\n                        currentVolume = Math.max(0, Math.min(1, pos));\r\n                        const videoPlayer = document.getElementById('videoPlayer');\r\n                        if (videoPlayer) {\r\n                            videoPlayer.volume = currentVolume;\r\n                            updateVolumeDisplay();\r\n                        }\r\n                    });\r\n                }\r\n\r\n                if (audioVolumeSlider) {\r\n                    handleTouchSlider(audioVolumeSlider, (pos) => {\r\n                        audioCurrentVolume = Math.max(0, Math.min(1, pos));\r\n                        const audioElement = document.getElementById('audioElement');\r\n                        if (audioElement) {\r\n                            audioElement.volume = audioCurrentVolume;\r\n                            updateAudioVolumeDisplay();\r\n                        }\r\n                    });\r\n                }\r\n\r\n                if (progressBar) {\r\n                    handleTouchSlider(progressBar, (pos) => {\r\n                        const videoPlayer = document.getElementById('videoPlayer');\r\n                        if (videoPlayer && videoPlayer.duration) {\r\n                            videoPlayer.currentTime = pos * videoPlayer.duration;\r\n                        }\r\n                    });\r\n                }\r\n\r\n                if (audioProgressBar) {\r\n                    handleTouchSlider(audioProgressBar, (pos) => {\r\n                        const audioElement = document.getElementById('audioElement');\r\n                        if (audioElement && audioElement.duration) {\r\n                            audioElement.currentTime = pos * audioElement.duration;\r\n                        }\r\n                    });\r\n                }\r\n            });\r\n        }\r\n\r\n        \/\/ Initialize\r\n        document.addEventListener('DOMContentLoaded', () => {\r\n            document.getElementById('videoInput').focus();\r\n            updateAudioVolumeDisplay();\r\n            handleTouchEvents();\r\n\r\n            \/\/ Prevent zoom on iOS when focusing inputs\r\n            if (\/iPad|iPhone|iPod\/.test(navigator.userAgent)) {\r\n                const viewport = document.querySelector('meta[name=viewport]');\r\n                if (viewport) {\r\n                    viewport.setAttribute('content', 'width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no');\r\n                }\r\n            }\r\n\r\n            \/\/ Add orientation change handler\r\n            window.addEventListener('orientationchange', () => {\r\n                setTimeout(() => {\r\n                    \/\/ Recalculate dimensions after orientation change\r\n                    window.scrollTo(0, 0);\r\n                }, 100);\r\n            });\r\n\r\n            \/\/ Add resize handler for responsive adjustments\r\n            window.addEventListener('resize', () => {\r\n                \/\/ Handle responsive adjustments\r\n                if (window.innerWidth <= 768) {\r\n                    \/\/ Mobile adjustments\r\n                    showVideoControlsOnMobile();\r\n                }\r\n            });\r\n        });\r\n    <\/script>\r\n<\/div>\r\n\r\n <style>\r\n        \/* Prefixed CSS Variables *\/\r\n        :root {\r\n            --tk-video-primary: #EE1D52;\r\n            --tk-video-secondary: #69C9D0;\r\n            --tk-video-dark: #000000;\r\n            --tk-video-accent: #25F4EE;\r\n            --tk-video-text-dark: #030303;\r\n            --tk-video-text-light: #606060;\r\n            --tk-video-bg-light: #f9f9f9;\r\n            --tk-video-border-light: #e5e5e5;\r\n            --tk-video-success: #34a853;\r\n            --tk-video-warning: #fbbc05;\r\n        }\r\n        \r\n \r\n        \r\n        \/* Prefixed Section Styles *\/\r\n        .tk-video-section {\r\n            padding: 80px 0;\r\n            position: relative;\r\n        }\r\n        \r\n        .tk-video-section-heading {\r\n            font-size: 2.75rem;\r\n            font-weight: 700;\r\n            margin-bottom: 1rem;\r\n            text-align: center;\r\n        }\r\n        \r\n        .tk-video-section-description {\r\n            font-size: 1.25rem;\r\n            color: var(--tk-video-text-light);\r\n            text-align: center;\r\n            max-width: 700px;\r\n            margin: 0 auto 3rem;\r\n        }\r\n        \r\n        \/* Prefixed Hero Section *\/\r\n        #tk-video-hero {\r\n            background: linear-gradient(135deg, var(--tk-video-primary), var(--tk-video-secondary), var(--tk-video-dark));\r\n            color: white;\r\n            padding: 120px 0;\r\n            position: relative;\r\n            overflow: hidden;\r\n        }\r\n        \r\n        #tk-video-hero::before {\r\n            content: \"\";\r\n            position: absolute;\r\n            top: 0;\r\n            left: 0;\r\n            width: 100%;\r\n            height: 100%;\r\n            background-image: \r\n                radial-gradient(circle at 20% 50%, rgba(238, 29, 82, 0.2) 0%, transparent 50%),\r\n                radial-gradient(circle at 80% 80%, rgba(105, 201, 208, 0.2) 0%, transparent 50%),\r\n                radial-gradient(circle at 40% 20%, rgba(1, 1, 1, 0.1) 0%, transparent 50%);\r\n        }\r\n        \r\n        .tk-video-hero-content {\r\n            position: relative;\r\n            z-index: 2;\r\n        }\r\n        \r\n        .tk-video-hero-title {\r\n            font-size: 3.5rem;\r\n            font-weight: 700;\r\n            margin-bottom: 1.5rem;\r\n            line-height: 1.2;\r\n        }\r\n        \r\n        .tk-video-hero-subtitle {\r\n            font-size: 1.5rem;\r\n            margin-bottom: 3rem;\r\n            opacity: 0.95;\r\n            font-weight: 400;\r\n        }\r\n        \r\n        .tk-video-btn-container {\r\n            display: flex;\r\n            justify-content: center;\r\n            gap: 15px;\r\n            margin-bottom: 3rem;\r\n        }\r\n        \r\n        .tk-video-btn-hero {\r\n            padding: 14px 32px;\r\n            font-size: 1.1rem;\r\n            font-weight: 600;\r\n            border-radius: 50px;\r\n            transition: all 0.3s ease;\r\n            text-decoration: none;\r\n            display: inline-block;\r\n        }\r\n        \r\n        .tk-video-btn-primary-hero {\r\n            background-color: white;\r\n            color: var(--tk-video-primary);\r\n            border: none;\r\n            box-shadow: 0 4px 15px rgba(0,0,0,0.2);\r\n        }\r\n        \r\n        .tk-video-btn-primary-hero:hover {\r\n            transform: translateY(-3px);\r\n            box-shadow: 0 8px 25px rgba(0,0,0,0.3);\r\n            color: var(--tk-video-primary);\r\n        }\r\n        \r\n        .tk-video-btn-secondary-hero {\r\n            background-color: transparent;\r\n            color: white;\r\n            border: 2px solid white;\r\n        }\r\n        \r\n        .tk-video-btn-secondary-hero:hover {\r\n            background-color: white;\r\n            color: var(--tk-video-primary);\r\n            transform: translateY(-3px);\r\n        }\r\n        \r\n        .tk-video-url-container {\r\n            max-width: 700px;\r\n            margin: 0 auto;\r\n            position: relative;\r\n        }\r\n        \r\n        .tk-video-url-input {\r\n            width: 100%;\r\n            padding: 18px 60px 18px 25px;\r\n            border-radius: 50px;\r\n            border: none;\r\n            font-size: 1.1rem;\r\n            box-shadow: 0 10px 30px rgba(0,0,0,0.2);\r\n            font-family: 'Fira Sans', sans-serif;\r\n        }\r\n        \r\n        .tk-video-url-btn {\r\n            position: absolute;\r\n            right: 8px;\r\n            top: 50%;\r\n            transform: translateY(-50%);\r\n            background-color: var(--tk-video-secondary);\r\n            color: var(--tk-video-dark);\r\n            border: none;\r\n            border-radius: 50%;\r\n            width: 45px;\r\n            height: 45px;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            font-size: 1.2rem;\r\n            transition: all 0.3s ease;\r\n        }\r\n        \r\n        .tk-video-url-btn:hover {\r\n            background-color: var(--tk-video-accent);\r\n            transform: translateY(-50%) scale(1.05);\r\n        }\r\n        \r\n        .tk-video-video-mockup {\r\n            max-width: 350px;\r\n            margin: 3rem auto 0;\r\n            background-color: rgba(255, 255, 255, 0.1);\r\n            backdrop-filter: blur(10px);\r\n            border-radius: 20px;\r\n            overflow: hidden;\r\n            box-shadow: 0 10px 30px rgba(0,0,0,0.3);\r\n            border: 1px solid rgba(255, 255, 255, 0.2);\r\n            position: relative;\r\n        }\r\n        \r\n        .tk-video-mockup-header {\r\n            height: 30px;\r\n            background-color: var(--tk-video-dark);\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            position: relative;\r\n        }\r\n        \r\n        .tk-video-mockup-header::before {\r\n            content: \"\";\r\n            position: absolute;\r\n            top: 0;\r\n            left: 0;\r\n            width: 100%;\r\n            height: 100%;\r\n            background: linear-gradient(90deg, var(--tk-video-secondary), var(--tk-video-accent));\r\n            opacity: 0.7;\r\n        }\r\n        \r\n        .tk-video-mockup-content {\r\n            aspect-ratio: 9\/16;\r\n            background-color: #000;\r\n            position: relative;\r\n            overflow: hidden;\r\n        }\r\n        \r\n        .tk-video-mockup-video {\r\n            width: 100%;\r\n            height: 100%;\r\n            object-fit: cover;\r\n        }\r\n        \r\n        .tk-video-mockup-overlay {\r\n            position: absolute;\r\n            top: 0;\r\n            left: 0;\r\n            width: 100%;\r\n            height: 100%;\r\n            background: linear-gradient(transparent, rgba(0,0,0,0.7));\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n        }\r\n        \r\n        .tk-video-mockup-play-btn {\r\n            width: 60px;\r\n            height: 60px;\r\n            background-color: rgba(255, 255, 255, 0.9);\r\n            border-radius: 50%;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            color: var(--tk-video-primary);\r\n            font-size: 24px;\r\n            box-shadow: 0 5px 15px rgba(0,0,0,0.3);\r\n            transition: all 0.3s ease;\r\n        }\r\n        \r\n        .tk-video-mockup-play-btn:hover {\r\n            transform: scale(1.1);\r\n        }\r\n        \r\n        .tk-video-mockup-actions {\r\n            position: absolute;\r\n            bottom: 20px;\r\n            left: 20px;\r\n            right: 20px;\r\n            display: flex;\r\n            justify-content: space-between;\r\n            align-items: center;\r\n        }\r\n        \r\n        .tk-video-mockup-action {\r\n            color: white;\r\n            font-size: 1.2rem;\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 5px;\r\n        }\r\n        \r\n        .tk-video-mockup-stats {\r\n            color: white;\r\n            font-size: 0.9rem;\r\n            display: flex;\r\n            gap: 15px;\r\n        }\r\n        \r\n        .tk-video-floating-icon {\r\n            position: absolute;\r\n            opacity: 0.15;\r\n            animation: float 15s infinite ease-in-out;\r\n            color: white;\r\n        }\r\n        \r\n        .tk-video-floating-icon:nth-child(1) {\r\n            top: 15%;\r\n            left: 10%;\r\n            font-size: 40px;\r\n            animation-delay: 0s;\r\n        }\r\n        \r\n        .tk-video-floating-icon:nth-child(2) {\r\n            top: 60%;\r\n            right: 10%;\r\n            font-size: 60px;\r\n            animation-delay: 2s;\r\n        }\r\n        \r\n        .tk-video-floating-icon:nth-child(3) {\r\n            bottom: 15%;\r\n            left: 20%;\r\n            font-size: 50px;\r\n            animation-delay: 5s;\r\n        }\r\n        \r\n        @keyframes float {\r\n            0%, 100% {\r\n                transform: translateY(0) rotate(0deg);\r\n            }\r\n            50% {\r\n                transform: translateY(-20px) rotate(10deg);\r\n            }\r\n        }\r\n        \r\n        \/* Prefixed How It Works Section *\/\r\n        #tk-video-how-it-works {\r\n            background-color: var(--tk-video-bg-light);\r\n        }\r\n        \r\n        .tk-video-steps-container {\r\n            max-width: 1000px;\r\n            margin: 0 auto;\r\n        }\r\n        \r\n        .tk-video-step-card {\r\n            background-color: white;\r\n            border-radius: 16px;\r\n            padding: 40px 30px;\r\n            height: 100%;\r\n            box-shadow: 0 5px 20px rgba(0,0,0,0.05);\r\n            transition: all 0.3s ease;\r\n            text-align: center;\r\n            border: 1px solid var(--tk-video-border-light);\r\n            position: relative;\r\n            overflow: hidden;\r\n        }\r\n        \r\n        .tk-video-step-card::before {\r\n            content: \"\";\r\n            position: absolute;\r\n            top: 0;\r\n            left: 0;\r\n            width: 100%;\r\n            height: 5px;\r\n            background: linear-gradient(90deg, var(--tk-video-primary), var(--tk-video-secondary));\r\n        }\r\n        \r\n        .tk-video-step-card:hover {\r\n            transform: translateY(-10px);\r\n            box-shadow: 0 15px 35px rgba(0,0,0,0.1);\r\n        }\r\n        \r\n        .tk-video-step-number {\r\n            display: inline-flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            width: 60px;\r\n            height: 60px;\r\n            background: linear-gradient(135deg, var(--tk-video-primary), var(--tk-video-secondary));\r\n            color: white;\r\n            border-radius: 50%;\r\n            font-size: 1.5rem;\r\n            font-weight: 700;\r\n            margin-bottom: 25px;\r\n        }\r\n        \r\n        .tk-video-step-icon {\r\n            font-size: 3rem;\r\n            background: linear-gradient(135deg, var(--tk-video-primary), var(--tk-video-secondary));\r\n            -webkit-background-clip: text;\r\n            background-clip: text;\r\n            color: transparent;\r\n            margin-bottom: 20px;\r\n            transition: transform 0.3s ease;\r\n        }\r\n        \r\n        .tk-video-step-card:hover .tk-video-step-icon {\r\n            transform: scale(1.1);\r\n        }\r\n        \r\n        .tk-video-step-title {\r\n            font-size: 1.5rem;\r\n            font-weight: 600;\r\n            margin-bottom: 15px;\r\n            color: var(--tk-video-text-dark);\r\n        }\r\n        \r\n        .tk-video-step-description {\r\n            font-size: 1.1rem;\r\n            color: var(--tk-video-text-light);\r\n            line-height: 1.6;\r\n        }\r\n        \r\n        \/* Prefixed Features Section *\/\r\n        #tk-video-features {\r\n            background-color: white;\r\n        }\r\n        \r\n        .tk-video-features-container {\r\n            max-width: 1000px;\r\n            margin: 0 auto;\r\n        }\r\n        \r\n        .tk-video-features-grid {\r\n            display: grid;\r\n            grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));\r\n            gap: 20px;\r\n        }\r\n        \r\n        .tk-video-feature-card {\r\n            background-color: var(--tk-video-bg-light);\r\n            border-radius: 12px;\r\n            padding: 25px;\r\n            box-shadow: 0 3px 10px rgba(0,0,0,0.05);\r\n            transition: all 0.3s ease;\r\n            height: 100%;\r\n            text-align: center;\r\n        }\r\n        \r\n        .tk-video-feature-card:hover {\r\n            transform: translateY(-5px);\r\n            box-shadow: 0 8px 20px rgba(0,0,0,0.1);\r\n        }\r\n        \r\n        .tk-video-feature-icon {\r\n            font-size: 2.5rem;\r\n            margin-bottom: 15px;\r\n            background: linear-gradient(135deg, var(--tk-video-primary), var(--tk-video-secondary));\r\n            -webkit-background-clip: text;\r\n            background-clip: text;\r\n            color: transparent;\r\n            transition: transform 0.3s ease;\r\n        }\r\n        \r\n        .tk-video-feature-card:hover .tk-video-feature-icon {\r\n            transform: scale(1.1);\r\n        }\r\n        \r\n        .tk-video-feature-title {\r\n            font-size: 1.2rem;\r\n            font-weight: 600;\r\n            margin-bottom: 10px;\r\n            color: var(--tk-video-text-dark);\r\n        }\r\n        \r\n        .tk-video-feature-description {\r\n            font-size: 1rem;\r\n            color: var(--tk-video-text-light);\r\n            line-height: 1.5;\r\n        }\r\n        \r\n        .tk-video-pro-badge {\r\n            display: inline-block;\r\n            padding: 3px 8px;\r\n            border-radius: 12px;\r\n            font-size: 0.7rem;\r\n            font-weight: 600;\r\n            margin-top: 10px;\r\n            background-color: var(--tk-video-warning);\r\n            color: white;\r\n        }\r\n        \r\n        \/* Prefixed FAQ Section *\/\r\n        #tk-video-faq {\r\n            background-color: var(--tk-video-bg-light);\r\n        }\r\n        \r\n        .tk-video-faq-container {\r\n            max-width: 800px;\r\n            margin: 0 auto;\r\n        }\r\n        \r\n        .tk-video-accordion-item {\r\n            border: none;\r\n            margin-bottom: 15px;\r\n            border-radius: 12px;\r\n            overflow: hidden;\r\n            box-shadow: 0 3px 10px rgba(0,0,0,0.05);\r\n        }\r\n        \r\n        .tk-video-accordion-button {\r\n            font-size: 1.2rem;\r\n            font-weight: 600;\r\n            padding: 20px 25px;\r\n            background-color: white;\r\n            color: var(--tk-video-text-dark);\r\n            border: none;\r\n            box-shadow: none;\r\n        }\r\n        \r\n        .tk-video-accordion-button:not(.collapsed) {\r\n            color: var(--tk-video-primary);\r\n            background-color: white;\r\n            box-shadow: none;\r\n        }\r\n        \r\n        .tk-video-accordion-button:focus {\r\n            box-shadow: none;\r\n            border: none;\r\n        }\r\n        \r\n        .tk-video-accordion-button::after {\r\n            background-image: url(\"data:image\/svg+xml,%3csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 16 16' fill='%23EE1D52'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'\/%3e%3c\/svg%3e\");\r\n        }\r\n        \r\n        .tk-video-accordion-body {\r\n            padding: 5px 25px 25px;\r\n            font-size: 1.1rem;\r\n            color: var(--tk-video-text-light);\r\n            line-height: 1.7;\r\n        }\r\n        \r\n        \/* Prefixed Modal Styles *\/\r\n        .tk-video-modal-content {\r\n            border-radius: 16px;\r\n            border: none;\r\n            box-shadow: 0 20px 60px rgba(0,0,0,0.2);\r\n        }\r\n        \r\n        .tk-video-modal-header {\r\n            background: linear-gradient(135deg, var(--tk-video-primary), var(--tk-video-secondary));\r\n            color: white;\r\n            border-radius: 16px 16px 0 0;\r\n            padding: 25px 30px;\r\n            border: none;\r\n        }\r\n        \r\n        .tk-video-modal-title {\r\n            font-size: 1.5rem;\r\n            font-weight: 700;\r\n        }\r\n        \r\n        .tk-video-btn-close {\r\n            filter: brightness(0) invert(1);\r\n            opacity: 0.8;\r\n        }\r\n        \r\n        .tk-video-btn-close:hover {\r\n            opacity: 1;\r\n        }\r\n        \r\n        .tk-video-modal-body {\r\n            padding: 30px;\r\n        }\r\n        \r\n        .tk-video-form-control {\r\n            border-radius: 10px;\r\n            border: 1px solid var(--tk-video-border-light);\r\n            padding: 12px 15px;\r\n            font-size: 1.1rem;\r\n            font-family: 'Fira Sans', sans-serif;\r\n        }\r\n        \r\n        .tk-video-form-control:focus {\r\n            border-color: var(--tk-video-secondary);\r\n            box-shadow: 0 0 0 0.2rem rgba(105, 201, 208, 0.25);\r\n        }\r\n        \r\n        .tk-video-form-check-input {\r\n            width: 1.2em;\r\n            height: 1.2em;\r\n            margin-top: 0.3em;\r\n        }\r\n        \r\n        .tk-video-form-check-label {\r\n            font-size: 1.1rem;\r\n            padding-left: 10px;\r\n        }\r\n        \r\n        .tk-video-modal-footer {\r\n            padding: 20px 30px;\r\n            border: none;\r\n        }\r\n        \r\n        .tk-video-btn-modal {\r\n            padding: 10px 25px;\r\n            font-size: 1.1rem;\r\n            font-weight: 600;\r\n            border-radius: 8px;\r\n            transition: all 0.3s ease;\r\n        }\r\n        \r\n        \/* Prefixed Responsive Design *\/\r\n        @media (max-width: 768px) {\r\n            .tk-video-section {\r\n                padding: 60px 0;\r\n            }\r\n            \r\n            .tk-video-section-heading {\r\n                font-size: 2.2rem;\r\n            }\r\n            \r\n            .tk-video-section-description {\r\n                font-size: 1.1rem;\r\n            }\r\n            \r\n            .tk-video-hero-title {\r\n                font-size: 2.5rem;\r\n            }\r\n            \r\n            .tk-video-hero-subtitle {\r\n                font-size: 1.2rem;\r\n            }\r\n            \r\n            .tk-video-btn-container {\r\n                flex-direction: column;\r\n                align-items: center;\r\n            }\r\n            \r\n            .tk-video-btn-hero {\r\n                width: 250px;\r\n            }\r\n            \r\n            .tk-video-step-card {\r\n                margin-bottom: 30px;\r\n            }\r\n        }\r\n    <\/style>\r\n <!-- Prefixed Hero Section -->\r\n    \r\n    <!-- Prefixed How It Works Section -->\r\n    <section id=\"tk-video-how-it-works\" class=\"tk-video-section\">\r\n        <div class=\"container\">\r\n            <h2 class=\"tk-video-section-heading\" data-aos=\"fade-up\">How It Works<\/h2>\r\n            <p class=\"tk-video-section-description\" data-aos=\"fade-up\" data-aos-delay=\"100\">Simple steps to watch TikTok videos anonymously<\/p>\r\n            \r\n            <div class=\"tk-video-steps-container\">\r\n                <div class=\"row g-4\">\r\n                    <div class=\"col-md-4\" data-aos=\"fade-up\" data-aos-delay=\"200\">\r\n                        <div class=\"tk-video-step-card\">\r\n                            <div class=\"tk-video-step-number\">1<\/div>\r\n                            <div class=\"tk-video-step-icon\">\r\n                                <i class=\"fas fa-copy\"><\/i>\r\n                            <\/div>\r\n                            <h3 class=\"tk-video-step-title\">Paste TikTok Video URL<\/h3>\r\n                            <p class=\"tk-video-step-description\">Copy the link of the TikTok video you want to watch<\/p>\r\n                        <\/div>\r\n                    <\/div>\r\n                    \r\n                    <div class=\"col-md-4\" data-aos=\"fade-up\" data-aos-delay=\"300\">\r\n                        <div class=\"tk-video-step-card\">\r\n                            <div class=\"tk-video-step-number\">2<\/div>\r\n                            <div class=\"tk-video-step-icon\">\r\n                                <i class=\"fas fa-mouse-pointer\"><\/i>\r\n                            <\/div>\r\n                            <h3 class=\"tk-video-step-title\">Hit \"Watch\"<\/h3>\r\n                            <p class=\"tk-video-step-description\">Click the watch button and our tool loads the video instantly<\/p>\r\n                        <\/div>\r\n                    <\/div>\r\n                    \r\n                    <div class=\"col-md-4\" data-aos=\"fade-up\" data-aos-delay=\"400\">\r\n                        <div class=\"tk-video-step-card\">\r\n                            <div class=\"tk-video-step-number\">3<\/div>\r\n                            <div class=\"tk-video-step-icon\">\r\n                                <i class=\"fas fa-eye\"><\/i>\r\n                            <\/div>\r\n                            <h3 class=\"tk-video-step-title\">Enjoy the video with no login or app needed<\/h3>\r\n                            <p class=\"tk-video-step-description\">Stream the TikTok video directly in your browser without any restrictions<\/p>\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/section>\r\n\r\n    <!-- Prefixed Features Section -->\r\n    <section id=\"tk-video-features\" class=\"tk-video-section\">\r\n        <div class=\"container\">\r\n            <h2 class=\"tk-video-section-heading\" data-aos=\"fade-up\">Features<\/h2>\r\n            <p class=\"tk-video-section-description\" data-aos=\"fade-up\" data-aos-delay=\"100\">Discover what makes our TikTok Video Viewer special<\/p>\r\n            \r\n            <div class=\"tk-video-features-container\">\r\n                <div class=\"tk-video-features-grid\">\r\n                    <div class=\"tk-video-feature-card\" data-aos=\"fade-up\" data-aos-delay=\"200\">\r\n                        <div class=\"tk-video-feature-icon\">\r\n                            <i class=\"fas fa-user-times\"><\/i>\r\n                        <\/div>\r\n                        <h3 class=\"tk-video-feature-title\">No Login Required<\/h3>\r\n                        <p class=\"tk-video-feature-description\">Watch TikTok videos without creating an account or logging in<\/p>\r\n                    <\/div>\r\n                    \r\n                    <div class=\"tk-video-feature-card\" data-aos=\"fade-up\" data-aos-delay=\"300\">\r\n                        <div class=\"tk-video-feature-icon\">\r\n                            <i class=\"fas fa-rocket\"><\/i>\r\n                        <\/div>\r\n                        <h3 class=\"tk-video-feature-title\">Fast & Lightweight<\/h3>\r\n                        <p class=\"tk-video-feature-description\">Instant loading with minimal resource usage for a smooth experience<\/p>\r\n                    <\/div>\r\n                    \r\n                    <div class=\"tk-video-feature-card\" data-aos=\"fade-up\" data-aos-delay=\"400\">\r\n                        <div class=\"tk-video-feature-icon\">\r\n                            <i class=\"fas fa-user-secret\"><\/i>\r\n                        <\/div>\r\n                        <h3 class=\"tk-video-feature-title\">Anonymous Viewing<\/h3>\r\n                        <p class=\"tk-video-feature-description\">Browse videos without revealing your identity or leaving any trace<\/p>\r\n                    <\/div>\r\n                    \r\n                    <div class=\"tk-video-feature-card\" data-aos=\"fade-up\" data-aos-delay=\"500\">\r\n                        <div class=\"tk-video-feature-icon\">\r\n                            <i class=\"fas fa-laptop\"><\/i>\r\n                        <\/div>\r\n                        <h3 class=\"tk-video-feature-title\">Works on All Devices<\/h3>\r\n                        <p class=\"tk-video-feature-description\">Fully responsive design that works perfectly on mobile, tablet, and desktop<\/p>\r\n                    <\/div>\r\n                    \r\n                    <div class=\"tk-video-feature-card\" data-aos=\"fade-up\" data-aos-delay=\"600\">\r\n                        <div class=\"tk-video-feature-icon\">\r\n                            <i class=\"fas fa-volume-up\"><\/i>\r\n                        <\/div>\r\n                        <h3 class=\"tk-video-feature-title\">Audio\/Video Sync<\/h3>\r\n                        <p class=\"tk-video-feature-description\">Enjoy videos with perfectly synchronized audio and video playback<\/p>\r\n                    <\/div>\r\n                    \r\n                    <div class=\"tk-video-feature-card\" data-aos=\"fade-up\" data-aos-delay=\"700\">\r\n                        <div class=\"tk-video-feature-icon\">\r\n                            <i class=\"fas fa-film\"><\/i>\r\n                        <\/div>\r\n                        <h3 class=\"tk-video-feature-title\">No TikTok Watermark<\/h3>\r\n                        <p class=\"tk-video-feature-description\">Watch videos without the TikTok logo watermark<\/p>\r\n                        <span class=\"tk-video-pro-badge\">Pro only<\/span>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/section>\r\n\r\n    <!-- Prefixed FAQ Section -->\r\n    <section id=\"tk-video-faq\" class=\"tk-video-section\">\r\n        <div class=\"container\">\r\n            <h2 class=\"tk-video-section-heading\" data-aos=\"fade-up\">Frequently Asked Questions<\/h2>\r\n            <p class=\"tk-video-section-description\" data-aos=\"fade-up\" data-aos-delay=\"100\">Get answers to common questions about our TikTok Video Viewer<\/p>\r\n            \r\n            <div class=\"tk-video-faq-container\">\r\n                <div class=\"accordion\" id=\"tk-video-faqAccordion\">\r\n                    <div class=\"tk-video-accordion-item\" data-aos=\"fade-up\" data-aos-delay=\"200\">\r\n                        <h2 class=\"accordion-header\" id=\"tk-video-headingOne\">\r\n                            <button class=\"tk-video-accordion-button\" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#tk-video-collapseOne\" aria-expanded=\"true\" aria-controls=\"tk-video-collapseOne\">\r\n                                Can I download TikTok videos?\r\n                            <\/button>\r\n                        <\/h2>\r\n                        <div id=\"tk-video-collapseOne\" class=\"accordion-collapse collapse show\" aria-labelledby=\"tk-video-headingOne\" data-bs-parent=\"#tk-video-faqAccordion\">\r\n                            <div class=\"tk-video-accordion-body\">\r\n                                Yes, our tool allows you to download TikTok videos for personal use. However, please remember to respect copyright laws and the creator's rights. Downloaded content should not be redistributed or used for commercial purposes without permission.\r\n                            <\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n                    \r\n                    <div class=\"tk-video-accordion-item\" data-aos=\"fade-up\" data-aos-delay=\"300\">\r\n                        <h2 class=\"accordion-header\" id=\"tk-video-headingTwo\">\r\n                            <button class=\"tk-video-accordion-button collapsed\" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#tk-video-collapseTwo\" aria-expanded=\"false\" aria-controls=\"tk-video-collapseTwo\">\r\n                                Does this work on private accounts?\r\n                            <\/button>\r\n                        <\/h2>\r\n                        <div id=\"tk-video-collapseTwo\" class=\"accordion-collapse collapse\" aria-labelledby=\"tk-video-headingTwo\" data-bs-parent=\"#tk-video-faqAccordion\">\r\n                            <div class=\"tk-video-accordion-body\">\r\n                                No, our tool can only access public TikTok videos. We respect TikTok's privacy settings and cannot bypass any privacy restrictions. If a video is set to private or shared only with followers, it cannot be viewed through our tool.\r\n                            <\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n                    \r\n                    <div class=\"tk-video-accordion-item\" data-aos=\"fade-up\" data-aos-delay=\"400\">\r\n                        <h2 class=\"accordion-header\" id=\"tk-video-headingThree\">\r\n                            <button class=\"tk-video-accordion-button collapsed\" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#tk-video-collapseThree\" aria-expanded=\"false\" aria-controls=\"tk-video-collapseThree\">\r\n                                Do I need the TikTok app installed?\r\n                            <\/button>\r\n                        <\/h2>\r\n                        <div id=\"tk-video-collapseThree\" class=\"accordion-collapse collapse\" aria-labelledby=\"tk-video-headingThree\" data-bs-parent=\"#tk-video-faqAccordion\">\r\n                            <div class=\"tk-video-accordion-body\">\r\n                                No, you don't need the TikTok app installed to use our viewer. It works directly in your web browser, allowing you to watch TikTok videos without installing any additional software or applications.\r\n                            <\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n                    \r\n                    <div class=\"tk-video-accordion-item\" data-aos=\"fade-up\" data-aos-delay=\"500\">\r\n                        <h2 class=\"accordion-header\" id=\"tk-video-headingFour\">\r\n                            <button class=\"tk-video-accordion-button collapsed\" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#tk-video-collapseFour\" aria-expanded=\"false\" aria-controls=\"tk-video-collapseFour\">\r\n                                Is the viewer free?\r\n                            <\/button>\r\n                        <\/h2>\r\n                        <div id=\"tk-video-collapseFour\" class=\"accordion-collapse collapse\" aria-labelledby=\"tk-video-headingFour\" data-bs-parent=\"#tk-video-faqAccordion\">\r\n                            <div class=\"tk-video-accordion-body\">\r\n                                Yes, our TikTok Video Viewer is completely free to use. There are no hidden fees, premium features, or subscription requirements. We believe in providing unrestricted access to TikTok content for everyone.\r\n                            <\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/section>\r\n<script>\r\n   \/\/ Initialize AOS\r\n        AOS.init({\r\n            duration: 800,\r\n            once: true\r\n        });\r\n<\/script><\/p>\n","protected":false},"author":3,"featured_media":0,"parent":150,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"<!-- wp:divi\/placeholder \/-->","_et_gb_content_width":"","footnotes":""},"class_list":["post-286","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/viewri.com\/wp-json\/wp\/v2\/pages\/286","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/viewri.com\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/viewri.com\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/viewri.com\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/viewri.com\/wp-json\/wp\/v2\/comments?post=286"}],"version-history":[{"count":6,"href":"https:\/\/viewri.com\/wp-json\/wp\/v2\/pages\/286\/revisions"}],"predecessor-version":[{"id":1291,"href":"https:\/\/viewri.com\/wp-json\/wp\/v2\/pages\/286\/revisions\/1291"}],"up":[{"embeddable":true,"href":"https:\/\/viewri.com\/wp-json\/wp\/v2\/pages\/150"}],"wp:attachment":[{"href":"https:\/\/viewri.com\/wp-json\/wp\/v2\/media?parent=286"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}