{"id":278,"date":"2025-09-13T10:02:39","date_gmt":"2025-09-13T10:02:39","guid":{"rendered":"https:\/\/viewri.com\/?page_id=278"},"modified":"2025-12-29T08:18:14","modified_gmt":"2025-12-29T08:18:14","slug":"post","status":"publish","type":"page","link":"https:\/\/viewri.com\/tiktok\/post\/","title":{"rendered":"TikTok Post 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=Montserrat: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.0.0\/css\/all.min.css\" rel=\"stylesheet\">\r\n    <style>\r\n        .wrapper {\r\n            \/* professional palette variables *\/\r\n            --brand-primary: #5b8def; \/* blue *\/\r\n            --brand-secondary: #6ee7e7; \/* teal *\/\r\n            --brand-accent: #a78bfa; \/* violet *\/\r\n            --brand-warm: #f59e0b; \/* amber for highlights *\/\r\n\r\n            \/* legacy variable names mapped to professional palette *\/\r\n            --tiktok-pink: var(--brand-primary);\r\n            --tiktok-blue: var(--brand-secondary);\r\n            --tiktok-cyan: var(--brand-secondary);\r\n            --tiktok-purple: var(--brand-accent);\r\n            --tiktok-orange: var(--brand-warm);\r\n            --tiktok-yellow: #ffe8a3;\r\n\r\n            --ui-white: #ffffff;\r\n            --ui-light: #f7f9fb;\r\n            --ui-light-gray: #eef2f7;\r\n            --ui-gray: #667085;\r\n            --ui-dark-gray: #344054;\r\n            --ui-text: #1f2937;\r\n            --ui-text-light: #64748b;\r\n\r\n            \/* Gradients *\/\r\n            --gradient-primary: linear-gradient(135deg, #5b8def 0%, #a78bfa 60%, #6ee7e7 100%);\r\n            --gradient-secondary: linear-gradient(135deg, #6ee7e7 0%, #5b8def 50%, #a78bfa 100%);\r\n            --gradient-tiktok: linear-gradient(135deg, #5b8def 0%, #6ee7e7 25%, #a78bfa 60%, #5b8def 85%, #6ee7e7 100%);\r\n            --gradient-card: linear-gradient(135deg, rgba(255,255,255,0.95) 0%, rgba(247,249,251,0.9) 100%);\r\n            --gradient-bg: radial-gradient(1200px 800px at 10% 10%, #e8f0ff 0%, #f3e8ff 35%, transparent 70%),\r\n                            radial-gradient(1000px 700px at 90% 20%, #e6fffb 0%, #e8f0ff 35%, transparent 70%),\r\n                            linear-gradient(180deg, #f6f9ff 0%, #f5f3ff 100%);\r\n\r\n            \/* Shadows *\/\r\n            --shadow-sm: 0 2px 8px rgba(16, 24, 40, 0.06);\r\n            --shadow-md: 0 6px 18px rgba(16, 24, 40, 0.08);\r\n            --shadow-lg: 0 10px 30px rgba(16, 24, 40, 0.12);\r\n            --shadow-xl: 0 16px 40px rgba(16, 24, 40, 0.16);\r\n            --shadow-pink: 0 8px 24px rgba(91, 141, 239, 0.3);\r\n            --shadow-blue: 0 8px 24px rgba(110, 231, 231, 0.3);\r\n            --shadow-purple: 0 8px 24px rgba(167, 139, 250, 0.3);\r\n            --shadow-glow: 0 0 30px rgba(91, 141, 239, 0.35);\r\n\r\n            \/* Radii *\/\r\n            --radius-sm: 8px;\r\n            --radius-md: 12px;\r\n            --radius-lg: 16px;\r\n            --radius-xl: 24px;\r\n            --radius-full: 9999px;\r\n        }\r\n            \/* TikTok Brand Colors *\/\r\n            --tiktok-pink: #fe2c55;\r\n            --tiktok-blue: #25f4ee;\r\n            --tiktok-cyan: #00f2ea;\r\n            --tiktok-purple: #8b5cf6;\r\n            --tiktok-orange: #ff6b35;\r\n            --tiktok-yellow: #ffd23f;\r\n\r\n            \/* Bright UI Colors *\/\r\n            --ui-white: #ffffff;\r\n            --ui-light: #f8fafc;\r\n            --ui-light-gray: #f1f5f9;\r\n            --ui-gray: #64748b;\r\n            --ui-dark-gray: #334155;\r\n            --ui-text: #1e293b;\r\n            --ui-text-light: #475569;\r\n\r\n            \/* Vibrant Gradients *\/\r\n            --gradient-primary: linear-gradient(135deg, #fe2c55 0%, #ff6b35 50%, #ffd23f 100%);\r\n            --gradient-secondary: linear-gradient(135deg, #25f4ee 0%, #8b5cf6 50%, #fe2c55 100%);\r\n            --gradient-tiktok: linear-gradient(135deg, #00f2ea 0%, #25f4ee 25%, #8b5cf6 50%, #fe2c55 75%, #ff6b35 100%);\r\n            --gradient-card: linear-gradient(135deg, rgba(255, 255, 255, 0.9) 0%, rgba(248, 250, 252, 0.8) 100%);\r\n            --gradient-bg: linear-gradient(135deg, #fef3c7 0%, #fde68a 25%, #fed7aa 50%, #fecaca 75%, #f3e8ff 100%);\r\n\r\n            \/* Advanced Shadows *\/\r\n            --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.08);\r\n            --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.1);\r\n            --shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.12);\r\n            --shadow-xl: 0 12px 32px rgba(0, 0, 0, 0.15);\r\n            --shadow-pink: 0 8px 24px rgba(254, 44, 85, 0.3);\r\n            --shadow-blue: 0 8px 24px rgba(37, 244, 238, 0.3);\r\n            --shadow-purple: 0 8px 24px rgba(139, 92, 246, 0.3);\r\n            --shadow-glow: 0 0 30px rgba(254, 44, 85, 0.4);\r\n\r\n            \/* Border Radius *\/\r\n            --radius-sm: 8px;\r\n            --radius-md: 12px;\r\n            --radius-lg: 16px;\r\n            --radius-xl: 24px;\r\n            --radius-full: 9999px;\r\n        }\r\n\r\n        .wrapper * {\r\n            margin: 0;\r\n            padding: 0;\r\n            box-sizing: border-box;\r\n            font-family: 'Montserrat', sans-serif;\r\n        }\r\n\r\n        .wrapper {\r\n            background: var(--gradient-bg);\r\n            background-size: 400% 400%;\r\n            animation: gradientShift 20s ease infinite;\r\n            color: var(--ui-text);\r\n            line-height: 1.6;\r\n            overflow-x: hidden;\r\n            position: relative;\r\n            min-height: 100vh;\r\n        }\r\n\r\n        @keyframes gradientShift {\r\n            0% {\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            100% {\r\n                background-position: 0% 50%;\r\n            }\r\n        }\r\n\r\n        \/* Background Effects *\/\r\n        .bg-wrapper {\r\n            position: fixed;\r\n            top: 0;\r\n            left: 0;\r\n            width: 100%;\r\n            height: 100%;\r\n            z-index: -1;\r\n            overflow: hidden;\r\n        }\r\n\r\n        .bg-pattern {\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 25% 25%, rgba(254, 44, 85, 0.1) 0%, transparent 50%),\r\n                radial-gradient(circle at 75% 75%, rgba(37, 244, 238, 0.1) 0%, transparent 50%),\r\n                radial-gradient(circle at 50% 50%, rgba(139, 92, 246, 0.05) 0%, transparent 50%);\r\n        }\r\n\r\n        .floating-elements {\r\n            position: absolute;\r\n            width: 100%;\r\n            height: 100%;\r\n            overflow: hidden;\r\n        }\r\n\r\n        .floating-shape {\r\n            position: absolute;\r\n            border-radius: 50%;\r\n            opacity: 0.6;\r\n            animation: float 15s infinite ease-in-out;\r\n        }\r\n\r\n        .floating-shape:nth-child(1) {\r\n            width: 60px;\r\n            height: 60px;\r\n            background: linear-gradient(45deg, var(--tiktok-pink), var(--tiktok-orange));\r\n            top: 20%;\r\n            left: 10%;\r\n            animation-delay: 0s;\r\n        }\r\n\r\n        .floating-shape:nth-child(2) {\r\n            width: 80px;\r\n            height: 80px;\r\n            background: linear-gradient(45deg, var(--tiktok-blue), var(--tiktok-purple));\r\n            top: 60%;\r\n            right: 15%;\r\n            animation-delay: 5s;\r\n        }\r\n\r\n        .floating-shape:nth-child(3) {\r\n            width: 40px;\r\n            height: 40px;\r\n            background: linear-gradient(45deg, var(--tiktok-yellow), var(--tiktok-pink));\r\n            bottom: 30%;\r\n            left: 20%;\r\n            animation-delay: 10s;\r\n        }\r\n\r\n        @keyframes float {\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(-20px) rotate(180deg);\r\n            }\r\n        }\r\n\r\n        .wrapper .container {\r\n            max-width: 1400px;\r\n            margin: 0 auto;\r\n            padding: 40px 24px;\r\n            position: relative;\r\n            z-index: 1;\r\n        }\r\n\r\n        \/* Header Styles *\/\r\n        .wrapper .header {\r\n            text-align: center;\r\n            margin-bottom: 50px;\r\n            position: relative;\r\n        }\r\n\r\n        .logo-container {\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            gap: 20px;\r\n            margin-bottom: 15px;\r\n        }\r\n\r\n        .logo-icon {\r\n            position: relative;\r\n            width: 70px;\r\n            height: 70px;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            font-size: 35px;\r\n            color: var(--ui-white);\r\n            z-index: 1;\r\n            border-radius: var(--radius-lg);\r\n            flex-shrink: 0;\r\n        }\r\n\r\n        .logo-icon::before {\r\n            content: '';\r\n            position: absolute;\r\n            inset: 0;\r\n            background: var(--ui-white);\r\n            border-radius: var(--radius-lg);\r\n            z-index: -1;\r\n            box-shadow: var(--shadow-lg);\r\n        }\r\n\r\n        .logo-icon::after {\r\n            content: '';\r\n            position: absolute;\r\n            inset: -3px;\r\n            background: var(--gradient-tiktok);\r\n            border-radius: calc(var(--radius-lg) + 3px);\r\n            z-index: -2;\r\n            animation: rotateBorder 4s linear infinite;\r\n        }\r\n\r\n        @keyframes rotateBorder {\r\n            0% {\r\n                filter: hue-rotate(0deg);\r\n            }\r\n\r\n            100% {\r\n                filter: hue-rotate(360deg);\r\n            }\r\n        }\r\n\r\n        .logo-icon i {\r\n            background: var(--gradient-primary);\r\n            -webkit-background-clip: text;\r\n            -webkit-text-fill-color: transparent;\r\n        }\r\n\r\n        .logo-text-container {\r\n            text-align: left;\r\n        }\r\n\r\n        .logo-text {\r\n            font-size: clamp(32px, 6vw, 42px);\r\n            font-weight: 900;\r\n            background: var(--gradient-primary);\r\n            -webkit-background-clip: text;\r\n            -webkit-text-fill-color: transparent;\r\n            letter-spacing: -1px;\r\n            line-height: 1;\r\n            margin-bottom: 5px;\r\n        }\r\n\r\n        .logo-subtitle {\r\n            font-size: clamp(14px, 3vw, 16px);\r\n            font-weight: 600;\r\n            color: var(--ui-text-light);\r\n            margin: 0;\r\n        }\r\n\r\n        .features-card {\r\n            display: none;\r\n        }\r\n\r\n        .feature-item {\r\n            display: flex;\r\n            flex-direction: column;\r\n            align-items: center;\r\n            gap: 6px;\r\n            padding: 12px 16px;\r\n            border-radius: var(--radius-lg);\r\n            transition: all 0.3s ease;\r\n            cursor: pointer;\r\n            min-width: 80px;\r\n        }\r\n\r\n        .feature-item:hover {\r\n            background: rgba(254, 44, 85, 0.1);\r\n            transform: translateY(-3px);\r\n            box-shadow: var(--shadow-sm);\r\n        }\r\n\r\n        .feature-item i {\r\n            font-size: 18px;\r\n            color: var(--tiktok-pink);\r\n            margin-bottom: 2px;\r\n        }\r\n\r\n        .feature-item span {\r\n            font-size: 11px;\r\n            font-weight: 700;\r\n            color: var(--ui-text);\r\n            text-transform: uppercase;\r\n            letter-spacing: 0.5px;\r\n            text-align: center;\r\n        }\r\n\r\n        \/* Search Section *\/\r\n        .search-section {\r\n            background: var(--gradient-card);\r\n            backdrop-filter: blur(20px);\r\n            border: 2px solid rgba(255, 255, 255, 0.3);\r\n            padding: 40px;\r\n            border-radius: var(--radius-xl);\r\n            box-shadow: var(--shadow-xl);\r\n            margin-bottom: 50px;\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: var(--gradient-tiktok);\r\n        }\r\n\r\n        .input-container {\r\n            position: relative;\r\n            margin-bottom: 30px;\r\n        }\r\n\r\n        .search-input {\r\n            width: 100% !important;\r\n            padding: 20px 24px  !important;\r\n            background: var(--ui-white)  !important;\r\n            color: var(--ui-text)  !important;\r\n            border: 2px solid rgba(254, 44, 85, 0.2)  !important;\r\n            border-radius: var(--radius-lg)  !important;\r\n            font-size: 16px  !important;\r\n            font-weight: 500  !important;\r\n            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1)  !important;\r\n            box-shadow: var(--shadow-sm)  !important;\r\n        }\r\n\r\n        .search-input:focus {\r\n            outline: none  !important;\r\n            border-color: var(--tiktok-pink)  !important;\r\n            box-shadow: 0 0 0 4px rgba(254, 44, 85, 0.1), var(--shadow-md)  !important;\r\n            transform: translateY(-2px)  !important;\r\n        }\r\n\r\n        .search-input::placeholder {\r\n            color: var(--ui-gray);\r\n        }\r\n\r\n        .paste-hint {\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: flex-end;\r\n            gap: 8px;\r\n            margin-top: 12px;\r\n            font-size: 14px;\r\n            color: var(--ui-text-light);\r\n            font-weight: 500;\r\n        }\r\n\r\n        .paste-icon {\r\n            cursor: pointer;\r\n            padding: 8px;\r\n            border-radius: var(--radius-full);\r\n            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\r\n            font-size: 16px;\r\n            color: var(--ui-text-light);\r\n            background: rgba(254, 44, 85, 0.1);\r\n        }\r\n\r\n        .paste-icon:hover {\r\n            background: var(--tiktok-pink);\r\n            color: var(--ui-white);\r\n            transform: scale(1.2) rotate(5deg);\r\n            box-shadow: var(--shadow-pink);\r\n        }\r\n\r\n        .search-box {\r\n            display: flex;\r\n            gap: 16px;\r\n            margin-bottom: 24px;\r\n        }\r\n\r\n        .search-button {\r\n            flex: 1;\r\n            min-width: 200px;\r\n            padding: 18px 24px;\r\n            background: var(--gradient-primary);\r\n            color: var(--ui-white);\r\n            border: none;\r\n            border-radius: var(--radius-lg);\r\n            font-size: 16px;\r\n            font-weight: 700;\r\n            cursor: pointer;\r\n            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\r\n            position: relative;\r\n            overflow: hidden;\r\n            box-shadow: var(--shadow-pink);\r\n            text-transform: uppercase;\r\n            letter-spacing: 1px;\r\n        }\r\n\r\n        .search-button::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,\r\n                    transparent 0%,\r\n                    rgba(255, 255, 255, 0.3) 50%,\r\n                    transparent 100%);\r\n            transition: left 0.5s ease;\r\n        }\r\n\r\n        .search-button:hover:not(:disabled) {\r\n            transform: translateY(-3px) scale(1.02);\r\n            box-shadow: var(--shadow-pink), var(--shadow-glow);\r\n        }\r\n\r\n        .search-button:hover:not(:disabled)::before {\r\n            left: 100%;\r\n        }\r\n\r\n        .search-button:disabled {\r\n            opacity: 0.6;\r\n            cursor: not-allowed;\r\n        }\r\n\r\n        .search-again-btn {\r\n            background: var(--gradient-secondary);\r\n            color: var(--ui-white);\r\n            margin-top: 20px;\r\n            width: 100%;\r\n            padding: 18px;\r\n            border: none;\r\n            border-radius: var(--radius-lg);\r\n            font-weight: 700;\r\n            font-size: 16px;\r\n            cursor: pointer;\r\n            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\r\n            box-shadow: var(--shadow-blue);\r\n            text-transform: uppercase;\r\n            letter-spacing: 1px;\r\n        }\r\n\r\n        .search-again-btn:hover {\r\n            transform: translateY(-3px);\r\n            box-shadow: var(--shadow-blue), 0 0 30px rgba(37, 244, 238, 0.4);\r\n        }\r\n\r\n        \/* Profile Section *\/\r\n        .profile-section {\r\n            background: var(--gradient-card);\r\n            backdrop-filter: blur(20px);\r\n            border: 2px solid rgba(255, 255, 255, 0.3);\r\n            border-radius: var(--radius-xl);\r\n            padding: 40px;\r\n            margin-bottom: 50px;\r\n            box-shadow: var(--shadow-xl);\r\n            position: relative;\r\n            overflow: hidden;\r\n        }\r\n\r\n        .profile-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: var(--gradient-tiktok);\r\n        }\r\n\r\n        .profile-header {\r\n            display: flex;\r\n            gap: 30px;\r\n            margin-bottom: 40px;\r\n            align-items: center;\r\n        }\r\n\r\n        .profile-avatar-container {\r\n            position: relative;\r\n            flex-shrink: 0;\r\n        }\r\n\r\n        .profile-avatar {\r\n            width: 120px;\r\n            height: 120px;\r\n            border-radius: var(--radius-full);\r\n            object-fit: cover;\r\n            border: 4px solid var(--ui-white);\r\n            box-shadow: var(--shadow-lg);\r\n            cursor: pointer;\r\n            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\r\n            position: relative;\r\n            z-index: 1;\r\n        }\r\n\r\n        .profile-avatar::after {\r\n            content: '';\r\n            position: absolute;\r\n            inset: -8px;\r\n            border-radius: var(--radius-full);\r\n            background: var(--gradient-tiktok);\r\n            z-index: -1;\r\n            opacity: 0;\r\n            transition: opacity 0.3s ease;\r\n        }\r\n\r\n        .profile-avatar:hover {\r\n            transform: scale(1.05);\r\n            box-shadow: var(--shadow-xl), var(--shadow-glow);\r\n        }\r\n\r\n        .profile-avatar:hover::after {\r\n            opacity: 1;\r\n        }\r\n\r\n        .fullscreen-icon {\r\n            position: absolute;\r\n            bottom: 0;\r\n            right: 0;\r\n            width: 32px;\r\n            height: 32px;\r\n            background: var(--gradient-primary);\r\n            border-radius: var(--radius-full);\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            color: var(--ui-white);\r\n            font-size: 14px;\r\n            cursor: pointer;\r\n            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\r\n            box-shadow: var(--shadow-sm);\r\n            z-index: 2;\r\n            border: 2px solid var(--ui-white);\r\n        }\r\n\r\n        .fullscreen-icon:hover {\r\n            transform: scale(1.2);\r\n            background: var(--gradient-secondary);\r\n            box-shadow: var(--shadow-md);\r\n        }\r\n\r\n        .profile-info {\r\n            flex: 1;\r\n        }\r\n\r\n        .profile-name {\r\n            font-size: 32px;\r\n            font-weight: 800;\r\n            margin-bottom: 8px;\r\n            background: var(--gradient-primary);\r\n            -webkit-background-clip: text;\r\n            -webkit-text-fill-color: transparent;\r\n        }\r\n\r\n        .profile-username {\r\n            font-size: 18px;\r\n            color: var(--ui-text-light);\r\n            margin-bottom: 16px;\r\n            font-weight: 600;\r\n        }\r\n\r\n        .profile-bio {\r\n            color: var(--ui-text);\r\n            font-size: 15px;\r\n            line-height: 1.5;\r\n            margin-bottom: 16px;\r\n            font-weight: 500;\r\n        }\r\n\r\n        \/* Stats Section *\/\r\n        .profile-stats {\r\n            display: grid;\r\n            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\r\n            gap: 20px;\r\n        }\r\n\r\n        .stat-item {\r\n            background: var(--ui-white);\r\n            border: 2px solid rgba(254, 44, 85, 0.1);\r\n            border-radius: var(--radius-lg);\r\n            padding: 24px 20px;\r\n            text-align: center;\r\n            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\r\n            position: relative;\r\n            overflow: hidden;\r\n            box-shadow: var(--shadow-md);\r\n            cursor: pointer;\r\n        }\r\n\r\n        .stat-item::before {\r\n            content: '';\r\n            position: absolute;\r\n            top: 0;\r\n            left: 0;\r\n            width: 100%;\r\n            height: 3px;\r\n            opacity: 0;\r\n            transition: opacity 0.3s ease;\r\n        }\r\n\r\n        .stat-item:nth-child(1)::before {\r\n            background: var(--gradient-primary);\r\n        }\r\n\r\n        .stat-item:nth-child(2)::before {\r\n            background: var(--gradient-secondary);\r\n        }\r\n\r\n        .stat-item:nth-child(3)::before {\r\n            background: linear-gradient(135deg, var(--tiktok-purple), var(--tiktok-pink));\r\n        }\r\n\r\n        .stat-item:nth-child(4)::before {\r\n            background: linear-gradient(135deg, var(--tiktok-orange), var(--tiktok-yellow));\r\n        }\r\n\r\n        .stat-item:hover {\r\n            transform: translateY(-8px) scale(1.02);\r\n            box-shadow: var(--shadow-xl);\r\n            border-color: rgba(254, 44, 85, 0.3);\r\n        }\r\n\r\n        .stat-item:hover::before {\r\n            opacity: 1;\r\n        }\r\n\r\n        .stat-value {\r\n            font-size: 28px;\r\n            font-weight: 800;\r\n            margin-bottom: 8px;\r\n            background: var(--gradient-primary);\r\n            -webkit-background-clip: text;\r\n            -webkit-text-fill-color: transparent;\r\n        }\r\n\r\n        .stat-label {\r\n            font-size: 14px;\r\n            color: var(--ui-text-light);\r\n            font-weight: 600;\r\n            text-transform: uppercase;\r\n            letter-spacing: 1px;\r\n        }\r\n\r\n        \/* Videos Section Header *\/\r\n        .videos-section-header {\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: space-between;\r\n            margin-bottom: 30px;\r\n            padding: 20px 0;\r\n            border-bottom: 2px solid rgba(254, 44, 85, 0.1);\r\n        }\r\n\r\n        .videos-button {\r\n            padding: 16px 28px;\r\n            background: var(--gradient-primary);\r\n            color: var(--ui-white);\r\n            border: none;\r\n            border-radius: var(--radius-lg);\r\n            font-weight: 700;\r\n            font-size: 18px;\r\n            cursor: pointer;\r\n            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\r\n            box-shadow: var(--shadow-pink);\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 12px;\r\n            text-transform: uppercase;\r\n            letter-spacing: 1px;\r\n        }\r\n\r\n        .videos-button:hover {\r\n            transform: translateY(-3px);\r\n            box-shadow: var(--shadow-pink), var(--shadow-glow);\r\n        }\r\n\r\n        .videos-count {\r\n            font-size: 16px;\r\n            font-weight: 700;\r\n            color: var(--ui-text);\r\n            background: var(--ui-white);\r\n            padding: 12px 24px;\r\n            border-radius: var(--radius-lg);\r\n            box-shadow: var(--shadow-sm);\r\n            border: 2px solid rgba(254, 44, 85, 0.1);\r\n        }\r\n\r\n        .download-all-btn {\r\n            padding: 16px 28px;\r\n            background: var(--gradient-secondary);\r\n            color: var(--ui-white);\r\n            border: none;\r\n            border-radius: var(--radius-lg);\r\n            font-weight: 700;\r\n            font-size: 16px;\r\n            cursor: pointer;\r\n            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\r\n            box-shadow: var(--shadow-blue);\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 10px;\r\n            margin-left: 16px;\r\n            text-transform: uppercase;\r\n            letter-spacing: 0.5px;\r\n            margin-top: 0 !important;\r\n        }\r\n\r\n        .download-all-btn:hover {\r\n            transform: translateY(-3px);\r\n            box-shadow: var(--shadow-blue), 0 0 30px rgba(37, 244, 238, 0.4);\r\n        }\r\n\r\n        .download-all-btn:disabled {\r\n            opacity: 0.6;\r\n            cursor: not-allowed;\r\n            transform: none;\r\n            box-shadow: var(--shadow-blue);\r\n        }\r\n\r\n        \/* Video Grid - Smaller Cards *\/\r\n        .video-grid {\r\n            display: grid;\r\n            grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));\r\n            gap: 20px;\r\n        }\r\n\r\n        .video-card {\r\n            background: var(--ui-white);\r\n            border: 2px solid rgba(254, 44, 85, 0.1);\r\n            border-radius: var(--radius-lg);\r\n            overflow: hidden;\r\n            transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);\r\n            position: relative;\r\n            height: 380px;\r\n            box-shadow: var(--shadow-md);\r\n            cursor: pointer;\r\n        }\r\n\r\n        .video-card:hover {\r\n            transform: translateY(-8px) scale(1.02);\r\n            box-shadow: var(--shadow-xl), 0 0 25px rgba(254, 44, 85, 0.15);\r\n            border-color: rgba(254, 44, 85, 0.3);\r\n        }\r\n\r\n        .video-card::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: var(--gradient-tiktok);\r\n            opacity: 0;\r\n            transition: opacity 0.3s ease;\r\n        }\r\n\r\n        .video-card:hover::before {\r\n            opacity: 1;\r\n        }\r\n\r\n        .video-thumbnail-container {\r\n            position: relative;\r\n            width: 100%;\r\n            height: 260px;\r\n            overflow: hidden;\r\n        }\r\n\r\n        .video-thumbnail {\r\n            width: 100%;\r\n            height: 100%;\r\n            object-fit: cover;\r\n            transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);\r\n        }\r\n\r\n        .video-card:hover .video-thumbnail {\r\n            transform: scale(1.08);\r\n        }\r\n\r\n        \/* Enhanced Play Icon - Smaller *\/\r\n        .play-overlay {\r\n            position: absolute;\r\n            top: 50%;\r\n            left: 50%;\r\n            transform: translate(-50%, -50%);\r\n            width: 60px;\r\n            height: 60px;\r\n            background: linear-gradient(135deg, rgba(254, 44, 85, 0.9) 0%, rgba(255, 107, 53, 0.9) 100%);\r\n            backdrop-filter: blur(15px);\r\n            border-radius: var(--radius-full);\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            z-index: 2;\r\n            border: 3px solid rgba(255, 255, 255, 0.9);\r\n            box-shadow: 0 4px 20px rgba(254, 44, 85, 0.4);\r\n        }\r\n\r\n        .play-overlay::after {\r\n            content: '';\r\n            width: 0;\r\n            height: 0;\r\n            border-left: 18px solid white;\r\n            border-top: 12px solid transparent;\r\n            border-bottom: 12px solid transparent;\r\n            margin-left: 4px;\r\n            transition: all 0.3s ease;\r\n            filter: drop-shadow(1px 1px 2px rgba(0, 0, 0, 0.2));\r\n        }\r\n\r\n        .video-card:hover .play-overlay {\r\n            transform: translate(-50%, -50%) scale(1.15);\r\n            background: linear-gradient(135deg, rgba(37, 244, 238, 0.9) 0%, rgba(139, 92, 246, 0.9) 100%);\r\n            border-color: rgba(255, 255, 255, 1);\r\n            box-shadow: 0 6px 25px rgba(37, 244, 238, 0.4);\r\n        }\r\n\r\n        \/* Enhanced Download Button - Smaller *\/\r\n        .video-download-btn {\r\n            position: absolute;\r\n            top: 12px;\r\n            right: 12px;\r\n            width: 40px;\r\n            height: 40px;\r\n            background: linear-gradient(135deg, rgba(255, 255, 255, 0.95) 0%, rgba(248, 250, 252, 0.9) 100%);\r\n            backdrop-filter: blur(15px);\r\n            border-radius: var(--radius-full);\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            color: var(--tiktok-pink);\r\n            font-size: 16px;\r\n            transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);\r\n            opacity: 1;\r\n            cursor: pointer;\r\n            z-index: 10;\r\n            border: 2px solid rgba(254, 44, 85, 0.2);\r\n            box-shadow: 0 2px 12px rgba(254, 44, 85, 0.15);\r\n        }\r\n\r\n        .video-download-btn:hover {\r\n            background: var(--gradient-primary);\r\n            color: var(--ui-white);\r\n            transform: scale(1.15) rotate(10deg);\r\n            border-color: var(--ui-white);\r\n            box-shadow: 0 4px 16px rgba(254, 44, 85, 0.3);\r\n        }\r\n\r\n        \/* Enhanced Video Stats Icons - Smaller *\/\r\n        .video-info {\r\n            padding: 18px;\r\n            height: 120px;\r\n            display: flex;\r\n            flex-direction: column;\r\n            justify-content: space-between;\r\n            background: linear-gradient(135deg, rgba(255, 255, 255, 0.95) 0%, rgba(248, 250, 252, 0.9) 100%);\r\n        }\r\n\r\n        .video-title {\r\n            font-size: 13px;\r\n            font-weight: 700;\r\n            margin-bottom: 12px;\r\n            display: -webkit-box;\r\n            -webkit-line-clamp: 2;\r\n            -webkit-box-orient: vertical;\r\n            overflow: hidden;\r\n            color: var(--ui-text);\r\n            line-height: 1.3;\r\n            cursor: pointer;\r\n            position: relative;\r\n            transition: color 0.3s ease;\r\n        }\r\n\r\n        .video-title:hover {\r\n            color: var(--tiktok-pink);\r\n        }\r\n\r\n        \/* Title Tooltip Modal *\/\r\n        .title-tooltip {\r\n            position: fixed;\r\n            background: rgba(0, 0, 0, 0.85);\r\n            backdrop-filter: blur(10px);\r\n            color: var(--ui-white);\r\n            padding: 12px 20px;\r\n            border-radius: var(--radius-lg);\r\n            font-size: 14px;\r\n            font-weight: 600;\r\n            line-height: 1.4;\r\n            max-width: 400px;\r\n            min-width: 200px;\r\n            z-index: 9999;\r\n            opacity: 0;\r\n            visibility: hidden;\r\n            transform: translateY(10px);\r\n            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\r\n            box-shadow: var(--shadow-xl);\r\n            border: 1px solid rgba(255, 255, 255, 0.1);\r\n            pointer-events: none;\r\n            word-wrap: break-word;\r\n            white-space: normal;\r\n        }\r\n\r\n        .title-tooltip.show {\r\n            opacity: 1;\r\n            visibility: visible;\r\n            transform: translateY(0);\r\n        }\r\n\r\n        .title-tooltip::before {\r\n            content: '';\r\n            position: absolute;\r\n            top: -6px;\r\n            left: 20px;\r\n            width: 12px;\r\n            height: 12px;\r\n            background: rgba(0, 0, 0, 0.85);\r\n            border: 1px solid rgba(255, 255, 255, 0.1);\r\n            border-bottom: none;\r\n            border-right: none;\r\n            transform: rotate(45deg);\r\n        }\r\n\r\n        .video-stats {\r\n            display: grid;\r\n            grid-template-columns: repeat(3, 1fr);\r\n            gap: 8px;\r\n            font-size: 11px;\r\n        }\r\n\r\n        .stat {\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            gap: 4px;\r\n            padding: 8px 6px;\r\n            border-radius: var(--radius-sm);\r\n            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\r\n            color: var(--ui-text-light);\r\n            font-weight: 600;\r\n            cursor: pointer;\r\n            position: relative;\r\n            overflow: hidden;\r\n        }\r\n\r\n        .stat::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            opacity: 0;\r\n            transition: opacity 0.3s ease;\r\n            border-radius: var(--radius-sm);\r\n        }\r\n\r\n        .stat:nth-child(1) {\r\n            background: rgba(254, 44, 85, 0.1);\r\n            border: 1px solid rgba(254, 44, 85, 0.2);\r\n        }\r\n\r\n        .stat:nth-child(1)::before {\r\n            background: var(--gradient-primary);\r\n        }\r\n\r\n        .stat:nth-child(1):hover {\r\n            color: var(--ui-white);\r\n            transform: scale(1.05);\r\n            box-shadow: var(--shadow-pink);\r\n        }\r\n\r\n        .stat:nth-child(2) {\r\n            background: rgba(37, 244, 238, 0.1);\r\n            border: 1px solid rgba(37, 244, 238, 0.2);\r\n        }\r\n\r\n        .stat:nth-child(2)::before {\r\n            background: var(--gradient-secondary);\r\n        }\r\n\r\n        .stat:nth-child(2):hover {\r\n            color: var(--ui-white);\r\n            transform: scale(1.05);\r\n            box-shadow: var(--shadow-blue);\r\n        }\r\n\r\n        .stat:nth-child(3) {\r\n            background: rgba(139, 92, 246, 0.1);\r\n            border: 1px solid rgba(139, 92, 246, 0.2);\r\n        }\r\n\r\n        .stat:nth-child(3)::before {\r\n            background: linear-gradient(135deg, var(--tiktok-purple), var(--tiktok-pink));\r\n        }\r\n\r\n        .stat:nth-child(3):hover {\r\n            color: var(--ui-white);\r\n            transform: scale(1.05);\r\n            box-shadow: var(--shadow-purple);\r\n        }\r\n\r\n        .stat:hover::before {\r\n            opacity: 1;\r\n        }\r\n\r\n        .stat i {\r\n            font-size: 12px;\r\n            transition: transform 0.3s ease;\r\n        }\r\n\r\n        .stat:hover i {\r\n            transform: scale(1.2);\r\n        }\r\n\r\n        \/* Video Modal *\/\r\n        .modal {\r\n            position: fixed;\r\n            top: 0;\r\n            left: 0;\r\n            width: 100%;\r\n            height: 100%;\r\n            background: rgba(0, 0, 0, 0.9);\r\n            backdrop-filter: blur(10px);\r\n            z-index: 1000;\r\n            display: none;\r\n            animation: fadeIn 0.3s ease-out;\r\n            padding: 20px;\r\n        }\r\n\r\n        .modal-content {\r\n            position: relative;\r\n            width: 100%;\r\n            height: 100%;\r\n            display: flex;\r\n            flex-direction: column;\r\n            justify-content: center;\r\n            align-items: center;\r\n            max-width: 500px;\r\n            margin: 0 auto;\r\n        }\r\n\r\n        .modal-title {\r\n            color: var(--ui-white);\r\n            font-size: 18px;\r\n            font-weight: 600;\r\n            margin-bottom: 20px;\r\n            text-align: center;\r\n            padding: 0 20px;\r\n            display: -webkit-box;\r\n            -webkit-line-clamp: 2;\r\n            -webkit-box-orient: vertical;\r\n            overflow: hidden;\r\n            line-height: 1.4;\r\n        }\r\n\r\n        .video-player-container {\r\n            position: relative;\r\n            width: 100%;\r\n            aspect-ratio: 9\/16;\r\n            background: #000;\r\n            border-radius: var(--radius-xl);\r\n            overflow: hidden;\r\n            box-shadow: var(--shadow-xl);\r\n        }\r\n\r\n        .video-player {\r\n            width: 100%;\r\n            height: 100%;\r\n            object-fit: contain;\r\n        }\r\n\r\n        .close-modal {\r\n            position: absolute;\r\n            top: 15px;\r\n            right: -50px;\r\n            width: 50px;\r\n            height: 50px;\r\n            background: var(--gradient-primary);\r\n            border: 2px solid rgba(255, 255, 255, 0.3);\r\n            border-radius: var(--radius-full);\r\n            color: var(--ui-white);\r\n            font-size: 24px;\r\n            cursor: pointer;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\r\n            z-index: 20;\r\n            box-shadow: var(--shadow-pink);\r\n        }\r\n\r\n        .close-modal:hover {\r\n            transform: rotate(90deg) scale(1.1);\r\n            background: var(--gradient-secondary);\r\n            border-color: rgba(255, 255, 255, 0.5);\r\n            box-shadow: var(--shadow-pink), var(--shadow-glow);\r\n        }\r\n\r\n        \/* Video Controls *\/\r\n        .video-controls {\r\n            position: absolute;\r\n            bottom: 0;\r\n            left: 0;\r\n            right: 0;\r\n            padding: 20px;\r\n            background: linear-gradient(transparent, rgba(0, 0, 0, 0.8));\r\n            display: flex;\r\n            flex-direction: column;\r\n            gap: 16px;\r\n            opacity: 0;\r\n            transition: opacity 0.3s ease;\r\n        }\r\n\r\n        .video-player-container:hover .video-controls {\r\n            opacity: 1;\r\n        }\r\n\r\n        .progress-container {\r\n            width: 100%;\r\n            height: 6px;\r\n            background: rgba(255, 255, 255, 0.2);\r\n            border-radius: var(--radius-full);\r\n            cursor: pointer;\r\n            position: relative;\r\n        }\r\n\r\n        .progress-bar {\r\n            height: 100%;\r\n            background: var(--gradient-primary);\r\n            border-radius: var(--radius-full);\r\n            position: relative;\r\n            transition: width 0.1s linear;\r\n        }\r\n\r\n        .progress-bar::after {\r\n            content: '';\r\n            position: absolute;\r\n            right: -6px;\r\n            top: 50%;\r\n            transform: translateY(-50%) scale(0);\r\n            width: 16px;\r\n            height: 16px;\r\n            background: var(--ui-white);\r\n            border-radius: var(--radius-full);\r\n            transition: transform 0.2s ease;\r\n            box-shadow: var(--shadow-sm);\r\n        }\r\n\r\n        .progress-container:hover .progress-bar::after {\r\n            transform: translateY(-50%) scale(1);\r\n        }\r\n\r\n        .control-buttons {\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: space-between;\r\n        }\r\n\r\n        .control-group {\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 12px;\r\n        }\r\n\r\n        .control-button {\r\n            width: 44px;\r\n            height: 44px;\r\n            border: none;\r\n            border-radius: var(--radius-full);\r\n            background: rgba(255, 255, 255, 0.1);\r\n            color: var(--ui-white);\r\n            font-size: 18px;\r\n            cursor: pointer;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\r\n            backdrop-filter: blur(10px);\r\n        }\r\n\r\n        .control-button:hover {\r\n            background: rgba(255, 255, 255, 0.2);\r\n            transform: scale(1.1);\r\n        }\r\n\r\n        .play-pause {\r\n            width: 56px;\r\n            height: 56px;\r\n            background: var(--gradient-primary);\r\n            font-size: 24px;\r\n            box-shadow: var(--shadow-pink);\r\n        }\r\n\r\n        .play-pause:hover {\r\n            background: var(--gradient-secondary);\r\n            box-shadow: var(--shadow-glow);\r\n        }\r\n\r\n        \/* Volume Controls *\/\r\n        .volume-controls {\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 10px;\r\n        }\r\n\r\n        .volume-slider {\r\n            width: 80px;\r\n            height: 6px;\r\n            background: rgba(255, 255, 255, 0.2);\r\n            border-radius: var(--radius-full);\r\n            position: relative;\r\n            cursor: pointer;\r\n        }\r\n\r\n        .volume-fill {\r\n            height: 100%;\r\n            background: var(--gradient-primary);\r\n            border-radius: var(--radius-full);\r\n            transition: width 0.1s ease;\r\n        }\r\n\r\n        \/* Loading Animation *\/\r\n        .loading {\r\n            display: none;\r\n            justify-content: center;\r\n            align-items: center;\r\n            padding: 60px 40px;\r\n            background: var(--gradient-card);\r\n            backdrop-filter: blur(20px);\r\n            border: 2px solid rgba(255, 255, 255, 0.3);\r\n            border-radius: var(--radius-xl);\r\n            margin: 32px 0;\r\n            box-shadow: var(--shadow-xl);\r\n        }\r\n\r\n        .loading-content {\r\n            text-align: center;\r\n        }\r\n\r\n        .loading-animation {\r\n            position: relative;\r\n            width: 120px;\r\n            height: 120px;\r\n            margin: 0 auto 24px;\r\n        }\r\n\r\n        .loading-spinner {\r\n            position: absolute;\r\n            top: 0;\r\n            left: 0;\r\n            width: 100%;\r\n            height: 100%;\r\n            border-radius: var(--radius-full);\r\n            border: 6px solid transparent;\r\n            border-top: 6px solid var(--tiktok-pink);\r\n            border-right: 6px solid var(--tiktok-blue);\r\n            animation: spin 1.5s linear infinite;\r\n        }\r\n\r\n        .loading-spinner::before {\r\n            content: '';\r\n            position: absolute;\r\n            top: 6px;\r\n            left: 6px;\r\n            right: 6px;\r\n            bottom: 6px;\r\n            border-radius: var(--radius-full);\r\n            border: 4px solid transparent;\r\n            border-top: 4px solid var(--tiktok-blue);\r\n            border-left: 4px solid var(--tiktok-purple);\r\n            animation: spin 1s linear infinite reverse;\r\n        }\r\n\r\n        .loading-spinner::after {\r\n            content: '';\r\n            position: absolute;\r\n            top: 16px;\r\n            left: 16px;\r\n            right: 16px;\r\n            bottom: 16px;\r\n            border-radius: var(--radius-full);\r\n            border: 3px solid transparent;\r\n            border-bottom: 3px solid var(--tiktok-orange);\r\n            animation: spin 1.25s linear infinite;\r\n        }\r\n\r\n        @keyframes spin {\r\n            0% {\r\n                transform: rotate(0deg);\r\n            }\r\n\r\n            100% {\r\n                transform: rotate(360deg);\r\n            }\r\n        }\r\n\r\n        .loading-text {\r\n            font-size: 20px;\r\n            font-weight: 700;\r\n            color: var(--ui-text);\r\n            margin-bottom: 8px;\r\n        }\r\n\r\n        .loading-subtext {\r\n            font-size: 14px;\r\n            color: var(--ui-text-light);\r\n            font-weight: 500;\r\n        }\r\n\r\n        \/* Profile Picture Modal *\/\r\n        .profile-modal {\r\n            position: fixed;\r\n            top: 0;\r\n            left: 0;\r\n            width: 100%;\r\n            height: 100%;\r\n            background: rgba(0, 0, 0, 0.9);\r\n            backdrop-filter: blur(10px);\r\n            z-index: 1000;\r\n            display: none;\r\n            animation: fadeIn 0.3s ease-out;\r\n            padding: 20px;\r\n        }\r\n\r\n        .profile-modal-content {\r\n            position: relative;\r\n            width: 100%;\r\n            height: 100%;\r\n            display: flex;\r\n            justify-content: center;\r\n            align-items: center;\r\n        }\r\n\r\n        .profile-modal-image {\r\n            max-width: 80%;\r\n            max-height: 80%;\r\n            border-radius: var(--radius-xl);\r\n            box-shadow: var(--shadow-xl);\r\n        }\r\n\r\n        .profile-modal-close {\r\n            position: absolute;\r\n            top: 20px;\r\n            right: 20px;\r\n            width: 50px;\r\n            height: 50px;\r\n            background: var(--gradient-primary);\r\n            border: 2px solid rgba(255, 255, 255, 0.3);\r\n            border-radius: var(--radius-full);\r\n            color: var(--ui-white);\r\n            font-size: 24px;\r\n            cursor: pointer;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\r\n            z-index: 20;\r\n            box-shadow: var(--shadow-pink);\r\n        }\r\n\r\n        .profile-modal-close:hover {\r\n            transform: rotate(90deg) scale(1.1);\r\n            background: var(--gradient-secondary);\r\n            border-color: rgba(255, 255, 255, 0.5);\r\n            box-shadow: var(--shadow-pink), var(--shadow-glow);\r\n        }\r\n\r\n        .profile-modal-download {\r\n            position: absolute;\r\n            bottom: 20px;\r\n            right: 20px;\r\n            padding: 14px 24px;\r\n            background: var(--gradient-primary);\r\n            color: var(--ui-white);\r\n            border: none;\r\n            border-radius: var(--radius-lg);\r\n            font-weight: 700;\r\n            font-size: 16px;\r\n            cursor: pointer;\r\n            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 8px;\r\n            box-shadow: var(--shadow-pink);\r\n        }\r\n\r\n        .profile-modal-download:hover {\r\n            transform: translateY(-3px);\r\n            box-shadow: var(--shadow-pink), var(--shadow-glow);\r\n        }\r\n\r\n        \/* Download Progress *\/\r\n        .download-progress {\r\n            position: fixed;\r\n            bottom: 20px;\r\n            right: 20px;\r\n            background: var(--ui-white);\r\n            border: 2px solid rgba(254, 44, 85, 0.2);\r\n            border-radius: var(--radius-lg);\r\n            padding: 16px 20px;\r\n            color: var(--ui-text);\r\n            font-weight: 600;\r\n            z-index: 1001;\r\n            display: none;\r\n            align-items: center;\r\n            gap: 12px;\r\n            box-shadow: var(--shadow-lg);\r\n            min-width: 300px;\r\n            backdrop-filter: blur(10px);\r\n        }\r\n\r\n        .download-progress.show {\r\n            display: flex;\r\n        }\r\n\r\n        .download-spinner {\r\n            width: 20px;\r\n            height: 20px;\r\n            border: 2px solid rgba(254, 44, 85, 0.2);\r\n            border-top-color: var(--tiktok-pink);\r\n            border-radius: var(--radius-full);\r\n            animation: spin 1s linear infinite;\r\n            flex-shrink: 0;\r\n        }\r\n\r\n        .download-info {\r\n            flex-grow: 1;\r\n            display: flex;\r\n            flex-direction: column;\r\n            gap: 6px;\r\n        }\r\n\r\n        .download-text {\r\n            font-size: 14px;\r\n            white-space: nowrap;\r\n            overflow: hidden;\r\n            text-overflow: ellipsis;\r\n        }\r\n\r\n        .download-progress-bar {\r\n            width: 100%;\r\n            height: 4px;\r\n            background: rgba(254, 44, 85, 0.2);\r\n            border-radius: var(--radius-full);\r\n            overflow: hidden;\r\n        }\r\n\r\n        .download-progress-fill {\r\n            height: 100%;\r\n            background: var(--gradient-primary);\r\n            border-radius: var(--radius-full);\r\n            width: 0%;\r\n            transition: width 0.3s ease;\r\n        }\r\n\r\n        .cancel-download-btn {\r\n            background: var(--gradient-primary);\r\n            border: none;\r\n            color: var(--ui-white);\r\n            border-radius: var(--radius-md);\r\n            padding: 8px 12px;\r\n            font-size: 12px;\r\n            font-weight: 600;\r\n            cursor: pointer;\r\n            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\r\n            flex-shrink: 0;\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 4px;\r\n        }\r\n\r\n        .cancel-download-btn:hover {\r\n            background: var(--gradient-secondary);\r\n            transform: scale(1.05);\r\n        }\r\n\r\n        \/* Error Message *\/\r\n        .error-message {\r\n            background: rgba(254, 44, 85, 0.1);\r\n            border: 2px solid rgba(254, 44, 85, 0.3);\r\n            color: var(--tiktok-pink);\r\n            padding: 16px 20px;\r\n            border-radius: var(--radius-lg);\r\n            margin-top: 16px;\r\n            display: none;\r\n            align-items: center;\r\n            gap: 12px;\r\n            font-weight: 600;\r\n            backdrop-filter: blur(10px);\r\n        }\r\n\r\n        \/* Animations *\/\r\n        @keyframes fadeIn {\r\n            from {\r\n                opacity: 0;\r\n            }\r\n\r\n            to {\r\n                opacity: 1;\r\n            }\r\n        }\r\n\r\n        @keyframes fadeInUp {\r\n            from {\r\n                opacity: 0;\r\n                transform: translateY(20px);\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 fadeInDown {\r\n            from {\r\n                opacity: 0;\r\n                transform: translateY(-20px);\r\n            }\r\n\r\n            to {\r\n                opacity: 1;\r\n                transform: translateY(0);\r\n            }\r\n        }\r\n\r\n        \/* Responsive Design *\/\r\n        @media (max-width: 1200px) {\r\n            .container {\r\n                max-width: 1000px;\r\n                padding: 30px 20px;\r\n            }\r\n\r\n            .video-grid {\r\n                grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));\r\n                gap: 18px;\r\n            }\r\n\r\n            .profile-header {\r\n                gap: 25px;\r\n            }\r\n\r\n            .profile-avatar {\r\n                width: 110px;\r\n                height: 110px;\r\n            }\r\n\r\n            .profile-name {\r\n                font-size: 28px;\r\n            }\r\n\t\t\t\t\t\r\n\t\t\t\t\t.videos-section-header {\r\n\tdisplay: flex !important;\r\n\talign-items: center;\r\n\tjustify-content: space-between;\r\n\tmargin-bottom: 30px;\r\n\tpadding: 20px 0;\r\n\tborder-bottom: 2px solid rgba(254, 44, 85, 0.1);\r\n\tflex-direction: column;\r\n\tgap: 20px;\r\n}\r\n        }\r\n\r\n        @media (max-width: 992px) {\r\n            .container {\r\n                max-width: 800px;\r\n                padding: 25px 18px;\r\n            }\r\n\r\n            .search-section {\r\n                padding: 30px;\r\n            }\r\n\r\n            .profile-section {\r\n                padding: 30px;\r\n            }\r\n\r\n            .video-grid {\r\n                grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));\r\n                gap: 16px;\r\n            }\r\n\r\n            .video-card {\r\n                height: 360px;\r\n            }\r\n\r\n            .video-thumbnail-container {\r\n                height: 240px;\r\n            }\r\n\r\n            .profile-stats {\r\n                grid-template-columns: repeat(2, 1fr);\r\n                gap: 16px;\r\n            }\r\n\r\n            .stat-item {\r\n                padding: 20px 16px;\r\n            }\r\n\r\n            .stat-value {\r\n                font-size: 24px;\r\n            }\r\n\t\t\t\t\t.videos-section-header {\r\n\tdisplay: flex !important;\r\n\talign-items: center;\r\n\tjustify-content: space-between;\r\n\tmargin-bottom: 30px;\r\n\tpadding: 20px 0;\r\n\tborder-bottom: 2px solid rgba(254, 44, 85, 0.1);\r\n\tflex-direction: column;\r\n\tgap: 20px;\r\n}\r\n        }\r\n\r\n        @media (max-width: 768px) {\r\n            .container {\r\n                padding: 20px 16px;\r\n            }\r\n\r\n            .header {\r\n                margin-bottom: 40px;\r\n            }\r\n\r\n            .logo-container {\r\n                flex-direction: column;\r\n                gap: 15px;\r\n            }\r\n\r\n            .logo-text-container {\r\n                text-align: center;\r\n            }\r\n\r\n            .logo-icon {\r\n                width: 60px;\r\n                height: 60px;\r\n                font-size: 30px;\r\n            }\r\n\r\n            .features-card {\r\n                gap: 10px;\r\n                padding: 12px 20px;\r\n                flex-wrap: wrap;\r\n                max-width: 400px;\r\n            }\r\n\r\n            .feature-item {\r\n                padding: 10px 12px;\r\n                min-width: 70px;\r\n            }\r\n\r\n            .feature-item i {\r\n                font-size: 16px;\r\n            }\r\n\r\n            .feature-item span {\r\n                font-size: 10px;\r\n            }\r\n\r\n            .search-section {\r\n                padding: 25px 20px;\r\n            }\r\n\r\n            .search-input {\r\n                padding: 18px 20px;\r\n                font-size: 15px;\r\n            }\r\n\r\n            .search-button {\r\n                padding: 16px 20px;\r\n                font-size: 15px;\r\n                min-width: 180px;\r\n            }\r\n\r\n            .search-again-btn {\r\n                padding: 16px 20px;\r\n                font-size: 15px;\r\n            }\r\n\r\n            .profile-header {\r\n                flex-direction: column;\r\n                align-items: center;\r\n                text-align: center;\r\n                gap: 20px;\r\n                margin-bottom: 30px;\r\n            }\r\n\r\n            .profile-avatar {\r\n                width: 100px;\r\n                height: 100px;\r\n            }\r\n\r\n            .profile-name {\r\n                font-size: 24px;\r\n            }\r\n\r\n            .profile-username {\r\n                font-size: 16px;\r\n            }\r\n\r\n            .profile-bio {\r\n                font-size: 14px;\r\n                text-align: center;\r\n            }\r\n\r\n            .profile-stats {\r\n                grid-template-columns: repeat(2, 1fr);\r\n                gap: 12px;\r\n            }\r\n\r\n            .stat-item {\r\n                padding: 18px 14px;\r\n            }\r\n\r\n            .stat-value {\r\n                font-size: 22px;\r\n            }\r\n\r\n            .stat-label {\r\n                font-size: 12px;\r\n            }\r\n\r\n            .video-grid {\r\n                grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));\r\n                gap: 16px;\r\n            }\r\n\r\n            .video-card {\r\n                height: 350px;\r\n            }\r\n\r\n            .video-thumbnail-container {\r\n                height: 230px;\r\n            }\r\n\r\n            .video-info {\r\n                padding: 16px;\r\n                height: 120px;\r\n            }\r\n\r\n            .video-title {\r\n                font-size: 12px;\r\n                margin-bottom: 10px;\r\n            }\r\n\r\n            .video-stats {\r\n                gap: 6px;\r\n            }\r\n\r\n            .stat {\r\n                padding: 6px 4px;\r\n                font-size: 10px;\r\n            }\r\n\r\n            .stat i {\r\n                font-size: 11px;\r\n            }\r\n\r\n            .search-box {\r\n                flex-direction: column;\r\n                gap: 12px;\r\n            }\r\n\r\n            .search-button {\r\n                width: 100%;\r\n                min-width: auto;\r\n            }\r\n\r\n            .videos-section-header {\r\n                flex-direction: column;\r\n                gap: 12px;\r\n                align-items: flex-start;\r\n                margin-bottom: 25px;\r\n            }\r\n\r\n            .videos-button {\r\n                padding: 14px 24px;\r\n                font-size: 16px;\r\n            }\r\n\r\n            .download-all-btn {\r\n                margin-left: 0;\r\n                margin-top: 8px;\r\n                padding: 14px 24px;\r\n                font-size: 14px;\r\n            }\r\n\r\n            .videos-count {\r\n                font-size: 14px;\r\n                padding: 10px 20px;\r\n            }\r\n\r\n            .control-buttons {\r\n                flex-wrap: wrap;\r\n                gap: 12px;\r\n            }\r\n\r\n            .volume-controls {\r\n                order: 3;\r\n                width: 100%;\r\n                justify-content: center;\r\n            }\r\n\r\n            .volume-slider {\r\n                width: 60px;\r\n            }\r\n\r\n            .close-modal {\r\n                top: -60px;\r\n                right: 10px;\r\n                width: 45px;\r\n                height: 45px;\r\n                font-size: 20px;\r\n            }\r\n\r\n            .profile-modal-close {\r\n                width: 45px;\r\n                height: 45px;\r\n                font-size: 20px;\r\n            }\r\n\r\n            .profile-modal-download {\r\n                padding: 12px 20px;\r\n                font-size: 14px;\r\n            }\r\n\r\n            .download-progress {\r\n                left: 20px;\r\n                right: 20px;\r\n                width: auto;\r\n                min-width: auto;\r\n                padding: 14px 16px;\r\n            }\r\n\r\n            .download-text {\r\n                font-size: 13px;\r\n            }\r\n\r\n            .cancel-download-btn {\r\n                padding: 6px 10px;\r\n                font-size: 11px;\r\n            }\r\n\r\n            .title-tooltip {\r\n                max-width: 280px;\r\n                font-size: 13px;\r\n                padding: 10px 16px;\r\n            }\r\n\r\n            .modal-title {\r\n                font-size: 16px;\r\n                margin-bottom: 15px;\r\n            }\r\n\r\n            .video-player-container {\r\n                border-radius: var(--radius-lg);\r\n            }\r\n\r\n            .video-controls {\r\n                padding: 15px;\r\n            }\r\n\r\n            .control-button {\r\n                width: 40px;\r\n                height: 40px;\r\n                font-size: 16px;\r\n            }\r\n\r\n            .play-pause {\r\n                width: 50px;\r\n                height: 50px;\r\n                font-size: 20px;\r\n            }\r\n\t\t\t\t\t.videos-section-header {\r\n\tdisplay: flex !important;\r\n\talign-items: center;\r\n\tjustify-content: space-between;\r\n\tmargin-bottom: 30px;\r\n\tpadding: 20px 0;\r\n\tborder-bottom: 2px solid rgba(254, 44, 85, 0.1);\r\n\tflex-direction: column;\r\n\tgap: 20px;\r\n}\r\n        }\r\n\r\n        @media (max-width: 640px) {\r\n            .container {\r\n                padding: 15px 12px;\r\n            }\r\n\r\n            .header {\r\n                margin-bottom: 30px;\r\n            }\r\n\r\n            .logo-text {\r\n                font-size: 28px;\r\n            }\r\n\r\n            .logo-subtitle {\r\n                font-size: 14px;\r\n            }\r\n\r\n            .features-card {\r\n                padding: 10px 16px;\r\n                gap: 8px;\r\n            }\r\n\r\n            .feature-item {\r\n                padding: 8px 10px;\r\n                min-width: 60px;\r\n            }\r\n\r\n            .feature-item i {\r\n                font-size: 14px;\r\n            }\r\n\r\n            .feature-item span {\r\n                font-size: 9px;\r\n            }\r\n\r\n            .search-section {\r\n                padding: 20px 16px;\r\n            }\r\n\r\n            .search-input {\r\n                padding: 16px 18px;\r\n                font-size: 14px;\r\n            }\r\n\r\n            .paste-hint {\r\n                font-size: 13px;\r\n                margin-top: 10px;\r\n            }\r\n\r\n            .paste-icon {\r\n                padding: 6px;\r\n                font-size: 14px;\r\n            }\r\n\r\n            .search-button {\r\n                padding: 14px 18px;\r\n                font-size: 14px;\r\n            }\r\n\r\n            .search-again-btn {\r\n                padding: 14px 18px;\r\n                font-size: 14px;\r\n            }\r\n\r\n            .profile-section {\r\n                padding: 20px 16px;\r\n            }\r\n\r\n            .profile-avatar {\r\n                width: 90px;\r\n                height: 90px;\r\n            }\r\n\r\n            .profile-name {\r\n                font-size: 22px;\r\n            }\r\n\r\n            .profile-username {\r\n                font-size: 15px;\r\n            }\r\n\r\n            .profile-bio {\r\n                font-size: 13px;\r\n            }\r\n\r\n            .profile-stats {\r\n                gap: 10px;\r\n            }\r\n\r\n            .stat-item {\r\n                padding: 16px 12px;\r\n            }\r\n\r\n            .stat-value {\r\n                font-size: 20px;\r\n            }\r\n\r\n            .stat-label {\r\n                font-size: 11px;\r\n            }\r\n\r\n            .video-grid {\r\n                grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));\r\n                gap: 12px;\r\n            }\r\n\r\n            .video-card {\r\n                height: 320px;\r\n            }\r\n\r\n            .video-thumbnail-container {\r\n                height: 210px;\r\n            }\r\n\r\n            .video-info {\r\n                padding: 14px;\r\n                height: 110px;\r\n            }\r\n\r\n            .video-title {\r\n                font-size: 11px;\r\n                margin-bottom: 8px;\r\n            }\r\n\r\n            .video-stats {\r\n                gap: 4px;\r\n            }\r\n\r\n            .stat {\r\n                padding: 5px 3px;\r\n                font-size: 9px;\r\n            }\r\n\r\n            .stat i {\r\n                font-size: 10px;\r\n            }\r\n\r\n            .play-overlay {\r\n                width: 50px;\r\n                height: 50px;\r\n            }\r\n\r\n            .play-overlay::after {\r\n                border-left: 15px solid white;\r\n                border-top: 10px solid transparent;\r\n                border-bottom: 10px solid transparent;\r\n            }\r\n\r\n            .video-download-btn {\r\n                width: 35px;\r\n                height: 35px;\r\n                font-size: 14px;\r\n                top: 10px;\r\n                right: 10px;\r\n            }\r\n\r\n            .videos-button {\r\n                padding: 12px 20px;\r\n                font-size: 14px;\r\n            }\r\n\r\n            .download-all-btn {\r\n                padding: 12px 20px;\r\n                font-size: 13px;\r\n            }\r\n\r\n            .videos-count {\r\n                font-size: 13px;\r\n                padding: 8px 16px;\r\n            }\r\n        }\r\n\r\n        @media (max-width: 480px) {\r\n            .container {\r\n                padding: 12px 10px;\r\n            }\r\n\r\n            .header {\r\n                margin-bottom: 25px;\r\n            }\r\n\r\n            .logo-text {\r\n                font-size: 24px;\r\n            }\r\n\r\n            .logo-subtitle {\r\n                font-size: 13px;\r\n            }\r\n\r\n            .features-card {\r\n                padding: 8px 12px;\r\n                gap: 6px;\r\n                flex-wrap: wrap;\r\n                justify-content: center;\r\n            }\r\n\r\n            .feature-item {\r\n                padding: 6px 8px;\r\n                min-width: 55px;\r\n            }\r\n\r\n            .feature-item i {\r\n                font-size: 13px;\r\n            }\r\n\r\n            .feature-item span {\r\n                font-size: 8px;\r\n            }\r\n\r\n            .search-section {\r\n                padding: 16px 12px;\r\n            }\r\n\r\n            .search-input {\r\n                padding: 14px 16px;\r\n                font-size: 13px;\r\n            }\r\n\r\n            .paste-hint {\r\n                font-size: 12px;\r\n                margin-top: 8px;\r\n            }\r\n\r\n            .paste-icon {\r\n                padding: 5px;\r\n                font-size: 13px;\r\n            }\r\n\r\n            .search-button {\r\n                padding: 12px 16px;\r\n                font-size: 13px;\r\n            }\r\n\r\n            .search-again-btn {\r\n                padding: 12px 16px;\r\n                font-size: 13px;\r\n            }\r\n\r\n            .profile-section {\r\n                padding: 16px 12px;\r\n            }\r\n\r\n            .profile-header {\r\n                gap: 15px;\r\n                margin-bottom: 25px;\r\n            }\r\n\r\n            .profile-avatar {\r\n                width: 80px;\r\n                height: 80px;\r\n            }\r\n\r\n            .profile-name {\r\n                font-size: 20px;\r\n            }\r\n\r\n            .profile-username {\r\n                font-size: 14px;\r\n            }\r\n\r\n            .profile-bio {\r\n                font-size: 12px;\r\n            }\r\n\r\n            .profile-stats {\r\n                grid-template-columns: 1fr;\r\n                gap: 8px;\r\n            }\r\n\r\n            .stat-item {\r\n                padding: 14px 10px;\r\n            }\r\n\r\n            .stat-value {\r\n                font-size: 18px;\r\n            }\r\n\r\n            .stat-label {\r\n                font-size: 10px;\r\n            }\r\n\r\n            .video-grid {\r\n                grid-template-columns: 1fr;\r\n                gap: 10px;\r\n            }\r\n\r\n            .video-card {\r\n                height: 300px;\r\n            }\r\n\r\n            .video-thumbnail-container {\r\n                height: 190px;\r\n            }\r\n\r\n            .video-info {\r\n                padding: 12px;\r\n                height: 110px;\r\n            }\r\n\r\n            .video-title {\r\n                font-size: 10px;\r\n                margin-bottom: 6px;\r\n            }\r\n\r\n            .video-stats {\r\n                gap: 3px;\r\n            }\r\n\r\n            .stat {\r\n                padding: 4px 2px;\r\n                font-size: 8px;\r\n            }\r\n\r\n            .stat i {\r\n                font-size: 9px;\r\n            }\r\n\r\n            .play-overlay {\r\n                width: 45px;\r\n                height: 45px;\r\n            }\r\n\r\n            .play-overlay::after {\r\n                border-left: 12px solid white;\r\n                border-top: 8px solid transparent;\r\n                border-bottom: 8px solid transparent;\r\n            }\r\n\r\n            .video-download-btn {\r\n                width: 30px;\r\n                height: 30px;\r\n                font-size: 12px;\r\n                top: 8px;\r\n                right: 8px;\r\n            }\r\n\r\n            .videos-section-header {\r\n                gap: 8px;\r\n                margin-bottom: 20px;\r\n            }\r\n\r\n            .videos-button {\r\n                padding: 10px 16px;\r\n                font-size: 13px;\r\n            }\r\n\r\n            .download-all-btn {\r\n                padding: 10px 16px;\r\n                font-size: 12px;\r\n            }\r\n\r\n            .videos-count {\r\n                font-size: 12px;\r\n                padding: 6px 12px;\r\n            }\r\n\r\n            .close-modal {\r\n                top: -50px;\r\n                right: 5px;\r\n                width: 40px;\r\n                height: 40px;\r\n                font-size: 18px;\r\n            }\r\n\r\n            .profile-modal-close {\r\n                width: 40px;\r\n                height: 40px;\r\n                font-size: 18px;\r\n            }\r\n\r\n            .profile-modal-download {\r\n                padding: 10px 16px;\r\n                font-size: 13px;\r\n            }\r\n\r\n            .download-progress {\r\n                left: 10px;\r\n                right: 10px;\r\n                padding: 12px 14px;\r\n            }\r\n\r\n            .download-text {\r\n                font-size: 12px;\r\n            }\r\n\r\n            .cancel-download-btn {\r\n                padding: 5px 8px;\r\n                font-size: 10px;\r\n            }\r\n\r\n            .title-tooltip {\r\n                max-width: 250px;\r\n                font-size: 12px;\r\n                padding: 8px 12px;\r\n            }\r\n\r\n            .modal-title {\r\n                font-size: 14px;\r\n                margin-bottom: 12px;\r\n            }\r\n\r\n            .video-controls {\r\n                padding: 12px;\r\n            }\r\n\r\n            .control-button {\r\n                width: 36px;\r\n                height: 36px;\r\n                font-size: 14px;\r\n            }\r\n\r\n            .play-pause {\r\n                width: 45px;\r\n                height: 45px;\r\n                font-size: 18px;\r\n            }\r\n\r\n            .volume-slider {\r\n                width: 50px;\r\n            }\r\n\r\n            .loading {\r\n                padding: 40px 20px;\r\n            }\r\n\r\n            .loading-animation {\r\n                width: 100px;\r\n                height: 100px;\r\n            }\r\n\r\n            .loading-text {\r\n                font-size: 18px;\r\n            }\r\n\r\n            .loading-subtext {\r\n                font-size: 13px;\r\n            }\r\n\r\n            .error-message {\r\n                padding: 12px 16px;\r\n                font-size: 13px;\r\n            }\r\n\t\t\t\t\t\t.videos-section-header {\r\n\tdisplay: flex !important;\r\n\talign-items: center;\r\n\tjustify-content: space-between;\r\n\tmargin-bottom: 30px;\r\n\tpadding: 20px 0;\r\n\tborder-bottom: 2px solid rgba(254, 44, 85, 0.1);\r\n\tflex-direction: column;\r\n\tgap: 20px;\r\n}\r\n        }\r\n\r\n        @media (max-width: 360px) {\r\n            .container {\r\n                padding: 10px 8px;\r\n            }\r\n\r\n            .logo-text {\r\n                font-size: 22px;\r\n            }\r\n\r\n            .logo-subtitle {\r\n                font-size: 12px;\r\n            }\r\n\r\n            .features-card {\r\n                padding: 6px 10px;\r\n                gap: 4px;\r\n            }\r\n\r\n            .feature-item {\r\n                padding: 5px 6px;\r\n                min-width: 50px;\r\n            }\r\n\r\n            .feature-item i {\r\n                font-size: 12px;\r\n            }\r\n\r\n            .feature-item span {\r\n                font-size: 7px;\r\n            }\r\n\r\n            .search-section {\r\n                padding: 12px 10px;\r\n            }\r\n\r\n            .search-input {\r\n                padding: 12px 14px;\r\n                font-size: 12px;\r\n            }\r\n\r\n            .search-button {\r\n                padding: 10px 14px;\r\n                font-size: 12px;\r\n            }\r\n\r\n            .search-again-btn {\r\n                padding: 10px 14px;\r\n                font-size: 12px;\r\n            }\r\n\r\n            .profile-section {\r\n                padding: 12px 10px;\r\n            }\r\n\r\n            .profile-avatar {\r\n                width: 70px;\r\n                height: 70px;\r\n            }\r\n\r\n            .profile-name {\r\n                font-size: 18px;\r\n            }\r\n\r\n            .profile-username {\r\n                font-size: 13px;\r\n            }\r\n\r\n            .profile-bio {\r\n                font-size: 11px;\r\n            }\r\n\r\n            .video-card {\r\n                height: 280px;\r\n            }\r\n\r\n            .video-thumbnail-container {\r\n                height: 170px;\r\n            }\r\n\r\n            .video-info {\r\n                padding: 10px;\r\n                height: 110px;\r\n            }\r\n\r\n            .video-title {\r\n                font-size: 9px;\r\n            }\r\n\r\n            .stat {\r\n                font-size: 7px;\r\n            }\r\n\r\n            .stat i {\r\n                font-size: 8px;\r\n            }\r\n\r\n            .play-overlay {\r\n                width: 40px;\r\n                height: 40px;\r\n            }\r\n\r\n            .play-overlay::after {\r\n                border-left: 10px solid white;\r\n                border-top: 6px solid transparent;\r\n                border-bottom: 6px solid transparent;\r\n            }\r\n\r\n            .video-download-btn {\r\n                width: 28px;\r\n                height: 28px;\r\n                font-size: 11px;\r\n            }\r\n\r\n            .videos-button {\r\n                padding: 8px 14px;\r\n                font-size: 12px;\r\n            }\r\n\r\n            .download-all-btn {\r\n                padding: 8px 14px;\r\n                font-size: 11px;\r\n            }\r\n\r\n            .videos-count {\r\n                font-size: 11px;\r\n                padding: 5px 10px;\r\n            }\r\n\r\n            .title-tooltip {\r\n                max-width: 220px;\r\n                font-size: 11px;\r\n            }\r\n\r\n            .modal-title {\r\n                font-size: 13px;\r\n            }\r\n\r\n            .control-button {\r\n                width: 32px;\r\n                height: 32px;\r\n                font-size: 13px;\r\n            }\r\n\r\n            .play-pause {\r\n                width: 40px;\r\n                height: 40px;\r\n                font-size: 16px;\r\n            }\r\n\t\t\t\t\t\t.videos-section-header {\r\n\tdisplay: flex !important;\r\n\talign-items: center;\r\n\tjustify-content: space-between;\r\n\tmargin-bottom: 30px;\r\n\tpadding: 20px 0;\r\n\tborder-bottom: 2px solid rgba(254, 44, 85, 0.1);\r\n\tflex-direction: column;\r\n\tgap: 20px;\r\n}\r\n        }\r\n\r\n        \/* Landscape orientation for mobile *\/\r\n        @media (max-height: 500px) and (orientation: landscape) {\r\n            .container {\r\n                padding: 10px 15px;\r\n            }\r\n\r\n            .header {\r\n                margin-bottom: 20px;\r\n            }\r\n\r\n            .logo-container {\r\n                flex-direction: row;\r\n                gap: 15px;\r\n            }\r\n\r\n            .logo-text {\r\n                font-size: 20px;\r\n            }\r\n\r\n            .logo-subtitle {\r\n                font-size: 12px;\r\n            }\r\n\r\n            .features-card {\r\n                padding: 8px 16px;\r\n                gap: 8px;\r\n                flex-wrap: nowrap;\r\n            }\r\n\r\n            .search-section {\r\n                padding: 15px 20px;\r\n            }\r\n\r\n            .profile-header {\r\n                flex-direction: row;\r\n                gap: 15px;\r\n                margin-bottom: 20px;\r\n            }\r\n\r\n            .profile-avatar {\r\n                width: 60px;\r\n                height: 60px;\r\n            }\r\n\r\n            .profile-name {\r\n                font-size: 18px;\r\n            }\r\n\r\n            .profile-username {\r\n                font-size: 12px;\r\n            }\r\n\r\n            .profile-bio {\r\n                font-size: 11px;\r\n            }\r\n\r\n            .profile-stats {\r\n                grid-template-columns: repeat(4, 1fr);\r\n                gap: 8px;\r\n            }\r\n\r\n            .stat-item {\r\n                padding: 10px 8px;\r\n            }\r\n\r\n            .stat-value {\r\n                font-size: 16px;\r\n            }\r\n\r\n            .stat-label {\r\n                font-size: 9px;\r\n            }\r\n\r\n            .video-grid {\r\n                grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));\r\n                gap: 10px;\r\n            }\r\n\r\n            .video-card {\r\n                height: 250px;\r\n            }\r\n\r\n            .video-thumbnail-container {\r\n                height: 160px;\r\n            }\r\n\r\n            .video-info {\r\n                padding: 8px;\r\n                height: 90px;\r\n            }\r\n\r\n            .video-title {\r\n                font-size: 9px;\r\n                margin-bottom: 4px;\r\n            }\r\n\r\n            .video-stats {\r\n                gap: 2px;\r\n            }\r\n\r\n            .stat {\r\n                padding: 3px 2px;\r\n                font-size: 7px;\r\n            }\r\n\r\n            .stat i {\r\n                font-size: 8px;\r\n            }\r\n\r\n            .play-overlay {\r\n                width: 35px;\r\n                height: 35px;\r\n            }\r\n\r\n            .play-overlay::after {\r\n                border-left: 8px solid white;\r\n                border-top: 5px solid transparent;\r\n                border-bottom: 5px solid transparent;\r\n            }\r\n\r\n            .video-download-btn {\r\n                width: 25px;\r\n                height: 25px;\r\n                font-size: 10px;\r\n            }\r\n\r\n            .videos-section-header {\r\n                flex-direction: row;\r\n                gap: 10px;\r\n                margin-bottom: 15px;\r\n            }\r\n\r\n            .videos-button {\r\n                padding: 8px 12px;\r\n                font-size: 11px;\r\n            }\r\n\r\n            .download-all-btn {\r\n                padding: 8px 12px;\r\n                font-size: 10px;\r\n                margin-left: 8px;\r\n                margin-top: 0 !;\r\n            }\r\n\r\n            .videos-count {\r\n                font-size: 10px;\r\n                padding: 4px 8px;\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            .video-thumbnail {\r\n                image-rendering: -webkit-optimize-contrast;\r\n                image-rendering: crisp-edges;\r\n            }\r\n\r\n            .profile-avatar {\r\n                image-rendering: -webkit-optimize-contrast;\r\n                image-rendering: crisp-edges;\r\n            }\r\n        }\r\n\r\n        \/* Reduced motion for accessibility *\/\r\n        @media (prefers-reduced-motion: reduce) {\r\n            * {\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            .floating-shape {\r\n                animation: none;\r\n            }\r\n\r\n            .logo-icon::after {\r\n                animation: none;\r\n            }\r\n\r\n            .loading-spinner,\r\n            .loading-spinner::before,\r\n            .loading-spinner::after {\r\n                animation: none;\r\n            }\r\n\r\n            .download-spinner {\r\n                animation: none;\r\n            }\r\n        }\r\n\r\n        \/* Dark mode support (keeping same colors but adjusting for system preference) *\/\r\n        @media (prefers-color-scheme: dark) {\r\n\r\n            \/* Keep all existing colors but add subtle adjustments for dark mode preference *\/\r\n            .search-input::placeholder {\r\n                color: rgba(100, 116, 139, 0.7);\r\n            }\r\n\r\n            .title-tooltip {\r\n                background: rgba(0, 0, 0, 0.95);\r\n                border: 1px solid rgba(255, 255, 255, 0.2);\r\n            }\r\n\r\n            .title-tooltip::before {\r\n                background: rgba(0, 0, 0, 0.95);\r\n                border: 1px solid rgba(255, 255, 255, 0.2);\r\n            }\r\n        }\r\n    <\/style>\r\n\r\n    <div class=\"wrapper\">\r\n    <div class=\"bg-wrapper\">\r\n        <div class=\"bg-pattern\"><\/div>\r\n        <div class=\"floating-elements\">\r\n            <div class=\"floating-shape\"><\/div>\r\n            <div class=\"floating-shape\"><\/div>\r\n            <div class=\"floating-shape\"><\/div>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <div class=\"container\">\r\n        <div class=\"header\">\r\n            <div class=\"logo-container\">\r\n                <div class=\"logo-icon\">\r\n                    <i class=\"fab fa-tiktok\"><\/i>\r\n                <\/div>\r\n                <div class=\"logo-text-container\">\r\n                    <h1 class=\"logo-text\">TikTok Post Viewer<\/h1>\r\n                    <p class=\"logo-subtitle\">Download and explore TikTok content easily<\/p>\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <div class=\"features-card\">\r\n                <div class=\"feature-item\">\r\n                    <i class=\"fas fa-user\"><\/i>\r\n                    <span>Profile<\/span>\r\n                <\/div>\r\n                <div class=\"feature-item\">\r\n                    <i class=\"fas fa-video\"><\/i>\r\n                    <span>Videos<\/span>\r\n                <\/div>\r\n                <div class=\"feature-item\">\r\n                    <i class=\"fas fa-download\"><\/i>\r\n                    <span>Download<\/span>\r\n                <\/div>\r\n                <div class=\"feature-item\">\r\n                    <i class=\"fas fa-eye\"><\/i>\r\n                    <span>Preview<\/span>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"search-section\">\r\n            <div class=\"input-container\">\r\n                <input type=\"text\" class=\"search-input\" placeholder=\"Enter TikTok username, @username, or profile URL\"\r\n                    id=\"usernameInput\">\r\n                <div class=\"paste-hint\">\r\n                    <span>Quick paste<\/span>\r\n                    <i class=\"fas fa-paste paste-icon\" onclick=\"pasteFromClipboard()\" title=\"Paste from clipboard\"><\/i>\r\n                <\/div>\r\n            <\/div>\r\n            <div class=\"search-box\" id=\"searchBox\">\r\n                <button class=\"search-button btn-ripple\" onclick=\"searchProfile()\" id=\"searchBtn\">\r\n                    <i class=\"fas fa-search\"><\/i> <span id=\"searchText\">Explore Profile<\/span>\r\n                <\/button>\r\n            <\/div>\r\n            <button class=\"search-again-btn btn-ripple\" onclick=\"searchAgain()\" id=\"searchAgainBtn\"\r\n                style=\"display: none;\">\r\n                <i class=\"fas fa-search\"><\/i> Explore Another Profile\r\n            <\/button>\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 class=\"loading\" id=\"loading\">\r\n                <div class=\"loading-content\">\r\n                    <div class=\"loading-animation\">\r\n                        <div class=\"loading-spinner\"><\/div>\r\n                    <\/div>\r\n                    <div class=\"loading-text\">Exploring TikTok Profile<\/div>\r\n                    <div class=\"loading-subtext\">Gathering posts and profile information...<\/div>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"results-container\" id=\"resultsContainer\" style=\"display: none;\">\r\n            <div class=\"profile-section\" id=\"profileSection\"><\/div>\r\n\r\n            <div class=\"videos-section-header\" id=\"videosHeader\" style=\"display: none;\">\r\n                <div style=\"display: flex; align-items: center; gap: 16px;\">\r\n                    <button class=\"videos-button btn-ripple\">\r\n                        <i class=\"fas fa-video\"><\/i> Posts\r\n                    <\/button>\r\n                    <button class=\"download-all-btn btn-ripple\" onclick=\"downloadAllVideos()\" id=\"downloadAllBtn\">\r\n                        <i class=\"fas fa-download\"><\/i> Download All\r\n                    <\/button>\r\n                <\/div>\r\n                <div class=\"videos-count\" id=\"videosCount\"><\/div>\r\n            <\/div>\r\n\r\n            <div class=\"video-grid\" id=\"videoGrid\"><\/div>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <!-- Title Tooltip -->\r\n    <div class=\"title-tooltip\" id=\"titleTooltip\"><\/div>\r\n\r\n    <!-- Video Modal -->\r\n    <div class=\"modal\" id=\"videoModal\">\r\n        <div class=\"modal-content\">\r\n            <div class=\"modal-title\" id=\"modalTitle\"><\/div>\r\n            <button class=\"close-modal\" onclick=\"closeVideoModal()\">\r\n                <i class=\"fas fa-times\"><\/i>\r\n            <\/button>\r\n            <div class=\"video-player-container\">\r\n                <video id=\"videoPlayer\" class=\"video-player\" loop>\r\n                    Your browser doesn't support video playback.\r\n                <\/video>\r\n                <div class=\"video-controls\">\r\n                    <div class=\"progress-container\" onclick=\"seekVideo(event)\">\r\n                        <div class=\"progress-bar\" id=\"progressBar\"><\/div>\r\n                    <\/div>\r\n                    <div class=\"control-buttons\">\r\n                        <div class=\"control-group volume-controls\">\r\n                            <button class=\"control-button\" onclick=\"toggleMute()\" title=\"Toggle Sound\">\r\n                                <i class=\"fas fa-volume-up\" id=\"volumeIcon\"><\/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-button play-pause\" onclick=\"togglePlay()\" title=\"Play\/Pause\">\r\n                            <i class=\"fas fa-play\" id=\"playIcon\"><\/i>\r\n                        <\/button>\r\n\r\n                        <div class=\"control-group\">\r\n                            <button class=\"control-button\" onclick=\"downloadVideo()\" title=\"Download Video\">\r\n                                <i class=\"fas fa-download\"><\/i>\r\n                            <\/button>\r\n                            <button class=\"control-button\" onclick=\"toggleFullscreen()\" title=\"Fullscreen\"\r\n                                id=\"fullscreenBtn\">\r\n                                <i class=\"fas fa-expand\" id=\"fullscreenIcon\"><\/i>\r\n                            <\/button>\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <!-- Profile Picture Modal -->\r\n    <div class=\"profile-modal\" id=\"profileModal\">\r\n        <div class=\"profile-modal-content\">\r\n            <button class=\"profile-modal-close\" onclick=\"closeProfileModal()\">\r\n                <i class=\"fas fa-times\"><\/i>\r\n            <\/button>\r\n            <img decoding=\"async\" id=\"profileModalImage\" class=\"profile-modal-image\" src=\"\/placeholder.svg\" alt=\"Profile Picture\">\r\n            <button class=\"profile-modal-download btn-ripple\" onclick=\"downloadProfilePicture()\">\r\n                <i class=\"fas fa-download\"><\/i> Download\r\n            <\/button>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <!-- Download Progress Indicator -->\r\n    <div class=\"download-progress\" id=\"downloadProgress\">\r\n        <div class=\"download-spinner\"><\/div>\r\n        <div class=\"download-info\">\r\n            <div class=\"download-text\" id=\"downloadText\">Downloading...<\/div>\r\n            <div class=\"download-progress-bar\">\r\n                <div class=\"download-progress-fill\" id=\"downloadProgressFill\"><\/div>\r\n            <\/div>\r\n        <\/div>\r\n        <button class=\"cancel-download-btn\" onclick=\"cancelDownloads()\" id=\"cancelDownloadBtn\">\r\n            <i class=\"fas fa-stop\"><\/i> Stop\r\n        <\/button>\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_BASE_URL = 'https:\/\/tools.xrespond.com\/api\/tiktok';\r\n        let currentVideo = null;\r\n        let currentProfileData = null;\r\n        let allVideos = [];\r\n        let isFullscreen = false;\r\n        let currentVolume = 1;\r\n        let isMuted = false;\r\n        let isProcessing = false;\r\n        let isDownloading = false;\r\n        let activeDownloads = [];\r\n        let downloadCancelled = false;\r\n\r\n        \/\/ Title tooltip functionality\r\n        let titleTooltip = null;\r\n        let tooltipTimeout = null;\r\n\r\n        \/\/ Initialize ripple effects\r\n        document.addEventListener('DOMContentLoaded', function () {\r\n            const buttons = document.querySelectorAll('.btn-ripple');\r\n            buttons.forEach(button => {\r\n                button.addEventListener('click', function (e) {\r\n                    const rect = button.getBoundingClientRect();\r\n                    const x = e.clientX - rect.left;\r\n                    const y = e.clientY - rect.top;\r\n\r\n                    const ripple = document.createElement('span');\r\n                    ripple.style.position = 'absolute';\r\n                    ripple.style.width = '1px';\r\n                    ripple.style.height = '1px';\r\n                    ripple.style.borderRadius = '50%';\r\n                    ripple.style.transform = 'scale(0)';\r\n                    ripple.style.backgroundColor = 'rgba(255, 255, 255, 0.7)';\r\n                    ripple.style.left = x + 'px';\r\n                    ripple.style.top = y + 'px';\r\n                    ripple.style.animation = 'ripple 0.6s linear';\r\n\r\n                    button.appendChild(ripple);\r\n\r\n                    setTimeout(() => {\r\n                        button.removeChild(ripple);\r\n                    }, 600);\r\n                });\r\n            });\r\n\r\n            \/\/ Initialize title tooltip\r\n            titleTooltip = document.getElementById('titleTooltip');\r\n        });\r\n\r\n        \/\/ Title tooltip functions\r\n        function showTitleTooltip(element, title) {\r\n            if (!title || title.trim() === '') return;\r\n\r\n            clearTimeout(tooltipTimeout);\r\n\r\n            titleTooltip.textContent = title;\r\n            titleTooltip.classList.add('show');\r\n\r\n            \/\/ Position the tooltip\r\n            const rect = element.getBoundingClientRect();\r\n            const tooltipRect = titleTooltip.getBoundingClientRect();\r\n\r\n            let left = rect.left + (rect.width \/ 2) - (tooltipRect.width \/ 2);\r\n            let top = rect.bottom + 10;\r\n\r\n            \/\/ Ensure tooltip stays within viewport\r\n            if (left < 10) left = 10;\r\n            if (left + tooltipRect.width > window.innerWidth - 10) {\r\n                left = window.innerWidth - tooltipRect.width - 10;\r\n            }\r\n\r\n            if (top + tooltipRect.height > window.innerHeight - 10) {\r\n                top = rect.top - tooltipRect.height - 10;\r\n            }\r\n\r\n            titleTooltip.style.left = left + 'px';\r\n            titleTooltip.style.top = top + 'px';\r\n        }\r\n\r\n        function hideTitleTooltip() {\r\n            tooltipTimeout = setTimeout(() => {\r\n                titleTooltip.classList.remove('show');\r\n            }, 100);\r\n        }\r\n\r\n        async function pasteFromClipboard() {\r\n            try {\r\n                const text = await navigator.clipboard.readText();\r\n                document.getElementById('usernameInput').value = text;\r\n            } catch (err) {\r\n                console.error('Failed to read clipboard contents: ', err);\r\n                document.getElementById('usernameInput').focus();\r\n            }\r\n        }\r\n\r\n        function searchAgain() {\r\n            document.getElementById('usernameInput').value = '';\r\n            document.getElementById('resultsContainer').style.display = 'none';\r\n            document.getElementById('searchAgainBtn').style.display = 'none';\r\n            document.getElementById('searchBox').style.display = 'flex';\r\n            document.getElementById('videosHeader').style.display = 'none';\r\n            document.getElementById('usernameInput').focus();\r\n            allVideos = [];\r\n        }\r\n\r\n        function extractUsername(input) {\r\n            if (input.startsWith('@')) {\r\n                return input.substring(1);\r\n            }\r\n\r\n            const urlPatterns = [\r\n                \/tiktok\\.com\\\/@([^\\\/\\?]+)\/,\r\n                \/tiktok\\.com\\\/([^\\\/\\?@]+)\/,\r\n                \/vm\\.tiktok\\.com\\\/([^\\\/\\?]+)\/\r\n            ];\r\n\r\n            for (const pattern of urlPatterns) {\r\n                const match = input.match(pattern);\r\n                if (match) {\r\n                    return match[1];\r\n                }\r\n            }\r\n\r\n            return input;\r\n        }\r\n\r\n        async function searchProfile() {\r\n            if (isProcessing) return;\r\n\r\n            const input = document.getElementById('usernameInput').value.trim();\r\n            if (!input) {\r\n                showError('Please enter a TikTok username or profile URL');\r\n                return;\r\n            }\r\n\r\n            const username = extractUsername(input);\r\n\r\n            isProcessing = true;\r\n            const searchBtn = document.getElementById('searchBtn');\r\n            const searchText = document.getElementById('searchText');\r\n\r\n            searchBtn.disabled = true;\r\n            searchText.textContent = 'Exploring...';\r\n            showLoading();\r\n            hideError();\r\n\r\n            try {\r\n                const profileResponse = await fetch(`${API_BASE_URL}\/profile\/details`, {\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({ profile: username })\r\n                });\r\n\r\n                const profileData = await profileResponse.json();\r\n\r\n                if (profileData.status !== 'success') {\r\n                    throw new Error(profileData.message || 'Failed to fetch profile data');\r\n                }\r\n\r\n                currentProfileData = profileData.data.data;\r\n                displayProfile(currentProfileData);\r\n\r\n                const videosResponse = await fetch(`${API_BASE_URL}\/profile\/videos`, {\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({ profile: username })\r\n                });\r\n\r\n                const videosData = await videosResponse.json();\r\n\r\n                if (videosData.status !== 'success') {\r\n                    throw new Error(videosData.message || 'Failed to fetch videos');\r\n                }\r\n\r\n                const videos = videosData.data.data.videos.reverse();\r\n                allVideos = videos;\r\n                displayVideos(videos);\r\n\r\n                document.getElementById('resultsContainer').style.display = 'block';\r\n                document.getElementById('searchAgainBtn').style.display = 'block';\r\n                document.getElementById('searchBox').style.display = 'none';\r\n                document.getElementById('videosHeader').style.display = 'flex';\r\n\r\n                document.getElementById('usernameInput').value = '';\r\n\r\n            } catch (error) {\r\n                showError(error.message || 'Error fetching profile. Please try again.');\r\n            } finally {\r\n                isProcessing = false;\r\n                searchBtn.disabled = false;\r\n                searchText.textContent = 'Explore Profile';\r\n                hideLoading();\r\n            }\r\n        }\r\n\r\n        function displayProfile(data) {\r\n            const profileSection = document.getElementById('profileSection');\r\n\r\n            profileSection.innerHTML = `\r\n        <div class=\"profile-header\">\r\n            <div class=\"profile-avatar-container\">\r\n                <img decoding=\"async\" src=\"${data.user.avatarLarger}\" alt=\"Profile\" class=\"profile-avatar shimmer\" onclick=\"openProfileModal('${data.user.avatarLarger}')\">\r\n                <div class=\"fullscreen-icon\" onclick=\"openProfileModal('${data.user.avatarLarger}')\" title=\"View Fullscreen\">\r\n                    <i class=\"fas fa-expand\"><\/i>\r\n                <\/div>\r\n            <\/div>\r\n            <div class=\"profile-info\">\r\n                <h2 class=\"profile-name\">${data.user.nickname}<\/h2>\r\n                <p class=\"profile-username\">@${data.user.uniqueId}<\/p>\r\n                <div class=\"profile-bio\">${data.user.signature || ''}<\/div>\r\n            <\/div>\r\n        <\/div>\r\n        <div class=\"profile-stats\">\r\n            <div class=\"stat-item\">\r\n                <div class=\"stat-value\">${formatNumber(data.stats.followingCount)}<\/div>\r\n                <div class=\"stat-label\">Following<\/div>\r\n            <\/div>\r\n            <div class=\"stat-item\">\r\n                <div class=\"stat-value\">${formatNumber(data.stats.followerCount)}<\/div>\r\n                <div class=\"stat-label\">Followers<\/div>\r\n            <\/div>\r\n            <div class=\"stat-item\">\r\n                <div class=\"stat-value\">${formatNumber(data.stats.heartCount)}<\/div>\r\n                <div class=\"stat-label\">Likes<\/div>\r\n            <\/div>\r\n            <div class=\"stat-item\">\r\n                <div class=\"stat-value\">${formatNumber(data.stats.videoCount)}<\/div>\r\n                <div class=\"stat-label\">Posts<\/div>\r\n            <\/div>\r\n        <\/div>\r\n    `;\r\n        }\r\n\r\n        function displayVideos(videos) {\r\n            const videoGrid = document.getElementById('videoGrid');\r\n            const videosCount = document.getElementById('videosCount');\r\n\r\n            videoGrid.innerHTML = '';\r\n            videosCount.textContent = `Found ${videos.length} posts`;\r\n\r\n            videos.forEach((video, index) => {\r\n                const videoCard = document.createElement('div');\r\n                videoCard.className = 'video-card';\r\n                videoCard.innerHTML = `\r\n            <div class=\"video-thumbnail-container\">\r\n                <img decoding=\"async\" src=\"${video.cover}\" alt=\"${video.title}\" class=\"video-thumbnail\">\r\n                <div class=\"play-overlay\" onclick=\"openVideoModal(event, ${index})\"><\/div>\r\n                <div class=\"video-download-btn\" onclick=\"downloadVideoFromCard(event, ${index})\" title=\"Download Video\">\r\n                    <i class=\"fas fa-download\"><\/i>\r\n                <\/div>\r\n            <\/div>\r\n            <div class=\"video-info\">\r\n                <div class=\"video-title\" data-full-title=\"${video.title.replace(\/\"\/g, '\"')}\">${video.title}<\/div>\r\n                <div class=\"video-stats\">\r\n                    <div class=\"stat\">\r\n                        <i class=\"fas fa-heart\"><\/i>\r\n                        <span>${formatNumber(video.digg_count)}<\/span>\r\n                    <\/div>\r\n                    <div class=\"stat\">\r\n                        <i class=\"fas fa-comment\"><\/i>\r\n                        <span>${formatNumber(video.comment_count)}<\/span>\r\n                    <\/div>\r\n                    <div class=\"stat\">\r\n                        <i class=\"fas fa-share\"><\/i>\r\n                        <span>${formatNumber(video.share_count)}<\/span>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n        `;\r\n\r\n                videoGrid.appendChild(videoCard);\r\n\r\n                \/\/ Add hover events for title tooltip\r\n                const titleElement = videoCard.querySelector('.video-title');\r\n                titleElement.addEventListener('mouseenter', function () {\r\n                    const fullTitle = this.getAttribute('data-full-title');\r\n                    showTitleTooltip(this, fullTitle);\r\n                });\r\n\r\n                titleElement.addEventListener('mouseleave', function () {\r\n                    hideTitleTooltip();\r\n                });\r\n            });\r\n        }\r\n\r\n        function openVideoModal(event, videoIndex) {\r\n            event.stopPropagation();\r\n            const video = allVideos[videoIndex];\r\n            if (!video) return;\r\n\r\n            currentVideo = video;\r\n            const modal = document.getElementById('videoModal');\r\n            const videoPlayer = document.getElementById('videoPlayer');\r\n            const modalTitle = document.getElementById('modalTitle');\r\n\r\n            modalTitle.textContent = video.title;\r\n            videoPlayer.src = video.play;\r\n            videoPlayer.preload = 'metadata';\r\n            modal.style.display = 'block';\r\n            document.body.style.overflow = 'hidden';\r\n\r\n            document.getElementById('playIcon').className = 'fas fa-play';\r\n            updateVolumeIcon();\r\n            document.getElementById('progressBar').style.width = '0%';\r\n            updateVolumeDisplay();\r\n\r\n            videoPlayer.addEventListener('loadedmetadata', () => {\r\n                videoPlayer.volume = currentVolume;\r\n                videoPlayer.muted = isMuted;\r\n                updateVolumeDisplay();\r\n            });\r\n\r\n            videoPlayer.addEventListener('timeupdate', updateVideoProgress);\r\n            videoPlayer.addEventListener('ended', onVideoEnd);\r\n        }\r\n\r\n        function closeVideoModal() {\r\n            const modal = document.getElementById('videoModal');\r\n            const videoPlayer = document.getElementById('videoPlayer');\r\n\r\n            videoPlayer.pause();\r\n            videoPlayer.removeEventListener('timeupdate', updateVideoProgress);\r\n            videoPlayer.removeEventListener('ended', onVideoEnd);\r\n            modal.style.display = 'none';\r\n            document.body.style.overflow = 'auto';\r\n            currentVideo = null;\r\n\r\n            if (isFullscreen) {\r\n                exitFullscreen();\r\n            }\r\n        }\r\n\r\n        function openProfileModal(imageUrl) {\r\n            const modal = document.getElementById('profileModal');\r\n            const image = document.getElementById('profileModalImage');\r\n\r\n            image.src = imageUrl;\r\n            modal.style.display = 'block';\r\n            document.body.style.overflow = 'hidden';\r\n        }\r\n\r\n        function closeProfileModal() {\r\n            const modal = document.getElementById('profileModal');\r\n            modal.style.display = 'none';\r\n            document.body.style.overflow = 'auto';\r\n        }\r\n\r\n        function cancelDownloads() {\r\n            downloadCancelled = true;\r\n\r\n            activeDownloads.forEach(controller => {\r\n                if (controller) {\r\n                    controller.abort();\r\n                }\r\n            });\r\n\r\n            activeDownloads = [];\r\n\r\n            isDownloading = false;\r\n            const downloadBtn = document.getElementById('downloadAllBtn');\r\n            downloadBtn.innerHTML = '<i class=\"fas fa-download\"><\/i> Download All';\r\n            downloadBtn.disabled = false;\r\n\r\n            updateDownloadProgress('Downloads cancelled', 0);\r\n            setTimeout(hideDownloadProgress, 2000);\r\n        }\r\n\r\n        async function downloadProfilePicture() {\r\n            if (!currentProfileData) {\r\n                showError('No profile data available');\r\n                return;\r\n            }\r\n\r\n            if (isDownloading) {\r\n                showError('Another download is in progress');\r\n                return;\r\n            }\r\n\r\n            isDownloading = true;\r\n            downloadCancelled = false;\r\n            showDownloadProgress('Downloading profile picture...', 0);\r\n\r\n            try {\r\n                const controller = new AbortController();\r\n                activeDownloads.push(controller);\r\n\r\n                const response = await fetch(currentProfileData.user.avatarLarger, {\r\n                    signal: controller.signal\r\n                });\r\n\r\n                if (!response.ok) throw new Error(`HTTP error! status: ${response.status}`);\r\n\r\n                updateDownloadProgress('Processing profile picture...', 50);\r\n\r\n                const blob = await response.blob();\r\n                const url = window.URL.createObjectURL(blob);\r\n                const a = document.createElement('a');\r\n                a.href = url;\r\n                a.download = `${currentProfileData.user.uniqueId}_profile.jpg`;\r\n                a.style.display = 'none';\r\n                document.body.appendChild(a);\r\n\r\n                updateDownloadProgress('Saving profile picture...', 90);\r\n\r\n                a.click();\r\n                document.body.removeChild(a);\r\n                window.URL.revokeObjectURL(url);\r\n\r\n                updateDownloadProgress('Profile picture downloaded successfully!', 100);\r\n                console.log('Profile picture download completed successfully');\r\n\r\n                activeDownloads = activeDownloads.filter(c => c !== controller);\r\n\r\n                setTimeout(hideDownloadProgress, 2000);\r\n            } catch (error) {\r\n                if (error.name === 'AbortError') {\r\n                    console.log('Profile picture download cancelled');\r\n                } else {\r\n                    console.error('Download failed:', error);\r\n                    showError(`Failed to download profile picture: ${error.message}`);\r\n                }\r\n            } finally {\r\n                isDownloading = false;\r\n            }\r\n        }\r\n\r\n        async function downloadVideo() {\r\n            if (!currentVideo) {\r\n                showError('No video selected for download');\r\n                return;\r\n            }\r\n\r\n            if (isDownloading) {\r\n                showError('Another download is in progress');\r\n                return;\r\n            }\r\n\r\n            isDownloading = true;\r\n            downloadCancelled = false;\r\n            showDownloadProgress('Downloading video...', 0);\r\n\r\n            try {\r\n                const controller = new AbortController();\r\n                activeDownloads.push(controller);\r\n\r\n                const response = await fetch(currentVideo.play, {\r\n                    signal: controller.signal\r\n                });\r\n\r\n                if (!response.ok) throw new Error(`HTTP error! status: ${response.status}`);\r\n\r\n                const totalSize = parseInt(response.headers.get('content-length') || '0');\r\n                const reader = response.body.getReader();\r\n                let receivedSize = 0;\r\n                const chunks = [];\r\n\r\n                while (true) {\r\n                    const { done, value } = await reader.read();\r\n\r\n                    if (done) break;\r\n\r\n                    chunks.push(value);\r\n                    receivedSize += value.length;\r\n\r\n                    const progress = totalSize ? Math.round((receivedSize \/ totalSize) * 100) : 0;\r\n                    updateDownloadProgress(`Downloading video... ${progress}%`, progress);\r\n\r\n                    if (downloadCancelled) {\r\n                        throw new Error('AbortError');\r\n                    }\r\n                }\r\n\r\n                updateDownloadProgress('Processing video...', 95);\r\n\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 blob = new Blob([chunksAll], { type: 'video\/mp4' });\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 = `tiktok-${currentVideo.id || 'video'}.mp4`;\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                updateDownloadProgress('Video downloaded successfully!', 100);\r\n                console.log('Video download completed successfully');\r\n\r\n                activeDownloads = activeDownloads.filter(c => c !== controller);\r\n\r\n                setTimeout(hideDownloadProgress, 2000);\r\n            } catch (error) {\r\n                if (error.name === 'AbortError' || error.message === 'AbortError') {\r\n                    console.log('Video download cancelled');\r\n                } else {\r\n                    console.error('Download failed:', error);\r\n                    showError(`Failed to download video: ${error.message}`);\r\n                }\r\n            } finally {\r\n                isDownloading = false;\r\n            }\r\n        }\r\n\r\n        async function downloadVideoFromCard(event, videoIndex) {\r\n            event.stopPropagation();\r\n\r\n            const video = allVideos[videoIndex];\r\n            if (!video) {\r\n                showError('Video not found');\r\n                return;\r\n            }\r\n\r\n            if (isDownloading) {\r\n                showError('Another download is in progress');\r\n                return;\r\n            }\r\n\r\n            isDownloading = true;\r\n            downloadCancelled = false;\r\n            showDownloadProgress(`Downloading video ${videoIndex + 1}...`, 0);\r\n\r\n            try {\r\n                const controller = new AbortController();\r\n                activeDownloads.push(controller);\r\n\r\n                const response = await fetch(video.play, {\r\n                    signal: controller.signal\r\n                });\r\n\r\n                if (!response.ok) throw new Error(`HTTP error! status: ${response.status}`);\r\n\r\n                const totalSize = parseInt(response.headers.get('content-length') || '0');\r\n                const reader = response.body.getReader();\r\n                let receivedSize = 0;\r\n                const chunks = [];\r\n\r\n                while (true) {\r\n                    const { done, value } = await reader.read();\r\n\r\n                    if (done) break;\r\n\r\n                    chunks.push(value);\r\n                    receivedSize += value.length;\r\n\r\n                    const progress = totalSize ? Math.round((receivedSize \/ totalSize) * 100) : 0;\r\n                    updateDownloadProgress(`Downloading video ${videoIndex + 1}... ${progress}%`, progress);\r\n\r\n                    if (downloadCancelled) {\r\n                        throw new Error('AbortError');\r\n                    }\r\n                }\r\n\r\n                updateDownloadProgress('Processing video...', 95);\r\n\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 blob = new Blob([chunksAll], { type: 'video\/mp4' });\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 = `tiktok-${video.id || `video-${videoIndex + 1}`}.mp4`;\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                updateDownloadProgress('Video downloaded successfully!', 100);\r\n                console.log('Video download completed successfully');\r\n\r\n                activeDownloads = activeDownloads.filter(c => c !== controller);\r\n\r\n                setTimeout(hideDownloadProgress, 2000);\r\n            } catch (error) {\r\n                if (error.name === 'AbortError' || error.message === 'AbortError') {\r\n                    console.log('Video download cancelled');\r\n                } else {\r\n                    console.error('Download failed:', error);\r\n                    showError(`Failed to download video: ${error.message}`);\r\n                }\r\n            } finally {\r\n                isDownloading = false;\r\n            }\r\n        }\r\n\r\n        async function downloadAllVideos() {\r\n            if (allVideos.length === 0 || isDownloading) return;\r\n\r\n            isDownloading = true;\r\n            downloadCancelled = false;\r\n            const downloadBtn = document.getElementById('downloadAllBtn');\r\n            const originalText = downloadBtn.innerHTML;\r\n\r\n            downloadBtn.innerHTML = '<i class=\"fas fa-spinner fa-spin\"><\/i> Downloading...';\r\n            downloadBtn.disabled = true;\r\n\r\n            showDownloadProgress(`Starting download of ${allVideos.length} videos...`, 0);\r\n\r\n            let successCount = 0;\r\n            let failCount = 0;\r\n\r\n            try {\r\n                for (let i = 0; i < allVideos.length; i++) {\r\n                    if (downloadCancelled) break;\r\n\r\n                    const video = allVideos[i];\r\n\r\n                    try {\r\n                        const controller = new AbortController();\r\n                        activeDownloads.push(controller);\r\n\r\n                        updateDownloadProgress(`Downloading video ${i + 1} of ${allVideos.length}...`, Math.round((i \/ allVideos.length) * 100));\r\n\r\n                        const response = await fetch(video.play, {\r\n                            signal: controller.signal\r\n                        });\r\n\r\n                        if (!response.ok) throw new Error(`HTTP error! status: ${response.status}`);\r\n\r\n                        const blob = await response.blob();\r\n                        const url = URL.createObjectURL(blob);\r\n                        const a = document.createElement('a');\r\n                        a.href = url;\r\n                        a.download = `tiktok-${video.id || `video-${i + 1}`}.mp4`;\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                        successCount++;\r\n                        console.log(`Video ${i + 1} downloaded successfully`);\r\n\r\n                        activeDownloads = activeDownloads.filter(c => c !== controller);\r\n\r\n                        if (i < allVideos.length - 1 && !downloadCancelled) {\r\n                            await new Promise(resolve => setTimeout(resolve, 1000));\r\n                        }\r\n                    } catch (error) {\r\n                        if (error.name === 'AbortError' || error.message === 'AbortError') {\r\n                            console.log(`Video ${i + 1} download cancelled`);\r\n                            break;\r\n                        } else {\r\n                            failCount++;\r\n                            console.error(`Failed to download video ${i + 1}:`, error);\r\n                        }\r\n                    }\r\n                }\r\n\r\n                if (downloadCancelled) {\r\n                    updateDownloadProgress('Downloads cancelled', 0);\r\n                } else {\r\n                    updateDownloadProgress(`Downloads completed! ${successCount} successful, ${failCount} failed`, 100);\r\n                }\r\n\r\n                setTimeout(hideDownloadProgress, 3000);\r\n\r\n            } catch (error) {\r\n                console.error('Bulk download failed:', error);\r\n                showError('Bulk download encountered errors');\r\n                hideDownloadProgress();\r\n            } finally {\r\n                isDownloading = false;\r\n                downloadCancelled = false;\r\n                downloadBtn.innerHTML = originalText;\r\n                downloadBtn.disabled = false;\r\n                activeDownloads = [];\r\n            }\r\n        }\r\n\r\n        function showDownloadProgress(text, progress = 0) {\r\n            const progressElement = document.getElementById('downloadProgress');\r\n            const downloadText = document.getElementById('downloadText');\r\n            const progressFill = document.getElementById('downloadProgressFill');\r\n\r\n            downloadText.textContent = text;\r\n            progressFill.style.width = `${progress}%`;\r\n            progressElement.classList.add('show');\r\n        }\r\n\r\n        function updateDownloadProgress(text, progress = 0) {\r\n            const downloadText = document.getElementById('downloadText');\r\n            const progressFill = document.getElementById('downloadProgressFill');\r\n\r\n            downloadText.textContent = text;\r\n            progressFill.style.width = `${progress}%`;\r\n        }\r\n\r\n        function hideDownloadProgress() {\r\n            const progress = document.getElementById('downloadProgress');\r\n            progress.classList.remove('show');\r\n        }\r\n\r\n        function togglePlay() {\r\n            const videoPlayer = document.getElementById('videoPlayer');\r\n            const playIcon = document.getElementById('playIcon');\r\n\r\n            if (videoPlayer.paused) {\r\n                videoPlayer.play();\r\n                playIcon.className = 'fas fa-pause';\r\n            } else {\r\n                videoPlayer.pause();\r\n                playIcon.className = 'fas fa-play';\r\n            }\r\n        }\r\n\r\n        function toggleMute() {\r\n            const videoPlayer = document.getElementById('videoPlayer');\r\n\r\n            if (isMuted) {\r\n                isMuted = false;\r\n                videoPlayer.muted = false;\r\n                videoPlayer.volume = currentVolume;\r\n            } else {\r\n                isMuted = true;\r\n                videoPlayer.muted = true;\r\n            }\r\n\r\n            updateVolumeIcon();\r\n            updateVolumeDisplay();\r\n        }\r\n\r\n        function updateVolumeIcon() {\r\n            const volumeIcon = document.getElementById('volumeIcon');\r\n            if (isMuted) {\r\n                volumeIcon.className = 'fas fa-volume-mute';\r\n            } else if (currentVolume > 0.5) {\r\n                volumeIcon.className = 'fas fa-volume-up';\r\n            } else if (currentVolume > 0) {\r\n                volumeIcon.className = 'fas fa-volume-down';\r\n            } else {\r\n                volumeIcon.className = 'fas fa-volume-mute';\r\n            }\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            } else {\r\n                isMuted = false;\r\n                videoPlayer.muted = false;\r\n            }\r\n\r\n            updateVolumeIcon();\r\n            updateVolumeDisplay();\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 updateVideoProgress() {\r\n            const videoPlayer = document.getElementById('videoPlayer');\r\n            const progressBar = document.getElementById('progressBar');\r\n            const progress = (videoPlayer.currentTime \/ videoPlayer.duration) * 100;\r\n            progressBar.style.width = `${progress}%`;\r\n        }\r\n\r\n        function seekVideo(event) {\r\n            const videoPlayer = document.getElementById('videoPlayer');\r\n            const progressContainer = event.currentTarget;\r\n            const rect = progressContainer.getBoundingClientRect();\r\n            const pos = (event.clientX - rect.left) \/ rect.width;\r\n            videoPlayer.currentTime = pos * videoPlayer.duration;\r\n        }\r\n\r\n        function onVideoEnd() {\r\n            const playIcon = document.getElementById('playIcon');\r\n            playIcon.className = 'fas fa-play';\r\n        }\r\n\r\n        function toggleFullscreen() {\r\n            const modal = document.getElementById('videoModal');\r\n            const fullscreenIcon = document.getElementById('fullscreenIcon');\r\n\r\n            if (!isFullscreen) {\r\n                if (modal.requestFullscreen) {\r\n                    modal.requestFullscreen();\r\n                } else if (modal.webkitRequestFullscreen) {\r\n                    modal.webkitRequestFullscreen();\r\n                } else if (modal.msRequestFullscreen) {\r\n                    modal.msRequestFullscreen();\r\n                }\r\n                isFullscreen = true;\r\n                fullscreenIcon.className = 'fas fa-compress';\r\n            } else {\r\n                exitFullscreen();\r\n            }\r\n        }\r\n\r\n        function exitFullscreen() {\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            document.getElementById('fullscreenIcon').className = 'fas fa-expand';\r\n        }\r\n\r\n        function showLoading() {\r\n            document.getElementById('loading').style.display = 'flex';\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.style.display = 'flex';\r\n\r\n            \/\/ Auto-close after 10 seconds\r\n            setTimeout(() => {\r\n                hideError();\r\n            }, 10000);\r\n        }\r\n\r\n        function hideError() {\r\n            document.getElementById('errorMessage').style.display = 'none';\r\n        }\r\n\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        \/\/ Event Listeners\r\n        document.getElementById('usernameInput').addEventListener('keypress', (e) => {\r\n            if (e.key === 'Enter' && !isProcessing) {\r\n                searchProfile();\r\n            }\r\n        });\r\n\r\n        \/\/ Close modals when clicking outside\r\n        document.getElementById('videoModal').addEventListener('click', (e) => {\r\n            if (e.target === document.getElementById('videoModal')) {\r\n                closeVideoModal();\r\n            }\r\n        });\r\n\r\n        document.getElementById('profileModal').addEventListener('click', (e) => {\r\n            if (e.target === document.getElementById('profileModal')) {\r\n                closeProfileModal();\r\n            }\r\n        });\r\n\r\n        \/\/ Handle fullscreen change events\r\n        document.addEventListener('fullscreenchange', () => {\r\n            isFullscreen = !!document.fullscreenElement;\r\n            const fullscreenIcon = document.getElementById('fullscreenIcon');\r\n            fullscreenIcon.className = isFullscreen ? 'fas fa-compress' : 'fas fa-expand';\r\n        });\r\n\r\n        document.addEventListener('webkitfullscreenchange', () => {\r\n            isFullscreen = !!document.webkitFullscreenElement;\r\n            const fullscreenIcon = document.getElementById('fullscreenIcon');\r\n            fullscreenIcon.className = isFullscreen ? 'fas fa-compress' : 'fas fa-expand';\r\n        });\r\n\r\n        \/\/ Keyboard shortcuts\r\n        document.addEventListener('keydown', (e) => {\r\n            if (document.getElementById('videoModal').style.display === 'block') {\r\n                switch (e.key) {\r\n                    case ' ':\r\n                        e.preventDefault();\r\n                        togglePlay();\r\n                        break;\r\n                    case 'Escape':\r\n                        closeVideoModal();\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            if (document.getElementById('profileModal').style.display === 'block') {\r\n                if (e.key === 'Escape') {\r\n                    closeProfileModal();\r\n                }\r\n            }\r\n        });\r\n    <\/script>\r\n    <\/div>\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            --tt-post-primary: #000000;\r\n            --tt-post-secondary: #25F4EE;\r\n            --tt-post-accent: #FE2C55;\r\n            --tt-post-purple: #833AB4;\r\n            --tt-post-text-dark: #030303;\r\n            --tt-post-text-light: #606060;\r\n            --tt-post-bg-light: #f9f9f9;\r\n            --tt-post-border-light: #e5e5e5;\r\n            --tt-post-success: #34a853;\r\n            --tt-post-warning: #fbbc05;\r\n        }\r\n        \r\n  \r\n        \r\n        \/* Prefixed Section Styles *\/\r\n        .tt-post-section {\r\n            padding: 80px 0;\r\n            position: relative;\r\n        }\r\n        \r\n        .tt-post-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        .tt-post-section-description {\r\n            font-size: 1.25rem;\r\n            color: var(--tt-post-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        #tt-post-hero {\r\n            background: linear-gradient(135deg, var(--tt-post-primary), var(--tt-post-purple), var(--tt-post-accent));\r\n            color: white;\r\n            padding: 120px 0;\r\n            position: relative;\r\n            overflow: hidden;\r\n        }\r\n        \r\n        #tt-post-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(37, 244, 238, 0.2) 0%, transparent 50%),\r\n                radial-gradient(circle at 80% 80%, rgba(254, 44, 85, 0.2) 0%, transparent 50%),\r\n                radial-gradient(circle at 40% 20%, rgba(131, 58, 180, 0.2) 0%, transparent 50%);\r\n        }\r\n        \r\n        .tt-post-hero-content {\r\n            position: relative;\r\n            z-index: 2;\r\n        }\r\n        \r\n        .tt-post-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        .tt-post-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        .tt-post-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        .tt-post-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        .tt-post-btn-primary-hero {\r\n            background-color: var(--tt-post-secondary);\r\n            color: var(--tt-post-primary);\r\n            border: none;\r\n            box-shadow: 0 4px 15px rgba(0,0,0,0.2);\r\n        }\r\n        \r\n        .tt-post-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(--tt-post-primary);\r\n        }\r\n        \r\n        .tt-post-btn-secondary-hero {\r\n            background-color: transparent;\r\n            color: white;\r\n            border: 2px solid white;\r\n        }\r\n        \r\n        .tt-post-btn-secondary-hero:hover {\r\n            background-color: white;\r\n            color: var(--tt-post-primary);\r\n            transform: translateY(-3px);\r\n        }\r\n        \r\n        .tt-post-url-container {\r\n            max-width: 700px;\r\n            margin: 0 auto;\r\n            position: relative;\r\n        }\r\n        \r\n        .tt-post-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        .tt-post-url-btn {\r\n            position: absolute;\r\n            right: 8px;\r\n            top: 50%;\r\n            transform: translateY(-50%);\r\n            background-color: var(--tt-post-secondary);\r\n            color: var(--tt-post-primary);\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        .tt-post-url-btn:hover {\r\n            background-color: var(--tt-post-accent);\r\n            transform: translateY(-50%) scale(1.05);\r\n        }\r\n        \r\n        .tt-post-phone-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: 30px;\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        .tt-post-mockup-header {\r\n            height: 30px;\r\n            background-color: var(--tt-post-primary);\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            position: relative;\r\n        }\r\n        \r\n        .tt-post-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(--tt-post-secondary), var(--tt-post-accent));\r\n            opacity: 0.7;\r\n        }\r\n        \r\n        .tt-post-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        .tt-post-mockup-video {\r\n            width: 100%;\r\n            height: 100%;\r\n            object-fit: cover;\r\n        }\r\n        \r\n        .tt-post-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        .tt-post-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(--tt-post-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        .tt-post-mockup-play-btn:hover {\r\n            transform: scale(1.1);\r\n        }\r\n        \r\n        .tt-post-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        .tt-post-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        .tt-post-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        .tt-post-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        .tt-post-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        .tt-post-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        .tt-post-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        #tt-post-how-it-works {\r\n            background-color: var(--tt-post-bg-light);\r\n        }\r\n        \r\n        .tt-post-steps-container {\r\n            max-width: 1000px;\r\n            margin: 0 auto;\r\n        }\r\n        \r\n        .tt-post-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(--tt-post-border-light);\r\n            position: relative;\r\n            overflow: hidden;\r\n        }\r\n        \r\n        .tt-post-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(--tt-post-secondary), var(--tt-post-accent));\r\n        }\r\n        \r\n        .tt-post-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        .tt-post-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(--tt-post-secondary), var(--tt-post-accent));\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        .tt-post-step-icon {\r\n            font-size: 3rem;\r\n            background: linear-gradient(135deg, var(--tt-post-secondary), var(--tt-post-accent));\r\n            -webkit-background-clip: text;\r\n            background-clip: text;\r\n            color: transparent;\r\n            margin-bottom: 20px;\r\n        }\r\n        \r\n        .tt-post-step-title {\r\n            font-size: 1.5rem;\r\n            font-weight: 600;\r\n            margin-bottom: 15px;\r\n            color: var(--tt-post-text-dark);\r\n        }\r\n        \r\n        .tt-post-step-description {\r\n            font-size: 1.1rem;\r\n            color: var(--tt-post-text-light);\r\n            line-height: 1.6;\r\n        }\r\n        \r\n        .tt-post-arrow {\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            margin: 20px 0;\r\n        }\r\n        \r\n        .tt-post-arrow i {\r\n            font-size: 2rem;\r\n            background: linear-gradient(135deg, var(--tt-post-secondary), var(--tt-post-accent));\r\n            -webkit-background-clip: text;\r\n            background-clip: text;\r\n            color: transparent;\r\n        }\r\n        \r\n        \/* Prefixed Benefits Section *\/\r\n        #tt-post-benefits {\r\n            background-color: white;\r\n        }\r\n        \r\n        .tt-post-benefits-container {\r\n            max-width: 1000px;\r\n            margin: 0 auto;\r\n        }\r\n        \r\n        .tt-post-benefits-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        .tt-post-benefit-card {\r\n            background-color: var(--tt-post-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        .tt-post-benefit-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        .tt-post-benefit-icon {\r\n            font-size: 2.5rem;\r\n            margin-bottom: 15px;\r\n            background: linear-gradient(135deg, var(--tt-post-secondary), var(--tt-post-accent));\r\n            -webkit-background-clip: text;\r\n            background-clip: text;\r\n            color: transparent;\r\n        }\r\n        \r\n        .tt-post-benefit-title {\r\n            font-size: 1.2rem;\r\n            font-weight: 600;\r\n            margin-bottom: 10px;\r\n            color: var(--tt-post-text-dark);\r\n        }\r\n        \r\n        .tt-post-benefit-description {\r\n            font-size: 1rem;\r\n            color: var(--tt-post-text-light);\r\n            line-height: 1.5;\r\n        }\r\n        \r\n        \/* Prefixed FAQ Section *\/\r\n        #tt-post-faq {\r\n            background-color: var(--tt-post-bg-light);\r\n        }\r\n        \r\n        .tt-post-faq-container {\r\n            max-width: 800px;\r\n            margin: 0 auto;\r\n        }\r\n        \r\n        .tt-post-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        .tt-post-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(--tt-post-text-dark);\r\n            border: none;\r\n            box-shadow: none;\r\n        }\r\n        \r\n        .tt-post-accordion-button:not(.collapsed) {\r\n            color: var(--tt-post-primary);\r\n            background-color: white;\r\n            box-shadow: none;\r\n        }\r\n        \r\n        .tt-post-accordion-button:focus {\r\n            box-shadow: none;\r\n            border: none;\r\n        }\r\n        \r\n        .tt-post-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='%23000000'%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        .tt-post-accordion-body {\r\n            padding: 5px 25px 25px;\r\n            font-size: 1.1rem;\r\n            color: var(--tt-post-text-light);\r\n            line-height: 1.7;\r\n        }\r\n        \r\n        \/* Prefixed Modal Styles *\/\r\n        .tt-post-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        .tt-post-modal-header {\r\n            background: linear-gradient(135deg, var(--tt-post-primary), var(--tt-post-purple));\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        .tt-post-modal-title {\r\n            font-size: 1.5rem;\r\n            font-weight: 700;\r\n        }\r\n        \r\n        .tt-post-btn-close {\r\n            filter: brightness(0) invert(1);\r\n            opacity: 0.8;\r\n        }\r\n        \r\n        .tt-post-btn-close:hover {\r\n            opacity: 1;\r\n        }\r\n        \r\n        .tt-post-modal-body {\r\n            padding: 30px;\r\n        }\r\n        \r\n        .tt-post-form-control {\r\n            border-radius: 10px;\r\n            border: 1px solid var(--tt-post-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        .tt-post-form-control:focus {\r\n            border-color: var(--tt-post-secondary);\r\n            box-shadow: 0 0 0 0.2rem rgba(37, 244, 238, 0.25);\r\n        }\r\n        \r\n        .tt-post-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        .tt-post-form-check-label {\r\n            font-size: 1.1rem;\r\n            padding-left: 10px;\r\n        }\r\n        \r\n        .tt-post-modal-footer {\r\n            padding: 20px 30px;\r\n            border: none;\r\n        }\r\n        \r\n        .tt-post-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            .tt-post-section {\r\n                padding: 60px 0;\r\n            }\r\n            \r\n            .tt-post-section-heading {\r\n                font-size: 2.2rem;\r\n            }\r\n            \r\n            .tt-post-section-description {\r\n                font-size: 1.1rem;\r\n            }\r\n            \r\n            .tt-post-hero-title {\r\n                font-size: 2.5rem;\r\n            }\r\n            \r\n            .tt-post-hero-subtitle {\r\n                font-size: 1.2rem;\r\n            }\r\n            \r\n            .tt-post-btn-container {\r\n                flex-direction: column;\r\n                align-items: center;\r\n            }\r\n            \r\n            .tt-post-btn-hero {\r\n                width: 250px;\r\n            }\r\n            \r\n            .tt-post-step-card {\r\n                margin-bottom: 30px;\r\n            }\r\n            \r\n            .tt-post-arrow {\r\n                transform: rotate(90deg);\r\n            }\r\n        }\r\n    <\/style>\r\n\r\n <!-- Prefixed Hero Section -->\r\n    \r\n\r\n    <!-- Prefixed How It Works Section -->\r\n    <section id=\"tt-post-how-it-works\" class=\"tt-post-section\">\r\n        <div class=\"container\">\r\n            <h2 class=\"tt-post-section-heading\" data-aos=\"fade-up\">How It Works<\/h2>\r\n            <p class=\"tt-post-section-description\" data-aos=\"fade-up\" data-aos-delay=\"100\">Simple steps to view TikTok posts anonymously<\/p>\r\n            \r\n            <div class=\"tt-post-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=\"tt-post-step-card\">\r\n                            <div class=\"tt-post-step-number\">1<\/div>\r\n                            <div class=\"tt-post-step-icon\">\r\n                                <i class=\"fas fa-copy\"><\/i>\r\n                            <\/div>\r\n                            <h3 class=\"tt-post-step-title\">Copy the TikTok post link<\/h3>\r\n                            <p class=\"tt-post-step-description\">Find the TikTok post you want to watch and copy its URL<\/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=\"tt-post-arrow\">\r\n                            <i class=\"fas fa-arrow-right\"><\/i>\r\n                        <\/div>\r\n                        <div class=\"tt-post-step-card\">\r\n                            <div class=\"tt-post-step-number\">2<\/div>\r\n                            <div class=\"tt-post-step-icon\">\r\n                                <i class=\"fas fa-paste\"><\/i>\r\n                            <\/div>\r\n                            <h3 class=\"tt-post-step-title\">Paste it into the viewer<\/h3>\r\n                            <p class=\"tt-post-step-description\">Paste the copied link into our secure viewer tool<\/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=\"tt-post-arrow\">\r\n                            <i class=\"fas fa-arrow-right\"><\/i>\r\n                        <\/div>\r\n                        <div class=\"tt-post-step-card\">\r\n                            <div class=\"tt-post-step-number\">3<\/div>\r\n                            <div class=\"tt-post-step-icon\">\r\n                                <i class=\"fas fa-eye-slash\"><\/i>\r\n                            <\/div>\r\n                            <h3 class=\"tt-post-step-title\">Enjoy the post without being tracked<\/h3>\r\n                            <p class=\"tt-post-step-description\">Watch the TikTok video instantly and completely anonymously<\/p>\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/section>\r\n\r\n    <!-- Prefixed Benefits Section -->\r\n    <section id=\"tt-post-benefits\" class=\"tt-post-section\">\r\n        <div class=\"container\">\r\n            <h2 class=\"tt-post-section-heading\" data-aos=\"fade-up\">Why Use Our TikTok Post Viewer?<\/h2>\r\n            <p class=\"tt-post-section-description\" data-aos=\"fade-up\" data-aos-delay=\"100\">Discover the advantages of our anonymous TikTok viewer<\/p>\r\n            \r\n            <div class=\"tt-post-benefits-container\">\r\n                <div class=\"tt-post-benefits-grid\">\r\n                    <div class=\"tt-post-benefit-card\" data-aos=\"fade-up\" data-aos-delay=\"200\">\r\n                        <div class=\"tt-post-benefit-icon\">\r\n                            <i class=\"fas fa-user-secret\"><\/i>\r\n                        <\/div>\r\n                        <h3 class=\"tt-post-benefit-title\">Anonymous Viewing<\/h3>\r\n                        <p class=\"tt-post-benefit-description\">Watch TikTok posts without revealing your identity or leaving any trace<\/p>\r\n                    <\/div>\r\n                    \r\n                    <div class=\"tt-post-benefit-card\" data-aos=\"fade-up\" data-aos-delay=\"300\">\r\n                        <div class=\"tt-post-benefit-icon\">\r\n                            <i class=\"fas fa-bolt\"><\/i>\r\n                        <\/div>\r\n                        <h3 class=\"tt-post-benefit-title\">Instant Access<\/h3>\r\n                        <p class=\"tt-post-benefit-description\">No waiting, no buffering - get immediate access to any TikTok post<\/p>\r\n                    <\/div>\r\n                    \r\n                    <div class=\"tt-post-benefit-card\" data-aos=\"fade-up\" data-aos-delay=\"400\">\r\n                        <div class=\"tt-post-benefit-icon\">\r\n                            <i class=\"fas fa-download\"><\/i>\r\n                        <\/div>\r\n                        <h3 class=\"tt-post-benefit-title\">Save Videos Easily<\/h3>\r\n                        <p class=\"tt-post-benefit-description\">Download your favorite TikTok videos for offline viewing<\/p>\r\n                    <\/div>\r\n                    \r\n                    <div class=\"tt-post-benefit-card\" data-aos=\"fade-up\" data-aos-delay=\"500\">\r\n                        <div class=\"tt-post-benefit-icon\">\r\n                            <i class=\"fas fa-mobile-alt\"><\/i>\r\n                        <\/div>\r\n                        <h3 class=\"tt-post-benefit-title\">No App Required<\/h3>\r\n                        <p class=\"tt-post-benefit-description\">Access TikTok content directly from your browser<\/p>\r\n                    <\/div>\r\n                    \r\n                    <div class=\"tt-post-benefit-card\" data-aos=\"fade-up\" data-aos-delay=\"600\">\r\n                        <div class=\"tt-post-benefit-icon\">\r\n                            <i class=\"fas fa-gift\"><\/i>\r\n                        <\/div>\r\n                        <h3 class=\"tt-post-benefit-title\">100% Free Forever<\/h3>\r\n                        <p class=\"tt-post-benefit-description\">Enjoy all features without any hidden costs or subscriptions<\/p>\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=\"tt-post-faq\" class=\"tt-post-section\">\r\n        <div class=\"container\">\r\n            <h2 class=\"tt-post-section-heading\" data-aos=\"fade-up\">Frequently Asked Questions<\/h2>\r\n            <p class=\"tt-post-section-description\" data-aos=\"fade-up\" data-aos-delay=\"100\">Get answers to common questions about our TikTok Post Viewer<\/p>\r\n            \r\n            <div class=\"tt-post-faq-container\">\r\n                <div class=\"accordion\" id=\"tt-post-faqAccordion\">\r\n                    <div class=\"tt-post-accordion-item\" data-aos=\"fade-up\" data-aos-delay=\"200\">\r\n                        <h2 class=\"accordion-header\" id=\"tt-post-headingOne\">\r\n                            <button class=\"tt-post-accordion-button\" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#tt-post-collapseOne\" aria-expanded=\"true\" aria-controls=\"tt-post-collapseOne\">\r\n                                Can I watch private TikTok posts?\r\n                            <\/button>\r\n                        <\/h2>\r\n                        <div id=\"tt-post-collapseOne\" class=\"accordion-collapse collapse show\" aria-labelledby=\"tt-post-headingOne\" data-bs-parent=\"#tt-post-faqAccordion\">\r\n                            <div class=\"tt-post-accordion-body\">\r\n                                No, our tool can only access public TikTok posts. We respect TikTok's privacy settings and cannot bypass any privacy restrictions. If a post 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=\"tt-post-accordion-item\" data-aos=\"fade-up\" data-aos-delay=\"300\">\r\n                        <h2 class=\"accordion-header\" id=\"tt-post-headingTwo\">\r\n                            <button class=\"tt-post-accordion-button collapsed\" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#tt-post-collapseTwo\" aria-expanded=\"false\" aria-controls=\"tt-post-collapseTwo\">\r\n                                Will the user know I viewed their post?\r\n                            <\/button>\r\n                        <\/h2>\r\n                        <div id=\"tt-post-collapseTwo\" class=\"accordion-collapse collapse\" aria-labelledby=\"tt-post-headingTwo\" data-bs-parent=\"#tt-post-faqAccordion\">\r\n                            <div class=\"tt-post-accordion-body\">\r\n                                No, the TikTok user will not know that you viewed their post. Our viewer works anonymously and doesn't leave any trace of your activity. TikTok doesn't notify users when someone views their public posts through our system.\r\n                            <\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n                    \r\n                    <div class=\"tt-post-accordion-item\" data-aos=\"fade-up\" data-aos-delay=\"400\">\r\n                        <h2 class=\"accordion-header\" id=\"tt-post-headingThree\">\r\n                            <button class=\"tt-post-accordion-button collapsed\" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#tt-post-collapseThree\" aria-expanded=\"false\" aria-controls=\"tt-post-collapseThree\">\r\n                                Can I download the post content?\r\n                            <\/button>\r\n                        <\/h2>\r\n                        <div id=\"tt-post-collapseThree\" class=\"accordion-collapse collapse\" aria-labelledby=\"tt-post-headingThree\" data-bs-parent=\"#tt-post-faqAccordion\">\r\n                            <div class=\"tt-post-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                <\/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=Montserrat: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.0.0\/css\/all.min.css\" rel=\"stylesheet\">\r\n    <style>\r\n        .wrapper {\r\n            \/* professional palette variables *\/\r\n            --brand-primary: #5b8def; \/* blue *\/\r\n            --brand-secondary: #6ee7e7; \/* teal *\/\r\n            --brand-accent: #a78bfa; \/* violet *\/\r\n            --brand-warm: #f59e0b; \/* amber for highlights *\/\r\n\r\n            \/* legacy variable names mapped to professional palette *\/\r\n            --tiktok-pink: var(--brand-primary);\r\n            --tiktok-blue: var(--brand-secondary);\r\n            --tiktok-cyan: var(--brand-secondary);\r\n            --tiktok-purple: var(--brand-accent);\r\n            --tiktok-orange: var(--brand-warm);\r\n            --tiktok-yellow: #ffe8a3;\r\n\r\n            --ui-white: #ffffff;\r\n            --ui-light: #f7f9fb;\r\n            --ui-light-gray: #eef2f7;\r\n            --ui-gray: #667085;\r\n            --ui-dark-gray: #344054;\r\n            --ui-text: #1f2937;\r\n            --ui-text-light: #64748b;\r\n\r\n            \/* Gradients *\/\r\n            --gradient-primary: linear-gradient(135deg, #5b8def 0%, #a78bfa 60%, #6ee7e7 100%);\r\n            --gradient-secondary: linear-gradient(135deg, #6ee7e7 0%, #5b8def 50%, #a78bfa 100%);\r\n            --gradient-tiktok: linear-gradient(135deg, #5b8def 0%, #6ee7e7 25%, #a78bfa 60%, #5b8def 85%, #6ee7e7 100%);\r\n            --gradient-card: linear-gradient(135deg, rgba(255,255,255,0.95) 0%, rgba(247,249,251,0.9) 100%);\r\n            --gradient-bg: radial-gradient(1200px 800px at 10% 10%, #e8f0ff 0%, #f3e8ff 35%, transparent 70%),\r\n                            radial-gradient(1000px 700px at 90% 20%, #e6fffb 0%, #e8f0ff 35%, transparent 70%),\r\n                            linear-gradient(180deg, #f6f9ff 0%, #f5f3ff 100%);\r\n\r\n            \/* Shadows *\/\r\n            --shadow-sm: 0 2px 8px rgba(16, 24, 40, 0.06);\r\n            --shadow-md: 0 6px 18px rgba(16, 24, 40, 0.08);\r\n            --shadow-lg: 0 10px 30px rgba(16, 24, 40, 0.12);\r\n            --shadow-xl: 0 16px 40px rgba(16, 24, 40, 0.16);\r\n            --shadow-pink: 0 8px 24px rgba(91, 141, 239, 0.3);\r\n            --shadow-blue: 0 8px 24px rgba(110, 231, 231, 0.3);\r\n            --shadow-purple: 0 8px 24px rgba(167, 139, 250, 0.3);\r\n            --shadow-glow: 0 0 30px rgba(91, 141, 239, 0.35);\r\n\r\n            \/* Radii *\/\r\n            --radius-sm: 8px;\r\n            --radius-md: 12px;\r\n            --radius-lg: 16px;\r\n            --radius-xl: 24px;\r\n            --radius-full: 9999px;\r\n        }\r\n            \/* TikTok Brand Colors *\/\r\n            --tiktok-pink: #fe2c55;\r\n            --tiktok-blue: #25f4ee;\r\n            --tiktok-cyan: #00f2ea;\r\n            --tiktok-purple: #8b5cf6;\r\n            --tiktok-orange: #ff6b35;\r\n            --tiktok-yellow: #ffd23f;\r\n\r\n            \/* Bright UI Colors *\/\r\n            --ui-white: #ffffff;\r\n            --ui-light: #f8fafc;\r\n            --ui-light-gray: #f1f5f9;\r\n            --ui-gray: #64748b;\r\n            --ui-dark-gray: #334155;\r\n            --ui-text: #1e293b;\r\n            --ui-text-light: #475569;\r\n\r\n            \/* Vibrant Gradients *\/\r\n            --gradient-primary: linear-gradient(135deg, #fe2c55 0%, #ff6b35 50%, #ffd23f 100%);\r\n            --gradient-secondary: linear-gradient(135deg, #25f4ee 0%, #8b5cf6 50%, #fe2c55 100%);\r\n            --gradient-tiktok: linear-gradient(135deg, #00f2ea 0%, #25f4ee 25%, #8b5cf6 50%, #fe2c55 75%, #ff6b35 100%);\r\n            --gradient-card: linear-gradient(135deg, rgba(255, 255, 255, 0.9) 0%, rgba(248, 250, 252, 0.8) 100%);\r\n            --gradient-bg: linear-gradient(135deg, #fef3c7 0%, #fde68a 25%, #fed7aa 50%, #fecaca 75%, #f3e8ff 100%);\r\n\r\n            \/* Advanced Shadows *\/\r\n            --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.08);\r\n            --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.1);\r\n            --shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.12);\r\n            --shadow-xl: 0 12px 32px rgba(0, 0, 0, 0.15);\r\n            --shadow-pink: 0 8px 24px rgba(254, 44, 85, 0.3);\r\n            --shadow-blue: 0 8px 24px rgba(37, 244, 238, 0.3);\r\n            --shadow-purple: 0 8px 24px rgba(139, 92, 246, 0.3);\r\n            --shadow-glow: 0 0 30px rgba(254, 44, 85, 0.4);\r\n\r\n            \/* Border Radius *\/\r\n            --radius-sm: 8px;\r\n            --radius-md: 12px;\r\n            --radius-lg: 16px;\r\n            --radius-xl: 24px;\r\n            --radius-full: 9999px;\r\n        }\r\n\r\n        .wrapper * {\r\n            margin: 0;\r\n            padding: 0;\r\n            box-sizing: border-box;\r\n            font-family: 'Montserrat', sans-serif;\r\n        }\r\n\r\n        .wrapper {\r\n            background: var(--gradient-bg);\r\n            background-size: 400% 400%;\r\n            animation: gradientShift 20s ease infinite;\r\n            color: var(--ui-text);\r\n            line-height: 1.6;\r\n            overflow-x: hidden;\r\n            position: relative;\r\n            min-height: 100vh;\r\n        }\r\n\r\n        @keyframes gradientShift {\r\n            0% {\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            100% {\r\n                background-position: 0% 50%;\r\n            }\r\n        }\r\n\r\n        \/* Background Effects *\/\r\n        .bg-wrapper {\r\n            position: fixed;\r\n            top: 0;\r\n            left: 0;\r\n            width: 100%;\r\n            height: 100%;\r\n            z-index: -1;\r\n            overflow: hidden;\r\n        }\r\n\r\n        .bg-pattern {\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 25% 25%, rgba(254, 44, 85, 0.1) 0%, transparent 50%),\r\n                radial-gradient(circle at 75% 75%, rgba(37, 244, 238, 0.1) 0%, transparent 50%),\r\n                radial-gradient(circle at 50% 50%, rgba(139, 92, 246, 0.05) 0%, transparent 50%);\r\n        }\r\n\r\n        .floating-elements {\r\n            position: absolute;\r\n            width: 100%;\r\n            height: 100%;\r\n            overflow: hidden;\r\n        }\r\n\r\n        .floating-shape {\r\n            position: absolute;\r\n            border-radius: 50%;\r\n            opacity: 0.6;\r\n            animation: float 15s infinite ease-in-out;\r\n        }\r\n\r\n        .floating-shape:nth-child(1) {\r\n            width: 60px;\r\n            height: 60px;\r\n            background: linear-gradient(45deg, var(--tiktok-pink), var(--tiktok-orange));\r\n            top: 20%;\r\n            left: 10%;\r\n            animation-delay: 0s;\r\n        }\r\n\r\n        .floating-shape:nth-child(2) {\r\n            width: 80px;\r\n            height: 80px;\r\n            background: linear-gradient(45deg, var(--tiktok-blue), var(--tiktok-purple));\r\n            top: 60%;\r\n            right: 15%;\r\n            animation-delay: 5s;\r\n        }\r\n\r\n        .floating-shape:nth-child(3) {\r\n            width: 40px;\r\n            height: 40px;\r\n            background: linear-gradient(45deg, var(--tiktok-yellow), var(--tiktok-pink));\r\n            bottom: 30%;\r\n            left: 20%;\r\n            animation-delay: 10s;\r\n        }\r\n\r\n        @keyframes float {\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(-20px) rotate(180deg);\r\n            }\r\n        }\r\n\r\n        .wrapper .container {\r\n            max-width: 1400px;\r\n            margin: 0 auto;\r\n            padding: 40px 24px;\r\n            position: relative;\r\n            z-index: 1;\r\n        }\r\n\r\n        \/* Header Styles *\/\r\n        .wrapper .header {\r\n            text-align: center;\r\n            margin-bottom: 50px;\r\n            position: relative;\r\n        }\r\n\r\n        .logo-container {\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            gap: 20px;\r\n            margin-bottom: 15px;\r\n        }\r\n\r\n        .logo-icon {\r\n            position: relative;\r\n            width: 70px;\r\n            height: 70px;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            font-size: 35px;\r\n            color: var(--ui-white);\r\n            z-index: 1;\r\n            border-radius: var(--radius-lg);\r\n            flex-shrink: 0;\r\n        }\r\n\r\n        .logo-icon::before {\r\n            content: '';\r\n            position: absolute;\r\n            inset: 0;\r\n            background: var(--ui-white);\r\n            border-radius: var(--radius-lg);\r\n            z-index: -1;\r\n            box-shadow: var(--shadow-lg);\r\n        }\r\n\r\n        .logo-icon::after {\r\n            content: '';\r\n            position: absolute;\r\n            inset: -3px;\r\n            background: var(--gradient-tiktok);\r\n            border-radius: calc(var(--radius-lg) + 3px);\r\n            z-index: -2;\r\n            animation: rotateBorder 4s linear infinite;\r\n        }\r\n\r\n        @keyframes rotateBorder {\r\n            0% {\r\n                filter: hue-rotate(0deg);\r\n            }\r\n\r\n            100% {\r\n                filter: hue-rotate(360deg);\r\n            }\r\n        }\r\n\r\n        .logo-icon i {\r\n            background: var(--gradient-primary);\r\n            -webkit-background-clip: text;\r\n            -webkit-text-fill-color: transparent;\r\n        }\r\n\r\n        .logo-text-container {\r\n            text-align: left;\r\n        }\r\n\r\n        .logo-text {\r\n            font-size: clamp(32px, 6vw, 42px);\r\n            font-weight: 900;\r\n            background: var(--gradient-primary);\r\n            -webkit-background-clip: text;\r\n            -webkit-text-fill-color: transparent;\r\n            letter-spacing: -1px;\r\n            line-height: 1;\r\n            margin-bottom: 5px;\r\n        }\r\n\r\n        .logo-subtitle {\r\n            font-size: clamp(14px, 3vw, 16px);\r\n            font-weight: 600;\r\n            color: var(--ui-text-light);\r\n            margin: 0;\r\n        }\r\n\r\n        .features-card {\r\n            display: none;\r\n        }\r\n\r\n        .feature-item {\r\n            display: flex;\r\n            flex-direction: column;\r\n            align-items: center;\r\n            gap: 6px;\r\n            padding: 12px 16px;\r\n            border-radius: var(--radius-lg);\r\n            transition: all 0.3s ease;\r\n            cursor: pointer;\r\n            min-width: 80px;\r\n        }\r\n\r\n        .feature-item:hover {\r\n            background: rgba(254, 44, 85, 0.1);\r\n            transform: translateY(-3px);\r\n            box-shadow: var(--shadow-sm);\r\n        }\r\n\r\n        .feature-item i {\r\n            font-size: 18px;\r\n            color: var(--tiktok-pink);\r\n            margin-bottom: 2px;\r\n        }\r\n\r\n        .feature-item span {\r\n            font-size: 11px;\r\n            font-weight: 700;\r\n            color: var(--ui-text);\r\n            text-transform: uppercase;\r\n            letter-spacing: 0.5px;\r\n            text-align: center;\r\n        }\r\n\r\n        \/* Search Section *\/\r\n        .search-section {\r\n            background: var(--gradient-card);\r\n            backdrop-filter: blur(20px);\r\n            border: 2px solid rgba(255, 255, 255, 0.3);\r\n            padding: 40px;\r\n            border-radius: var(--radius-xl);\r\n            box-shadow: var(--shadow-xl);\r\n            margin-bottom: 50px;\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: var(--gradient-tiktok);\r\n        }\r\n\r\n        .input-container {\r\n            position: relative;\r\n            margin-bottom: 30px;\r\n        }\r\n\r\n        .search-input {\r\n            width: 100% !important;\r\n            padding: 20px 24px  !important;\r\n            background: var(--ui-white)  !important;\r\n            color: var(--ui-text)  !important;\r\n            border: 2px solid rgba(254, 44, 85, 0.2)  !important;\r\n            border-radius: var(--radius-lg)  !important;\r\n            font-size: 16px  !important;\r\n            font-weight: 500  !important;\r\n            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1)  !important;\r\n            box-shadow: var(--shadow-sm)  !important;\r\n        }\r\n\r\n        .search-input:focus {\r\n            outline: none  !important;\r\n            border-color: var(--tiktok-pink)  !important;\r\n            box-shadow: 0 0 0 4px rgba(254, 44, 85, 0.1), var(--shadow-md)  !important;\r\n            transform: translateY(-2px)  !important;\r\n        }\r\n\r\n        .search-input::placeholder {\r\n            color: var(--ui-gray);\r\n        }\r\n\r\n        .paste-hint {\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: flex-end;\r\n            gap: 8px;\r\n            margin-top: 12px;\r\n            font-size: 14px;\r\n            color: var(--ui-text-light);\r\n            font-weight: 500;\r\n        }\r\n\r\n        .paste-icon {\r\n            cursor: pointer;\r\n            padding: 8px;\r\n            border-radius: var(--radius-full);\r\n            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\r\n            font-size: 16px;\r\n            color: var(--ui-text-light);\r\n            background: rgba(254, 44, 85, 0.1);\r\n        }\r\n\r\n        .paste-icon:hover {\r\n            background: var(--tiktok-pink);\r\n            color: var(--ui-white);\r\n            transform: scale(1.2) rotate(5deg);\r\n            box-shadow: var(--shadow-pink);\r\n        }\r\n\r\n        .search-box {\r\n            display: flex;\r\n            gap: 16px;\r\n            margin-bottom: 24px;\r\n        }\r\n\r\n        .search-button {\r\n            flex: 1;\r\n            min-width: 200px;\r\n            padding: 18px 24px;\r\n            background: var(--gradient-primary);\r\n            color: var(--ui-white);\r\n            border: none;\r\n            border-radius: var(--radius-lg);\r\n            font-size: 16px;\r\n            font-weight: 700;\r\n            cursor: pointer;\r\n            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\r\n            position: relative;\r\n            overflow: hidden;\r\n            box-shadow: var(--shadow-pink);\r\n            text-transform: uppercase;\r\n            letter-spacing: 1px;\r\n        }\r\n\r\n        .search-button::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,\r\n                    transparent 0%,\r\n                    rgba(255, 255, 255, 0.3) 50%,\r\n                    transparent 100%);\r\n            transition: left 0.5s ease;\r\n        }\r\n\r\n        .search-button:hover:not(:disabled) {\r\n            transform: translateY(-3px) scale(1.02);\r\n            box-shadow: var(--shadow-pink), var(--shadow-glow);\r\n        }\r\n\r\n        .search-button:hover:not(:disabled)::before {\r\n            left: 100%;\r\n        }\r\n\r\n        .search-button:disabled {\r\n            opacity: 0.6;\r\n            cursor: not-allowed;\r\n        }\r\n\r\n        .search-again-btn {\r\n            background: var(--gradient-secondary);\r\n            color: var(--ui-white);\r\n            margin-top: 20px;\r\n            width: 100%;\r\n            padding: 18px;\r\n            border: none;\r\n            border-radius: var(--radius-lg);\r\n            font-weight: 700;\r\n            font-size: 16px;\r\n            cursor: pointer;\r\n            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\r\n            box-shadow: var(--shadow-blue);\r\n            text-transform: uppercase;\r\n            letter-spacing: 1px;\r\n        }\r\n\r\n        .search-again-btn:hover {\r\n            transform: translateY(-3px);\r\n            box-shadow: var(--shadow-blue), 0 0 30px rgba(37, 244, 238, 0.4);\r\n        }\r\n\r\n        \/* Profile Section *\/\r\n        .profile-section {\r\n            background: var(--gradient-card);\r\n            backdrop-filter: blur(20px);\r\n            border: 2px solid rgba(255, 255, 255, 0.3);\r\n            border-radius: var(--radius-xl);\r\n            padding: 40px;\r\n            margin-bottom: 50px;\r\n            box-shadow: var(--shadow-xl);\r\n            position: relative;\r\n            overflow: hidden;\r\n        }\r\n\r\n        .profile-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: var(--gradient-tiktok);\r\n        }\r\n\r\n        .profile-header {\r\n            display: flex;\r\n            gap: 30px;\r\n            margin-bottom: 40px;\r\n            align-items: center;\r\n        }\r\n\r\n        .profile-avatar-container {\r\n            position: relative;\r\n            flex-shrink: 0;\r\n        }\r\n\r\n        .profile-avatar {\r\n            width: 120px;\r\n            height: 120px;\r\n            border-radius: var(--radius-full);\r\n            object-fit: cover;\r\n            border: 4px solid var(--ui-white);\r\n            box-shadow: var(--shadow-lg);\r\n            cursor: pointer;\r\n            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\r\n            position: relative;\r\n            z-index: 1;\r\n        }\r\n\r\n        .profile-avatar::after {\r\n            content: '';\r\n            position: absolute;\r\n            inset: -8px;\r\n            border-radius: var(--radius-full);\r\n            background: var(--gradient-tiktok);\r\n            z-index: -1;\r\n            opacity: 0;\r\n            transition: opacity 0.3s ease;\r\n        }\r\n\r\n        .profile-avatar:hover {\r\n            transform: scale(1.05);\r\n            box-shadow: var(--shadow-xl), var(--shadow-glow);\r\n        }\r\n\r\n        .profile-avatar:hover::after {\r\n            opacity: 1;\r\n        }\r\n\r\n        .fullscreen-icon {\r\n            position: absolute;\r\n            bottom: 0;\r\n            right: 0;\r\n            width: 32px;\r\n            height: 32px;\r\n            background: var(--gradient-primary);\r\n            border-radius: var(--radius-full);\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            color: var(--ui-white);\r\n            font-size: 14px;\r\n            cursor: pointer;\r\n            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\r\n            box-shadow: var(--shadow-sm);\r\n            z-index: 2;\r\n            border: 2px solid var(--ui-white);\r\n        }\r\n\r\n        .fullscreen-icon:hover {\r\n            transform: scale(1.2);\r\n            background: var(--gradient-secondary);\r\n            box-shadow: var(--shadow-md);\r\n        }\r\n\r\n        .profile-info {\r\n            flex: 1;\r\n        }\r\n\r\n        .profile-name {\r\n            font-size: 32px;\r\n            font-weight: 800;\r\n            margin-bottom: 8px;\r\n            background: var(--gradient-primary);\r\n            -webkit-background-clip: text;\r\n            -webkit-text-fill-color: transparent;\r\n        }\r\n\r\n        .profile-username {\r\n            font-size: 18px;\r\n            color: var(--ui-text-light);\r\n            margin-bottom: 16px;\r\n            font-weight: 600;\r\n        }\r\n\r\n        .profile-bio {\r\n            color: var(--ui-text);\r\n            font-size: 15px;\r\n            line-height: 1.5;\r\n            margin-bottom: 16px;\r\n            font-weight: 500;\r\n        }\r\n\r\n        \/* Stats Section *\/\r\n        .profile-stats {\r\n            display: grid;\r\n            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\r\n            gap: 20px;\r\n        }\r\n\r\n        .stat-item {\r\n            background: var(--ui-white);\r\n            border: 2px solid rgba(254, 44, 85, 0.1);\r\n            border-radius: var(--radius-lg);\r\n            padding: 24px 20px;\r\n            text-align: center;\r\n            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\r\n            position: relative;\r\n            overflow: hidden;\r\n            box-shadow: var(--shadow-md);\r\n            cursor: pointer;\r\n        }\r\n\r\n        .stat-item::before {\r\n            content: '';\r\n            position: absolute;\r\n            top: 0;\r\n            left: 0;\r\n            width: 100%;\r\n            height: 3px;\r\n            opacity: 0;\r\n            transition: opacity 0.3s ease;\r\n        }\r\n\r\n        .stat-item:nth-child(1)::before {\r\n            background: var(--gradient-primary);\r\n        }\r\n\r\n        .stat-item:nth-child(2)::before {\r\n            background: var(--gradient-secondary);\r\n        }\r\n\r\n        .stat-item:nth-child(3)::before {\r\n            background: linear-gradient(135deg, var(--tiktok-purple), var(--tiktok-pink));\r\n        }\r\n\r\n        .stat-item:nth-child(4)::before {\r\n            background: linear-gradient(135deg, var(--tiktok-orange), var(--tiktok-yellow));\r\n        }\r\n\r\n        .stat-item:hover {\r\n            transform: translateY(-8px) scale(1.02);\r\n            box-shadow: var(--shadow-xl);\r\n            border-color: rgba(254, 44, 85, 0.3);\r\n        }\r\n\r\n        .stat-item:hover::before {\r\n            opacity: 1;\r\n        }\r\n\r\n        .stat-value {\r\n            font-size: 28px;\r\n            font-weight: 800;\r\n            margin-bottom: 8px;\r\n            background: var(--gradient-primary);\r\n            -webkit-background-clip: text;\r\n            -webkit-text-fill-color: transparent;\r\n        }\r\n\r\n        .stat-label {\r\n            font-size: 14px;\r\n            color: var(--ui-text-light);\r\n            font-weight: 600;\r\n            text-transform: uppercase;\r\n            letter-spacing: 1px;\r\n        }\r\n\r\n        \/* Videos Section Header *\/\r\n        .videos-section-header {\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: space-between;\r\n            margin-bottom: 30px;\r\n            padding: 20px 0;\r\n            border-bottom: 2px solid rgba(254, 44, 85, 0.1);\r\n        }\r\n\r\n        .videos-button {\r\n            padding: 16px 28px;\r\n            background: var(--gradient-primary);\r\n            color: var(--ui-white);\r\n            border: none;\r\n            border-radius: var(--radius-lg);\r\n            font-weight: 700;\r\n            font-size: 18px;\r\n            cursor: pointer;\r\n            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\r\n            box-shadow: var(--shadow-pink);\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 12px;\r\n            text-transform: uppercase;\r\n            letter-spacing: 1px;\r\n        }\r\n\r\n        .videos-button:hover {\r\n            transform: translateY(-3px);\r\n            box-shadow: var(--shadow-pink), var(--shadow-glow);\r\n        }\r\n\r\n        .videos-count {\r\n            font-size: 16px;\r\n            font-weight: 700;\r\n            color: var(--ui-text);\r\n            background: var(--ui-white);\r\n            padding: 12px 24px;\r\n            border-radius: var(--radius-lg);\r\n            box-shadow: var(--shadow-sm);\r\n            border: 2px solid rgba(254, 44, 85, 0.1);\r\n        }\r\n\r\n        .download-all-btn {\r\n            padding: 16px 28px;\r\n            background: var(--gradient-secondary);\r\n            color: var(--ui-white);\r\n            border: none;\r\n            border-radius: var(--radius-lg);\r\n            font-weight: 700;\r\n            font-size: 16px;\r\n            cursor: pointer;\r\n            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\r\n            box-shadow: var(--shadow-blue);\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 10px;\r\n            margin-left: 16px;\r\n            text-transform: uppercase;\r\n            letter-spacing: 0.5px;\r\n            margin-top: 0 !important;\r\n        }\r\n\r\n        .download-all-btn:hover {\r\n            transform: translateY(-3px);\r\n            box-shadow: var(--shadow-blue), 0 0 30px rgba(37, 244, 238, 0.4);\r\n        }\r\n\r\n        .download-all-btn:disabled {\r\n            opacity: 0.6;\r\n            cursor: not-allowed;\r\n            transform: none;\r\n            box-shadow: var(--shadow-blue);\r\n        }\r\n\r\n        \/* Video Grid - Smaller Cards *\/\r\n        .video-grid {\r\n            display: grid;\r\n            grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));\r\n            gap: 20px;\r\n        }\r\n\r\n        .video-card {\r\n            background: var(--ui-white);\r\n            border: 2px solid rgba(254, 44, 85, 0.1);\r\n            border-radius: var(--radius-lg);\r\n            overflow: hidden;\r\n            transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);\r\n            position: relative;\r\n            height: 380px;\r\n            box-shadow: var(--shadow-md);\r\n            cursor: pointer;\r\n        }\r\n\r\n        .video-card:hover {\r\n            transform: translateY(-8px) scale(1.02);\r\n            box-shadow: var(--shadow-xl), 0 0 25px rgba(254, 44, 85, 0.15);\r\n            border-color: rgba(254, 44, 85, 0.3);\r\n        }\r\n\r\n        .video-card::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: var(--gradient-tiktok);\r\n            opacity: 0;\r\n            transition: opacity 0.3s ease;\r\n        }\r\n\r\n        .video-card:hover::before {\r\n            opacity: 1;\r\n        }\r\n\r\n        .video-thumbnail-container {\r\n            position: relative;\r\n            width: 100%;\r\n            height: 260px;\r\n            overflow: hidden;\r\n        }\r\n\r\n        .video-thumbnail {\r\n            width: 100%;\r\n            height: 100%;\r\n            object-fit: cover;\r\n            transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);\r\n        }\r\n\r\n        .video-card:hover .video-thumbnail {\r\n            transform: scale(1.08);\r\n        }\r\n\r\n        \/* Enhanced Play Icon - Smaller *\/\r\n        .play-overlay {\r\n            position: absolute;\r\n            top: 50%;\r\n            left: 50%;\r\n            transform: translate(-50%, -50%);\r\n            width: 60px;\r\n            height: 60px;\r\n            background: linear-gradient(135deg, rgba(254, 44, 85, 0.9) 0%, rgba(255, 107, 53, 0.9) 100%);\r\n            backdrop-filter: blur(15px);\r\n            border-radius: var(--radius-full);\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            z-index: 2;\r\n            border: 3px solid rgba(255, 255, 255, 0.9);\r\n            box-shadow: 0 4px 20px rgba(254, 44, 85, 0.4);\r\n        }\r\n\r\n        .play-overlay::after {\r\n            content: '';\r\n            width: 0;\r\n            height: 0;\r\n            border-left: 18px solid white;\r\n            border-top: 12px solid transparent;\r\n            border-bottom: 12px solid transparent;\r\n            margin-left: 4px;\r\n            transition: all 0.3s ease;\r\n            filter: drop-shadow(1px 1px 2px rgba(0, 0, 0, 0.2));\r\n        }\r\n\r\n        .video-card:hover .play-overlay {\r\n            transform: translate(-50%, -50%) scale(1.15);\r\n            background: linear-gradient(135deg, rgba(37, 244, 238, 0.9) 0%, rgba(139, 92, 246, 0.9) 100%);\r\n            border-color: rgba(255, 255, 255, 1);\r\n            box-shadow: 0 6px 25px rgba(37, 244, 238, 0.4);\r\n        }\r\n\r\n        \/* Enhanced Download Button - Smaller *\/\r\n        .video-download-btn {\r\n            position: absolute;\r\n            top: 12px;\r\n            right: 12px;\r\n            width: 40px;\r\n            height: 40px;\r\n            background: linear-gradient(135deg, rgba(255, 255, 255, 0.95) 0%, rgba(248, 250, 252, 0.9) 100%);\r\n            backdrop-filter: blur(15px);\r\n            border-radius: var(--radius-full);\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            color: var(--tiktok-pink);\r\n            font-size: 16px;\r\n            transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);\r\n            opacity: 1;\r\n            cursor: pointer;\r\n            z-index: 10;\r\n            border: 2px solid rgba(254, 44, 85, 0.2);\r\n            box-shadow: 0 2px 12px rgba(254, 44, 85, 0.15);\r\n        }\r\n\r\n        .video-download-btn:hover {\r\n            background: var(--gradient-primary);\r\n            color: var(--ui-white);\r\n            transform: scale(1.15) rotate(10deg);\r\n            border-color: var(--ui-white);\r\n            box-shadow: 0 4px 16px rgba(254, 44, 85, 0.3);\r\n        }\r\n\r\n        \/* Enhanced Video Stats Icons - Smaller *\/\r\n        .video-info {\r\n            padding: 18px;\r\n            height: 120px;\r\n            display: flex;\r\n            flex-direction: column;\r\n            justify-content: space-between;\r\n            background: linear-gradient(135deg, rgba(255, 255, 255, 0.95) 0%, rgba(248, 250, 252, 0.9) 100%);\r\n        }\r\n\r\n        .video-title {\r\n            font-size: 13px;\r\n            font-weight: 700;\r\n            margin-bottom: 12px;\r\n            display: -webkit-box;\r\n            -webkit-line-clamp: 2;\r\n            -webkit-box-orient: vertical;\r\n            overflow: hidden;\r\n            color: var(--ui-text);\r\n            line-height: 1.3;\r\n            cursor: pointer;\r\n            position: relative;\r\n            transition: color 0.3s ease;\r\n        }\r\n\r\n        .video-title:hover {\r\n            color: var(--tiktok-pink);\r\n        }\r\n\r\n        \/* Title Tooltip Modal *\/\r\n        .title-tooltip {\r\n            position: fixed;\r\n            background: rgba(0, 0, 0, 0.85);\r\n            backdrop-filter: blur(10px);\r\n            color: var(--ui-white);\r\n            padding: 12px 20px;\r\n            border-radius: var(--radius-lg);\r\n            font-size: 14px;\r\n            font-weight: 600;\r\n            line-height: 1.4;\r\n            max-width: 400px;\r\n            min-width: 200px;\r\n            z-index: 9999;\r\n            opacity: 0;\r\n            visibility: hidden;\r\n            transform: translateY(10px);\r\n            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\r\n            box-shadow: var(--shadow-xl);\r\n            border: 1px solid rgba(255, 255, 255, 0.1);\r\n            pointer-events: none;\r\n            word-wrap: break-word;\r\n            white-space: normal;\r\n        }\r\n\r\n        .title-tooltip.show {\r\n            opacity: 1;\r\n            visibility: visible;\r\n            transform: translateY(0);\r\n        }\r\n\r\n        .title-tooltip::before {\r\n            content: '';\r\n            position: absolute;\r\n            top: -6px;\r\n            left: 20px;\r\n            width: 12px;\r\n            height: 12px;\r\n            background: rgba(0, 0, 0, 0.85);\r\n            border: 1px solid rgba(255, 255, 255, 0.1);\r\n            border-bottom: none;\r\n            border-right: none;\r\n            transform: rotate(45deg);\r\n        }\r\n\r\n        .video-stats {\r\n            display: grid;\r\n            grid-template-columns: repeat(3, 1fr);\r\n            gap: 8px;\r\n            font-size: 11px;\r\n        }\r\n\r\n        .stat {\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            gap: 4px;\r\n            padding: 8px 6px;\r\n            border-radius: var(--radius-sm);\r\n            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\r\n            color: var(--ui-text-light);\r\n            font-weight: 600;\r\n            cursor: pointer;\r\n            position: relative;\r\n            overflow: hidden;\r\n        }\r\n\r\n        .stat::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            opacity: 0;\r\n            transition: opacity 0.3s ease;\r\n            border-radius: var(--radius-sm);\r\n        }\r\n\r\n        .stat:nth-child(1) {\r\n            background: rgba(254, 44, 85, 0.1);\r\n            border: 1px solid rgba(254, 44, 85, 0.2);\r\n        }\r\n\r\n        .stat:nth-child(1)::before {\r\n            background: var(--gradient-primary);\r\n        }\r\n\r\n        .stat:nth-child(1):hover {\r\n            color: var(--ui-white);\r\n            transform: scale(1.05);\r\n            box-shadow: var(--shadow-pink);\r\n        }\r\n\r\n        .stat:nth-child(2) {\r\n            background: rgba(37, 244, 238, 0.1);\r\n            border: 1px solid rgba(37, 244, 238, 0.2);\r\n        }\r\n\r\n        .stat:nth-child(2)::before {\r\n            background: var(--gradient-secondary);\r\n        }\r\n\r\n        .stat:nth-child(2):hover {\r\n            color: var(--ui-white);\r\n            transform: scale(1.05);\r\n            box-shadow: var(--shadow-blue);\r\n        }\r\n\r\n        .stat:nth-child(3) {\r\n            background: rgba(139, 92, 246, 0.1);\r\n            border: 1px solid rgba(139, 92, 246, 0.2);\r\n        }\r\n\r\n        .stat:nth-child(3)::before {\r\n            background: linear-gradient(135deg, var(--tiktok-purple), var(--tiktok-pink));\r\n        }\r\n\r\n        .stat:nth-child(3):hover {\r\n            color: var(--ui-white);\r\n            transform: scale(1.05);\r\n            box-shadow: var(--shadow-purple);\r\n        }\r\n\r\n        .stat:hover::before {\r\n            opacity: 1;\r\n        }\r\n\r\n        .stat i {\r\n            font-size: 12px;\r\n            transition: transform 0.3s ease;\r\n        }\r\n\r\n        .stat:hover i {\r\n            transform: scale(1.2);\r\n        }\r\n\r\n        \/* Video Modal *\/\r\n        .modal {\r\n            position: fixed;\r\n            top: 0;\r\n            left: 0;\r\n            width: 100%;\r\n            height: 100%;\r\n            background: rgba(0, 0, 0, 0.9);\r\n            backdrop-filter: blur(10px);\r\n            z-index: 1000;\r\n            display: none;\r\n            animation: fadeIn 0.3s ease-out;\r\n            padding: 20px;\r\n        }\r\n\r\n        .modal-content {\r\n            position: relative;\r\n            width: 100%;\r\n            height: 100%;\r\n            display: flex;\r\n            flex-direction: column;\r\n            justify-content: center;\r\n            align-items: center;\r\n            max-width: 500px;\r\n            margin: 0 auto;\r\n        }\r\n\r\n        .modal-title {\r\n            color: var(--ui-white);\r\n            font-size: 18px;\r\n            font-weight: 600;\r\n            margin-bottom: 20px;\r\n            text-align: center;\r\n            padding: 0 20px;\r\n            display: -webkit-box;\r\n            -webkit-line-clamp: 2;\r\n            -webkit-box-orient: vertical;\r\n            overflow: hidden;\r\n            line-height: 1.4;\r\n        }\r\n\r\n        .video-player-container {\r\n            position: relative;\r\n            width: 100%;\r\n            aspect-ratio: 9\/16;\r\n            background: #000;\r\n            border-radius: var(--radius-xl);\r\n            overflow: hidden;\r\n            box-shadow: var(--shadow-xl);\r\n        }\r\n\r\n        .video-player {\r\n            width: 100%;\r\n            height: 100%;\r\n            object-fit: contain;\r\n        }\r\n\r\n        .close-modal {\r\n            position: absolute;\r\n            top: 15px;\r\n            right: -50px;\r\n            width: 50px;\r\n            height: 50px;\r\n            background: var(--gradient-primary);\r\n            border: 2px solid rgba(255, 255, 255, 0.3);\r\n            border-radius: var(--radius-full);\r\n            color: var(--ui-white);\r\n            font-size: 24px;\r\n            cursor: pointer;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\r\n            z-index: 20;\r\n            box-shadow: var(--shadow-pink);\r\n        }\r\n\r\n        .close-modal:hover {\r\n            transform: rotate(90deg) scale(1.1);\r\n            background: var(--gradient-secondary);\r\n            border-color: rgba(255, 255, 255, 0.5);\r\n            box-shadow: var(--shadow-pink), var(--shadow-glow);\r\n        }\r\n\r\n        \/* Video Controls *\/\r\n        .video-controls {\r\n            position: absolute;\r\n            bottom: 0;\r\n            left: 0;\r\n            right: 0;\r\n            padding: 20px;\r\n            background: linear-gradient(transparent, rgba(0, 0, 0, 0.8));\r\n            display: flex;\r\n            flex-direction: column;\r\n            gap: 16px;\r\n            opacity: 0;\r\n            transition: opacity 0.3s ease;\r\n        }\r\n\r\n        .video-player-container:hover .video-controls {\r\n            opacity: 1;\r\n        }\r\n\r\n        .progress-container {\r\n            width: 100%;\r\n            height: 6px;\r\n            background: rgba(255, 255, 255, 0.2);\r\n            border-radius: var(--radius-full);\r\n            cursor: pointer;\r\n            position: relative;\r\n        }\r\n\r\n        .progress-bar {\r\n            height: 100%;\r\n            background: var(--gradient-primary);\r\n            border-radius: var(--radius-full);\r\n            position: relative;\r\n            transition: width 0.1s linear;\r\n        }\r\n\r\n        .progress-bar::after {\r\n            content: '';\r\n            position: absolute;\r\n            right: -6px;\r\n            top: 50%;\r\n            transform: translateY(-50%) scale(0);\r\n            width: 16px;\r\n            height: 16px;\r\n            background: var(--ui-white);\r\n            border-radius: var(--radius-full);\r\n            transition: transform 0.2s ease;\r\n            box-shadow: var(--shadow-sm);\r\n        }\r\n\r\n        .progress-container:hover .progress-bar::after {\r\n            transform: translateY(-50%) scale(1);\r\n        }\r\n\r\n        .control-buttons {\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: space-between;\r\n        }\r\n\r\n        .control-group {\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 12px;\r\n        }\r\n\r\n        .control-button {\r\n            width: 44px;\r\n            height: 44px;\r\n            border: none;\r\n            border-radius: var(--radius-full);\r\n            background: rgba(255, 255, 255, 0.1);\r\n            color: var(--ui-white);\r\n            font-size: 18px;\r\n            cursor: pointer;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\r\n            backdrop-filter: blur(10px);\r\n        }\r\n\r\n        .control-button:hover {\r\n            background: rgba(255, 255, 255, 0.2);\r\n            transform: scale(1.1);\r\n        }\r\n\r\n        .play-pause {\r\n            width: 56px;\r\n            height: 56px;\r\n            background: var(--gradient-primary);\r\n            font-size: 24px;\r\n            box-shadow: var(--shadow-pink);\r\n        }\r\n\r\n        .play-pause:hover {\r\n            background: var(--gradient-secondary);\r\n            box-shadow: var(--shadow-glow);\r\n        }\r\n\r\n        \/* Volume Controls *\/\r\n        .volume-controls {\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 10px;\r\n        }\r\n\r\n        .volume-slider {\r\n            width: 80px;\r\n            height: 6px;\r\n            background: rgba(255, 255, 255, 0.2);\r\n            border-radius: var(--radius-full);\r\n            position: relative;\r\n            cursor: pointer;\r\n        }\r\n\r\n        .volume-fill {\r\n            height: 100%;\r\n            background: var(--gradient-primary);\r\n            border-radius: var(--radius-full);\r\n            transition: width 0.1s ease;\r\n        }\r\n\r\n        \/* Loading Animation *\/\r\n        .loading {\r\n            display: none;\r\n            justify-content: center;\r\n            align-items: center;\r\n            padding: 60px 40px;\r\n            background: var(--gradient-card);\r\n            backdrop-filter: blur(20px);\r\n            border: 2px solid rgba(255, 255, 255, 0.3);\r\n            border-radius: var(--radius-xl);\r\n            margin: 32px 0;\r\n            box-shadow: var(--shadow-xl);\r\n        }\r\n\r\n        .loading-content {\r\n            text-align: center;\r\n        }\r\n\r\n        .loading-animation {\r\n            position: relative;\r\n            width: 120px;\r\n            height: 120px;\r\n            margin: 0 auto 24px;\r\n        }\r\n\r\n        .loading-spinner {\r\n            position: absolute;\r\n            top: 0;\r\n            left: 0;\r\n            width: 100%;\r\n            height: 100%;\r\n            border-radius: var(--radius-full);\r\n            border: 6px solid transparent;\r\n            border-top: 6px solid var(--tiktok-pink);\r\n            border-right: 6px solid var(--tiktok-blue);\r\n            animation: spin 1.5s linear infinite;\r\n        }\r\n\r\n        .loading-spinner::before {\r\n            content: '';\r\n            position: absolute;\r\n            top: 6px;\r\n            left: 6px;\r\n            right: 6px;\r\n            bottom: 6px;\r\n            border-radius: var(--radius-full);\r\n            border: 4px solid transparent;\r\n            border-top: 4px solid var(--tiktok-blue);\r\n            border-left: 4px solid var(--tiktok-purple);\r\n            animation: spin 1s linear infinite reverse;\r\n        }\r\n\r\n        .loading-spinner::after {\r\n            content: '';\r\n            position: absolute;\r\n            top: 16px;\r\n            left: 16px;\r\n            right: 16px;\r\n            bottom: 16px;\r\n            border-radius: var(--radius-full);\r\n            border: 3px solid transparent;\r\n            border-bottom: 3px solid var(--tiktok-orange);\r\n            animation: spin 1.25s linear infinite;\r\n        }\r\n\r\n        @keyframes spin {\r\n            0% {\r\n                transform: rotate(0deg);\r\n            }\r\n\r\n            100% {\r\n                transform: rotate(360deg);\r\n            }\r\n        }\r\n\r\n        .loading-text {\r\n            font-size: 20px;\r\n            font-weight: 700;\r\n            color: var(--ui-text);\r\n            margin-bottom: 8px;\r\n        }\r\n\r\n        .loading-subtext {\r\n            font-size: 14px;\r\n            color: var(--ui-text-light);\r\n            font-weight: 500;\r\n        }\r\n\r\n        \/* Profile Picture Modal *\/\r\n        .profile-modal {\r\n            position: fixed;\r\n            top: 0;\r\n            left: 0;\r\n            width: 100%;\r\n            height: 100%;\r\n            background: rgba(0, 0, 0, 0.9);\r\n            backdrop-filter: blur(10px);\r\n            z-index: 1000;\r\n            display: none;\r\n            animation: fadeIn 0.3s ease-out;\r\n            padding: 20px;\r\n        }\r\n\r\n        .profile-modal-content {\r\n            position: relative;\r\n            width: 100%;\r\n            height: 100%;\r\n            display: flex;\r\n            justify-content: center;\r\n            align-items: center;\r\n        }\r\n\r\n        .profile-modal-image {\r\n            max-width: 80%;\r\n            max-height: 80%;\r\n            border-radius: var(--radius-xl);\r\n            box-shadow: var(--shadow-xl);\r\n        }\r\n\r\n        .profile-modal-close {\r\n            position: absolute;\r\n            top: 20px;\r\n            right: 20px;\r\n            width: 50px;\r\n            height: 50px;\r\n            background: var(--gradient-primary);\r\n            border: 2px solid rgba(255, 255, 255, 0.3);\r\n            border-radius: var(--radius-full);\r\n            color: var(--ui-white);\r\n            font-size: 24px;\r\n            cursor: pointer;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\r\n            z-index: 20;\r\n            box-shadow: var(--shadow-pink);\r\n        }\r\n\r\n        .profile-modal-close:hover {\r\n            transform: rotate(90deg) scale(1.1);\r\n            background: var(--gradient-secondary);\r\n            border-color: rgba(255, 255, 255, 0.5);\r\n            box-shadow: var(--shadow-pink), var(--shadow-glow);\r\n        }\r\n\r\n        .profile-modal-download {\r\n            position: absolute;\r\n            bottom: 20px;\r\n            right: 20px;\r\n            padding: 14px 24px;\r\n            background: var(--gradient-primary);\r\n            color: var(--ui-white);\r\n            border: none;\r\n            border-radius: var(--radius-lg);\r\n            font-weight: 700;\r\n            font-size: 16px;\r\n            cursor: pointer;\r\n            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 8px;\r\n            box-shadow: var(--shadow-pink);\r\n        }\r\n\r\n        .profile-modal-download:hover {\r\n            transform: translateY(-3px);\r\n            box-shadow: var(--shadow-pink), var(--shadow-glow);\r\n        }\r\n\r\n        \/* Download Progress *\/\r\n        .download-progress {\r\n            position: fixed;\r\n            bottom: 20px;\r\n            right: 20px;\r\n            background: var(--ui-white);\r\n            border: 2px solid rgba(254, 44, 85, 0.2);\r\n            border-radius: var(--radius-lg);\r\n            padding: 16px 20px;\r\n            color: var(--ui-text);\r\n            font-weight: 600;\r\n            z-index: 1001;\r\n            display: none;\r\n            align-items: center;\r\n            gap: 12px;\r\n            box-shadow: var(--shadow-lg);\r\n            min-width: 300px;\r\n            backdrop-filter: blur(10px);\r\n        }\r\n\r\n        .download-progress.show {\r\n            display: flex;\r\n        }\r\n\r\n        .download-spinner {\r\n            width: 20px;\r\n            height: 20px;\r\n            border: 2px solid rgba(254, 44, 85, 0.2);\r\n            border-top-color: var(--tiktok-pink);\r\n            border-radius: var(--radius-full);\r\n            animation: spin 1s linear infinite;\r\n            flex-shrink: 0;\r\n        }\r\n\r\n        .download-info {\r\n            flex-grow: 1;\r\n            display: flex;\r\n            flex-direction: column;\r\n            gap: 6px;\r\n        }\r\n\r\n        .download-text {\r\n            font-size: 14px;\r\n            white-space: nowrap;\r\n            overflow: hidden;\r\n            text-overflow: ellipsis;\r\n        }\r\n\r\n        .download-progress-bar {\r\n            width: 100%;\r\n            height: 4px;\r\n            background: rgba(254, 44, 85, 0.2);\r\n            border-radius: var(--radius-full);\r\n            overflow: hidden;\r\n        }\r\n\r\n        .download-progress-fill {\r\n            height: 100%;\r\n            background: var(--gradient-primary);\r\n            border-radius: var(--radius-full);\r\n            width: 0%;\r\n            transition: width 0.3s ease;\r\n        }\r\n\r\n        .cancel-download-btn {\r\n            background: var(--gradient-primary);\r\n            border: none;\r\n            color: var(--ui-white);\r\n            border-radius: var(--radius-md);\r\n            padding: 8px 12px;\r\n            font-size: 12px;\r\n            font-weight: 600;\r\n            cursor: pointer;\r\n            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\r\n            flex-shrink: 0;\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 4px;\r\n        }\r\n\r\n        .cancel-download-btn:hover {\r\n            background: var(--gradient-secondary);\r\n            transform: scale(1.05);\r\n        }\r\n\r\n        \/* Error Message *\/\r\n        .error-message {\r\n            background: rgba(254, 44, 85, 0.1);\r\n            border: 2px solid rgba(254, 44, 85, 0.3);\r\n            color: var(--tiktok-pink);\r\n            padding: 16px 20px;\r\n            border-radius: var(--radius-lg);\r\n            margin-top: 16px;\r\n            display: none;\r\n            align-items: center;\r\n            gap: 12px;\r\n            font-weight: 600;\r\n            backdrop-filter: blur(10px);\r\n        }\r\n\r\n        \/* Animations *\/\r\n        @keyframes fadeIn {\r\n            from {\r\n                opacity: 0;\r\n            }\r\n\r\n            to {\r\n                opacity: 1;\r\n            }\r\n        }\r\n\r\n        @keyframes fadeInUp {\r\n            from {\r\n                opacity: 0;\r\n                transform: translateY(20px);\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 fadeInDown {\r\n            from {\r\n                opacity: 0;\r\n                transform: translateY(-20px);\r\n            }\r\n\r\n            to {\r\n                opacity: 1;\r\n                transform: translateY(0);\r\n            }\r\n        }\r\n\r\n        \/* Responsive Design *\/\r\n        @media (max-width: 1200px) {\r\n            .container {\r\n                max-width: 1000px;\r\n                padding: 30px 20px;\r\n            }\r\n\r\n            .video-grid {\r\n                grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));\r\n                gap: 18px;\r\n            }\r\n\r\n            .profile-header {\r\n                gap: 25px;\r\n            }\r\n\r\n            .profile-avatar {\r\n                width: 110px;\r\n                height: 110px;\r\n            }\r\n\r\n            .profile-name {\r\n                font-size: 28px;\r\n            }\r\n\t\t\t\t\t\r\n\t\t\t\t\t.videos-section-header {\r\n\tdisplay: flex !important;\r\n\talign-items: center;\r\n\tjustify-content: space-between;\r\n\tmargin-bottom: 30px;\r\n\tpadding: 20px 0;\r\n\tborder-bottom: 2px solid rgba(254, 44, 85, 0.1);\r\n\tflex-direction: column;\r\n\tgap: 20px;\r\n}\r\n        }\r\n\r\n        @media (max-width: 992px) {\r\n            .container {\r\n                max-width: 800px;\r\n                padding: 25px 18px;\r\n            }\r\n\r\n            .search-section {\r\n                padding: 30px;\r\n            }\r\n\r\n            .profile-section {\r\n                padding: 30px;\r\n            }\r\n\r\n            .video-grid {\r\n                grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));\r\n                gap: 16px;\r\n            }\r\n\r\n            .video-card {\r\n                height: 360px;\r\n            }\r\n\r\n            .video-thumbnail-container {\r\n                height: 240px;\r\n            }\r\n\r\n            .profile-stats {\r\n                grid-template-columns: repeat(2, 1fr);\r\n                gap: 16px;\r\n            }\r\n\r\n            .stat-item {\r\n                padding: 20px 16px;\r\n            }\r\n\r\n            .stat-value {\r\n                font-size: 24px;\r\n            }\r\n\t\t\t\t\t.videos-section-header {\r\n\tdisplay: flex !important;\r\n\talign-items: center;\r\n\tjustify-content: space-between;\r\n\tmargin-bottom: 30px;\r\n\tpadding: 20px 0;\r\n\tborder-bottom: 2px solid rgba(254, 44, 85, 0.1);\r\n\tflex-direction: column;\r\n\tgap: 20px;\r\n}\r\n        }\r\n\r\n        @media (max-width: 768px) {\r\n            .container {\r\n                padding: 20px 16px;\r\n            }\r\n\r\n            .header {\r\n                margin-bottom: 40px;\r\n            }\r\n\r\n            .logo-container {\r\n                flex-direction: column;\r\n                gap: 15px;\r\n            }\r\n\r\n            .logo-text-container {\r\n                text-align: center;\r\n            }\r\n\r\n            .logo-icon {\r\n                width: 60px;\r\n                height: 60px;\r\n                font-size: 30px;\r\n            }\r\n\r\n            .features-card {\r\n                gap: 10px;\r\n                padding: 12px 20px;\r\n                flex-wrap: wrap;\r\n                max-width: 400px;\r\n            }\r\n\r\n            .feature-item {\r\n                padding: 10px 12px;\r\n                min-width: 70px;\r\n            }\r\n\r\n            .feature-item i {\r\n                font-size: 16px;\r\n            }\r\n\r\n            .feature-item span {\r\n                font-size: 10px;\r\n            }\r\n\r\n            .search-section {\r\n                padding: 25px 20px;\r\n            }\r\n\r\n            .search-input {\r\n                padding: 18px 20px;\r\n                font-size: 15px;\r\n            }\r\n\r\n            .search-button {\r\n                padding: 16px 20px;\r\n                font-size: 15px;\r\n                min-width: 180px;\r\n            }\r\n\r\n            .search-again-btn {\r\n                padding: 16px 20px;\r\n                font-size: 15px;\r\n            }\r\n\r\n            .profile-header {\r\n                flex-direction: column;\r\n                align-items: center;\r\n                text-align: center;\r\n                gap: 20px;\r\n                margin-bottom: 30px;\r\n            }\r\n\r\n            .profile-avatar {\r\n                width: 100px;\r\n                height: 100px;\r\n            }\r\n\r\n            .profile-name {\r\n                font-size: 24px;\r\n            }\r\n\r\n            .profile-username {\r\n                font-size: 16px;\r\n            }\r\n\r\n            .profile-bio {\r\n                font-size: 14px;\r\n                text-align: center;\r\n            }\r\n\r\n            .profile-stats {\r\n                grid-template-columns: repeat(2, 1fr);\r\n                gap: 12px;\r\n            }\r\n\r\n            .stat-item {\r\n                padding: 18px 14px;\r\n            }\r\n\r\n            .stat-value {\r\n                font-size: 22px;\r\n            }\r\n\r\n            .stat-label {\r\n                font-size: 12px;\r\n            }\r\n\r\n            .video-grid {\r\n                grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));\r\n                gap: 16px;\r\n            }\r\n\r\n            .video-card {\r\n                height: 350px;\r\n            }\r\n\r\n            .video-thumbnail-container {\r\n                height: 230px;\r\n            }\r\n\r\n            .video-info {\r\n                padding: 16px;\r\n                height: 120px;\r\n            }\r\n\r\n            .video-title {\r\n                font-size: 12px;\r\n                margin-bottom: 10px;\r\n            }\r\n\r\n            .video-stats {\r\n                gap: 6px;\r\n            }\r\n\r\n            .stat {\r\n                padding: 6px 4px;\r\n                font-size: 10px;\r\n            }\r\n\r\n            .stat i {\r\n                font-size: 11px;\r\n            }\r\n\r\n            .search-box {\r\n                flex-direction: column;\r\n                gap: 12px;\r\n            }\r\n\r\n            .search-button {\r\n                width: 100%;\r\n                min-width: auto;\r\n            }\r\n\r\n            .videos-section-header {\r\n                flex-direction: column;\r\n                gap: 12px;\r\n                align-items: flex-start;\r\n                margin-bottom: 25px;\r\n            }\r\n\r\n            .videos-button {\r\n                padding: 14px 24px;\r\n                font-size: 16px;\r\n            }\r\n\r\n            .download-all-btn {\r\n                margin-left: 0;\r\n                margin-top: 8px;\r\n                padding: 14px 24px;\r\n                font-size: 14px;\r\n            }\r\n\r\n            .videos-count {\r\n                font-size: 14px;\r\n                padding: 10px 20px;\r\n            }\r\n\r\n            .control-buttons {\r\n                flex-wrap: wrap;\r\n                gap: 12px;\r\n            }\r\n\r\n            .volume-controls {\r\n                order: 3;\r\n                width: 100%;\r\n                justify-content: center;\r\n            }\r\n\r\n            .volume-slider {\r\n                width: 60px;\r\n            }\r\n\r\n            .close-modal {\r\n                top: -60px;\r\n                right: 10px;\r\n                width: 45px;\r\n                height: 45px;\r\n                font-size: 20px;\r\n            }\r\n\r\n            .profile-modal-close {\r\n                width: 45px;\r\n                height: 45px;\r\n                font-size: 20px;\r\n            }\r\n\r\n            .profile-modal-download {\r\n                padding: 12px 20px;\r\n                font-size: 14px;\r\n            }\r\n\r\n            .download-progress {\r\n                left: 20px;\r\n                right: 20px;\r\n                width: auto;\r\n                min-width: auto;\r\n                padding: 14px 16px;\r\n            }\r\n\r\n            .download-text {\r\n                font-size: 13px;\r\n            }\r\n\r\n            .cancel-download-btn {\r\n                padding: 6px 10px;\r\n                font-size: 11px;\r\n            }\r\n\r\n            .title-tooltip {\r\n                max-width: 280px;\r\n                font-size: 13px;\r\n                padding: 10px 16px;\r\n            }\r\n\r\n            .modal-title {\r\n                font-size: 16px;\r\n                margin-bottom: 15px;\r\n            }\r\n\r\n            .video-player-container {\r\n                border-radius: var(--radius-lg);\r\n            }\r\n\r\n            .video-controls {\r\n                padding: 15px;\r\n            }\r\n\r\n            .control-button {\r\n                width: 40px;\r\n                height: 40px;\r\n                font-size: 16px;\r\n            }\r\n\r\n            .play-pause {\r\n                width: 50px;\r\n                height: 50px;\r\n                font-size: 20px;\r\n            }\r\n\t\t\t\t\t.videos-section-header {\r\n\tdisplay: flex !important;\r\n\talign-items: center;\r\n\tjustify-content: space-between;\r\n\tmargin-bottom: 30px;\r\n\tpadding: 20px 0;\r\n\tborder-bottom: 2px solid rgba(254, 44, 85, 0.1);\r\n\tflex-direction: column;\r\n\tgap: 20px;\r\n}\r\n        }\r\n\r\n        @media (max-width: 640px) {\r\n            .container {\r\n                padding: 15px 12px;\r\n            }\r\n\r\n            .header {\r\n                margin-bottom: 30px;\r\n            }\r\n\r\n            .logo-text {\r\n                font-size: 28px;\r\n            }\r\n\r\n            .logo-subtitle {\r\n                font-size: 14px;\r\n            }\r\n\r\n            .features-card {\r\n                padding: 10px 16px;\r\n                gap: 8px;\r\n            }\r\n\r\n            .feature-item {\r\n                padding: 8px 10px;\r\n                min-width: 60px;\r\n            }\r\n\r\n            .feature-item i {\r\n                font-size: 14px;\r\n            }\r\n\r\n            .feature-item span {\r\n                font-size: 9px;\r\n            }\r\n\r\n            .search-section {\r\n                padding: 20px 16px;\r\n            }\r\n\r\n            .search-input {\r\n                padding: 16px 18px;\r\n                font-size: 14px;\r\n            }\r\n\r\n            .paste-hint {\r\n                font-size: 13px;\r\n                margin-top: 10px;\r\n            }\r\n\r\n            .paste-icon {\r\n                padding: 6px;\r\n                font-size: 14px;\r\n            }\r\n\r\n            .search-button {\r\n                padding: 14px 18px;\r\n                font-size: 14px;\r\n            }\r\n\r\n            .search-again-btn {\r\n                padding: 14px 18px;\r\n                font-size: 14px;\r\n            }\r\n\r\n            .profile-section {\r\n                padding: 20px 16px;\r\n            }\r\n\r\n            .profile-avatar {\r\n                width: 90px;\r\n                height: 90px;\r\n            }\r\n\r\n            .profile-name {\r\n                font-size: 22px;\r\n            }\r\n\r\n            .profile-username {\r\n                font-size: 15px;\r\n            }\r\n\r\n            .profile-bio {\r\n                font-size: 13px;\r\n            }\r\n\r\n            .profile-stats {\r\n                gap: 10px;\r\n            }\r\n\r\n            .stat-item {\r\n                padding: 16px 12px;\r\n            }\r\n\r\n            .stat-value {\r\n                font-size: 20px;\r\n            }\r\n\r\n            .stat-label {\r\n                font-size: 11px;\r\n            }\r\n\r\n            .video-grid {\r\n                grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));\r\n                gap: 12px;\r\n            }\r\n\r\n            .video-card {\r\n                height: 320px;\r\n            }\r\n\r\n            .video-thumbnail-container {\r\n                height: 210px;\r\n            }\r\n\r\n            .video-info {\r\n                padding: 14px;\r\n                height: 110px;\r\n            }\r\n\r\n            .video-title {\r\n                font-size: 11px;\r\n                margin-bottom: 8px;\r\n            }\r\n\r\n            .video-stats {\r\n                gap: 4px;\r\n            }\r\n\r\n            .stat {\r\n                padding: 5px 3px;\r\n                font-size: 9px;\r\n            }\r\n\r\n            .stat i {\r\n                font-size: 10px;\r\n            }\r\n\r\n            .play-overlay {\r\n                width: 50px;\r\n                height: 50px;\r\n            }\r\n\r\n            .play-overlay::after {\r\n                border-left: 15px solid white;\r\n                border-top: 10px solid transparent;\r\n                border-bottom: 10px solid transparent;\r\n            }\r\n\r\n            .video-download-btn {\r\n                width: 35px;\r\n                height: 35px;\r\n                font-size: 14px;\r\n                top: 10px;\r\n                right: 10px;\r\n            }\r\n\r\n            .videos-button {\r\n                padding: 12px 20px;\r\n                font-size: 14px;\r\n            }\r\n\r\n            .download-all-btn {\r\n                padding: 12px 20px;\r\n                font-size: 13px;\r\n            }\r\n\r\n            .videos-count {\r\n                font-size: 13px;\r\n                padding: 8px 16px;\r\n            }\r\n        }\r\n\r\n        @media (max-width: 480px) {\r\n            .container {\r\n                padding: 12px 10px;\r\n            }\r\n\r\n            .header {\r\n                margin-bottom: 25px;\r\n            }\r\n\r\n            .logo-text {\r\n                font-size: 24px;\r\n            }\r\n\r\n            .logo-subtitle {\r\n                font-size: 13px;\r\n            }\r\n\r\n            .features-card {\r\n                padding: 8px 12px;\r\n                gap: 6px;\r\n                flex-wrap: wrap;\r\n                justify-content: center;\r\n            }\r\n\r\n            .feature-item {\r\n                padding: 6px 8px;\r\n                min-width: 55px;\r\n            }\r\n\r\n            .feature-item i {\r\n                font-size: 13px;\r\n            }\r\n\r\n            .feature-item span {\r\n                font-size: 8px;\r\n            }\r\n\r\n            .search-section {\r\n                padding: 16px 12px;\r\n            }\r\n\r\n            .search-input {\r\n                padding: 14px 16px;\r\n                font-size: 13px;\r\n            }\r\n\r\n            .paste-hint {\r\n                font-size: 12px;\r\n                margin-top: 8px;\r\n            }\r\n\r\n            .paste-icon {\r\n                padding: 5px;\r\n                font-size: 13px;\r\n            }\r\n\r\n            .search-button {\r\n                padding: 12px 16px;\r\n                font-size: 13px;\r\n            }\r\n\r\n            .search-again-btn {\r\n                padding: 12px 16px;\r\n                font-size: 13px;\r\n            }\r\n\r\n            .profile-section {\r\n                padding: 16px 12px;\r\n            }\r\n\r\n            .profile-header {\r\n                gap: 15px;\r\n                margin-bottom: 25px;\r\n            }\r\n\r\n            .profile-avatar {\r\n                width: 80px;\r\n                height: 80px;\r\n            }\r\n\r\n            .profile-name {\r\n                font-size: 20px;\r\n            }\r\n\r\n            .profile-username {\r\n                font-size: 14px;\r\n            }\r\n\r\n            .profile-bio {\r\n                font-size: 12px;\r\n            }\r\n\r\n            .profile-stats {\r\n                grid-template-columns: 1fr;\r\n                gap: 8px;\r\n            }\r\n\r\n            .stat-item {\r\n                padding: 14px 10px;\r\n            }\r\n\r\n            .stat-value {\r\n                font-size: 18px;\r\n            }\r\n\r\n            .stat-label {\r\n                font-size: 10px;\r\n            }\r\n\r\n            .video-grid {\r\n                grid-template-columns: 1fr;\r\n                gap: 10px;\r\n            }\r\n\r\n            .video-card {\r\n                height: 300px;\r\n            }\r\n\r\n            .video-thumbnail-container {\r\n                height: 190px;\r\n            }\r\n\r\n            .video-info {\r\n                padding: 12px;\r\n                height: 110px;\r\n            }\r\n\r\n            .video-title {\r\n                font-size: 10px;\r\n                margin-bottom: 6px;\r\n            }\r\n\r\n            .video-stats {\r\n                gap: 3px;\r\n            }\r\n\r\n            .stat {\r\n                padding: 4px 2px;\r\n                font-size: 8px;\r\n            }\r\n\r\n            .stat i {\r\n                font-size: 9px;\r\n            }\r\n\r\n            .play-overlay {\r\n                width: 45px;\r\n                height: 45px;\r\n            }\r\n\r\n            .play-overlay::after {\r\n                border-left: 12px solid white;\r\n                border-top: 8px solid transparent;\r\n                border-bottom: 8px solid transparent;\r\n            }\r\n\r\n            .video-download-btn {\r\n                width: 30px;\r\n                height: 30px;\r\n                font-size: 12px;\r\n                top: 8px;\r\n                right: 8px;\r\n            }\r\n\r\n            .videos-section-header {\r\n                gap: 8px;\r\n                margin-bottom: 20px;\r\n            }\r\n\r\n            .videos-button {\r\n                padding: 10px 16px;\r\n                font-size: 13px;\r\n            }\r\n\r\n            .download-all-btn {\r\n                padding: 10px 16px;\r\n                font-size: 12px;\r\n            }\r\n\r\n            .videos-count {\r\n                font-size: 12px;\r\n                padding: 6px 12px;\r\n            }\r\n\r\n            .close-modal {\r\n                top: -50px;\r\n                right: 5px;\r\n                width: 40px;\r\n                height: 40px;\r\n                font-size: 18px;\r\n            }\r\n\r\n            .profile-modal-close {\r\n                width: 40px;\r\n                height: 40px;\r\n                font-size: 18px;\r\n            }\r\n\r\n            .profile-modal-download {\r\n                padding: 10px 16px;\r\n                font-size: 13px;\r\n            }\r\n\r\n            .download-progress {\r\n                left: 10px;\r\n                right: 10px;\r\n                padding: 12px 14px;\r\n            }\r\n\r\n            .download-text {\r\n                font-size: 12px;\r\n            }\r\n\r\n            .cancel-download-btn {\r\n                padding: 5px 8px;\r\n                font-size: 10px;\r\n            }\r\n\r\n            .title-tooltip {\r\n                max-width: 250px;\r\n                font-size: 12px;\r\n                padding: 8px 12px;\r\n            }\r\n\r\n            .modal-title {\r\n                font-size: 14px;\r\n                margin-bottom: 12px;\r\n            }\r\n\r\n            .video-controls {\r\n                padding: 12px;\r\n            }\r\n\r\n            .control-button {\r\n                width: 36px;\r\n                height: 36px;\r\n                font-size: 14px;\r\n            }\r\n\r\n            .play-pause {\r\n                width: 45px;\r\n                height: 45px;\r\n                font-size: 18px;\r\n            }\r\n\r\n            .volume-slider {\r\n                width: 50px;\r\n            }\r\n\r\n            .loading {\r\n                padding: 40px 20px;\r\n            }\r\n\r\n            .loading-animation {\r\n                width: 100px;\r\n                height: 100px;\r\n            }\r\n\r\n            .loading-text {\r\n                font-size: 18px;\r\n            }\r\n\r\n            .loading-subtext {\r\n                font-size: 13px;\r\n            }\r\n\r\n            .error-message {\r\n                padding: 12px 16px;\r\n                font-size: 13px;\r\n            }\r\n\t\t\t\t\t\t.videos-section-header {\r\n\tdisplay: flex !important;\r\n\talign-items: center;\r\n\tjustify-content: space-between;\r\n\tmargin-bottom: 30px;\r\n\tpadding: 20px 0;\r\n\tborder-bottom: 2px solid rgba(254, 44, 85, 0.1);\r\n\tflex-direction: column;\r\n\tgap: 20px;\r\n}\r\n        }\r\n\r\n        @media (max-width: 360px) {\r\n            .container {\r\n                padding: 10px 8px;\r\n            }\r\n\r\n            .logo-text {\r\n                font-size: 22px;\r\n            }\r\n\r\n            .logo-subtitle {\r\n                font-size: 12px;\r\n            }\r\n\r\n            .features-card {\r\n                padding: 6px 10px;\r\n                gap: 4px;\r\n            }\r\n\r\n            .feature-item {\r\n                padding: 5px 6px;\r\n                min-width: 50px;\r\n            }\r\n\r\n            .feature-item i {\r\n                font-size: 12px;\r\n            }\r\n\r\n            .feature-item span {\r\n                font-size: 7px;\r\n            }\r\n\r\n            .search-section {\r\n                padding: 12px 10px;\r\n            }\r\n\r\n            .search-input {\r\n                padding: 12px 14px;\r\n                font-size: 12px;\r\n            }\r\n\r\n            .search-button {\r\n                padding: 10px 14px;\r\n                font-size: 12px;\r\n            }\r\n\r\n            .search-again-btn {\r\n                padding: 10px 14px;\r\n                font-size: 12px;\r\n            }\r\n\r\n            .profile-section {\r\n                padding: 12px 10px;\r\n            }\r\n\r\n            .profile-avatar {\r\n                width: 70px;\r\n                height: 70px;\r\n            }\r\n\r\n            .profile-name {\r\n                font-size: 18px;\r\n            }\r\n\r\n            .profile-username {\r\n                font-size: 13px;\r\n            }\r\n\r\n            .profile-bio {\r\n                font-size: 11px;\r\n            }\r\n\r\n            .video-card {\r\n                height: 280px;\r\n            }\r\n\r\n            .video-thumbnail-container {\r\n                height: 170px;\r\n            }\r\n\r\n            .video-info {\r\n                padding: 10px;\r\n                height: 110px;\r\n            }\r\n\r\n            .video-title {\r\n                font-size: 9px;\r\n            }\r\n\r\n            .stat {\r\n                font-size: 7px;\r\n            }\r\n\r\n            .stat i {\r\n                font-size: 8px;\r\n            }\r\n\r\n            .play-overlay {\r\n                width: 40px;\r\n                height: 40px;\r\n            }\r\n\r\n            .play-overlay::after {\r\n                border-left: 10px solid white;\r\n                border-top: 6px solid transparent;\r\n                border-bottom: 6px solid transparent;\r\n            }\r\n\r\n            .video-download-btn {\r\n                width: 28px;\r\n                height: 28px;\r\n                font-size: 11px;\r\n            }\r\n\r\n            .videos-button {\r\n                padding: 8px 14px;\r\n                font-size: 12px;\r\n            }\r\n\r\n            .download-all-btn {\r\n                padding: 8px 14px;\r\n                font-size: 11px;\r\n            }\r\n\r\n            .videos-count {\r\n                font-size: 11px;\r\n                padding: 5px 10px;\r\n            }\r\n\r\n            .title-tooltip {\r\n                max-width: 220px;\r\n                font-size: 11px;\r\n            }\r\n\r\n            .modal-title {\r\n                font-size: 13px;\r\n            }\r\n\r\n            .control-button {\r\n                width: 32px;\r\n                height: 32px;\r\n                font-size: 13px;\r\n            }\r\n\r\n            .play-pause {\r\n                width: 40px;\r\n                height: 40px;\r\n                font-size: 16px;\r\n            }\r\n\t\t\t\t\t\t.videos-section-header {\r\n\tdisplay: flex !important;\r\n\talign-items: center;\r\n\tjustify-content: space-between;\r\n\tmargin-bottom: 30px;\r\n\tpadding: 20px 0;\r\n\tborder-bottom: 2px solid rgba(254, 44, 85, 0.1);\r\n\tflex-direction: column;\r\n\tgap: 20px;\r\n}\r\n        }\r\n\r\n        \/* Landscape orientation for mobile *\/\r\n        @media (max-height: 500px) and (orientation: landscape) {\r\n            .container {\r\n                padding: 10px 15px;\r\n            }\r\n\r\n            .header {\r\n                margin-bottom: 20px;\r\n            }\r\n\r\n            .logo-container {\r\n                flex-direction: row;\r\n                gap: 15px;\r\n            }\r\n\r\n            .logo-text {\r\n                font-size: 20px;\r\n            }\r\n\r\n            .logo-subtitle {\r\n                font-size: 12px;\r\n            }\r\n\r\n            .features-card {\r\n                padding: 8px 16px;\r\n                gap: 8px;\r\n                flex-wrap: nowrap;\r\n            }\r\n\r\n            .search-section {\r\n                padding: 15px 20px;\r\n            }\r\n\r\n            .profile-header {\r\n                flex-direction: row;\r\n                gap: 15px;\r\n                margin-bottom: 20px;\r\n            }\r\n\r\n            .profile-avatar {\r\n                width: 60px;\r\n                height: 60px;\r\n            }\r\n\r\n            .profile-name {\r\n                font-size: 18px;\r\n            }\r\n\r\n            .profile-username {\r\n                font-size: 12px;\r\n            }\r\n\r\n            .profile-bio {\r\n                font-size: 11px;\r\n            }\r\n\r\n            .profile-stats {\r\n                grid-template-columns: repeat(4, 1fr);\r\n                gap: 8px;\r\n            }\r\n\r\n            .stat-item {\r\n                padding: 10px 8px;\r\n            }\r\n\r\n            .stat-value {\r\n                font-size: 16px;\r\n            }\r\n\r\n            .stat-label {\r\n                font-size: 9px;\r\n            }\r\n\r\n            .video-grid {\r\n                grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));\r\n                gap: 10px;\r\n            }\r\n\r\n            .video-card {\r\n                height: 250px;\r\n            }\r\n\r\n            .video-thumbnail-container {\r\n                height: 160px;\r\n            }\r\n\r\n            .video-info {\r\n                padding: 8px;\r\n                height: 90px;\r\n            }\r\n\r\n            .video-title {\r\n                font-size: 9px;\r\n                margin-bottom: 4px;\r\n            }\r\n\r\n            .video-stats {\r\n                gap: 2px;\r\n            }\r\n\r\n            .stat {\r\n                padding: 3px 2px;\r\n                font-size: 7px;\r\n            }\r\n\r\n            .stat i {\r\n                font-size: 8px;\r\n            }\r\n\r\n            .play-overlay {\r\n                width: 35px;\r\n                height: 35px;\r\n            }\r\n\r\n            .play-overlay::after {\r\n                border-left: 8px solid white;\r\n                border-top: 5px solid transparent;\r\n                border-bottom: 5px solid transparent;\r\n            }\r\n\r\n            .video-download-btn {\r\n                width: 25px;\r\n                height: 25px;\r\n                font-size: 10px;\r\n            }\r\n\r\n            .videos-section-header {\r\n                flex-direction: row;\r\n                gap: 10px;\r\n                margin-bottom: 15px;\r\n            }\r\n\r\n            .videos-button {\r\n                padding: 8px 12px;\r\n                font-size: 11px;\r\n            }\r\n\r\n            .download-all-btn {\r\n                padding: 8px 12px;\r\n                font-size: 10px;\r\n                margin-left: 8px;\r\n                margin-top: 0 !;\r\n            }\r\n\r\n            .videos-count {\r\n                font-size: 10px;\r\n                padding: 4px 8px;\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            .video-thumbnail {\r\n                image-rendering: -webkit-optimize-contrast;\r\n                image-rendering: crisp-edges;\r\n            }\r\n\r\n            .profile-avatar {\r\n                image-rendering: -webkit-optimize-contrast;\r\n                image-rendering: crisp-edges;\r\n            }\r\n        }\r\n\r\n        \/* Reduced motion for accessibility *\/\r\n        @media (prefers-reduced-motion: reduce) {\r\n            * {\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            .floating-shape {\r\n                animation: none;\r\n            }\r\n\r\n            .logo-icon::after {\r\n                animation: none;\r\n            }\r\n\r\n            .loading-spinner,\r\n            .loading-spinner::before,\r\n            .loading-spinner::after {\r\n                animation: none;\r\n            }\r\n\r\n            .download-spinner {\r\n                animation: none;\r\n            }\r\n        }\r\n\r\n        \/* Dark mode support (keeping same colors but adjusting for system preference) *\/\r\n        @media (prefers-color-scheme: dark) {\r\n\r\n            \/* Keep all existing colors but add subtle adjustments for dark mode preference *\/\r\n            .search-input::placeholder {\r\n                color: rgba(100, 116, 139, 0.7);\r\n            }\r\n\r\n            .title-tooltip {\r\n                background: rgba(0, 0, 0, 0.95);\r\n                border: 1px solid rgba(255, 255, 255, 0.2);\r\n            }\r\n\r\n            .title-tooltip::before {\r\n                background: rgba(0, 0, 0, 0.95);\r\n                border: 1px solid rgba(255, 255, 255, 0.2);\r\n            }\r\n        }\r\n    <\/style>\r\n\r\n    <div class=\"wrapper\">\r\n    <div class=\"bg-wrapper\">\r\n        <div class=\"bg-pattern\"><\/div>\r\n        <div class=\"floating-elements\">\r\n            <div class=\"floating-shape\"><\/div>\r\n            <div class=\"floating-shape\"><\/div>\r\n            <div class=\"floating-shape\"><\/div>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <div class=\"container\">\r\n        <div class=\"header\">\r\n            <div class=\"logo-container\">\r\n                <div class=\"logo-icon\">\r\n                    <i class=\"fab fa-tiktok\"><\/i>\r\n                <\/div>\r\n                <div class=\"logo-text-container\">\r\n                    <h1 class=\"logo-text\">TikTok Post Viewer<\/h1>\r\n                    <p class=\"logo-subtitle\">Download and explore TikTok content easily<\/p>\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <div class=\"features-card\">\r\n                <div class=\"feature-item\">\r\n                    <i class=\"fas fa-user\"><\/i>\r\n                    <span>Profile<\/span>\r\n                <\/div>\r\n                <div class=\"feature-item\">\r\n                    <i class=\"fas fa-video\"><\/i>\r\n                    <span>Videos<\/span>\r\n                <\/div>\r\n                <div class=\"feature-item\">\r\n                    <i class=\"fas fa-download\"><\/i>\r\n                    <span>Download<\/span>\r\n                <\/div>\r\n                <div class=\"feature-item\">\r\n                    <i class=\"fas fa-eye\"><\/i>\r\n                    <span>Preview<\/span>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"search-section\">\r\n            <div class=\"input-container\">\r\n                <input type=\"text\" class=\"search-input\" placeholder=\"Enter TikTok username, @username, or profile URL\"\r\n                    id=\"usernameInput\">\r\n                <div class=\"paste-hint\">\r\n                    <span>Quick paste<\/span>\r\n                    <i class=\"fas fa-paste paste-icon\" onclick=\"pasteFromClipboard()\" title=\"Paste from clipboard\"><\/i>\r\n                <\/div>\r\n            <\/div>\r\n            <div class=\"search-box\" id=\"searchBox\">\r\n                <button class=\"search-button btn-ripple\" onclick=\"searchProfile()\" id=\"searchBtn\">\r\n                    <i class=\"fas fa-search\"><\/i> <span id=\"searchText\">Explore Profile<\/span>\r\n                <\/button>\r\n            <\/div>\r\n            <button class=\"search-again-btn btn-ripple\" onclick=\"searchAgain()\" id=\"searchAgainBtn\"\r\n                style=\"display: none;\">\r\n                <i class=\"fas fa-search\"><\/i> Explore Another Profile\r\n            <\/button>\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 class=\"loading\" id=\"loading\">\r\n                <div class=\"loading-content\">\r\n                    <div class=\"loading-animation\">\r\n                        <div class=\"loading-spinner\"><\/div>\r\n                    <\/div>\r\n                    <div class=\"loading-text\">Exploring TikTok Profile<\/div>\r\n                    <div class=\"loading-subtext\">Gathering posts and profile information...<\/div>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"results-container\" id=\"resultsContainer\" style=\"display: none;\">\r\n            <div class=\"profile-section\" id=\"profileSection\"><\/div>\r\n\r\n            <div class=\"videos-section-header\" id=\"videosHeader\" style=\"display: none;\">\r\n                <div style=\"display: flex; align-items: center; gap: 16px;\">\r\n                    <button class=\"videos-button btn-ripple\">\r\n                        <i class=\"fas fa-video\"><\/i> Posts\r\n                    <\/button>\r\n                    <button class=\"download-all-btn btn-ripple\" onclick=\"downloadAllVideos()\" id=\"downloadAllBtn\">\r\n                        <i class=\"fas fa-download\"><\/i> Download All\r\n                    <\/button>\r\n                <\/div>\r\n                <div class=\"videos-count\" id=\"videosCount\"><\/div>\r\n            <\/div>\r\n\r\n            <div class=\"video-grid\" id=\"videoGrid\"><\/div>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <!-- Title Tooltip -->\r\n    <div class=\"title-tooltip\" id=\"titleTooltip\"><\/div>\r\n\r\n    <!-- Video Modal -->\r\n    <div class=\"modal\" id=\"videoModal\">\r\n        <div class=\"modal-content\">\r\n            <div class=\"modal-title\" id=\"modalTitle\"><\/div>\r\n            <button class=\"close-modal\" onclick=\"closeVideoModal()\">\r\n                <i class=\"fas fa-times\"><\/i>\r\n            <\/button>\r\n            <div class=\"video-player-container\">\r\n                <video id=\"videoPlayer\" class=\"video-player\" loop>\r\n                    Your browser doesn't support video playback.\r\n                <\/video>\r\n                <div class=\"video-controls\">\r\n                    <div class=\"progress-container\" onclick=\"seekVideo(event)\">\r\n                        <div class=\"progress-bar\" id=\"progressBar\"><\/div>\r\n                    <\/div>\r\n                    <div class=\"control-buttons\">\r\n                        <div class=\"control-group volume-controls\">\r\n                            <button class=\"control-button\" onclick=\"toggleMute()\" title=\"Toggle Sound\">\r\n                                <i class=\"fas fa-volume-up\" id=\"volumeIcon\"><\/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-button play-pause\" onclick=\"togglePlay()\" title=\"Play\/Pause\">\r\n                            <i class=\"fas fa-play\" id=\"playIcon\"><\/i>\r\n                        <\/button>\r\n\r\n                        <div class=\"control-group\">\r\n                            <button class=\"control-button\" onclick=\"downloadVideo()\" title=\"Download Video\">\r\n                                <i class=\"fas fa-download\"><\/i>\r\n                            <\/button>\r\n                            <button class=\"control-button\" onclick=\"toggleFullscreen()\" title=\"Fullscreen\"\r\n                                id=\"fullscreenBtn\">\r\n                                <i class=\"fas fa-expand\" id=\"fullscreenIcon\"><\/i>\r\n                            <\/button>\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <!-- Profile Picture Modal -->\r\n    <div class=\"profile-modal\" id=\"profileModal\">\r\n        <div class=\"profile-modal-content\">\r\n            <button class=\"profile-modal-close\" onclick=\"closeProfileModal()\">\r\n                <i class=\"fas fa-times\"><\/i>\r\n            <\/button>\r\n            <img decoding=\"async\" id=\"profileModalImage\" class=\"profile-modal-image\" src=\"\/placeholder.svg\" alt=\"Profile Picture\">\r\n            <button class=\"profile-modal-download btn-ripple\" onclick=\"downloadProfilePicture()\">\r\n                <i class=\"fas fa-download\"><\/i> Download\r\n            <\/button>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <!-- Download Progress Indicator -->\r\n    <div class=\"download-progress\" id=\"downloadProgress\">\r\n        <div class=\"download-spinner\"><\/div>\r\n        <div class=\"download-info\">\r\n            <div class=\"download-text\" id=\"downloadText\">Downloading...<\/div>\r\n            <div class=\"download-progress-bar\">\r\n                <div class=\"download-progress-fill\" id=\"downloadProgressFill\"><\/div>\r\n            <\/div>\r\n        <\/div>\r\n        <button class=\"cancel-download-btn\" onclick=\"cancelDownloads()\" id=\"cancelDownloadBtn\">\r\n            <i class=\"fas fa-stop\"><\/i> Stop\r\n        <\/button>\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_BASE_URL = 'https:\/\/tools.xrespond.com\/api\/tiktok';\r\n        let currentVideo = null;\r\n        let currentProfileData = null;\r\n        let allVideos = [];\r\n        let isFullscreen = false;\r\n        let currentVolume = 1;\r\n        let isMuted = false;\r\n        let isProcessing = false;\r\n        let isDownloading = false;\r\n        let activeDownloads = [];\r\n        let downloadCancelled = false;\r\n\r\n        \/\/ Title tooltip functionality\r\n        let titleTooltip = null;\r\n        let tooltipTimeout = null;\r\n\r\n        \/\/ Initialize ripple effects\r\n        document.addEventListener('DOMContentLoaded', function () {\r\n            const buttons = document.querySelectorAll('.btn-ripple');\r\n            buttons.forEach(button => {\r\n                button.addEventListener('click', function (e) {\r\n                    const rect = button.getBoundingClientRect();\r\n                    const x = e.clientX - rect.left;\r\n                    const y = e.clientY - rect.top;\r\n\r\n                    const ripple = document.createElement('span');\r\n                    ripple.style.position = 'absolute';\r\n                    ripple.style.width = '1px';\r\n                    ripple.style.height = '1px';\r\n                    ripple.style.borderRadius = '50%';\r\n                    ripple.style.transform = 'scale(0)';\r\n                    ripple.style.backgroundColor = 'rgba(255, 255, 255, 0.7)';\r\n                    ripple.style.left = x + 'px';\r\n                    ripple.style.top = y + 'px';\r\n                    ripple.style.animation = 'ripple 0.6s linear';\r\n\r\n                    button.appendChild(ripple);\r\n\r\n                    setTimeout(() => {\r\n                        button.removeChild(ripple);\r\n                    }, 600);\r\n                });\r\n            });\r\n\r\n            \/\/ Initialize title tooltip\r\n            titleTooltip = document.getElementById('titleTooltip');\r\n        });\r\n\r\n        \/\/ Title tooltip functions\r\n        function showTitleTooltip(element, title) {\r\n            if (!title || title.trim() === '') return;\r\n\r\n            clearTimeout(tooltipTimeout);\r\n\r\n            titleTooltip.textContent = title;\r\n            titleTooltip.classList.add('show');\r\n\r\n            \/\/ Position the tooltip\r\n            const rect = element.getBoundingClientRect();\r\n            const tooltipRect = titleTooltip.getBoundingClientRect();\r\n\r\n            let left = rect.left + (rect.width \/ 2) - (tooltipRect.width \/ 2);\r\n            let top = rect.bottom + 10;\r\n\r\n            \/\/ Ensure tooltip stays within viewport\r\n            if (left < 10) left = 10;\r\n            if (left + tooltipRect.width > window.innerWidth - 10) {\r\n                left = window.innerWidth - tooltipRect.width - 10;\r\n            }\r\n\r\n            if (top + tooltipRect.height > window.innerHeight - 10) {\r\n                top = rect.top - tooltipRect.height - 10;\r\n            }\r\n\r\n            titleTooltip.style.left = left + 'px';\r\n            titleTooltip.style.top = top + 'px';\r\n        }\r\n\r\n        function hideTitleTooltip() {\r\n            tooltipTimeout = setTimeout(() => {\r\n                titleTooltip.classList.remove('show');\r\n            }, 100);\r\n        }\r\n\r\n        async function pasteFromClipboard() {\r\n            try {\r\n                const text = await navigator.clipboard.readText();\r\n                document.getElementById('usernameInput').value = text;\r\n            } catch (err) {\r\n                console.error('Failed to read clipboard contents: ', err);\r\n                document.getElementById('usernameInput').focus();\r\n            }\r\n        }\r\n\r\n        function searchAgain() {\r\n            document.getElementById('usernameInput').value = '';\r\n            document.getElementById('resultsContainer').style.display = 'none';\r\n            document.getElementById('searchAgainBtn').style.display = 'none';\r\n            document.getElementById('searchBox').style.display = 'flex';\r\n            document.getElementById('videosHeader').style.display = 'none';\r\n            document.getElementById('usernameInput').focus();\r\n            allVideos = [];\r\n        }\r\n\r\n        function extractUsername(input) {\r\n            if (input.startsWith('@')) {\r\n                return input.substring(1);\r\n            }\r\n\r\n            const urlPatterns = [\r\n                \/tiktok\\.com\\\/@([^\\\/\\?]+)\/,\r\n                \/tiktok\\.com\\\/([^\\\/\\?@]+)\/,\r\n                \/vm\\.tiktok\\.com\\\/([^\\\/\\?]+)\/\r\n            ];\r\n\r\n            for (const pattern of urlPatterns) {\r\n                const match = input.match(pattern);\r\n                if (match) {\r\n                    return match[1];\r\n                }\r\n            }\r\n\r\n            return input;\r\n        }\r\n\r\n        async function searchProfile() {\r\n            if (isProcessing) return;\r\n\r\n            const input = document.getElementById('usernameInput').value.trim();\r\n            if (!input) {\r\n                showError('Please enter a TikTok username or profile URL');\r\n                return;\r\n            }\r\n\r\n            const username = extractUsername(input);\r\n\r\n            isProcessing = true;\r\n            const searchBtn = document.getElementById('searchBtn');\r\n            const searchText = document.getElementById('searchText');\r\n\r\n            searchBtn.disabled = true;\r\n            searchText.textContent = 'Exploring...';\r\n            showLoading();\r\n            hideError();\r\n\r\n            try {\r\n                const profileResponse = await fetch(`${API_BASE_URL}\/profile\/details`, {\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({ profile: username })\r\n                });\r\n\r\n                const profileData = await profileResponse.json();\r\n\r\n                if (profileData.status !== 'success') {\r\n                    throw new Error(profileData.message || 'Failed to fetch profile data');\r\n                }\r\n\r\n                currentProfileData = profileData.data.data;\r\n                displayProfile(currentProfileData);\r\n\r\n                const videosResponse = await fetch(`${API_BASE_URL}\/profile\/videos`, {\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({ profile: username })\r\n                });\r\n\r\n                const videosData = await videosResponse.json();\r\n\r\n                if (videosData.status !== 'success') {\r\n                    throw new Error(videosData.message || 'Failed to fetch videos');\r\n                }\r\n\r\n                const videos = videosData.data.data.videos.reverse();\r\n                allVideos = videos;\r\n                displayVideos(videos);\r\n\r\n                document.getElementById('resultsContainer').style.display = 'block';\r\n                document.getElementById('searchAgainBtn').style.display = 'block';\r\n                document.getElementById('searchBox').style.display = 'none';\r\n                document.getElementById('videosHeader').style.display = 'flex';\r\n\r\n                document.getElementById('usernameInput').value = '';\r\n\r\n            } catch (error) {\r\n                showError(error.message || 'Error fetching profile. Please try again.');\r\n            } finally {\r\n                isProcessing = false;\r\n                searchBtn.disabled = false;\r\n                searchText.textContent = 'Explore Profile';\r\n                hideLoading();\r\n            }\r\n        }\r\n\r\n        function displayProfile(data) {\r\n            const profileSection = document.getElementById('profileSection');\r\n\r\n            profileSection.innerHTML = `\r\n        <div class=\"profile-header\">\r\n            <div class=\"profile-avatar-container\">\r\n                <img decoding=\"async\" src=\"${data.user.avatarLarger}\" alt=\"Profile\" class=\"profile-avatar shimmer\" onclick=\"openProfileModal('${data.user.avatarLarger}')\">\r\n                <div class=\"fullscreen-icon\" onclick=\"openProfileModal('${data.user.avatarLarger}')\" title=\"View Fullscreen\">\r\n                    <i class=\"fas fa-expand\"><\/i>\r\n                <\/div>\r\n            <\/div>\r\n            <div class=\"profile-info\">\r\n                <h2 class=\"profile-name\">${data.user.nickname}<\/h2>\r\n                <p class=\"profile-username\">@${data.user.uniqueId}<\/p>\r\n                <div class=\"profile-bio\">${data.user.signature || ''}<\/div>\r\n            <\/div>\r\n        <\/div>\r\n        <div class=\"profile-stats\">\r\n            <div class=\"stat-item\">\r\n                <div class=\"stat-value\">${formatNumber(data.stats.followingCount)}<\/div>\r\n                <div class=\"stat-label\">Following<\/div>\r\n            <\/div>\r\n            <div class=\"stat-item\">\r\n                <div class=\"stat-value\">${formatNumber(data.stats.followerCount)}<\/div>\r\n                <div class=\"stat-label\">Followers<\/div>\r\n            <\/div>\r\n            <div class=\"stat-item\">\r\n                <div class=\"stat-value\">${formatNumber(data.stats.heartCount)}<\/div>\r\n                <div class=\"stat-label\">Likes<\/div>\r\n            <\/div>\r\n            <div class=\"stat-item\">\r\n                <div class=\"stat-value\">${formatNumber(data.stats.videoCount)}<\/div>\r\n                <div class=\"stat-label\">Posts<\/div>\r\n            <\/div>\r\n        <\/div>\r\n    `;\r\n        }\r\n\r\n        function displayVideos(videos) {\r\n            const videoGrid = document.getElementById('videoGrid');\r\n            const videosCount = document.getElementById('videosCount');\r\n\r\n            videoGrid.innerHTML = '';\r\n            videosCount.textContent = `Found ${videos.length} posts`;\r\n\r\n            videos.forEach((video, index) => {\r\n                const videoCard = document.createElement('div');\r\n                videoCard.className = 'video-card';\r\n                videoCard.innerHTML = `\r\n            <div class=\"video-thumbnail-container\">\r\n                <img decoding=\"async\" src=\"${video.cover}\" alt=\"${video.title}\" class=\"video-thumbnail\">\r\n                <div class=\"play-overlay\" onclick=\"openVideoModal(event, ${index})\"><\/div>\r\n                <div class=\"video-download-btn\" onclick=\"downloadVideoFromCard(event, ${index})\" title=\"Download Video\">\r\n                    <i class=\"fas fa-download\"><\/i>\r\n                <\/div>\r\n            <\/div>\r\n            <div class=\"video-info\">\r\n                <div class=\"video-title\" data-full-title=\"${video.title.replace(\/\"\/g, '\"')}\">${video.title}<\/div>\r\n                <div class=\"video-stats\">\r\n                    <div class=\"stat\">\r\n                        <i class=\"fas fa-heart\"><\/i>\r\n                        <span>${formatNumber(video.digg_count)}<\/span>\r\n                    <\/div>\r\n                    <div class=\"stat\">\r\n                        <i class=\"fas fa-comment\"><\/i>\r\n                        <span>${formatNumber(video.comment_count)}<\/span>\r\n                    <\/div>\r\n                    <div class=\"stat\">\r\n                        <i class=\"fas fa-share\"><\/i>\r\n                        <span>${formatNumber(video.share_count)}<\/span>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n        `;\r\n\r\n                videoGrid.appendChild(videoCard);\r\n\r\n                \/\/ Add hover events for title tooltip\r\n                const titleElement = videoCard.querySelector('.video-title');\r\n                titleElement.addEventListener('mouseenter', function () {\r\n                    const fullTitle = this.getAttribute('data-full-title');\r\n                    showTitleTooltip(this, fullTitle);\r\n                });\r\n\r\n                titleElement.addEventListener('mouseleave', function () {\r\n                    hideTitleTooltip();\r\n                });\r\n            });\r\n        }\r\n\r\n        function openVideoModal(event, videoIndex) {\r\n            event.stopPropagation();\r\n            const video = allVideos[videoIndex];\r\n            if (!video) return;\r\n\r\n            currentVideo = video;\r\n            const modal = document.getElementById('videoModal');\r\n            const videoPlayer = document.getElementById('videoPlayer');\r\n            const modalTitle = document.getElementById('modalTitle');\r\n\r\n            modalTitle.textContent = video.title;\r\n            videoPlayer.src = video.play;\r\n            videoPlayer.preload = 'metadata';\r\n            modal.style.display = 'block';\r\n            document.body.style.overflow = 'hidden';\r\n\r\n            document.getElementById('playIcon').className = 'fas fa-play';\r\n            updateVolumeIcon();\r\n            document.getElementById('progressBar').style.width = '0%';\r\n            updateVolumeDisplay();\r\n\r\n            videoPlayer.addEventListener('loadedmetadata', () => {\r\n                videoPlayer.volume = currentVolume;\r\n                videoPlayer.muted = isMuted;\r\n                updateVolumeDisplay();\r\n            });\r\n\r\n            videoPlayer.addEventListener('timeupdate', updateVideoProgress);\r\n            videoPlayer.addEventListener('ended', onVideoEnd);\r\n        }\r\n\r\n        function closeVideoModal() {\r\n            const modal = document.getElementById('videoModal');\r\n            const videoPlayer = document.getElementById('videoPlayer');\r\n\r\n            videoPlayer.pause();\r\n            videoPlayer.removeEventListener('timeupdate', updateVideoProgress);\r\n            videoPlayer.removeEventListener('ended', onVideoEnd);\r\n            modal.style.display = 'none';\r\n            document.body.style.overflow = 'auto';\r\n            currentVideo = null;\r\n\r\n            if (isFullscreen) {\r\n                exitFullscreen();\r\n            }\r\n        }\r\n\r\n        function openProfileModal(imageUrl) {\r\n            const modal = document.getElementById('profileModal');\r\n            const image = document.getElementById('profileModalImage');\r\n\r\n            image.src = imageUrl;\r\n            modal.style.display = 'block';\r\n            document.body.style.overflow = 'hidden';\r\n        }\r\n\r\n        function closeProfileModal() {\r\n            const modal = document.getElementById('profileModal');\r\n            modal.style.display = 'none';\r\n            document.body.style.overflow = 'auto';\r\n        }\r\n\r\n        function cancelDownloads() {\r\n            downloadCancelled = true;\r\n\r\n            activeDownloads.forEach(controller => {\r\n                if (controller) {\r\n                    controller.abort();\r\n                }\r\n            });\r\n\r\n            activeDownloads = [];\r\n\r\n            isDownloading = false;\r\n            const downloadBtn = document.getElementById('downloadAllBtn');\r\n            downloadBtn.innerHTML = '<i class=\"fas fa-download\"><\/i> Download All';\r\n            downloadBtn.disabled = false;\r\n\r\n            updateDownloadProgress('Downloads cancelled', 0);\r\n            setTimeout(hideDownloadProgress, 2000);\r\n        }\r\n\r\n        async function downloadProfilePicture() {\r\n            if (!currentProfileData) {\r\n                showError('No profile data available');\r\n                return;\r\n            }\r\n\r\n            if (isDownloading) {\r\n                showError('Another download is in progress');\r\n                return;\r\n            }\r\n\r\n            isDownloading = true;\r\n            downloadCancelled = false;\r\n            showDownloadProgress('Downloading profile picture...', 0);\r\n\r\n            try {\r\n                const controller = new AbortController();\r\n                activeDownloads.push(controller);\r\n\r\n                const response = await fetch(currentProfileData.user.avatarLarger, {\r\n                    signal: controller.signal\r\n                });\r\n\r\n                if (!response.ok) throw new Error(`HTTP error! status: ${response.status}`);\r\n\r\n                updateDownloadProgress('Processing profile picture...', 50);\r\n\r\n                const blob = await response.blob();\r\n                const url = window.URL.createObjectURL(blob);\r\n                const a = document.createElement('a');\r\n                a.href = url;\r\n                a.download = `${currentProfileData.user.uniqueId}_profile.jpg`;\r\n                a.style.display = 'none';\r\n                document.body.appendChild(a);\r\n\r\n                updateDownloadProgress('Saving profile picture...', 90);\r\n\r\n                a.click();\r\n                document.body.removeChild(a);\r\n                window.URL.revokeObjectURL(url);\r\n\r\n                updateDownloadProgress('Profile picture downloaded successfully!', 100);\r\n                console.log('Profile picture download completed successfully');\r\n\r\n                activeDownloads = activeDownloads.filter(c => c !== controller);\r\n\r\n                setTimeout(hideDownloadProgress, 2000);\r\n            } catch (error) {\r\n                if (error.name === 'AbortError') {\r\n                    console.log('Profile picture download cancelled');\r\n                } else {\r\n                    console.error('Download failed:', error);\r\n                    showError(`Failed to download profile picture: ${error.message}`);\r\n                }\r\n            } finally {\r\n                isDownloading = false;\r\n            }\r\n        }\r\n\r\n        async function downloadVideo() {\r\n            if (!currentVideo) {\r\n                showError('No video selected for download');\r\n                return;\r\n            }\r\n\r\n            if (isDownloading) {\r\n                showError('Another download is in progress');\r\n                return;\r\n            }\r\n\r\n            isDownloading = true;\r\n            downloadCancelled = false;\r\n            showDownloadProgress('Downloading video...', 0);\r\n\r\n            try {\r\n                const controller = new AbortController();\r\n                activeDownloads.push(controller);\r\n\r\n                const response = await fetch(currentVideo.play, {\r\n                    signal: controller.signal\r\n                });\r\n\r\n                if (!response.ok) throw new Error(`HTTP error! status: ${response.status}`);\r\n\r\n                const totalSize = parseInt(response.headers.get('content-length') || '0');\r\n                const reader = response.body.getReader();\r\n                let receivedSize = 0;\r\n                const chunks = [];\r\n\r\n                while (true) {\r\n                    const { done, value } = await reader.read();\r\n\r\n                    if (done) break;\r\n\r\n                    chunks.push(value);\r\n                    receivedSize += value.length;\r\n\r\n                    const progress = totalSize ? Math.round((receivedSize \/ totalSize) * 100) : 0;\r\n                    updateDownloadProgress(`Downloading video... ${progress}%`, progress);\r\n\r\n                    if (downloadCancelled) {\r\n                        throw new Error('AbortError');\r\n                    }\r\n                }\r\n\r\n                updateDownloadProgress('Processing video...', 95);\r\n\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 blob = new Blob([chunksAll], { type: 'video\/mp4' });\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 = `tiktok-${currentVideo.id || 'video'}.mp4`;\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                updateDownloadProgress('Video downloaded successfully!', 100);\r\n                console.log('Video download completed successfully');\r\n\r\n                activeDownloads = activeDownloads.filter(c => c !== controller);\r\n\r\n                setTimeout(hideDownloadProgress, 2000);\r\n            } catch (error) {\r\n                if (error.name === 'AbortError' || error.message === 'AbortError') {\r\n                    console.log('Video download cancelled');\r\n                } else {\r\n                    console.error('Download failed:', error);\r\n                    showError(`Failed to download video: ${error.message}`);\r\n                }\r\n            } finally {\r\n                isDownloading = false;\r\n            }\r\n        }\r\n\r\n        async function downloadVideoFromCard(event, videoIndex) {\r\n            event.stopPropagation();\r\n\r\n            const video = allVideos[videoIndex];\r\n            if (!video) {\r\n                showError('Video not found');\r\n                return;\r\n            }\r\n\r\n            if (isDownloading) {\r\n                showError('Another download is in progress');\r\n                return;\r\n            }\r\n\r\n            isDownloading = true;\r\n            downloadCancelled = false;\r\n            showDownloadProgress(`Downloading video ${videoIndex + 1}...`, 0);\r\n\r\n            try {\r\n                const controller = new AbortController();\r\n                activeDownloads.push(controller);\r\n\r\n                const response = await fetch(video.play, {\r\n                    signal: controller.signal\r\n                });\r\n\r\n                if (!response.ok) throw new Error(`HTTP error! status: ${response.status}`);\r\n\r\n                const totalSize = parseInt(response.headers.get('content-length') || '0');\r\n                const reader = response.body.getReader();\r\n                let receivedSize = 0;\r\n                const chunks = [];\r\n\r\n                while (true) {\r\n                    const { done, value } = await reader.read();\r\n\r\n                    if (done) break;\r\n\r\n                    chunks.push(value);\r\n                    receivedSize += value.length;\r\n\r\n                    const progress = totalSize ? Math.round((receivedSize \/ totalSize) * 100) : 0;\r\n                    updateDownloadProgress(`Downloading video ${videoIndex + 1}... ${progress}%`, progress);\r\n\r\n                    if (downloadCancelled) {\r\n                        throw new Error('AbortError');\r\n                    }\r\n                }\r\n\r\n                updateDownloadProgress('Processing video...', 95);\r\n\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 blob = new Blob([chunksAll], { type: 'video\/mp4' });\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 = `tiktok-${video.id || `video-${videoIndex + 1}`}.mp4`;\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                updateDownloadProgress('Video downloaded successfully!', 100);\r\n                console.log('Video download completed successfully');\r\n\r\n                activeDownloads = activeDownloads.filter(c => c !== controller);\r\n\r\n                setTimeout(hideDownloadProgress, 2000);\r\n            } catch (error) {\r\n                if (error.name === 'AbortError' || error.message === 'AbortError') {\r\n                    console.log('Video download cancelled');\r\n                } else {\r\n                    console.error('Download failed:', error);\r\n                    showError(`Failed to download video: ${error.message}`);\r\n                }\r\n            } finally {\r\n                isDownloading = false;\r\n            }\r\n        }\r\n\r\n        async function downloadAllVideos() {\r\n            if (allVideos.length === 0 || isDownloading) return;\r\n\r\n            isDownloading = true;\r\n            downloadCancelled = false;\r\n            const downloadBtn = document.getElementById('downloadAllBtn');\r\n            const originalText = downloadBtn.innerHTML;\r\n\r\n            downloadBtn.innerHTML = '<i class=\"fas fa-spinner fa-spin\"><\/i> Downloading...';\r\n            downloadBtn.disabled = true;\r\n\r\n            showDownloadProgress(`Starting download of ${allVideos.length} videos...`, 0);\r\n\r\n            let successCount = 0;\r\n            let failCount = 0;\r\n\r\n            try {\r\n                for (let i = 0; i < allVideos.length; i++) {\r\n                    if (downloadCancelled) break;\r\n\r\n                    const video = allVideos[i];\r\n\r\n                    try {\r\n                        const controller = new AbortController();\r\n                        activeDownloads.push(controller);\r\n\r\n                        updateDownloadProgress(`Downloading video ${i + 1} of ${allVideos.length}...`, Math.round((i \/ allVideos.length) * 100));\r\n\r\n                        const response = await fetch(video.play, {\r\n                            signal: controller.signal\r\n                        });\r\n\r\n                        if (!response.ok) throw new Error(`HTTP error! status: ${response.status}`);\r\n\r\n                        const blob = await response.blob();\r\n                        const url = URL.createObjectURL(blob);\r\n                        const a = document.createElement('a');\r\n                        a.href = url;\r\n                        a.download = `tiktok-${video.id || `video-${i + 1}`}.mp4`;\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                        successCount++;\r\n                        console.log(`Video ${i + 1} downloaded successfully`);\r\n\r\n                        activeDownloads = activeDownloads.filter(c => c !== controller);\r\n\r\n                        if (i < allVideos.length - 1 && !downloadCancelled) {\r\n                            await new Promise(resolve => setTimeout(resolve, 1000));\r\n                        }\r\n                    } catch (error) {\r\n                        if (error.name === 'AbortError' || error.message === 'AbortError') {\r\n                            console.log(`Video ${i + 1} download cancelled`);\r\n                            break;\r\n                        } else {\r\n                            failCount++;\r\n                            console.error(`Failed to download video ${i + 1}:`, error);\r\n                        }\r\n                    }\r\n                }\r\n\r\n                if (downloadCancelled) {\r\n                    updateDownloadProgress('Downloads cancelled', 0);\r\n                } else {\r\n                    updateDownloadProgress(`Downloads completed! ${successCount} successful, ${failCount} failed`, 100);\r\n                }\r\n\r\n                setTimeout(hideDownloadProgress, 3000);\r\n\r\n            } catch (error) {\r\n                console.error('Bulk download failed:', error);\r\n                showError('Bulk download encountered errors');\r\n                hideDownloadProgress();\r\n            } finally {\r\n                isDownloading = false;\r\n                downloadCancelled = false;\r\n                downloadBtn.innerHTML = originalText;\r\n                downloadBtn.disabled = false;\r\n                activeDownloads = [];\r\n            }\r\n        }\r\n\r\n        function showDownloadProgress(text, progress = 0) {\r\n            const progressElement = document.getElementById('downloadProgress');\r\n            const downloadText = document.getElementById('downloadText');\r\n            const progressFill = document.getElementById('downloadProgressFill');\r\n\r\n            downloadText.textContent = text;\r\n            progressFill.style.width = `${progress}%`;\r\n            progressElement.classList.add('show');\r\n        }\r\n\r\n        function updateDownloadProgress(text, progress = 0) {\r\n            const downloadText = document.getElementById('downloadText');\r\n            const progressFill = document.getElementById('downloadProgressFill');\r\n\r\n            downloadText.textContent = text;\r\n            progressFill.style.width = `${progress}%`;\r\n        }\r\n\r\n        function hideDownloadProgress() {\r\n            const progress = document.getElementById('downloadProgress');\r\n            progress.classList.remove('show');\r\n        }\r\n\r\n        function togglePlay() {\r\n            const videoPlayer = document.getElementById('videoPlayer');\r\n            const playIcon = document.getElementById('playIcon');\r\n\r\n            if (videoPlayer.paused) {\r\n                videoPlayer.play();\r\n                playIcon.className = 'fas fa-pause';\r\n            } else {\r\n                videoPlayer.pause();\r\n                playIcon.className = 'fas fa-play';\r\n            }\r\n        }\r\n\r\n        function toggleMute() {\r\n            const videoPlayer = document.getElementById('videoPlayer');\r\n\r\n            if (isMuted) {\r\n                isMuted = false;\r\n                videoPlayer.muted = false;\r\n                videoPlayer.volume = currentVolume;\r\n            } else {\r\n                isMuted = true;\r\n                videoPlayer.muted = true;\r\n            }\r\n\r\n            updateVolumeIcon();\r\n            updateVolumeDisplay();\r\n        }\r\n\r\n        function updateVolumeIcon() {\r\n            const volumeIcon = document.getElementById('volumeIcon');\r\n            if (isMuted) {\r\n                volumeIcon.className = 'fas fa-volume-mute';\r\n            } else if (currentVolume > 0.5) {\r\n                volumeIcon.className = 'fas fa-volume-up';\r\n            } else if (currentVolume > 0) {\r\n                volumeIcon.className = 'fas fa-volume-down';\r\n            } else {\r\n                volumeIcon.className = 'fas fa-volume-mute';\r\n            }\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            } else {\r\n                isMuted = false;\r\n                videoPlayer.muted = false;\r\n            }\r\n\r\n            updateVolumeIcon();\r\n            updateVolumeDisplay();\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 updateVideoProgress() {\r\n            const videoPlayer = document.getElementById('videoPlayer');\r\n            const progressBar = document.getElementById('progressBar');\r\n            const progress = (videoPlayer.currentTime \/ videoPlayer.duration) * 100;\r\n            progressBar.style.width = `${progress}%`;\r\n        }\r\n\r\n        function seekVideo(event) {\r\n            const videoPlayer = document.getElementById('videoPlayer');\r\n            const progressContainer = event.currentTarget;\r\n            const rect = progressContainer.getBoundingClientRect();\r\n            const pos = (event.clientX - rect.left) \/ rect.width;\r\n            videoPlayer.currentTime = pos * videoPlayer.duration;\r\n        }\r\n\r\n        function onVideoEnd() {\r\n            const playIcon = document.getElementById('playIcon');\r\n            playIcon.className = 'fas fa-play';\r\n        }\r\n\r\n        function toggleFullscreen() {\r\n            const modal = document.getElementById('videoModal');\r\n            const fullscreenIcon = document.getElementById('fullscreenIcon');\r\n\r\n            if (!isFullscreen) {\r\n                if (modal.requestFullscreen) {\r\n                    modal.requestFullscreen();\r\n                } else if (modal.webkitRequestFullscreen) {\r\n                    modal.webkitRequestFullscreen();\r\n                } else if (modal.msRequestFullscreen) {\r\n                    modal.msRequestFullscreen();\r\n                }\r\n                isFullscreen = true;\r\n                fullscreenIcon.className = 'fas fa-compress';\r\n            } else {\r\n                exitFullscreen();\r\n            }\r\n        }\r\n\r\n        function exitFullscreen() {\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            document.getElementById('fullscreenIcon').className = 'fas fa-expand';\r\n        }\r\n\r\n        function showLoading() {\r\n            document.getElementById('loading').style.display = 'flex';\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.style.display = 'flex';\r\n\r\n            \/\/ Auto-close after 10 seconds\r\n            setTimeout(() => {\r\n                hideError();\r\n            }, 10000);\r\n        }\r\n\r\n        function hideError() {\r\n            document.getElementById('errorMessage').style.display = 'none';\r\n        }\r\n\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        \/\/ Event Listeners\r\n        document.getElementById('usernameInput').addEventListener('keypress', (e) => {\r\n            if (e.key === 'Enter' && !isProcessing) {\r\n                searchProfile();\r\n            }\r\n        });\r\n\r\n        \/\/ Close modals when clicking outside\r\n        document.getElementById('videoModal').addEventListener('click', (e) => {\r\n            if (e.target === document.getElementById('videoModal')) {\r\n                closeVideoModal();\r\n            }\r\n        });\r\n\r\n        document.getElementById('profileModal').addEventListener('click', (e) => {\r\n            if (e.target === document.getElementById('profileModal')) {\r\n                closeProfileModal();\r\n            }\r\n        });\r\n\r\n        \/\/ Handle fullscreen change events\r\n        document.addEventListener('fullscreenchange', () => {\r\n            isFullscreen = !!document.fullscreenElement;\r\n            const fullscreenIcon = document.getElementById('fullscreenIcon');\r\n            fullscreenIcon.className = isFullscreen ? 'fas fa-compress' : 'fas fa-expand';\r\n        });\r\n\r\n        document.addEventListener('webkitfullscreenchange', () => {\r\n            isFullscreen = !!document.webkitFullscreenElement;\r\n            const fullscreenIcon = document.getElementById('fullscreenIcon');\r\n            fullscreenIcon.className = isFullscreen ? 'fas fa-compress' : 'fas fa-expand';\r\n        });\r\n\r\n        \/\/ Keyboard shortcuts\r\n        document.addEventListener('keydown', (e) => {\r\n            if (document.getElementById('videoModal').style.display === 'block') {\r\n                switch (e.key) {\r\n                    case ' ':\r\n                        e.preventDefault();\r\n                        togglePlay();\r\n                        break;\r\n                    case 'Escape':\r\n                        closeVideoModal();\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            if (document.getElementById('profileModal').style.display === 'block') {\r\n                if (e.key === 'Escape') {\r\n                    closeProfileModal();\r\n                }\r\n            }\r\n        });\r\n    <\/script>\r\n    <\/div>\r\n<style>\r\n        \/* Prefixed CSS Variables *\/\r\n        :root {\r\n            --tt-post-primary: #000000;\r\n            --tt-post-secondary: #25F4EE;\r\n            --tt-post-accent: #FE2C55;\r\n            --tt-post-purple: #833AB4;\r\n            --tt-post-text-dark: #030303;\r\n            --tt-post-text-light: #606060;\r\n            --tt-post-bg-light: #f9f9f9;\r\n            --tt-post-border-light: #e5e5e5;\r\n            --tt-post-success: #34a853;\r\n            --tt-post-warning: #fbbc05;\r\n        }\r\n        \r\n  \r\n        \r\n        \/* Prefixed Section Styles *\/\r\n        .tt-post-section {\r\n            padding: 80px 0;\r\n            position: relative;\r\n        }\r\n        \r\n        .tt-post-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        .tt-post-section-description {\r\n            font-size: 1.25rem;\r\n            color: var(--tt-post-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        #tt-post-hero {\r\n            background: linear-gradient(135deg, var(--tt-post-primary), var(--tt-post-purple), var(--tt-post-accent));\r\n            color: white;\r\n            padding: 120px 0;\r\n            position: relative;\r\n            overflow: hidden;\r\n        }\r\n        \r\n        #tt-post-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(37, 244, 238, 0.2) 0%, transparent 50%),\r\n                radial-gradient(circle at 80% 80%, rgba(254, 44, 85, 0.2) 0%, transparent 50%),\r\n                radial-gradient(circle at 40% 20%, rgba(131, 58, 180, 0.2) 0%, transparent 50%);\r\n        }\r\n        \r\n        .tt-post-hero-content {\r\n            position: relative;\r\n            z-index: 2;\r\n        }\r\n        \r\n        .tt-post-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        .tt-post-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        .tt-post-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        .tt-post-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        .tt-post-btn-primary-hero {\r\n            background-color: var(--tt-post-secondary);\r\n            color: var(--tt-post-primary);\r\n            border: none;\r\n            box-shadow: 0 4px 15px rgba(0,0,0,0.2);\r\n        }\r\n        \r\n        .tt-post-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(--tt-post-primary);\r\n        }\r\n        \r\n        .tt-post-btn-secondary-hero {\r\n            background-color: transparent;\r\n            color: white;\r\n            border: 2px solid white;\r\n        }\r\n        \r\n        .tt-post-btn-secondary-hero:hover {\r\n            background-color: white;\r\n            color: var(--tt-post-primary);\r\n            transform: translateY(-3px);\r\n        }\r\n        \r\n        .tt-post-url-container {\r\n            max-width: 700px;\r\n            margin: 0 auto;\r\n            position: relative;\r\n        }\r\n        \r\n        .tt-post-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        .tt-post-url-btn {\r\n            position: absolute;\r\n            right: 8px;\r\n            top: 50%;\r\n            transform: translateY(-50%);\r\n            background-color: var(--tt-post-secondary);\r\n            color: var(--tt-post-primary);\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        .tt-post-url-btn:hover {\r\n            background-color: var(--tt-post-accent);\r\n            transform: translateY(-50%) scale(1.05);\r\n        }\r\n        \r\n        .tt-post-phone-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: 30px;\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        .tt-post-mockup-header {\r\n            height: 30px;\r\n            background-color: var(--tt-post-primary);\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            position: relative;\r\n        }\r\n        \r\n        .tt-post-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(--tt-post-secondary), var(--tt-post-accent));\r\n            opacity: 0.7;\r\n        }\r\n        \r\n        .tt-post-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        .tt-post-mockup-video {\r\n            width: 100%;\r\n            height: 100%;\r\n            object-fit: cover;\r\n        }\r\n        \r\n        .tt-post-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        .tt-post-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(--tt-post-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        .tt-post-mockup-play-btn:hover {\r\n            transform: scale(1.1);\r\n        }\r\n        \r\n        .tt-post-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        .tt-post-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        .tt-post-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        .tt-post-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        .tt-post-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        .tt-post-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        .tt-post-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        #tt-post-how-it-works {\r\n            background-color: var(--tt-post-bg-light);\r\n        }\r\n        \r\n        .tt-post-steps-container {\r\n            max-width: 1000px;\r\n            margin: 0 auto;\r\n        }\r\n        \r\n        .tt-post-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(--tt-post-border-light);\r\n            position: relative;\r\n            overflow: hidden;\r\n        }\r\n        \r\n        .tt-post-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(--tt-post-secondary), var(--tt-post-accent));\r\n        }\r\n        \r\n        .tt-post-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        .tt-post-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(--tt-post-secondary), var(--tt-post-accent));\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        .tt-post-step-icon {\r\n            font-size: 3rem;\r\n            background: linear-gradient(135deg, var(--tt-post-secondary), var(--tt-post-accent));\r\n            -webkit-background-clip: text;\r\n            background-clip: text;\r\n            color: transparent;\r\n            margin-bottom: 20px;\r\n        }\r\n        \r\n        .tt-post-step-title {\r\n            font-size: 1.5rem;\r\n            font-weight: 600;\r\n            margin-bottom: 15px;\r\n            color: var(--tt-post-text-dark);\r\n        }\r\n        \r\n        .tt-post-step-description {\r\n            font-size: 1.1rem;\r\n            color: var(--tt-post-text-light);\r\n            line-height: 1.6;\r\n        }\r\n        \r\n        .tt-post-arrow {\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            margin: 20px 0;\r\n        }\r\n        \r\n        .tt-post-arrow i {\r\n            font-size: 2rem;\r\n            background: linear-gradient(135deg, var(--tt-post-secondary), var(--tt-post-accent));\r\n            -webkit-background-clip: text;\r\n            background-clip: text;\r\n            color: transparent;\r\n        }\r\n        \r\n        \/* Prefixed Benefits Section *\/\r\n        #tt-post-benefits {\r\n            background-color: white;\r\n        }\r\n        \r\n        .tt-post-benefits-container {\r\n            max-width: 1000px;\r\n            margin: 0 auto;\r\n        }\r\n        \r\n        .tt-post-benefits-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        .tt-post-benefit-card {\r\n            background-color: var(--tt-post-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        .tt-post-benefit-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        .tt-post-benefit-icon {\r\n            font-size: 2.5rem;\r\n            margin-bottom: 15px;\r\n            background: linear-gradient(135deg, var(--tt-post-secondary), var(--tt-post-accent));\r\n            -webkit-background-clip: text;\r\n            background-clip: text;\r\n            color: transparent;\r\n        }\r\n        \r\n        .tt-post-benefit-title {\r\n            font-size: 1.2rem;\r\n            font-weight: 600;\r\n            margin-bottom: 10px;\r\n            color: var(--tt-post-text-dark);\r\n        }\r\n        \r\n        .tt-post-benefit-description {\r\n            font-size: 1rem;\r\n            color: var(--tt-post-text-light);\r\n            line-height: 1.5;\r\n        }\r\n        \r\n        \/* Prefixed FAQ Section *\/\r\n        #tt-post-faq {\r\n            background-color: var(--tt-post-bg-light);\r\n        }\r\n        \r\n        .tt-post-faq-container {\r\n            max-width: 800px;\r\n            margin: 0 auto;\r\n        }\r\n        \r\n        .tt-post-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        .tt-post-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(--tt-post-text-dark);\r\n            border: none;\r\n            box-shadow: none;\r\n        }\r\n        \r\n        .tt-post-accordion-button:not(.collapsed) {\r\n            color: var(--tt-post-primary);\r\n            background-color: white;\r\n            box-shadow: none;\r\n        }\r\n        \r\n        .tt-post-accordion-button:focus {\r\n            box-shadow: none;\r\n            border: none;\r\n        }\r\n        \r\n        .tt-post-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='%23000000'%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        .tt-post-accordion-body {\r\n            padding: 5px 25px 25px;\r\n            font-size: 1.1rem;\r\n            color: var(--tt-post-text-light);\r\n            line-height: 1.7;\r\n        }\r\n        \r\n        \/* Prefixed Modal Styles *\/\r\n        .tt-post-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        .tt-post-modal-header {\r\n            background: linear-gradient(135deg, var(--tt-post-primary), var(--tt-post-purple));\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        .tt-post-modal-title {\r\n            font-size: 1.5rem;\r\n            font-weight: 700;\r\n        }\r\n        \r\n        .tt-post-btn-close {\r\n            filter: brightness(0) invert(1);\r\n            opacity: 0.8;\r\n        }\r\n        \r\n        .tt-post-btn-close:hover {\r\n            opacity: 1;\r\n        }\r\n        \r\n        .tt-post-modal-body {\r\n            padding: 30px;\r\n        }\r\n        \r\n        .tt-post-form-control {\r\n            border-radius: 10px;\r\n            border: 1px solid var(--tt-post-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        .tt-post-form-control:focus {\r\n            border-color: var(--tt-post-secondary);\r\n            box-shadow: 0 0 0 0.2rem rgba(37, 244, 238, 0.25);\r\n        }\r\n        \r\n        .tt-post-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        .tt-post-form-check-label {\r\n            font-size: 1.1rem;\r\n            padding-left: 10px;\r\n        }\r\n        \r\n        .tt-post-modal-footer {\r\n            padding: 20px 30px;\r\n            border: none;\r\n        }\r\n        \r\n        .tt-post-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            .tt-post-section {\r\n                padding: 60px 0;\r\n            }\r\n            \r\n            .tt-post-section-heading {\r\n                font-size: 2.2rem;\r\n            }\r\n            \r\n            .tt-post-section-description {\r\n                font-size: 1.1rem;\r\n            }\r\n            \r\n            .tt-post-hero-title {\r\n                font-size: 2.5rem;\r\n            }\r\n            \r\n            .tt-post-hero-subtitle {\r\n                font-size: 1.2rem;\r\n            }\r\n            \r\n            .tt-post-btn-container {\r\n                flex-direction: column;\r\n                align-items: center;\r\n            }\r\n            \r\n            .tt-post-btn-hero {\r\n                width: 250px;\r\n            }\r\n            \r\n            .tt-post-step-card {\r\n                margin-bottom: 30px;\r\n            }\r\n            \r\n            .tt-post-arrow {\r\n                transform: rotate(90deg);\r\n            }\r\n        }\r\n    <\/style>\r\n\r\n <!-- Prefixed Hero Section -->\r\n    \r\n\r\n    <!-- Prefixed How It Works Section -->\r\n    <section id=\"tt-post-how-it-works\" class=\"tt-post-section\">\r\n        <div class=\"container\">\r\n            <h2 class=\"tt-post-section-heading\" data-aos=\"fade-up\">How It Works<\/h2>\r\n            <p class=\"tt-post-section-description\" data-aos=\"fade-up\" data-aos-delay=\"100\">Simple steps to view TikTok posts anonymously<\/p>\r\n            \r\n            <div class=\"tt-post-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=\"tt-post-step-card\">\r\n                            <div class=\"tt-post-step-number\">1<\/div>\r\n                            <div class=\"tt-post-step-icon\">\r\n                                <i class=\"fas fa-copy\"><\/i>\r\n                            <\/div>\r\n                            <h3 class=\"tt-post-step-title\">Copy the TikTok post link<\/h3>\r\n                            <p class=\"tt-post-step-description\">Find the TikTok post you want to watch and copy its URL<\/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=\"tt-post-arrow\">\r\n                            <i class=\"fas fa-arrow-right\"><\/i>\r\n                        <\/div>\r\n                        <div class=\"tt-post-step-card\">\r\n                            <div class=\"tt-post-step-number\">2<\/div>\r\n                            <div class=\"tt-post-step-icon\">\r\n                                <i class=\"fas fa-paste\"><\/i>\r\n                            <\/div>\r\n                            <h3 class=\"tt-post-step-title\">Paste it into the viewer<\/h3>\r\n                            <p class=\"tt-post-step-description\">Paste the copied link into our secure viewer tool<\/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=\"tt-post-arrow\">\r\n                            <i class=\"fas fa-arrow-right\"><\/i>\r\n                        <\/div>\r\n                        <div class=\"tt-post-step-card\">\r\n                            <div class=\"tt-post-step-number\">3<\/div>\r\n                            <div class=\"tt-post-step-icon\">\r\n                                <i class=\"fas fa-eye-slash\"><\/i>\r\n                            <\/div>\r\n                            <h3 class=\"tt-post-step-title\">Enjoy the post without being tracked<\/h3>\r\n                            <p class=\"tt-post-step-description\">Watch the TikTok video instantly and completely anonymously<\/p>\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/section>\r\n\r\n    <!-- Prefixed Benefits Section -->\r\n    <section id=\"tt-post-benefits\" class=\"tt-post-section\">\r\n        <div class=\"container\">\r\n            <h2 class=\"tt-post-section-heading\" data-aos=\"fade-up\">Why Use Our TikTok Post Viewer?<\/h2>\r\n            <p class=\"tt-post-section-description\" data-aos=\"fade-up\" data-aos-delay=\"100\">Discover the advantages of our anonymous TikTok viewer<\/p>\r\n            \r\n            <div class=\"tt-post-benefits-container\">\r\n                <div class=\"tt-post-benefits-grid\">\r\n                    <div class=\"tt-post-benefit-card\" data-aos=\"fade-up\" data-aos-delay=\"200\">\r\n                        <div class=\"tt-post-benefit-icon\">\r\n                            <i class=\"fas fa-user-secret\"><\/i>\r\n                        <\/div>\r\n                        <h3 class=\"tt-post-benefit-title\">Anonymous Viewing<\/h3>\r\n                        <p class=\"tt-post-benefit-description\">Watch TikTok posts without revealing your identity or leaving any trace<\/p>\r\n                    <\/div>\r\n                    \r\n                    <div class=\"tt-post-benefit-card\" data-aos=\"fade-up\" data-aos-delay=\"300\">\r\n                        <div class=\"tt-post-benefit-icon\">\r\n                            <i class=\"fas fa-bolt\"><\/i>\r\n                        <\/div>\r\n                        <h3 class=\"tt-post-benefit-title\">Instant Access<\/h3>\r\n                        <p class=\"tt-post-benefit-description\">No waiting, no buffering - get immediate access to any TikTok post<\/p>\r\n                    <\/div>\r\n                    \r\n                    <div class=\"tt-post-benefit-card\" data-aos=\"fade-up\" data-aos-delay=\"400\">\r\n                        <div class=\"tt-post-benefit-icon\">\r\n                            <i class=\"fas fa-download\"><\/i>\r\n                        <\/div>\r\n                        <h3 class=\"tt-post-benefit-title\">Save Videos Easily<\/h3>\r\n                        <p class=\"tt-post-benefit-description\">Download your favorite TikTok videos for offline viewing<\/p>\r\n                    <\/div>\r\n                    \r\n                    <div class=\"tt-post-benefit-card\" data-aos=\"fade-up\" data-aos-delay=\"500\">\r\n                        <div class=\"tt-post-benefit-icon\">\r\n                            <i class=\"fas fa-mobile-alt\"><\/i>\r\n                        <\/div>\r\n                        <h3 class=\"tt-post-benefit-title\">No App Required<\/h3>\r\n                        <p class=\"tt-post-benefit-description\">Access TikTok content directly from your browser<\/p>\r\n                    <\/div>\r\n                    \r\n                    <div class=\"tt-post-benefit-card\" data-aos=\"fade-up\" data-aos-delay=\"600\">\r\n                        <div class=\"tt-post-benefit-icon\">\r\n                            <i class=\"fas fa-gift\"><\/i>\r\n                        <\/div>\r\n                        <h3 class=\"tt-post-benefit-title\">100% Free Forever<\/h3>\r\n                        <p class=\"tt-post-benefit-description\">Enjoy all features without any hidden costs or subscriptions<\/p>\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=\"tt-post-faq\" class=\"tt-post-section\">\r\n        <div class=\"container\">\r\n            <h2 class=\"tt-post-section-heading\" data-aos=\"fade-up\">Frequently Asked Questions<\/h2>\r\n            <p class=\"tt-post-section-description\" data-aos=\"fade-up\" data-aos-delay=\"100\">Get answers to common questions about our TikTok Post Viewer<\/p>\r\n            \r\n            <div class=\"tt-post-faq-container\">\r\n                <div class=\"accordion\" id=\"tt-post-faqAccordion\">\r\n                    <div class=\"tt-post-accordion-item\" data-aos=\"fade-up\" data-aos-delay=\"200\">\r\n                        <h2 class=\"accordion-header\" id=\"tt-post-headingOne\">\r\n                            <button class=\"tt-post-accordion-button\" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#tt-post-collapseOne\" aria-expanded=\"true\" aria-controls=\"tt-post-collapseOne\">\r\n                                Can I watch private TikTok posts?\r\n                            <\/button>\r\n                        <\/h2>\r\n                        <div id=\"tt-post-collapseOne\" class=\"accordion-collapse collapse show\" aria-labelledby=\"tt-post-headingOne\" data-bs-parent=\"#tt-post-faqAccordion\">\r\n                            <div class=\"tt-post-accordion-body\">\r\n                                No, our tool can only access public TikTok posts. We respect TikTok's privacy settings and cannot bypass any privacy restrictions. If a post 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=\"tt-post-accordion-item\" data-aos=\"fade-up\" data-aos-delay=\"300\">\r\n                        <h2 class=\"accordion-header\" id=\"tt-post-headingTwo\">\r\n                            <button class=\"tt-post-accordion-button collapsed\" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#tt-post-collapseTwo\" aria-expanded=\"false\" aria-controls=\"tt-post-collapseTwo\">\r\n                                Will the user know I viewed their post?\r\n                            <\/button>\r\n                        <\/h2>\r\n                        <div id=\"tt-post-collapseTwo\" class=\"accordion-collapse collapse\" aria-labelledby=\"tt-post-headingTwo\" data-bs-parent=\"#tt-post-faqAccordion\">\r\n                            <div class=\"tt-post-accordion-body\">\r\n                                No, the TikTok user will not know that you viewed their post. Our viewer works anonymously and doesn't leave any trace of your activity. TikTok doesn't notify users when someone views their public posts through our system.\r\n                            <\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n                    \r\n                    <div class=\"tt-post-accordion-item\" data-aos=\"fade-up\" data-aos-delay=\"400\">\r\n                        <h2 class=\"accordion-header\" id=\"tt-post-headingThree\">\r\n                            <button class=\"tt-post-accordion-button collapsed\" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#tt-post-collapseThree\" aria-expanded=\"false\" aria-controls=\"tt-post-collapseThree\">\r\n                                Can I download the post content?\r\n                            <\/button>\r\n                        <\/h2>\r\n                        <div id=\"tt-post-collapseThree\" class=\"accordion-collapse collapse\" aria-labelledby=\"tt-post-headingThree\" data-bs-parent=\"#tt-post-faqAccordion\">\r\n                            <div class=\"tt-post-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                <\/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":"","_et_gb_content_width":"","footnotes":""},"class_list":["post-278","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/viewri.com\/wp-json\/wp\/v2\/pages\/278","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=278"}],"version-history":[{"count":4,"href":"https:\/\/viewri.com\/wp-json\/wp\/v2\/pages\/278\/revisions"}],"predecessor-version":[{"id":1282,"href":"https:\/\/viewri.com\/wp-json\/wp\/v2\/pages\/278\/revisions\/1282"}],"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=278"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}