{"id":5547,"date":"2026-02-16T00:00:28","date_gmt":"2026-02-16T00:00:28","guid":{"rendered":"https:\/\/ary-themes.com\/?page_id=5547"},"modified":"2026-03-04T08:53:22","modified_gmt":"2026-03-04T08:53:22","slug":"facebook-account","status":"publish","type":"page","link":"https:\/\/ary-themes.com\/tools\/social-viewer\/facebook-account\/","title":{"rendered":"Facebook Account Viewer &#8211; Profile Tool"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"5547\" class=\"elementor elementor-5547\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4280ee53 e-con-full e-flex e-con e-parent\" data-id=\"4280ee53\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-10ab0048 elementor-widget elementor-widget-shortcode\" data-id=\"10ab0048\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">    <link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap\"\r\n        rel=\"stylesheet\">\r\n    <link href=\"https:\/\/fonts.googleapis.com\/css2?family=JetBrains+Mono:wght@400;500;600&display=swap\" rel=\"stylesheet\">\r\n    <link rel=\"stylesheet\" href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/font-awesome\/6.4.0\/css\/all.min.css\">\r\n    <style>\r\n        :root {\r\n            \/* Professional Color System *\/\r\n            --bg-primary: #1a2a3a;\r\n            --bg-secondary: #0f1a26;\r\n            --primary-50: #e6f0ff;\r\n            --primary-100: #cce0ff;\r\n            --primary-200: #99c0ff;\r\n            --primary-300: #66a0ff;\r\n            --primary-400: #3380ff;\r\n            --primary-500: #0060ff;\r\n            --primary-600: #0050e0;\r\n            --primary-700: #0040c0;\r\n            --primary-800: #0030a0;\r\n            --primary-900: #002080;\r\n\r\n            --secondary-50: #e6f7ff;\r\n            --secondary-100: #cceeff;\r\n            --secondary-200: #99ddff;\r\n            --secondary-300: #66ccff;\r\n            --secondary-400: #33bbff;\r\n            --secondary-500: #00aaff;\r\n            --secondary-600: #0090e0;\r\n            --secondary-700: #0070c0;\r\n            --secondary-800: #0050a0;\r\n            --secondary-900: #003080;\r\n\r\n            --accent-50: #e6f5ff;\r\n            --accent-100: #cceaff;\r\n            --accent-200: #99d5ff;\r\n            --accent-300: #66c0ff;\r\n            --accent-400: #33abff;\r\n            --accent-500: #0096ff;\r\n            --accent-600: #0076e0;\r\n            --accent-700: #0056c0;\r\n            --accent-800: #0036a0;\r\n            --accent-900: #001680;\r\n\r\n            --success-50: #ecfdf5;\r\n            --success-100: #d1fae5;\r\n            --success-200: #a7f3d0;\r\n            --success-300: #6ee7b7;\r\n            --success-400: #34d399;\r\n            --success-500: #10b981;\r\n            --success-600: #059669;\r\n            --success-700: #047857;\r\n            --success-800: #065f46;\r\n            --success-900: #064e3b;\r\n\r\n            --warning-50: #fffbeb;\r\n            --warning-100: #fef3c7;\r\n            --warning-200: #fde68a;\r\n            --warning-300: #fcd34d;\r\n            --warning-400: #fbbf24;\r\n            --warning-500: #f59e0b;\r\n            --warning-600: #d97706;\r\n            --warning-700: #b45309;\r\n            --warning-800: #92400e;\r\n            --warning-900: #78350f;\r\n\r\n            \/* Neutral System *\/\r\n            --white: #ffffff;\r\n            --gray-25: #f8fafc;\r\n            --gray-50: #f1f5f9;\r\n            --gray-100: #e2e8f0;\r\n            --gray-200: #cbd5e1;\r\n            --gray-300: #94a3b8;\r\n            --gray-400: #64748b;\r\n            --gray-500: #475569;\r\n            --gray-600: #334155;\r\n            --gray-700: #1e293b;\r\n            --gray-800: #0f172a;\r\n            --gray-900: #020617;\r\n\r\n            \/* Professional Gradients *\/\r\n            --gradient-primary: linear-gradient(135deg, #0060ff 0%, #0096ff 50%, #00aaff 100%);\r\n            --gradient-secondary: linear-gradient(135deg, #0050e0 0%, #0076e0 50%, #0090e0 100%);\r\n            --gradient-accent: linear-gradient(135deg, #3380ff 0%, #66c0ff 50%, #99ddff 100%);\r\n            --gradient-success: linear-gradient(135deg, #10b981 0%, #34d399 50%, #6ee7b7 100%);\r\n            --gradient-warm: linear-gradient(135deg, #0060ff 0%, #00aaff 100%);\r\n            --gradient-cool: linear-gradient(135deg, #66a0ff 0%, #66ccff 50%, #99ddff 100%);\r\n            --gradient-dark: linear-gradient(135deg, #0030a0 0%, #0036a0 100%);\r\n            --gradient-mesh: radial-gradient(at 40% 20%, hsla(210, 100%, 60%, 0.15) 0px, transparent 50%),\r\n                radial-gradient(at 80% 0%, hsla(190, 100%, 50%, 0.15) 0px, transparent 50%),\r\n                radial-gradient(at 0% 50%, hsla(210, 100%, 70%, 0.1) 0px, transparent 50%),\r\n                radial-gradient(at 80% 50%, hsla(190, 100%, 60%, 0.1) 0px, transparent 50%),\r\n                radial-gradient(at 0% 100%, hsla(210, 100%, 65%, 0.12) 0px, transparent 50%),\r\n                radial-gradient(at 80% 100%, hsla(190, 100%, 55%, 0.12) 0px, transparent 50%),\r\n                radial-gradient(at 0% 0%, hsla(205, 100%, 65%, 0.1) 0px, transparent 50%);\r\n\r\n            \/* Advanced Shadows *\/\r\n            --shadow-xs: 0 1px 2px 0 rgb(0 0 0 \/ 0.05);\r\n            --shadow-sm: 0 1px 3px 0 rgb(0 0 0 \/ 0.1), 0 1px 2px -1px rgb(0 0 0 \/ 0.1);\r\n            --shadow-md: 0 4px 6px -1px rgb(0 0 0 \/ 0.1), 0 2px 4px -2px rgb(0 0 0 \/ 0.1);\r\n            --shadow-lg: 0 10px 15px -3px rgb(0 0 0 \/ 0.1), 0 4px 6px -4px rgb(0 0 0 \/ 0.1);\r\n            --shadow-xl: 0 20px 25px -5px rgb(0 0 0 \/ 0.1), 0 8px 10px -6px rgb(0 0 0 \/ 0.1);\r\n            --shadow-2xl: 0 25px 50px -12px rgb(0 0 0 \/ 0.25);\r\n            --shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 \/ 0.05);\r\n            --shadow-colored-primary: 0 20px 25px -5px rgba(0, 96, 255, 0.15), 0 8px 10px -6px rgba(0, 96, 255, 0.1);\r\n            --shadow-colored-secondary: 0 20px 25px -5px rgba(0, 170, 255, 0.15), 0 8px 10px -6px rgba(0, 170, 255, 0.1);\r\n            --shadow-colored-accent: 0 20px 25px -5px rgba(0, 150, 255, 0.15), 0 8px 10px -6px rgba(0, 150, 255, 0.1);\r\n\r\n            \/* Border Radius System *\/\r\n            --radius-none: 0;\r\n            --radius-sm: 0.125rem;\r\n            --radius: 0.25rem;\r\n            --radius-md: 0.375rem;\r\n            --radius-lg: 0.5rem;\r\n            --radius-xl: 0.75rem;\r\n            --radius-2xl: 1rem;\r\n            --radius-3xl: 1.5rem;\r\n            --radius-4xl: 2rem;\r\n            --radius-full: 9999px;\r\n\r\n            \/* Spacing System *\/\r\n            --space-px: 1px;\r\n            --space-0: 0;\r\n            --space-1: 0.25rem;\r\n            --space-2: 0.5rem;\r\n            --space-3: 0.75rem;\r\n            --space-4: 1rem;\r\n            --space-5: 1.25rem;\r\n            --space-6: 1.5rem;\r\n            --space-8: 2rem;\r\n            --space-10: 2.5rem;\r\n            --space-12: 3rem;\r\n            --space-16: 4rem;\r\n            --space-20: 5rem;\r\n            --space-24: 6rem;\r\n            --space-32: 8rem;\r\n\r\n            \/* Typography Scale *\/\r\n            --text-xs: 0.75rem;\r\n            --text-sm: 0.875rem;\r\n            --text-base: 1rem;\r\n            --text-lg: 1.125rem;\r\n            --text-xl: 1.25rem;\r\n            --text-2xl: 1.5rem;\r\n            --text-3xl: 1.875rem;\r\n            --text-4xl: 2.25rem;\r\n            --text-5xl: 3rem;\r\n            --text-6xl: 3.75rem;\r\n            --text-7xl: 4.5rem;\r\n            --text-8xl: 6rem;\r\n            --text-9xl: 8rem;\r\n\r\n            \/* Animation System *\/\r\n            --duration-75: 75ms;\r\n            --duration-100: 100ms;\r\n            --duration-150: 150ms;\r\n            --duration-200: 200ms;\r\n            --duration-300: 300ms;\r\n            --duration-500: 500ms;\r\n            --duration-700: 700ms;\r\n            --duration-1000: 1000ms;\r\n\r\n            --ease-linear: linear;\r\n            --ease-in: cubic-bezier(0.4, 0, 1, 1);\r\n            --ease-out: cubic-bezier(0, 0, 0.2, 1);\r\n            --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);\r\n            --ease-bounce: cubic-bezier(0.68, -0.55, 0.265, 1.55);\r\n            --ease-elastic: cubic-bezier(0.175, 0.885, 0.32, 1.275);\r\n        }\r\n\r\n        \/* Reset & Base *\/\r\n        .fb-wrapper *,\r\n        .fb-wrapper *::before,\r\n        .fb-wrapper *::after {\r\n            box-sizing: border-box;\r\n        }\r\n\r\n        .fb-wrapper {\r\n            font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\r\n            font-feature-settings: 'cv11', 'ss01';\r\n            font-variation-settings: 'opsz' 32;\r\n            background: linear-gradient(135deg, var(--bg-primary) 0%, var(--bg-secondary) 100%);\r\n            color: var(--gray-100);\r\n            line-height: 1.6;\r\n            -webkit-font-smoothing: antialiased;\r\n            -moz-osx-font-smoothing: grayscale;\r\n            text-rendering: optimizeLegibility;\r\n            overflow-x: hidden;\r\n            margin: 0;\r\n            padding: var(--space-8);\r\n        }\r\n\r\n        \/* Premium Background *\/\r\n        .bg-pattern {\r\n            position: fixed;\r\n            top: 0;\r\n            left: 0;\r\n            width: 100%;\r\n            height: 100%;\r\n            background: var(--gradient-mesh);\r\n            opacity: 0.4;\r\n            z-index: -2;\r\n        }\r\n\r\n        .bg-pattern::before {\r\n            content: '';\r\n            position: absolute;\r\n            inset: 0;\r\n            background:\r\n                radial-gradient(circle at 20% 80%, rgba(0, 96, 255, 0.1) 0%, transparent 50%),\r\n                radial-gradient(circle at 80% 20%, rgba(0, 150, 255, 0.1) 0%, transparent 50%),\r\n                radial-gradient(circle at 40% 40%, rgba(0, 170, 255, 0.1) 0%, transparent 50%);\r\n        }\r\n\r\n        .bg-overlay {\r\n            position: fixed;\r\n            inset: 0;\r\n            \/* background: linear-gradient(135deg, rgba(26, 42, 58, 0.95) 0%, rgba(15, 26, 38, 0.85) 100%); *\/\r\n            z-index: -1;\r\n        }\r\n\r\n        .video-meta {\r\n            display: flex;\r\n            justify-content: space-between;\r\n        }\r\n\r\n        @keyframes meshFloat {\r\n\r\n            0%,\r\n            100% {\r\n                transform: translateY(0px) rotate(0deg) scale(1);\r\n            }\r\n\r\n            33% {\r\n                transform: translateY(-20px) rotate(1deg) scale(1.02);\r\n            }\r\n\r\n            66% {\r\n                transform: translateY(10px) rotate(-1deg) scale(0.98);\r\n            }\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(-30px) rotate(2deg);\r\n            }\r\n        }\r\n\r\n        \/* Wrapper Container System *\/\r\n        .fb-wrapper-container {\r\n            max-width: 1200px;\r\n            margin: 0 auto !important;\r\n            padding: var(--space-8);\r\n            position: relative;\r\n        }\r\n\r\n        \/* Premium Header *\/\r\n        .fb-header-section {\r\n            text-align: center;\r\n            margin-bottom: var(--space-20);\r\n            animation: slideDown var(--duration-1000) var(--ease-elastic);\r\n            position: relative;\r\n        }\r\n\r\n        .fb-header-section::before {\r\n            content: '';\r\n            position: absolute;\r\n            top: -50%;\r\n            left: 50%;\r\n            width: 200%;\r\n            height: 200%;\r\n            background: radial-gradient(circle, rgba(0, 96, 255, 0.08) 0%, transparent 70%);\r\n            transform: translateX(-50%);\r\n            z-index: -1;\r\n        }\r\n\r\n        @keyframes slideDown {\r\n            from {\r\n                opacity: 0;\r\n                transform: translateY(-60px) scale(0.9);\r\n                filter: blur(10px);\r\n            }\r\n\r\n            to {\r\n                opacity: 1;\r\n                transform: translateY(0) scale(1);\r\n                filter: blur(0);\r\n            }\r\n        }\r\n\r\n        .fb-main-heading {\r\n            font-size: clamp(var(--text-4xl), 8vw, var(--text-7xl));\r\n            font-weight: 900;\r\n            background: var(--gradient-primary);\r\n            background-clip: text;\r\n            -webkit-background-clip: text;\r\n            -webkit-text-fill-color: white;\r\n            margin-bottom: var(--space-6);\r\n            letter-spacing: -0.04em;\r\n            line-height: 0.9;\r\n            position: relative;\r\n        }\r\n\r\n        .fb-main-heading::after {\r\n            content: '';\r\n            position: absolute;\r\n            bottom: -10px;\r\n            left: 50%;\r\n            width: 100px;\r\n            height: 4px;\r\n            background: var(--gradient-primary);\r\n            border-radius: var(--radius-full);\r\n            transform: translateX(-50%);\r\n            animation: shimmer 3s ease-in-out infinite;\r\n        }\r\n\r\n        @keyframes shimmer {\r\n\r\n            0%,\r\n            100% {\r\n                opacity: 0.5;\r\n                transform: translateX(-50%) scaleX(1);\r\n            }\r\n\r\n            50% {\r\n                opacity: 1;\r\n                transform: translateX(-50%) scaleX(1.2);\r\n            }\r\n        }\r\n\r\n        .fb-subtitle-text {\r\n            font-size: var(--text-xl);\r\n            color: var(--primary-300);\r\n            font-weight: 500;\r\n            max-width: 600px;\r\n            margin: 0 auto;\r\n            line-height: 1.7;\r\n        }\r\n\r\n        \/* Premium Search Section *\/\r\n        .search-section {\r\n            background: rgba(15, 26, 38, 0.8);\r\n            backdrop-filter: blur(10px);\r\n            border: 1px solid rgba(100, 160, 255, 0.2);\r\n            border-radius: var(--radius-4xl);\r\n            box-shadow: var(--shadow-2xl);\r\n            padding: var(--space-12);\r\n            margin-bottom: var(--space-16);\r\n            animation: slideUp var(--duration-1000) var(--ease-elastic) 0.2s both;\r\n            position: relative;\r\n            overflow: hidden;\r\n        }\r\n\r\n        .search-heading {\r\n            font-size: clamp(var(--text-4xl), 5vw, var(--text-5xl));\r\n            font-weight: 800;\r\n            background: linear-gradient(135deg, #0060ff 0%, #0096ff 50%, #00aaff 100%);\r\n            background-clip: text;\r\n            -webkit-background-clip: text;\r\n            -webkit-text-fill-color: transparent;\r\n            margin-bottom: var(--space-4);\r\n            text-align: center;\r\n            letter-spacing: -0.02em;\r\n            line-height: 1.2;\r\n            text-transform: capitalize;\r\n            filter: drop-shadow(0 2px 4px rgba(0, 96, 255, 0.2));\r\n        }\r\n\r\n        .search-intro {\r\n            font-size: var(--text-base);\r\n            color: var(--primary-300);\r\n            font-weight: 500;\r\n            width: 100%;\r\n            margin: 0 auto var(--space-8);\r\n            text-align: center;\r\n            line-height: 1.6;\r\n        }\r\n\r\n        .search-section::before {\r\n            content: '';\r\n            position: absolute;\r\n            top: 0;\r\n            left: -100%;\r\n            width: 100%;\r\n            height: 100%;\r\n            background: linear-gradient(90deg, transparent, rgba(0, 96, 255, 0.05), transparent);\r\n        }\r\n\r\n        @keyframes shine {\r\n            0% {\r\n                left: -100%;\r\n            }\r\n\r\n            50% {\r\n                left: 100%;\r\n            }\r\n\r\n            100% {\r\n                left: -100%;\r\n            }\r\n        }\r\n\r\n        @keyframes slideUp {\r\n            from {\r\n                opacity: 0;\r\n                transform: translateY(60px) scale(0.95);\r\n                filter: blur(5px);\r\n            }\r\n\r\n            to {\r\n                opacity: 1;\r\n                transform: translateY(0) scale(1);\r\n                filter: blur(0);\r\n            }\r\n        }\r\n\r\n        .search-form {\r\n            display: flex;\r\n            gap: var(--space-4);\r\n            max-width: 900px;\r\n            margin: 0 auto;\r\n            position: relative;\r\n            z-index: 2;\r\n        }\r\n\r\n        .input-group {\r\n            flex: 1;\r\n            position: relative;\r\n        }\r\n\r\n        .input-icon {\r\n            position: absolute;\r\n            left: var(--space-4);\r\n            top: 50%;\r\n            transform: translateY(-50%);\r\n            color: var(--gray-400);\r\n            font-size: var(--text-lg);\r\n            z-index: 3;\r\n            transition: all var(--duration-300) var(--ease-out);\r\n        }\r\n\r\n        .url-input {\r\n            width: 100% !important;\r\n            padding: var(--space-4) var(--space-4) var(--space-4) var(--space-12) !important;\r\n            border: 2px solid rgba(100, 160, 255, 0.2) !important;\r\n            border-radius: 12px !important;\r\n            font-size: var(--text-base) !important;\r\n            font-weight: 500 !important;\r\n            background: rgba(15, 26, 38, 0.6) !important;\r\n            color: var(--gray-100) !important;\r\n            transition: all var(--duration-300) var(--ease-out) !important;\r\n            font-family: inherit !important;\r\n            box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2) !important;\r\n        }\r\n\r\n        .url-input::placeholder {\r\n            color: var(--gray-500) !important;\r\n            font-weight: 400 !important;\r\n        }\r\n\r\n        .url-input:focus {\r\n            outline: none !important;\r\n            border-color: #0060ff !important;\r\n            box-shadow: 0 0 0 4px rgba(0, 96, 255, 0.2), 0 4px 6px -1px rgba(0, 0, 0, 0.2) !important;\r\n            transform: translateY(-2px) !important;\r\n            background: rgba(15, 26, 38, 0.8) !important;\r\n        }\r\n\r\n        .url-input:focus+.input-icon {\r\n            color: var(--primary-400);\r\n            transform: translateY(-50%) scale(1.1);\r\n        }\r\n\r\n        .analyze-btn {\r\n            background: linear-gradient(135deg, #0060ff 0%, #0096ff 50%, #00aaff 100%) !important;\r\n            color: var(--white) !important;\r\n            border: none !important;\r\n            padding: var(--space-4) var(--space-8) !important;\r\n            border-radius: 12px !important;\r\n            font-size: var(--text-base) !important;\r\n            font-weight: 700 !important;\r\n            cursor: pointer !important;\r\n            transition: all var(--duration-300) var(--ease-out) !important;\r\n            font-family: inherit !important;\r\n            white-space: nowrap !important;\r\n            position: relative !important;\r\n            overflow: hidden !important;\r\n            box-shadow: 0 4px 12px rgba(0, 96, 255, 0.3) !important;\r\n            letter-spacing: 0.025em !important;\r\n        }\r\n\r\n        .analyze-btn::before {\r\n            content: '';\r\n            position: absolute;\r\n            top: 0;\r\n            left: -100%;\r\n            width: 100%;\r\n            height: 100%;\r\n            background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);\r\n            transition: left var(--duration-700) var(--ease-out);\r\n        }\r\n\r\n        .analyze-btn:hover::before {\r\n            left: 100%;\r\n        }\r\n\r\n        .analyze-btn:hover {\r\n            transform: translateY(-3px) scale(1.02) !important;\r\n            box-shadow: var(--shadow-colored-primary) !important;\r\n        }\r\n\r\n        .analyze-btn:active {\r\n            transform: translateY(-1px) scale(0.98) !important;\r\n        }\r\n\r\n        .analyze-btn:disabled {\r\n            opacity: 0.7 !important;\r\n            cursor: not-allowed !important;\r\n            transform: none !important;\r\n        }\r\n\r\n        .error-message {\r\n            background: linear-gradient(135deg, rgba(239, 68, 68, 0.9) 0%, rgba(220, 38, 38, 0.9) 100%);\r\n            color: var(--white);\r\n            padding: var(--space-4) var(--space-6);\r\n            border-radius: var(--radius-2xl);\r\n            margin-top: var(--space-4);\r\n            font-weight: 600;\r\n            animation: shake var(--duration-500) var(--ease-out);\r\n            box-shadow: var(--shadow-lg);\r\n            backdrop-filter: blur(10px);\r\n        }\r\n\r\n        @keyframes shake {\r\n\r\n            0%,\r\n            100% {\r\n                transform: translateX(0);\r\n            }\r\n\r\n            25% {\r\n                transform: translateX(-8px);\r\n            }\r\n\r\n            75% {\r\n                transform: translateX(8px);\r\n            }\r\n        }\r\n\r\n        \/* Premium Loading *\/\r\n        .loading {\r\n            text-align: center;\r\n            padding: var(--space-20) var(--space-8);\r\n            background: rgba(15, 26, 38, 0.8);\r\n            backdrop-filter: blur(10px);\r\n            border-radius: var(--radius-4xl);\r\n            box-shadow: var(--shadow-2xl);\r\n            border: 1px solid rgba(100, 160, 255, 0.2);\r\n            position: relative;\r\n            overflow: hidden;\r\n        }\r\n\r\n        .loading::before {\r\n            content: '';\r\n            position: absolute;\r\n            inset: 0;\r\n            background: linear-gradient(45deg, transparent 30%, rgba(0, 96, 255, 0.05) 50%, transparent 70%);\r\n            animation: loadingShimmer 2s ease-in-out infinite;\r\n        }\r\n\r\n        @keyframes loadingShimmer {\r\n            0% {\r\n                transform: translateX(-100%) translateY(-100%);\r\n            }\r\n\r\n            100% {\r\n                transform: translateX(100%) translateY(100%);\r\n            }\r\n        }\r\n\r\n        .loading-spinner {\r\n            width: 80px;\r\n            height: 80px;\r\n            margin: 0 auto var(--space-8);\r\n            position: relative;\r\n            z-index: 2;\r\n        }\r\n\r\n        .loading-spinner::before {\r\n            content: '';\r\n            position: absolute;\r\n            inset: 0;\r\n            border: 4px solid rgba(100, 160, 255, 0.2);\r\n            border-top: 4px solid var(--primary-500);\r\n            border-radius: 50%;\r\n            animation: spin var(--duration-1000) linear infinite;\r\n        }\r\n\r\n        .loading-spinner::after {\r\n            content: '';\r\n            position: absolute;\r\n            inset: 8px;\r\n            border: 3px solid transparent;\r\n            border-top: 3px solid var(--primary-300);\r\n            border-radius: 50%;\r\n            animation: spin var(--duration-700) linear infinite reverse;\r\n        }\r\n\r\n        @keyframes spin {\r\n            to {\r\n                transform: rotate(360deg);\r\n            }\r\n        }\r\n\r\n        .loading-text {\r\n            font-size: var(--text-xl);\r\n            font-weight: 700;\r\n            color: var(--gray-100);\r\n            animation: pulse var(--duration-1000) ease-in-out infinite;\r\n            position: relative;\r\n            z-index: 2;\r\n        }\r\n\r\n        @keyframes pulse {\r\n\r\n            0%,\r\n            100% {\r\n                opacity: 0.6;\r\n            }\r\n\r\n            50% {\r\n                opacity: 1;\r\n            }\r\n        }\r\n\r\n        \/* Skeleton Loading Styles *\/\r\n        .skeleton-loading {\r\n            background: linear-gradient(90deg, rgba(100, 160, 255, 0.1) 25%, rgba(100, 160, 255, 0.2) 50%, rgba(100, 160, 255, 0.1) 75%);\r\n            background-size: 200% 100%;\r\n            animation: skeleton-shimmer 1.5s infinite;\r\n        }\r\n\r\n        @keyframes skeleton-shimmer {\r\n            0% {\r\n                background-position: -200% 0;\r\n            }\r\n\r\n            100% {\r\n                background-position: 200% 0;\r\n            }\r\n        }\r\n\r\n        .videos-skeleton,\r\n        .reels-skeleton {\r\n            display: none;\r\n        }\r\n\r\n        .videos-skeleton.active,\r\n        .reels-skeleton.active {\r\n            display: block;\r\n        }\r\n\r\n        .videos-grid-skeleton,\r\n        .reels-grid-skeleton {\r\n            display: grid;\r\n            grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));\r\n            gap: var(--space-8);\r\n        }\r\n\r\n        .video-skeleton,\r\n        .reel-skeleton {\r\n            background: rgba(15, 26, 38, 0.6);\r\n            border-radius: var(--radius-4xl);\r\n            overflow: hidden;\r\n            box-shadow: var(--shadow-md);\r\n            border: 1px solid rgba(100, 160, 255, 0.2);\r\n        }\r\n\r\n        .video-thumbnail-skeleton,\r\n        .reel-thumbnail-skeleton {\r\n            height: 200px;\r\n            background: rgba(100, 160, 255, 0.1);\r\n            animation: skeleton-shimmer 1.5s infinite;\r\n        }\r\n\r\n        .video-info-skeleton,\r\n        .reel-info-skeleton {\r\n            padding: var(--space-6);\r\n        }\r\n\r\n        .skeleton-line {\r\n            height: 16px;\r\n            background: rgba(100, 160, 255, 0.1);\r\n            border-radius: var(--radius-lg);\r\n            margin-bottom: var(--space-3);\r\n            animation: skeleton-shimmer 1.5s infinite;\r\n        }\r\n\r\n        .skeleton-line.short {\r\n            width: 60%;\r\n        }\r\n\r\n        \/* Output Containers *\/\r\n        #groupContent,\r\n        #profileContent {\r\n            background: transparent;\r\n            border-radius: var(--radius-4xl);\r\n            margin-top: var(--space-8);\r\n        }\r\n\r\n        \/* Group Styles *\/\r\n        .group-header {\r\n            background: rgba(15, 26, 38, 0.8);\r\n            backdrop-filter: blur(10px);\r\n            border-radius: var(--radius-4xl);\r\n            box-shadow: var(--shadow-2xl);\r\n            overflow: hidden;\r\n            margin-bottom: var(--space-8);\r\n            border: 1px solid rgba(100, 160, 255, 0.2);\r\n            animation: slideUp var(--duration-1000) var(--ease-elastic) 0.4s both;\r\n            position: relative;\r\n        }\r\n\r\n        .group-cover {\r\n            position: relative;\r\n            height: 400px;\r\n            background: var(--gradient-primary);\r\n            overflow: hidden;\r\n        }\r\n\r\n        .group-cover img {\r\n            width: 100%;\r\n            height: 100%;\r\n            object-fit: cover;\r\n            transition: transform var(--duration-700) var(--ease-out);\r\n        }\r\n\r\n        .group-cover:hover img {\r\n            transform: scale(1.05);\r\n        }\r\n\r\n        .group-cover-overlay {\r\n            position: absolute;\r\n            inset: 0;\r\n            background: linear-gradient(to bottom,\r\n                    transparent 0%,\r\n                    rgba(0, 0, 0, 0.1) 40%,\r\n                    rgba(0, 0, 0, 0.8) 100%);\r\n        }\r\n\r\n        .group-info-overlay {\r\n            position: absolute;\r\n            bottom: 0;\r\n            left: 0;\r\n            right: 0;\r\n            padding: var(--space-12);\r\n            color: var(--white);\r\n        }\r\n\r\n        .group-title {\r\n            font-size: clamp(var(--text-2xl), 5vw, var(--text-5xl));\r\n            font-weight: 800;\r\n            margin-bottom: var(--space-3);\r\n            text-shadow: 0 4px 8px rgba(0, 0, 0, 0.5);\r\n            letter-spacing: -0.02em;\r\n            line-height: 1.1;\r\n        }\r\n\r\n        .group-subtitle {\r\n            font-size: var(--text-xl);\r\n            opacity: 0.95;\r\n            font-weight: 600;\r\n            text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);\r\n        }\r\n\r\n        .group-details {\r\n            padding: var(--space-12);\r\n        }\r\n\r\n        .stats-grid {\r\n            display: grid;\r\n            grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));\r\n            gap: var(--space-6);\r\n            margin-bottom: var(--space-10);\r\n        }\r\n\r\n        .stat-card {\r\n            background: linear-gradient(135deg, rgba(15, 26, 38, 0.8) 0%, rgba(15, 26, 38, 0.6) 100%);\r\n            backdrop-filter: blur(10px);\r\n            border: 1px solid rgba(100, 160, 255, 0.2);\r\n            border-radius: var(--radius-3xl);\r\n            padding: var(--space-8);\r\n            text-align: center;\r\n            transition: all var(--duration-300) var(--ease-out);\r\n            animation: fadeInUp var(--duration-700) var(--ease-elastic);\r\n            animation-delay: calc(var(--delay) * 0.1s);\r\n            animation-fill-mode: both;\r\n            position: relative;\r\n            overflow: hidden;\r\n        }\r\n\r\n        .stat-card::before {\r\n            content: '';\r\n            position: absolute;\r\n            inset: 0;\r\n            background: var(--gradient-primary);\r\n            opacity: 0;\r\n            transition: opacity var(--duration-300) var(--ease-out);\r\n            border-radius: inherit;\r\n        }\r\n\r\n        .stat-card:hover::before {\r\n            opacity: 0.05;\r\n        }\r\n\r\n        @keyframes fadeInUp {\r\n            from {\r\n                opacity: 0;\r\n                transform: translateY(40px) scale(0.9);\r\n                filter: blur(5px);\r\n            }\r\n\r\n            to {\r\n                opacity: 1;\r\n                transform: translateY(0) scale(1);\r\n                filter: blur(0);\r\n            }\r\n        }\r\n\r\n        .stat-card:hover {\r\n            transform: translateY(-8px) scale(1.02);\r\n            box-shadow: var(--shadow-xl);\r\n            border-color: var(--primary-300);\r\n        }\r\n\r\n        .stat-icon {\r\n            width: 64px;\r\n            height: 64px;\r\n            background: var(--gradient-primary);\r\n            border-radius: var(--radius-2xl);\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            margin: 0 auto var(--space-4);\r\n            font-size: var(--text-2xl);\r\n            box-shadow: var(--shadow-lg);\r\n            position: relative;\r\n            z-index: 2;\r\n            color: var(--white);\r\n        }\r\n\r\n        .stat-number {\r\n            font-size: var(--text-3xl);\r\n            font-weight: 800;\r\n            color: var(--gray-100);\r\n            display: block;\r\n            margin-bottom: var(--space-2);\r\n            position: relative;\r\n            z-index: 2;\r\n        }\r\n\r\n        .stat-label {\r\n            font-size: var(--text-sm);\r\n            color: var(--gray-400);\r\n            font-weight: 600;\r\n            text-transform: uppercase;\r\n            letter-spacing: 0.1em;\r\n            position: relative;\r\n            z-index: 2;\r\n        }\r\n\r\n        .group-description {\r\n            background: linear-gradient(135deg, rgba(15, 26, 38, 0.6) 0%, rgba(15, 26, 38, 0.4) 100%);\r\n            backdrop-filter: blur(10px);\r\n            border: 1px solid rgba(100, 160, 255, 0.2);\r\n            border-radius: var(--radius-3xl);\r\n            padding: var(--space-8);\r\n            margin-bottom: var(--space-8);\r\n            font-size: var(--text-lg);\r\n            line-height: 1.8;\r\n            color: var(--gray-200);\r\n            box-shadow: var(--shadow-sm);\r\n        }\r\n\r\n        .visit-btn {\r\n            background: var(--gradient-accent);\r\n            color: var(--white);\r\n            text-decoration: none;\r\n            padding: var(--space-4) var(--space-8);\r\n            border-radius: var(--radius-2xl);\r\n            font-weight: 700;\r\n            font-size: var(--text-lg);\r\n            display: inline-flex;\r\n            align-items: center;\r\n            gap: var(--space-3);\r\n            transition: all var(--duration-300) var(--ease-out);\r\n            box-shadow: var(--shadow-lg);\r\n            letter-spacing: 0.025em;\r\n        }\r\n\r\n        .visit-btn:hover {\r\n            transform: translateY(-3px) scale(1.05);\r\n            box-shadow: var(--shadow-colored-accent);\r\n        }\r\n\r\n        \/* Premium Navigation *\/\r\n        .nav-tabs {\r\n            background: rgba(15, 26, 38, 0.8);\r\n            backdrop-filter: blur(10px);\r\n            border-radius: var(--radius-4xl);\r\n            box-shadow: var(--shadow-2xl);\r\n            margin-bottom: var(--space-8);\r\n            border: 1px solid rgba(100, 160, 255, 0.2);\r\n            overflow: hidden;\r\n            animation: slideUp var(--duration-1000) var(--ease-elastic) 0.6s both;\r\n        }\r\n\r\n        .tab-list {\r\n            display: flex;\r\n            background: linear-gradient(135deg, rgba(15, 26, 38, 0.6) 0%, rgba(15, 26, 38, 0.4) 100%);\r\n            border-bottom: 1px solid rgba(100, 160, 255, 0.2);\r\n            padding: var(--space-2);\r\n        }\r\n\r\n        .tab-btn {\r\n            flex: 1;\r\n            padding: var(--space-6) var(--space-8);\r\n            background: none;\r\n            border: none;\r\n            font-size: var(--text-lg);\r\n            font-weight: 700;\r\n            color: var(--gray-400);\r\n            cursor: pointer;\r\n            transition: all var(--duration-300) var(--ease-out);\r\n            position: relative;\r\n            font-family: inherit;\r\n            border-radius: var(--radius-2xl);\r\n            margin: var(--space-1);\r\n        }\r\n\r\n        .tab-btn::before {\r\n            content: '';\r\n            position: absolute;\r\n            bottom: 0;\r\n            left: 50%;\r\n            width: 0;\r\n            height: 3px;\r\n            background: var(--gradient-primary);\r\n            transition: all var(--duration-300) var(--ease-out);\r\n            transform: translateX(-50%);\r\n            border-radius: var(--radius-full);\r\n        }\r\n\r\n        .tab-btn:hover,\r\n        .tab-btn.active {\r\n            color: var(--primary-300);\r\n            background: rgba(15, 26, 38, 0.6);\r\n            box-shadow: var(--shadow-md);\r\n        }\r\n\r\n        .tab-btn.active::before {\r\n            width: 60%;\r\n        }\r\n\r\n        .tab-content {\r\n            display: none;\r\n            padding: var(--space-8);\r\n            animation: fadeInScale var(--duration-500) var(--ease-out);\r\n        }\r\n\r\n        .tab-content.active {\r\n            display: block;\r\n        }\r\n\r\n        @keyframes fadeInScale {\r\n            from {\r\n                opacity: 0;\r\n                transform: scale(0.95) translateY(20px);\r\n                filter: blur(3px);\r\n            }\r\n\r\n            to {\r\n                opacity: 1;\r\n                transform: scale(1) translateY(0);\r\n                filter: blur(0);\r\n            }\r\n        }\r\n\r\n        \/* Premium Media Section *\/\r\n        .media-summary {\r\n            background: var(--gradient-primary);\r\n            border-radius: var(--radius-4xl);\r\n            padding: var(--space-12);\r\n            margin-bottom: var(--space-8);\r\n            text-align: center;\r\n            color: var(--white);\r\n            position: relative;\r\n            overflow: hidden;\r\n        }\r\n\r\n        .media-summary::before {\r\n            content: '';\r\n            position: absolute;\r\n            top: -50%;\r\n            left: -50%;\r\n            width: 200%;\r\n            height: 200%;\r\n            background: radial-gradient(circle, rgba(255, 255, 255, 0.1) 0%, transparent 70%);\r\n            animation: rotate 20s linear infinite;\r\n        }\r\n\r\n        @keyframes rotate {\r\n            from {\r\n                transform: rotate(0deg);\r\n            }\r\n\r\n            to {\r\n                transform: rotate(360deg);\r\n            }\r\n        }\r\n\r\n        .summary-title {\r\n            font-size: var(--text-4xl);\r\n            font-weight: 800;\r\n            margin-bottom: var(--space-4);\r\n            position: relative;\r\n            z-index: 2;\r\n            text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\r\n        }\r\n\r\n        .summary-description {\r\n            font-size: var(--text-xl);\r\n            opacity: 0.95;\r\n            margin-bottom: var(--space-8);\r\n            position: relative;\r\n            z-index: 2;\r\n            font-weight: 500;\r\n        }\r\n\r\n        .summary-stats {\r\n            display: grid;\r\n            grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));\r\n            gap: var(--space-8);\r\n            position: relative;\r\n            z-index: 2;\r\n        }\r\n\r\n        .summary-stat {\r\n            text-align: center;\r\n        }\r\n\r\n        .summary-stat-number {\r\n            font-size: var(--text-4xl);\r\n            font-weight: 900;\r\n            display: block;\r\n            margin-bottom: var(--space-2);\r\n            text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\r\n        }\r\n\r\n        .summary-stat-label {\r\n            font-size: var(--text-sm);\r\n            opacity: 0.9;\r\n            text-transform: uppercase;\r\n            letter-spacing: 0.1em;\r\n            font-weight: 600;\r\n        }\r\n\r\n        .media-grid {\r\n            display: grid;\r\n            grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));\r\n            gap: var(--space-8);\r\n        }\r\n\r\n        \/* Ultra Premium Media Cards *\/\r\n        .media-card {\r\n            background: rgba(15, 26, 38, 0.8);\r\n            backdrop-filter: blur(10px);\r\n            border-radius: var(--radius-4xl);\r\n            box-shadow: var(--shadow-xl);\r\n            border: 1px solid rgba(100, 160, 255, 0.2);\r\n            overflow: hidden;\r\n            transition: all var(--duration-500) var(--ease-elastic);\r\n            animation: slideUp var(--duration-700) var(--ease-elastic);\r\n            animation-delay: calc(var(--index) * 0.1s);\r\n            animation-fill-mode: both;\r\n            position: relative;\r\n            cursor: pointer;\r\n        }\r\n\r\n        .media-card::before {\r\n            content: '';\r\n            position: absolute;\r\n            inset: 0;\r\n            background: var(--gradient-primary);\r\n            opacity: 0;\r\n            transition: opacity var(--duration-300) var(--ease-out);\r\n            border-radius: inherit;\r\n            z-index: 1;\r\n        }\r\n\r\n        .media-card:hover::before {\r\n            opacity: 0.02;\r\n        }\r\n\r\n        .media-card:hover {\r\n            transform: translateY(-12px) scale(1.02);\r\n            box-shadow: var(--shadow-2xl);\r\n            border-color: var(--primary-300);\r\n        }\r\n\r\n        .media-image-container {\r\n            position: relative;\r\n            aspect-ratio: 16\/10;\r\n            overflow: hidden;\r\n            background: linear-gradient(135deg, rgba(15, 26, 38, 0.6) 0%, rgba(15, 26, 38, 0.4) 100%);\r\n        }\r\n\r\n        .media-image {\r\n            width: 100%;\r\n            height: 100%;\r\n            object-fit: cover;\r\n            transition: transform var(--duration-700) var(--ease-out);\r\n        }\r\n\r\n        .media-card:hover .media-image {\r\n            transform: scale(1.1) rotate(1deg);\r\n        }\r\n\r\n        \/* Ultra Premium Hover Overlay *\/\r\n        .media-hover-overlay {\r\n            position: absolute;\r\n            inset: 0;\r\n            background: linear-gradient(135deg,\r\n                    rgba(0, 96, 255, 0.85) 0%,\r\n                    rgba(0, 150, 255, 0.85) 50%,\r\n                    rgba(0, 170, 255, 0.85) 100%);\r\n            opacity: 0;\r\n            visibility: hidden;\r\n            transition: all var(--duration-500) var(--ease-elastic);\r\n            display: flex;\r\n            flex-direction: column;\r\n            align-items: center;\r\n            justify-content: center;\r\n            gap: var(--space-6);\r\n            padding: var(--space-8);\r\n            backdrop-filter: blur(20px);\r\n            z-index: 10;\r\n        }\r\n\r\n        .media-card:hover .media-hover-overlay {\r\n            opacity: 1;\r\n            visibility: visible;\r\n        }\r\n\r\n        .quality-indicator {\r\n            background: rgba(255, 255, 255, 0.2);\r\n            backdrop-filter: blur(15px);\r\n            border: 2px solid rgba(255, 255, 255, 0.3);\r\n            color: var(--white);\r\n            padding: var(--space-3) var(--space-6);\r\n            border-radius: var(--radius-full);\r\n            font-weight: 800;\r\n            font-size: var(--text-sm);\r\n            text-transform: uppercase;\r\n            letter-spacing: 0.1em;\r\n            animation: slideInDown var(--duration-500) var(--ease-elastic) 0.1s both;\r\n            box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);\r\n        }\r\n\r\n        @keyframes slideInDown {\r\n            from {\r\n                opacity: 0;\r\n                transform: translateY(-30px) scale(0.8);\r\n                filter: blur(5px);\r\n            }\r\n\r\n            to {\r\n                opacity: 1;\r\n                transform: translateY(0) scale(1);\r\n                filter: blur(0);\r\n            }\r\n        }\r\n\r\n        .download-actions {\r\n            display: flex;\r\n            flex-direction: column;\r\n            gap: var(--space-3);\r\n            animation: slideInUp var(--duration-500) var(--ease-elastic) 0.2s both;\r\n        }\r\n\r\n        .download-btn {\r\n            background: rgba(255, 255, 255, 0.2);\r\n            backdrop-filter: blur(15px);\r\n            border: 2px solid rgba(255, 255, 255, 0.3);\r\n            color: var(--white);\r\n            padding: var(--space-4) var(--space-8);\r\n            border-radius: var(--radius-full);\r\n            font-size: var(--text-base);\r\n            font-weight: 700;\r\n            cursor: pointer;\r\n            transition: all var(--duration-300) var(--ease-elastic);\r\n            font-family: inherit;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            gap: var(--space-3);\r\n            min-width: 180px;\r\n            position: relative;\r\n            overflow: hidden;\r\n            box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);\r\n            text-transform: uppercase;\r\n            letter-spacing: 0.05em;\r\n        }\r\n\r\n        .download-btn::before {\r\n            content: '';\r\n            position: absolute;\r\n            top: 0;\r\n            left: -100%;\r\n            width: 100%;\r\n            height: 100%;\r\n            background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);\r\n            transition: left var(--duration-700) var(--ease-out);\r\n        }\r\n\r\n        .download-btn:hover::before {\r\n            left: 100%;\r\n        }\r\n\r\n        .download-btn:hover {\r\n            background: rgba(255, 255, 255, 0.3);\r\n            border-color: rgba(255, 255, 255, 0.5);\r\n            transform: translateY(-3px) scale(1.05);\r\n            box-shadow: 0 15px 40px rgba(0, 0, 0, 0.2);\r\n        }\r\n\r\n        .download-btn:active {\r\n            transform: translateY(-1px) scale(0.98);\r\n        }\r\n\r\n        .btn-icon {\r\n            font-size: var(--text-lg);\r\n            transition: transform var(--duration-300) var(--ease-out);\r\n        }\r\n\r\n        .download-btn:hover .btn-icon {\r\n            transform: scale(1.2) rotate(5deg);\r\n        }\r\n\r\n        \/* Premium Media Info *\/\r\n        .media-info {\r\n            padding: var(--space-6);\r\n            position: relative;\r\n            z-index: 2;\r\n        }\r\n\r\n        .media-meta {\r\n            display: flex;\r\n            justify-content: space-between;\r\n            align-items: center;\r\n            font-size: var(--text-sm);\r\n            color: var(--gray-400);\r\n            font-weight: 600;\r\n        }\r\n\r\n        .resolution-badge {\r\n            background: linear-gradient(135deg, rgba(100, 160, 255, 0.2) 0%, rgba(100, 160, 255, 0.1) 100%);\r\n            color: var(--gray-200);\r\n            padding: var(--space-2) var(--space-4);\r\n            border-radius: var(--radius-full);\r\n            font-size: var(--text-xs);\r\n            font-weight: 700;\r\n            text-transform: uppercase;\r\n            letter-spacing: 0.05em;\r\n            box-shadow: var(--shadow-sm);\r\n        }\r\n\r\n        .type-badge {\r\n            background: var(--gradient-primary);\r\n            color: var(--white);\r\n            padding: var(--space-2) var(--space-4);\r\n            border-radius: var(--radius-full);\r\n            font-size: var(--text-xs);\r\n            font-weight: 700;\r\n            text-transform: uppercase;\r\n            letter-spacing: 0.05em;\r\n            box-shadow: var(--shadow-sm);\r\n        }\r\n\r\n        \/* Video Grid Styles for Groups *\/\r\n        .video-grid {\r\n            display: grid;\r\n            grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));\r\n            gap: var(--space-8);\r\n        }\r\n\r\n        .video-card {\r\n            background: rgba(15, 26, 38, 0.8);\r\n            backdrop-filter: blur(10px);\r\n            border-radius: var(--radius-4xl);\r\n            box-shadow: var(--shadow-xl);\r\n            border: 1px solid rgba(100, 160, 255, 0.2);\r\n            overflow: hidden;\r\n            transition: all var(--duration-500) var(--ease-elastic);\r\n            animation: slideUp var(--duration-700) var(--ease-elastic);\r\n            animation-delay: calc(var(--index) * 0.1s);\r\n            animation-fill-mode: both;\r\n            position: relative;\r\n        }\r\n\r\n        .video-card:hover {\r\n            transform: translateY(-12px) scale(1.02);\r\n            box-shadow: var(--shadow-2xl);\r\n            border-color: var(--primary-300);\r\n        }\r\n\r\n        .video-card video {\r\n            width: 100%;\r\n            height: 250px;\r\n            object-fit: cover;\r\n            background: rgba(15, 26, 38, 0.6);\r\n        }\r\n\r\n        .video-info {\r\n            padding: var(--space-6);\r\n            display: flex;\r\n            flex-direction: column;\r\n            min-height: 180px;\r\n        }\r\n\r\n        .video-title {\r\n            font-size: var(--text-lg);\r\n            font-weight: 700;\r\n            color: var(--gray-100);\r\n            margin-bottom: var(--space-2);\r\n            flex-shrink: 0;\r\n        }\r\n\r\n        .video-description {\r\n            font-size: var(--text-xs);\r\n            font-weight: 400;\r\n            color: var(--gray-400);\r\n            line-height: 1.4;\r\n            overflow: hidden;\r\n            text-overflow: ellipsis;\r\n            display: -webkit-box;\r\n            -webkit-line-clamp: 3;\r\n            \/* Allow up to 3 lines *\/\r\n            -webkit-box-orient: vertical;\r\n            opacity: 0.8;\r\n            flex-grow: 1;\r\n            margin-bottom: var(--space-3);\r\n            display: none;\r\n        }\r\n\r\n        .video-stats {\r\n            margin-top: auto;\r\n            \/* Pushes stats to the bottom *\/\r\n            flex-shrink: 0;\r\n            display: flex;\r\n            justify-content: space-between;\r\n            align-items: center;\r\n            gap: var(--space-4);\r\n            flex-wrap: wrap;\r\n        }\r\n\r\n        .video-engagement {\r\n            display: flex;\r\n            gap: var(--space-4);\r\n            align-items: center;\r\n            flex-wrap: wrap;\r\n            flex: 1;\r\n        }\r\n\r\n        .video-engagement-item {\r\n            display: flex;\r\n            align-items: center;\r\n            gap: var(--space-1);\r\n            color: var(--gray-400);\r\n            font-size: var(--text-sm);\r\n        }\r\n\r\n        .video-engagement-item i {\r\n            color: var(--primary-400);\r\n        }\r\n\r\n        .video-badges {\r\n            display: flex;\r\n            gap: var(--space-2);\r\n            margin-bottom: var(--space-4);\r\n        }\r\n\r\n        .quality-badge {\r\n            background: var(--gradient-primary);\r\n            color: var(--white);\r\n            padding: var(--space-1) var(--space-3);\r\n            border-radius: var(--radius-full);\r\n            font-size: var(--text-xs);\r\n            font-weight: 700;\r\n            text-transform: uppercase;\r\n        }\r\n\r\n        .format-badge {\r\n            background: rgba(100, 160, 255, 0.2);\r\n            color: var(--gray-200);\r\n            padding: var(--space-1) var(--space-3);\r\n            border-radius: var(--radius-full);\r\n            font-size: var(--text-xs);\r\n            font-weight: 700;\r\n            text-transform: uppercase;\r\n        }\r\n\r\n        .video-actions {\r\n            display: flex;\r\n            gap: var(--space-3);\r\n            align-items: center;\r\n        }\r\n\r\n        .video-download-btn {\r\n            background: linear-gradient(135deg, #0060ff 0%, #0096ff 50%, #00aaff 100%);\r\n            color: var(--white);\r\n            border: none;\r\n            padding: var(--space-4) var(--space-8);\r\n            border-radius: 12px;\r\n            font-weight: 700;\r\n            cursor: pointer;\r\n            transition: all var(--duration-300) var(--ease-out);\r\n            position: relative;\r\n            overflow: hidden;\r\n            display: flex;\r\n            flex-direction: row;\r\n            align-items: center;\r\n            justify-content: center;\r\n            gap: var(--space-2);\r\n            min-width: 120px;\r\n            max-width: 200px;\r\n            box-shadow: 0 4px 12px rgba(0, 96, 255, 0.3);\r\n            font-size: var(--text-base);\r\n            white-space: nowrap;\r\n        }\r\n\r\n        .video-download-btn i {\r\n            font-size: var(--text-lg);\r\n            flex-shrink: 0;\r\n        }\r\n\r\n        .video-download-btn:hover {\r\n            transform: translateY(-2px) scale(1.02);\r\n            box-shadow: var(--shadow-lg);\r\n        }\r\n\r\n        .download-progress {\r\n            position: absolute;\r\n            bottom: 0;\r\n            left: 0;\r\n            height: 3px;\r\n            background: rgba(255, 255, 255, 0.5);\r\n            transition: width var(--duration-300) var(--ease-out);\r\n        }\r\n\r\n        .copy-btn {\r\n            background: rgba(100, 160, 255, 0.2);\r\n            color: var(--gray-200);\r\n            border: none;\r\n            padding: var(--space-3);\r\n            border-radius: var(--radius-xl);\r\n            cursor: pointer;\r\n            transition: all var(--duration-300) var(--ease-out);\r\n        }\r\n\r\n        .copy-btn:hover {\r\n            background: rgba(100, 160, 255, 0.3);\r\n            transform: scale(1.1);\r\n        }\r\n\r\n        .download-all-btn {\r\n            background: var(--gradient-accent);\r\n            color: var(--white);\r\n            border: none;\r\n            padding: var(--space-4) var(--space-8);\r\n            border-radius: var(--radius-3xl);\r\n            font-size: var(--text-lg);\r\n            font-weight: 700;\r\n            cursor: pointer;\r\n            margin-bottom: var(--space-8);\r\n            transition: all var(--duration-300) var(--ease-out);\r\n            box-shadow: var(--shadow-lg);\r\n        }\r\n\r\n        .download-all-btn:hover {\r\n            transform: translateY(-3px) scale(1.02);\r\n            box-shadow: var(--shadow-colored-accent);\r\n        }\r\n\r\n        \/* Profile Styles *\/\r\n        .profile-container {\r\n            background: rgba(15, 26, 38, 0.8);\r\n            backdrop-filter: blur(10px);\r\n            border-radius: var(--radius-4xl);\r\n            box-shadow: var(--shadow-2xl);\r\n            overflow: hidden;\r\n            margin-bottom: var(--space-8);\r\n            border: 1px solid rgba(100, 160, 255, 0.2);\r\n            animation: slideUp var(--duration-1000) var(--ease-elastic) 0.4s both;\r\n        }\r\n\r\n        .cover-section {\r\n            position: relative;\r\n            height: 400px;\r\n            background: var(--gradient-primary);\r\n            overflow: hidden;\r\n        }\r\n\r\n        .cover-photo {\r\n            width: 100%;\r\n            height: 100%;\r\n            background-size: cover;\r\n            background-position: center;\r\n            transition: transform var(--duration-700) var(--ease-out);\r\n        }\r\n\r\n        .cover-overlay {\r\n            position: absolute;\r\n            inset: 0;\r\n            background: linear-gradient(to bottom,\r\n                    transparent 0%,\r\n                    rgba(0, 0, 0, 0.1) 40%,\r\n                    rgba(0, 0, 0, 0.8) 100%);\r\n        }\r\n\r\n        .cover-gradient {\r\n            position: absolute;\r\n            inset: 0;\r\n            background: linear-gradient(135deg,\r\n                    rgba(0, 96, 255, 0.1) 0%,\r\n                    rgba(0, 150, 255, 0.1) 100%);\r\n        }\r\n\r\n        .profile-info-section {\r\n            padding: var(--space-12);\r\n        }\r\n\r\n        .profile-header {\r\n            display: flex;\r\n            align-items: flex-start;\r\n            gap: var(--space-8);\r\n            margin-bottom: var(--space-8);\r\n            position: relative;\r\n            margin-top: -80px;\r\n        }\r\n\r\n        .profile-picture-container {\r\n            position: relative;\r\n            flex-shrink: 0;\r\n        }\r\n\r\n        .profile-picture {\r\n            width: 160px;\r\n            height: 160px;\r\n            border-radius: var(--radius-full);\r\n            background-size: cover;\r\n            background-position: center;\r\n            background-color: var(--gray-600);\r\n            border: 6px solid rgba(15, 26, 38, 0.8);\r\n            box-shadow: var(--shadow-xl);\r\n            position: relative;\r\n            z-index: 2;\r\n        }\r\n\r\n        .profile-ring {\r\n            position: absolute;\r\n            inset: -8px;\r\n            border-radius: var(--radius-full);\r\n            background: var(--gradient-primary);\r\n            z-index: 1;\r\n            animation: pulse 3s ease-in-out infinite;\r\n        }\r\n\r\n        .profile-status-indicator {\r\n            position: absolute;\r\n            bottom: 10px;\r\n            right: 10px;\r\n            width: 24px;\r\n            height: 24px;\r\n            background: var(--success-500);\r\n            border-radius: var(--radius-full);\r\n            border: 3px solid var(--white);\r\n            z-index: 3;\r\n        }\r\n\r\n        .profile-details {\r\n            flex: 1;\r\n            margin-top: 80px;\r\n        }\r\n\r\n        .profile-name {\r\n            font-size: var(--text-4xl);\r\n            font-weight: 800;\r\n            color: var(--gray-100);\r\n            margin-bottom: var(--space-4);\r\n            line-height: 1.1;\r\n        }\r\n\r\n        .verified-badge::after {\r\n            content: '\u2713';\r\n            display: inline-block;\r\n            margin-left: var(--space-2);\r\n            color: var(--primary-400);\r\n            font-weight: 900;\r\n            font-size: var(--text-lg);\r\n        }\r\n\r\n        .profile-stats {\r\n            display: flex;\r\n            gap: var(--space-6);\r\n            margin-bottom: var(--space-6);\r\n            flex-wrap: wrap;\r\n        }\r\n\r\n        .stat-badge {\r\n            background: rgba(100, 160, 255, 0.2);\r\n            color: var(--gray-200);\r\n            padding: var(--space-2) var(--space-4);\r\n            border-radius: var(--radius-full);\r\n            font-size: var(--text-sm);\r\n            font-weight: 600;\r\n        }\r\n\r\n        .profile-actions {\r\n            display: flex;\r\n            gap: var(--space-4);\r\n            flex-wrap: wrap;\r\n        }\r\n\r\n        .action-btn {\r\n            padding: var(--space-3) var(--space-6);\r\n            border-radius: var(--radius-2xl);\r\n            font-weight: 700;\r\n            font-size: var(--text-base);\r\n            cursor: pointer;\r\n            transition: all var(--duration-300) var(--ease-out);\r\n            display: flex;\r\n            align-items: center;\r\n            gap: var(--space-2);\r\n            border: none;\r\n            font-family: inherit;\r\n        }\r\n\r\n        .action-btn.primary {\r\n            background: var(--gradient-primary);\r\n            color: var(--white);\r\n            box-shadow: var(--shadow-md);\r\n        }\r\n\r\n        .action-btn.secondary {\r\n            background: rgba(100, 160, 255, 0.2);\r\n            color: var(--gray-200);\r\n            border: 1px solid rgba(100, 160, 255, 0.3);\r\n        }\r\n\r\n        .action-btn:hover {\r\n            transform: translateY(-2px) scale(1.02);\r\n            box-shadow: var(--shadow-lg);\r\n        }\r\n\r\n        .profile-navigation {\r\n            border-top: 1px solid rgba(100, 160, 255, 0.2);\r\n            padding-top: var(--space-6);\r\n        }\r\n\r\n        .profile-nav-tabs {\r\n            display: flex;\r\n            gap: var(--space-2);\r\n            background: rgba(15, 26, 38, 0.6);\r\n            padding: var(--space-2);\r\n            border-radius: var(--radius-2xl);\r\n        }\r\n\r\n        .nav-tab {\r\n            flex: 1;\r\n            padding: var(--space-4) var(--space-6);\r\n            background: none;\r\n            border: none;\r\n            border-radius: var(--radius-xl);\r\n            font-weight: 600;\r\n            color: var(--gray-400);\r\n            cursor: pointer;\r\n            transition: all var(--duration-300) var(--ease-out);\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            gap: var(--space-2);\r\n            position: relative;\r\n            font-family: inherit;\r\n        }\r\n\r\n        .nav-tab.active {\r\n            background: rgba(15, 26, 38, 0.8);\r\n            color: var(--primary-300);\r\n            box-shadow: var(--shadow-sm);\r\n        }\r\n\r\n        .nav-indicator {\r\n            position: absolute;\r\n            bottom: 0;\r\n            left: 50%;\r\n            width: 0;\r\n            height: 2px;\r\n            background: var(--primary-400);\r\n            transition: width var(--duration-300) var(--ease-out);\r\n            transform: translateX(-50%);\r\n            border-radius: var(--radius-full);\r\n        }\r\n\r\n        .nav-tab.active .nav-indicator {\r\n            width: 60%;\r\n        }\r\n\r\n        .tab-content-container {\r\n            padding: var(--space-8) 0;\r\n        }\r\n\r\n        \/* Photos Grid *\/\r\n        .photos-grid {\r\n            display: grid;\r\n            grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));\r\n            gap: var(--space-6);\r\n        }\r\n\r\n        .fb-photoitem {\r\n            background: rgba(15, 26, 38, 0.8);\r\n            backdrop-filter: blur(10px);\r\n            border-radius: var(--radius-3xl);\r\n            overflow: hidden;\r\n            box-shadow: var(--shadow-md);\r\n            transition: all var(--duration-300) var(--ease-out);\r\n            border: 1px solid rgba(100, 160, 255, 0.2);\r\n        }\r\n\r\n        .fb-photoitem:hover {\r\n            transform: translateY(-8px) scale(1.02);\r\n            box-shadow: var(--shadow-xl);\r\n        }\r\n\r\n        .fb-photoimage-container {\r\n            position: relative;\r\n            aspect-ratio: 1;\r\n            overflow: hidden;\r\n        }\r\n\r\n        .fb-photoimage {\r\n            width: 100%;\r\n            height: 100%;\r\n            object-fit: cover;\r\n            transition: transform var(--duration-500) var(--ease-out);\r\n            cursor: pointer;\r\n        }\r\n\r\n        .fb-photoitem:hover .fb-photoimage {\r\n            transform: scale(1.1);\r\n        }\r\n\r\n        .fb-photooverlay {\r\n            position: absolute;\r\n            inset: 0;\r\n            background: linear-gradient(to top,\r\n                    rgba(0, 96, 255, 0.85) 0%,\r\n                    rgba(0, 150, 255, 0.5) 30%,\r\n                    transparent 60%);\r\n            opacity: 0;\r\n            visibility: hidden;\r\n            transition: all var(--duration-300) var(--ease-out);\r\n            display: flex;\r\n            align-items: flex-end;\r\n            justify-content: center;\r\n            padding-bottom: var(--space-4);\r\n        }\r\n\r\n        .fb-photoitem:hover .fb-photooverlay {\r\n            opacity: 1;\r\n            visibility: visible;\r\n        }\r\n\r\n        .fb-photoactions {\r\n            display: flex;\r\n            gap: var(--space-3);\r\n        }\r\n\r\n        .fb-photoaction-btn {\r\n            background: rgba(0, 96, 255, 0.8);\r\n            backdrop-filter: blur(10px);\r\n            border: 2px solid rgba(255, 255, 255, 0.3);\r\n            color: var(--white);\r\n            padding: var(--space-3);\r\n            border-radius: var(--radius-full);\r\n            cursor: pointer;\r\n            transition: all var(--duration-300) var(--ease-out);\r\n            font-size: var(--text-lg);\r\n            box-shadow: 0 4px 12px rgba(0, 96, 255, 0.3);\r\n        }\r\n\r\n        .fb-photoaction-btn:hover {\r\n            background: rgba(0, 96, 255, 1);\r\n            transform: scale(1.1);\r\n            box-shadow: 0 6px 16px rgba(0, 96, 255, 0.4);\r\n        }\r\n\r\n        .fb-photoinfo {\r\n            padding: var(--space-4);\r\n        }\r\n\r\n        .fb-photostats {\r\n            margin-bottom: var(--space-3);\r\n        }\r\n\r\n        .fb-photoengagement {\r\n            display: flex;\r\n            gap: var(--space-4);\r\n        }\r\n\r\n        .fb-photoengagement-item {\r\n            display: flex;\r\n            align-items: center;\r\n            gap: var(--space-1);\r\n            color: var(--gray-400);\r\n            font-size: var(--text-sm);\r\n        }\r\n\r\n        .fb-photometa {\r\n            display: flex;\r\n            justify-content: space-between;\r\n            align-items: center;\r\n            font-size: var(--text-xs);\r\n            color: var(--gray-500);\r\n        }\r\n\r\n        .fb-photodimensions {\r\n            font-weight: 600;\r\n        }\r\n\r\n        \/* Photo Modal *\/\r\n        .fb-photomodal {\r\n            position: fixed;\r\n            inset: 0;\r\n            background: rgba(0, 0, 0, 0.9);\r\n            backdrop-filter: blur(20px);\r\n            z-index: 10000;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            opacity: 0;\r\n            visibility: hidden;\r\n            transition: all var(--duration-500) var(--ease-out);\r\n        }\r\n\r\n        .fb-photomodal.active {\r\n            opacity: 1;\r\n            visibility: visible;\r\n        }\r\n\r\n        .fb-photomodal-content {\r\n            max-width: 90vw;\r\n            max-height: 90vh;\r\n            background: rgba(15, 26, 38, 0.9);\r\n            backdrop-filter: blur(20px);\r\n            border-radius: var(--radius-4xl);\r\n            overflow: hidden;\r\n            display: flex;\r\n            box-shadow: var(--shadow-2xl);\r\n            position: relative;\r\n            border: 1px solid rgba(100, 160, 255, 0.2);\r\n        }\r\n\r\n        .fb-photomodal-close {\r\n            position: absolute;\r\n            top: var(--space-4);\r\n            right: var(--space-4);\r\n            background: rgba(0, 0, 0, 0.5);\r\n            color: var(--white);\r\n            border: none;\r\n            padding: var(--space-3);\r\n            border-radius: var(--radius-full);\r\n            cursor: pointer;\r\n            z-index: 10001;\r\n            transition: all var(--duration-300) var(--ease-out);\r\n        }\r\n\r\n        .fb-photomodal-close:hover {\r\n            background: rgba(0, 0, 0, 0.7);\r\n            transform: scale(1.1);\r\n        }\r\n\r\n        .fb-photomodal-image {\r\n            max-width: 70vw;\r\n            max-height: 90vh;\r\n            object-fit: contain;\r\n        }\r\n\r\n        .fb-photomodal-info {\r\n            width: 400px;\r\n            padding: var(--space-8);\r\n            display: flex;\r\n            flex-direction: column;\r\n            gap: var(--space-6);\r\n        }\r\n\r\n        .fb-photomodal-title {\r\n            font-size: var(--text-2xl);\r\n            font-weight: 800;\r\n            color: var(--gray-100);\r\n        }\r\n\r\n        .fb-photomodal-stats {\r\n            display: grid;\r\n            grid-template-columns: repeat(2, 1fr);\r\n            gap: var(--space-4);\r\n        }\r\n\r\n        .fb-photomodal-stat {\r\n            text-align: center;\r\n            padding: var(--space-4);\r\n            background: rgba(15, 26, 38, 0.6);\r\n            border-radius: var(--radius-2xl);\r\n        }\r\n\r\n        .fb-photomodal-stat-value {\r\n            font-size: var(--text-xl);\r\n            font-weight: 800;\r\n            color: var(--gray-100);\r\n            margin-bottom: var(--space-1);\r\n        }\r\n\r\n        .fb-photomodal-stat-label {\r\n            font-size: var(--text-sm);\r\n            color: var(--gray-400);\r\n            font-weight: 600;\r\n        }\r\n\r\n        .fb-photomodal-actions {\r\n            display: flex;\r\n            flex-direction: column;\r\n            gap: var(--space-3);\r\n        }\r\n\r\n        .fb-photomodal-action {\r\n            padding: var(--space-4) var(--space-6);\r\n            border-radius: var(--radius-2xl);\r\n            font-weight: 700;\r\n            cursor: pointer;\r\n            transition: all var(--duration-300) var(--ease-out);\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            gap: var(--space-3);\r\n            border: none;\r\n            font-family: inherit;\r\n        }\r\n\r\n        .fb-photomodal-action.primary {\r\n            background: var(--gradient-primary);\r\n            color: var(--white);\r\n        }\r\n\r\n        .fb-photomodal-action:not(.primary) {\r\n            background: rgba(100, 160, 255, 0.2);\r\n            color: var(--gray-200);\r\n            border: 1px solid rgba(100, 160, 255, 0.3);\r\n        }\r\n\r\n        .fb-photomodal-action:hover {\r\n            transform: translateY(-2px) scale(1.02);\r\n            box-shadow: var(--shadow-lg);\r\n        }\r\n\r\n        \/* Content Headers *\/\r\n        .content-header {\r\n            display: flex;\r\n            justify-content: space-between;\r\n            align-items: center;\r\n            margin-bottom: var(--space-8);\r\n            padding-bottom: var(--space-4);\r\n            border-bottom: 1px solid rgba(100, 160, 255, 0.2);\r\n        }\r\n\r\n        .content-title {\r\n            display: flex;\r\n            align-items: center;\r\n            gap: var(--space-3);\r\n        }\r\n\r\n        .content-title .fb-section-heading {\r\n            font-size: var(--text-2xl);\r\n            font-weight: 800;\r\n            color: var(--gray-100);\r\n            margin: 0;\r\n        }\r\n\r\n        .content-title i {\r\n            color: var(--primary-400);\r\n            font-size: var(--text-xl);\r\n        }\r\n\r\n        .content-stats {\r\n            display: flex;\r\n            gap: var(--space-4);\r\n        }\r\n\r\n        .stat-item {\r\n            display: flex;\r\n            align-items: center;\r\n            gap: var(--space-2);\r\n            color: var(--gray-400);\r\n            font-size: var(--text-sm);\r\n        }\r\n\r\n        \/* Posts Container *\/\r\n        .posts-container {\r\n            display: flex;\r\n            flex-direction: column;\r\n            gap: var(--space-6);\r\n        }\r\n\r\n        .post-item {\r\n            background: rgba(15, 26, 38, 0.8);\r\n            backdrop-filter: blur(10px);\r\n            border-radius: var(--radius-3xl);\r\n            padding: var(--space-6);\r\n            box-shadow: var(--shadow-md);\r\n            border: 1px solid rgba(100, 160, 255, 0.2);\r\n            transition: all var(--duration-300) var(--ease-out);\r\n        }\r\n\r\n        .post-item:hover {\r\n            transform: translateY(-4px);\r\n            box-shadow: var(--shadow-lg);\r\n        }\r\n\r\n        .post-header {\r\n            display: flex;\r\n            align-items: center;\r\n            gap: var(--space-4);\r\n            margin-bottom: var(--space-4);\r\n        }\r\n\r\n        .post-profile-pic {\r\n            width: 48px;\r\n            height: 48px;\r\n            border-radius: var(--radius-full);\r\n            background-size: cover;\r\n            background-position: center;\r\n            background-color: var(--gray-600);\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            color: var(--gray-400);\r\n        }\r\n\r\n        .post-info {\r\n            flex: 1;\r\n        }\r\n\r\n        .post-author {\r\n            font-weight: 700;\r\n            color: var(--gray-100);\r\n            margin-bottom: var(--space-1);\r\n        }\r\n\r\n        .post-date {\r\n            font-size: var(--text-sm);\r\n            color: var(--gray-400);\r\n        }\r\n\r\n        .post-content {\r\n            margin-bottom: var(--space-4);\r\n            line-height: 1.6;\r\n            color: var(--gray-200);\r\n        }\r\n\r\n        .post-image {\r\n            width: 100%;\r\n            border-radius: var(--radius-2xl);\r\n            margin-bottom: var(--space-4);\r\n        }\r\n\r\n        .post-stats {\r\n            display: flex;\r\n            gap: var(--space-6);\r\n            padding-top: var(--space-4);\r\n            border-top: 1px solid rgba(100, 160, 255, 0.2);\r\n        }\r\n\r\n        \/* About Cards *\/\r\n        .about-grid {\r\n            display: grid;\r\n            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));\r\n            gap: var(--space-6);\r\n        }\r\n\r\n        .about-card {\r\n            background: rgba(15, 26, 38, 0.8);\r\n            backdrop-filter: blur(10px);\r\n            border-radius: var(--radius-3xl);\r\n            padding: var(--space-6);\r\n            box-shadow: var(--shadow-md);\r\n            border: 1px solid rgba(100, 160, 255, 0.2);\r\n            transition: all var(--duration-300) var(--ease-out);\r\n        }\r\n\r\n        .about-card:hover {\r\n            transform: translateY(-4px);\r\n            box-shadow: var(--shadow-lg);\r\n        }\r\n\r\n        .card-header {\r\n            display: flex;\r\n            align-items: center;\r\n            gap: var(--space-4);\r\n            margin-bottom: var(--space-6);\r\n        }\r\n\r\n        .card-icon {\r\n            width: 48px;\r\n            height: 48px;\r\n            background: var(--gradient-primary);\r\n            border-radius: var(--radius-2xl);\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            color: var(--white);\r\n            font-size: var(--text-xl);\r\n        }\r\n\r\n        .card-header .fb-card-heading {\r\n            font-size: var(--text-xl);\r\n            font-weight: 700;\r\n            color: var(--gray-100);\r\n            margin: 0;\r\n        }\r\n\r\n        .card-content {\r\n            color: var(--gray-200);\r\n            line-height: 1.6;\r\n        }\r\n\r\n        .about-item {\r\n            display: flex;\r\n            gap: var(--space-4);\r\n            margin-bottom: var(--space-4);\r\n        }\r\n\r\n        .about-item:last-child {\r\n            margin-bottom: 0;\r\n        }\r\n\r\n        .about-icon {\r\n            width: 40px;\r\n            height: 40px;\r\n            background: rgba(100, 160, 255, 0.2);\r\n            border-radius: var(--radius-xl);\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            color: var(--gray-400);\r\n            flex-shrink: 0;\r\n        }\r\n\r\n        .about-text .fb-about-heading {\r\n            font-weight: 600;\r\n            color: var(--gray-100);\r\n            margin-bottom: var(--space-1);\r\n        }\r\n\r\n        .about-text .fb-about-text {\r\n            color: var(--gray-300);\r\n            font-size: var(--text-sm);\r\n        }\r\n\r\n        \/* Premium Empty State *\/\r\n        .empty-state {\r\n            text-align: center;\r\n            padding: var(--space-20) var(--space-8);\r\n            color: var(--gray-400);\r\n        }\r\n\r\n        .empty-icon {\r\n            width: 120px;\r\n            height: 120px;\r\n            background: linear-gradient(135deg, rgba(100, 160, 255, 0.1) 0%, rgba(100, 160, 255, 0.2) 100%);\r\n            border-radius: var(--radius-full);\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            margin: 0 auto var(--space-8);\r\n            font-size: var(--text-4xl);\r\n            box-shadow: var(--shadow-lg);\r\n            animation: bounce 2s ease-in-out infinite;\r\n        }\r\n\r\n        @keyframes bounce {\r\n\r\n            0%,\r\n            20%,\r\n            50%,\r\n            80%,\r\n            100% {\r\n                transform: translateY(0);\r\n            }\r\n\r\n            40% {\r\n                transform: translateY(-15px);\r\n            }\r\n\r\n            60% {\r\n                transform: translateY(-8px);\r\n            }\r\n        }\r\n\r\n        .empty-state .fb-empty-heading {\r\n            font-size: var(--text-2xl);\r\n            font-weight: 700;\r\n            color: var(--gray-100);\r\n            margin-bottom: var(--space-3);\r\n        }\r\n\r\n        .empty-state .fb-empty-text {\r\n            font-size: var(--text-lg);\r\n            line-height: 1.7;\r\n            max-width: 500px;\r\n            margin: 0 auto;\r\n            color: var(--gray-300);\r\n        }\r\n\r\n        .no-data-message {\r\n            text-align: center;\r\n            padding: var(--space-12);\r\n            color: var(--gray-400);\r\n            font-size: var(--text-lg);\r\n            background: rgba(15, 26, 38, 0.6);\r\n            border-radius: var(--radius-2xl);\r\n            border: 2px dashed rgba(100, 160, 255, 0.3);\r\n        }\r\n\r\n        \/* Premium Debug Section *\/\r\n        .debug-container {\r\n            background: var(--gray-900);\r\n            color: var(--gray-100);\r\n            border-radius: var(--radius-4xl);\r\n            padding: var(--space-8);\r\n            box-shadow: var(--shadow-2xl);\r\n            border: 1px solid var(--gray-800);\r\n        }\r\n\r\n        .debug-section {\r\n            margin-bottom: var(--space-8);\r\n        }\r\n\r\n        .debug-title {\r\n            color: var(--primary-400);\r\n            font-size: var(--text-xl);\r\n            font-weight: 700;\r\n            margin-bottom: var(--space-4);\r\n            text-transform: uppercase;\r\n            letter-spacing: 0.05em;\r\n        }\r\n\r\n        .debug-content {\r\n            background: var(--gray-800);\r\n            border-radius: var(--radius-2xl);\r\n            padding: var(--space-6);\r\n            font-family: 'JetBrains Mono', 'SF Mono', Monaco, 'Cascadia Code', monospace;\r\n            font-size: var(--text-sm);\r\n            line-height: 1.8;\r\n            border: 1px solid var(--gray-700);\r\n            box-shadow: var(--shadow-inner);\r\n            white-space: pre-line;\r\n        }\r\n\r\n        \/* Video Thumbnail Styles *\/\r\n        .video-thumbnail {\r\n            position: relative;\r\n            height: 200px;\r\n            background-size: cover;\r\n            background-position: center;\r\n            background-color: var(--gray-700);\r\n            cursor: pointer;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            overflow: hidden;\r\n            border-radius: var(--radius-2xl) var(--radius-2xl) 0 0;\r\n        }\r\n\r\n        .video-play-icon {\r\n            position: absolute;\r\n            width: 60px;\r\n            height: 60px;\r\n            background: rgba(255, 255, 255, 0.9);\r\n            border-radius: var(--radius-full);\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            font-size: var(--text-2xl);\r\n            color: var(--primary-600);\r\n            transition: all var(--duration-300) var(--ease-out);\r\n            z-index: 2;\r\n        }\r\n\r\n        .video-thumbnail:hover .video-play-icon {\r\n            transform: scale(1.1);\r\n            background: var(--white);\r\n        }\r\n\r\n        .video-quality-badge {\r\n            position: absolute;\r\n            top: var(--space-3);\r\n            left: var(--space-3);\r\n            background: rgba(0, 0, 0, 0.7);\r\n            color: var(--white);\r\n            padding: var(--space-1) var(--space-3);\r\n            border-radius: var(--radius-full);\r\n            font-size: var(--text-xs);\r\n            font-weight: 700;\r\n            z-index: 2;\r\n        }\r\n\r\n        .reel-badge {\r\n            position: absolute;\r\n            top: var(--space-3);\r\n            left: var(--space-3);\r\n            background: var(--gradient-secondary);\r\n            color: var(--white);\r\n            padding: var(--space-1) var(--space-3);\r\n            border-radius: var(--radius-full);\r\n            font-size: var(--text-xs);\r\n            font-weight: 700;\r\n            z-index: 2;\r\n        }\r\n\r\n        .video-duration {\r\n            position: absolute;\r\n            bottom: var(--space-3);\r\n            right: var(--space-3);\r\n            background: rgba(0, 0, 0, 0.7);\r\n            color: var(--white);\r\n            padding: var(--space-1) var(--space-3);\r\n            border-radius: var(--radius-lg);\r\n            font-size: var(--text-xs);\r\n            font-weight: 600;\r\n            z-index: 2;\r\n        }\r\n\r\n        .video-overlay {\r\n            position: absolute;\r\n            inset: 0;\r\n            background: linear-gradient(to top,\r\n                    rgba(0, 96, 255, 0.85) 0%,\r\n                    rgba(0, 150, 255, 0.5) 30%,\r\n                    transparent 60%);\r\n            opacity: 0;\r\n            visibility: hidden;\r\n            transition: all var(--duration-300) var(--ease-out);\r\n            display: flex;\r\n            align-items: flex-end;\r\n            justify-content: center;\r\n            padding-bottom: var(--space-4);\r\n            z-index: 3;\r\n        }\r\n\r\n        .video-thumbnail:hover .video-overlay {\r\n            opacity: 1;\r\n            visibility: visible;\r\n        }\r\n\r\n        .video-action-btn {\r\n            background: rgba(0, 96, 255, 0.8);\r\n            backdrop-filter: blur(10px);\r\n            border: 2px solid rgba(255, 255, 255, 0.3);\r\n            color: var(--white);\r\n            padding: var(--space-3);\r\n            border-radius: var(--radius-full);\r\n            cursor: pointer;\r\n            transition: all var(--duration-300) var(--ease-out);\r\n            font-size: var(--text-lg);\r\n            width: 48px;\r\n            height: 48px;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            box-shadow: 0 4px 12px rgba(0, 96, 255, 0.3);\r\n        }\r\n\r\n        .video-action-btn:hover {\r\n            background: rgba(0, 96, 255, 1);\r\n            transform: scale(1.1);\r\n            border-color: rgba(255, 255, 255, 0.6);\r\n            box-shadow: 0 6px 16px rgba(0, 96, 255, 0.4);\r\n        }\r\n\r\n        .video-stats {\r\n            display: flex;\r\n            gap: var(--space-4);\r\n            margin-bottom: var(--space-4);\r\n            font-size: var(--text-sm);\r\n        }\r\n\r\n        .video-stats .stat-item {\r\n            display: flex;\r\n            align-items: center;\r\n            gap: var(--space-1);\r\n            color: var(--gray-400);\r\n        }\r\n\r\n        .video-stats .stat-item i {\r\n            color: var(--primary-400);\r\n        }\r\n\r\n        \/* Download Progress Modal *\/\r\n        .download-progress-modal {\r\n            position: fixed;\r\n            top: 20px;\r\n            right: 20px;\r\n            background: rgba(15, 26, 38, 0.9);\r\n            backdrop-filter: blur(20px);\r\n            border-radius: var(--radius-3xl);\r\n            padding: var(--space-6);\r\n            box-shadow: var(--shadow-2xl);\r\n            border: 1px solid rgba(100, 160, 255, 0.2);\r\n            z-index: 10001;\r\n            min-width: 300px;\r\n            opacity: 0;\r\n            visibility: hidden;\r\n            transform: translateX(100%);\r\n            transition: all var(--duration-500) var(--ease-out);\r\n        }\r\n\r\n        .download-progress-modal.active {\r\n            opacity: 1;\r\n            visibility: visible;\r\n            transform: translateX(0);\r\n        }\r\n\r\n        .download-progress-header {\r\n            display: flex;\r\n            align-items: center;\r\n            gap: var(--space-3);\r\n            margin-bottom: var(--space-4);\r\n        }\r\n\r\n        .download-progress-header i {\r\n            color: var(--primary-400);\r\n            font-size: var(--text-xl);\r\n        }\r\n\r\n        .download-progress-title {\r\n            font-weight: 700;\r\n            color: var(--gray-100);\r\n        }\r\n\r\n        .download-progress-bar {\r\n            width: 100%;\r\n            height: 8px;\r\n            background: rgba(100, 160, 255, 0.2);\r\n            border-radius: var(--radius-full);\r\n            overflow: hidden;\r\n            margin-bottom: var(--space-3);\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            transition: width var(--duration-300) var(--ease-out);\r\n            width: 0%;\r\n        }\r\n\r\n        .download-progress-text {\r\n            font-size: var(--text-sm);\r\n            color: var(--gray-400);\r\n            text-align: center;\r\n        }\r\n\r\n        .download-cancel-btn {\r\n            margin-top: var(--space-4);\r\n            background: rgba(100, 160, 255, 0.2);\r\n            color: var(--gray-200);\r\n            border: none;\r\n            padding: var(--space-2) var(--space-4);\r\n            border-radius: var(--radius-lg);\r\n            cursor: pointer;\r\n            width: 100%;\r\n            font-weight: 600;\r\n        }\r\n\r\n        \/* Responsive Design *\/\r\n        @media (min-width: 1200px) {\r\n            .video-download-btn {\r\n                padding: var(--space-4) var(--space-10);\r\n                min-width: 140px;\r\n                font-size: var(--text-base);\r\n            }\r\n\r\n            .video-download-btn i {\r\n                font-size: var(--text-xl);\r\n            }\r\n        }\r\n\r\n        @media (max-width: 1024px) {\r\n            .fb-wrapper {\r\n                padding: var(--space-6) !important;\r\n            }\r\n\r\n            .fb-wrapper-container {\r\n                padding: var(--space-6);\r\n            }\r\n\r\n            .search-section {\r\n                padding: var(--space-8);\r\n            }\r\n\r\n            .search-heading {\r\n                font-size: clamp(var(--text-2xl), 4.5vw, var(--text-4xl));\r\n                margin-bottom: var(--space-3);\r\n            }\r\n\r\n            .search-intro {\r\n                width: 100%;\r\n                font-size: var(--text-sm);\r\n                margin-bottom: var(--space-6);\r\n            }\r\n\r\n            .url-input {\r\n                padding: var(--space-3) var(--space-3) var(--space-3) var(--space-10) !important;\r\n                font-size: var(--text-sm) !important;\r\n            }\r\n\r\n            .input-icon {\r\n                left: var(--space-3);\r\n                font-size: var(--text-base);\r\n            }\r\n\r\n            .analyze-btn {\r\n                padding: var(--space-3) var(--space-6) !important;\r\n                font-size: var(--text-sm) !important;\r\n            }\r\n\r\n            .group-details {\r\n                padding: var(--space-8);\r\n            }\r\n\r\n            .profile-info-section {\r\n                padding: var(--space-8);\r\n            }\r\n\r\n            .profile-stats {\r\n                display: grid;\r\n                grid-template-columns: repeat(2, 1fr);\r\n                gap: var(--space-3);\r\n                margin-bottom: var(--space-6);\r\n            }\r\n\r\n            .stat-badge {\r\n                text-align: center;\r\n                padding: var(--space-3) var(--space-4);\r\n                font-size: var(--text-sm);\r\n            }\r\n\r\n            .profile-actions {\r\n                flex-direction: column;\r\n                gap: var(--space-3);\r\n            }\r\n\r\n            .action-btn {\r\n                width: 100%;\r\n                justify-content: center;\r\n                padding: var(--space-4) var(--space-6);\r\n            }\r\n\r\n            .action-btn.primary {\r\n                order: -1;\r\n            }\r\n\r\n            .fb-photomodal-content {\r\n                flex-direction: column;\r\n                max-width: 95vw;\r\n            }\r\n\r\n            .fb-photomodal-image {\r\n                max-width: 95vw;\r\n                max-height: 60vh;\r\n            }\r\n\r\n            .fb-photomodal-info {\r\n                width: 100%;\r\n            }\r\n\r\n            .fb-photoaction-btn {\r\n                width: 44px;\r\n                height: 44px;\r\n                padding: var(--space-2);\r\n                font-size: var(--text-base);\r\n            }\r\n\r\n            .video-action-btn {\r\n                width: 44px;\r\n                height: 44px;\r\n                padding: var(--space-2);\r\n                font-size: var(--text-base);\r\n            }\r\n\r\n            .video-overlay {\r\n                opacity: 1;\r\n                visibility: visible;\r\n                background: linear-gradient(to top,\r\n                        rgba(0, 96, 255, 0.75) 0%,\r\n                        rgba(0, 150, 255, 0.4) 25%,\r\n                        transparent 50%);\r\n                align-items: flex-end;\r\n                justify-content: center;\r\n                padding-bottom: var(--space-3);\r\n            }\r\n\r\n            .fb-photooverlay {\r\n                opacity: 1;\r\n                visibility: visible;\r\n                background: linear-gradient(to top,\r\n                        rgba(0, 96, 255, 0.75) 0%,\r\n                        rgba(0, 150, 255, 0.4) 25%,\r\n                        transparent 50%);\r\n                align-items: flex-end;\r\n                justify-content: center;\r\n                padding-bottom: var(--space-3);\r\n            }\r\n\r\n            .content-header {\r\n                margin-bottom: var(--space-6);\r\n                padding-bottom: var(--space-3);\r\n            }\r\n\r\n            .content-title .fb-section-heading {\r\n                font-size: var(--text-xl);\r\n            }\r\n\r\n            .content-title i {\r\n                font-size: var(--text-lg);\r\n            }\r\n\r\n            .content-stats {\r\n                gap: var(--space-3);\r\n            }\r\n\r\n            .stat-item {\r\n                font-size: var(--text-xs);\r\n            }\r\n\r\n            .summary-title {\r\n                font-size: var(--text-2xl);\r\n                margin-bottom: var(--space-3);\r\n            }\r\n\r\n            .summary-description {\r\n                font-size: var(--text-base);\r\n                margin-bottom: var(--space-6);\r\n            }\r\n\r\n            .summary-stat-number {\r\n                font-size: var(--text-2xl);\r\n            }\r\n\r\n            .summary-stat-label {\r\n                font-size: var(--text-xs);\r\n            }\r\n\r\n            .tab-btn {\r\n                padding: var(--space-4) var(--space-6);\r\n                font-size: var(--text-base);\r\n            }\r\n\r\n            .nav-tab {\r\n                padding: var(--space-3) var(--space-4);\r\n                font-size: var(--text-sm);\r\n            }\r\n\r\n            .group-title {\r\n                font-size: var(--text-3xl);\r\n            }\r\n\r\n            .group-subtitle {\r\n                font-size: var(--text-lg);\r\n            }\r\n\r\n            .profile-name {\r\n                font-size: var(--text-3xl);\r\n            }\r\n\r\n            .video-title {\r\n                font-size: var(--text-base);\r\n            }\r\n\r\n            .post-author {\r\n                font-size: var(--text-base);\r\n            }\r\n\r\n            .post-content {\r\n                font-size: var(--text-sm);\r\n            }\r\n\r\n            .video-info {\r\n                padding: var(--space-4);\r\n                min-height: auto;\r\n            }\r\n\r\n            .video-stats {\r\n                flex-direction: row;\r\n                justify-content: space-between;\r\n                align-items: center;\r\n                gap: var(--space-3);\r\n            }\r\n\r\n            .video-engagement {\r\n                flex: 1;\r\n                min-width: 0;\r\n            }\r\n\r\n            .video-download-btn {\r\n                padding: var(--space-3) var(--space-5);\r\n                min-width: 100px;\r\n                max-width: 180px;\r\n                font-size: var(--text-sm);\r\n                flex-shrink: 0;\r\n                gap: var(--space-1);\r\n            }\r\n\r\n            .video-download-btn i {\r\n                font-size: var(--text-base);\r\n            }\r\n\r\n            .video-engagement {\r\n                gap: var(--space-3);\r\n            }\r\n\r\n            .video-engagement-item {\r\n                font-size: var(--text-xs);\r\n            }\r\n\r\n            .video-meta {\r\n                font-size: var(--text-xs);\r\n                margin-top: var(--space-2);\r\n            }\r\n        }\r\n\r\n        @media (max-width: 768px) {\r\n            .fb-wrapper {\r\n                padding: var(--space-4) !important;\r\n            }\r\n\r\n            .fb-wrapper-container {\r\n                padding: var(--space-4);\r\n            }\r\n\r\n            .search-section {\r\n                padding: var(--space-8);\r\n            }\r\n\r\n            .search-heading {\r\n                font-size: clamp(var(--text-xl), 4vw, var(--text-3xl));\r\n                margin-bottom: var(--space-3);\r\n            }\r\n\r\n            .search-intro {\r\n                width: 100%;\r\n                font-size: var(--text-sm);\r\n                margin-bottom: var(--space-6);\r\n            }\r\n\r\n            .url-input {\r\n                padding: var(--space-3) var(--space-3) var(--space-3) var(--space-10) !important;\r\n                font-size: var(--text-sm) !important;\r\n            }\r\n\r\n            .input-icon {\r\n                left: var(--space-3);\r\n                font-size: var(--text-base);\r\n            }\r\n\r\n            .analyze-btn {\r\n                padding: var(--space-3) var(--space-6) !important;\r\n                font-size: var(--text-sm) !important;\r\n                width: 100%;\r\n            }\r\n\r\n            .search-form {\r\n                flex-direction: column;\r\n            }\r\n\r\n            .tab-list {\r\n                flex-wrap: wrap;\r\n                padding: var(--space-1);\r\n            }\r\n\r\n            .tab-btn {\r\n                padding: var(--space-3) var(--space-4);\r\n                font-size: var(--text-sm);\r\n                min-width: auto;\r\n            }\r\n\r\n            .profile-nav-tabs {\r\n                flex-wrap: wrap;\r\n                gap: var(--space-1);\r\n            }\r\n\r\n            .nav-tab {\r\n                padding: var(--space-2) var(--space-3);\r\n                font-size: var(--text-xs);\r\n                min-width: auto;\r\n            }\r\n\r\n            .media-grid {\r\n                grid-template-columns: 1fr;\r\n            }\r\n\r\n            .video-grid {\r\n                grid-template-columns: 1fr;\r\n            }\r\n\r\n            .stats-grid {\r\n                grid-template-columns: repeat(2, 1fr);\r\n            }\r\n\r\n            .summary-stats {\r\n                grid-template-columns: repeat(2, 1fr);\r\n            }\r\n\r\n            .download-actions {\r\n                flex-direction: row;\r\n                justify-content: center;\r\n            }\r\n\r\n            .download-btn {\r\n                min-width: 140px;\r\n                padding: var(--space-3) var(--space-6);\r\n            }\r\n\r\n            .fb-photoaction-btn {\r\n                width: 44px;\r\n                height: 44px;\r\n                padding: var(--space-2);\r\n                font-size: var(--text-base);\r\n            }\r\n\r\n            .video-action-btn {\r\n                width: 44px;\r\n                height: 44px;\r\n                padding: var(--space-2);\r\n                font-size: var(--text-base);\r\n            }\r\n\r\n            .video-overlay {\r\n                opacity: 1;\r\n                visibility: visible;\r\n                background: linear-gradient(to top,\r\n                        rgba(0, 96, 255, 0.75) 0%,\r\n                        rgba(0, 150, 255, 0.4) 25%,\r\n                        transparent 50%);\r\n                align-items: flex-end;\r\n                justify-content: center;\r\n                padding-bottom: var(--space-3);\r\n            }\r\n\r\n            .fb-photooverlay {\r\n                opacity: 1;\r\n                visibility: visible;\r\n                background: linear-gradient(to top,\r\n                        rgba(0, 96, 255, 0.75) 0%,\r\n                        rgba(0, 150, 255, 0.4) 25%,\r\n                        transparent 50%);\r\n                align-items: flex-end;\r\n                justify-content: center;\r\n                padding-bottom: var(--space-3);\r\n            }\r\n\r\n            .content-header {\r\n                margin-bottom: var(--space-5);\r\n                padding-bottom: var(--space-2);\r\n                flex-direction: column;\r\n                align-items: flex-start;\r\n                gap: var(--space-3);\r\n            }\r\n\r\n            .content-title .fb-section-heading {\r\n                font-size: var(--text-lg);\r\n            }\r\n\r\n            .content-title i {\r\n                font-size: var(--text-base);\r\n            }\r\n\r\n            .content-stats {\r\n                gap: var(--space-2);\r\n                width: 100%;\r\n                justify-content: flex-start;\r\n            }\r\n\r\n            .stat-item {\r\n                font-size: var(--text-xs);\r\n            }\r\n\r\n            .summary-title {\r\n                font-size: var(--text-xl);\r\n                margin-bottom: var(--space-2);\r\n            }\r\n\r\n            .summary-description {\r\n                font-size: var(--text-sm);\r\n                margin-bottom: var(--space-4);\r\n            }\r\n\r\n            .summary-stat-number {\r\n                font-size: var(--text-xl);\r\n            }\r\n\r\n            .summary-stat-label {\r\n                font-size: var(--text-xs);\r\n            }\r\n\r\n            .tab-btn {\r\n                padding: var(--space-3) var(--space-4);\r\n                font-size: var(--text-sm);\r\n            }\r\n\r\n            .nav-tab {\r\n                padding: var(--space-2) var(--space-3);\r\n                font-size: var(--text-xs);\r\n            }\r\n\r\n            .group-title {\r\n                font-size: var(--text-2xl);\r\n            }\r\n\r\n            .group-subtitle {\r\n                font-size: var(--text-base);\r\n            }\r\n\r\n            .group-description {\r\n                font-size: var(--text-base);\r\n                padding: var(--space-6);\r\n            }\r\n\r\n            .profile-name {\r\n                font-size: var(--text-2xl);\r\n            }\r\n\r\n            .post-date {\r\n                font-size: var(--text-xs);\r\n            }\r\n\r\n            .video-description {\r\n                font-size: var(--text-xs);\r\n            }\r\n\r\n            .no-data-message {\r\n                font-size: var(--text-base);\r\n                padding: var(--space-8);\r\n            }\r\n\r\n            .video-title {\r\n                font-size: var(--text-sm);\r\n            }\r\n\r\n            .post-author {\r\n                font-size: var(--text-sm);\r\n            }\r\n\r\n            .post-content {\r\n                font-size: var(--text-xs);\r\n            }\r\n\r\n            .video-info {\r\n                padding: var(--space-4);\r\n                min-height: auto;\r\n            }\r\n\r\n            .video-stats {\r\n                flex-direction: column;\r\n                align-items: stretch;\r\n                gap: var(--space-3);\r\n            }\r\n\r\n            .video-engagement {\r\n                justify-content: flex-start;\r\n                gap: var(--space-3);\r\n                flex: none;\r\n                width: 100%;\r\n            }\r\n\r\n            .video-download-btn {\r\n                width: 100%;\r\n                padding: var(--space-3) var(--space-5);\r\n                min-width: auto;\r\n                max-width: 100%;\r\n                font-size: var(--text-sm);\r\n                flex-direction: row;\r\n                justify-content: center;\r\n                gap: var(--space-2);\r\n            }\r\n\r\n            .video-download-btn i {\r\n                font-size: var(--text-base);\r\n            }\r\n\r\n            .video-engagement-item {\r\n                font-size: var(--text-xs);\r\n            }\r\n\r\n            .video-meta {\r\n                font-size: var(--text-xs);\r\n                margin-top: var(--space-2);\r\n                flex-direction: column;\r\n                gap: var(--space-1);\r\n            }\r\n\r\n            .video-title {\r\n                font-size: var(--text-sm);\r\n                margin-bottom: var(--space-2);\r\n            }\r\n\r\n            .fb-main-heading {\r\n                font-size: var(--text-4xl);\r\n            }\r\n\r\n            .group-cover {\r\n                height: 250px;\r\n            }\r\n\r\n            .cover-section {\r\n                height: 250px;\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                margin-top: -60px;\r\n            }\r\n\r\n            .profile-details {\r\n                margin-top: var(--space-4);\r\n            }\r\n\r\n            .profile-stats {\r\n                display: grid;\r\n                grid-template-columns: repeat(2, 1fr);\r\n                gap: var(--space-3);\r\n                margin-bottom: var(--space-6);\r\n            }\r\n\r\n            .stat-badge {\r\n                text-align: center;\r\n                padding: var(--space-3) var(--space-4);\r\n                font-size: var(--text-sm);\r\n            }\r\n\r\n            .profile-actions {\r\n                flex-direction: column;\r\n                gap: var(--space-3);\r\n            }\r\n\r\n            .action-btn {\r\n                width: 100%;\r\n                justify-content: center;\r\n                padding: var(--space-4) var(--space-6);\r\n            }\r\n\r\n            .action-btn.primary {\r\n                order: -1;\r\n            }\r\n\r\n            .profile-nav-tabs {\r\n                flex-direction: column;\r\n                gap: var(--space-1);\r\n            }\r\n\r\n            .nav-tab {\r\n                justify-content: flex-start;\r\n                padding: var(--space-2);\r\n                font-size: var(--text-xs);\r\n            }\r\n\r\n            .tab-list {\r\n                padding: var(--space-1);\r\n            }\r\n\r\n            .tab-btn {\r\n                padding: var(--space-2) var(--space-3);\r\n                font-size: var(--text-xs);\r\n            }\r\n\r\n            .about-grid {\r\n                grid-template-columns: 1fr;\r\n            }\r\n\r\n            .photos-grid {\r\n                grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));\r\n            }\r\n        }\r\n\r\n        @media (max-width: 480px) {\r\n            .fb-wrapper {\r\n                padding: var(--space-3) !important;\r\n            }\r\n\r\n            .stats-grid {\r\n                grid-template-columns: 1fr;\r\n            }\r\n\r\n            .summary-stats {\r\n                grid-template-columns: 1fr;\r\n            }\r\n\r\n            .download-actions {\r\n                flex-direction: column;\r\n            }\r\n\r\n            .search-section {\r\n                padding: var(--space-6);\r\n            }\r\n\r\n            .search-heading {\r\n                font-size: clamp(var(--text-xl), 3.5vw, var(--text-2xl));\r\n                margin-bottom: var(--space-2);\r\n            }\r\n\r\n            .search-intro {\r\n                width: 100%;\r\n                font-size: var(--text-xs);\r\n                margin-bottom: var(--space-4);\r\n                line-height: 1.5;\r\n            }\r\n\r\n            .url-input {\r\n                padding: var(--space-2) var(--space-2) var(--space-2) var(--space-8) !important;\r\n                font-size: var(--text-xs) !important;\r\n            }\r\n\r\n            .input-icon {\r\n                left: var(--space-2);\r\n                font-size: var(--text-sm);\r\n            }\r\n\r\n            .analyze-btn {\r\n                padding: var(--space-2) var(--space-4) !important;\r\n                font-size: var(--text-xs) !important;\r\n                width: 100%;\r\n            }\r\n\r\n            .group-details {\r\n                padding: var(--space-6);\r\n            }\r\n\r\n            .profile-info-section {\r\n                padding: var(--space-6);\r\n            }\r\n\r\n            .profile-picture {\r\n                width: 120px;\r\n                height: 120px;\r\n            }\r\n\r\n            .profile-name {\r\n                font-size: var(--text-2xl);\r\n            }\r\n\r\n            .profile-stats {\r\n                display: grid;\r\n                grid-template-columns: repeat(2, 1fr);\r\n                gap: var(--space-2);\r\n                margin-bottom: var(--space-4);\r\n            }\r\n\r\n            .stat-badge {\r\n                text-align: center;\r\n                padding: var(--space-2) var(--space-3);\r\n                font-size: var(--text-xs);\r\n            }\r\n\r\n            .profile-actions {\r\n                flex-direction: column;\r\n                gap: var(--space-2);\r\n            }\r\n\r\n            .action-btn {\r\n                width: 100%;\r\n                justify-content: center;\r\n                padding: var(--space-3) var(--space-5);\r\n                font-size: var(--text-sm);\r\n            }\r\n\r\n            .action-btn.primary {\r\n                order: -1;\r\n            }\r\n\r\n            .photos-grid {\r\n                grid-template-columns: 1fr;\r\n            }\r\n\r\n            .fb-photoaction-btn {\r\n                width: 40px;\r\n                height: 40px;\r\n                padding: var(--space-2);\r\n                font-size: var(--text-sm);\r\n            }\r\n\r\n            .video-action-btn {\r\n                width: 40px;\r\n                height: 40px;\r\n                padding: var(--space-2);\r\n                font-size: var(--text-sm);\r\n            }\r\n\r\n            .video-overlay {\r\n                opacity: 1;\r\n                visibility: visible;\r\n                background: linear-gradient(to top,\r\n                        rgba(0, 96, 255, 0.75) 0%,\r\n                        rgba(0, 150, 255, 0.4) 25%,\r\n                        transparent 50%);\r\n                align-items: flex-end;\r\n                justify-content: center;\r\n                padding-bottom: var(--space-2);\r\n            }\r\n\r\n            .fb-photooverlay {\r\n                opacity: 1;\r\n                visibility: visible;\r\n                background: linear-gradient(to top,\r\n                        rgba(0, 96, 255, 0.75) 0%,\r\n                        rgba(0, 150, 255, 0.4) 25%,\r\n                        transparent 50%);\r\n                align-items: flex-end;\r\n                justify-content: center;\r\n                padding-bottom: var(--space-2);\r\n            }\r\n\r\n            .content-header {\r\n                margin-bottom: var(--space-4);\r\n                padding-bottom: var(--space-2);\r\n                flex-direction: column;\r\n                align-items: flex-start;\r\n                gap: var(--space-2);\r\n            }\r\n\r\n            .content-title .fb-section-heading {\r\n                font-size: var(--text-base);\r\n            }\r\n\r\n            .content-title i {\r\n                font-size: var(--text-sm);\r\n            }\r\n\r\n            .content-stats {\r\n                gap: var(--space-2);\r\n                width: 100%;\r\n                justify-content: flex-start;\r\n            }\r\n\r\n            .stat-item {\r\n                font-size: var(--text-xs);\r\n            }\r\n\r\n            .summary-title {\r\n                font-size: var(--text-lg);\r\n                margin-bottom: var(--space-2);\r\n            }\r\n\r\n            .summary-description {\r\n                font-size: var(--text-xs);\r\n                margin-bottom: var(--space-3);\r\n            }\r\n\r\n            .summary-stat-number {\r\n                font-size: var(--text-lg);\r\n            }\r\n\r\n            .summary-stat-label {\r\n                font-size: var(--text-xs);\r\n            }\r\n\r\n            .tab-btn {\r\n                padding: var(--space-2) var(--space-3);\r\n                font-size: var(--text-xs);\r\n            }\r\n\r\n            .nav-tab {\r\n                padding: var(--space-2) var(--space-2);\r\n                font-size: var(--text-xs);\r\n            }\r\n\r\n            .group-title {\r\n                font-size: var(--text-xl);\r\n            }\r\n\r\n            .group-subtitle {\r\n                font-size: var(--text-sm);\r\n            }\r\n\r\n            .group-description {\r\n                font-size: var(--text-sm);\r\n                padding: var(--space-4);\r\n            }\r\n\r\n            .profile-name {\r\n                font-size: var(--text-xl);\r\n            }\r\n\r\n            .post-date {\r\n                font-size: var(--text-xs);\r\n            }\r\n\r\n            .video-description {\r\n                font-size: var(--text-xs);\r\n            }\r\n\r\n            .no-data-message {\r\n                font-size: var(--text-sm);\r\n                padding: var(--space-6);\r\n            }\r\n\r\n            .video-title {\r\n                font-size: var(--text-xs);\r\n            }\r\n\r\n            .post-author {\r\n                font-size: var(--text-xs);\r\n            }\r\n\r\n            .post-content {\r\n                font-size: var(--text-xs);\r\n            }\r\n\r\n            .media-summary {\r\n                padding: var(--space-6);\r\n            }\r\n\r\n            .video-info {\r\n                padding: var(--space-3);\r\n                min-height: auto;\r\n            }\r\n\r\n            .video-stats {\r\n                flex-direction: column;\r\n                align-items: stretch;\r\n                gap: var(--space-2);\r\n            }\r\n\r\n            .video-engagement {\r\n                justify-content: flex-start;\r\n                gap: var(--space-2);\r\n                flex-wrap: wrap;\r\n                flex: none;\r\n                width: 100%;\r\n            }\r\n\r\n            .video-download-btn {\r\n                width: 100%;\r\n                padding: var(--space-2) var(--space-4);\r\n                min-width: auto;\r\n                max-width: 100%;\r\n                font-size: var(--text-xs);\r\n                flex-direction: row;\r\n                justify-content: center;\r\n                gap: var(--space-1);\r\n            }\r\n\r\n            .video-download-btn i {\r\n                font-size: var(--text-sm);\r\n            }\r\n\r\n            .video-engagement-item {\r\n                font-size: var(--text-xs);\r\n            }\r\n\r\n            .video-meta {\r\n                font-size: var(--text-xs);\r\n                margin-top: var(--space-2);\r\n                flex-direction: column;\r\n                gap: var(--space-1);\r\n            }\r\n\r\n            .video-title {\r\n                font-size: var(--text-xs);\r\n                margin-bottom: var(--space-1);\r\n            }\r\n\r\n            .video-card {\r\n                min-height: auto;\r\n            }\r\n        }\r\n\r\n        \/* Add these styles to support the new video functionality *\/\r\n        .video-card {\r\n            background: rgba(15, 26, 38, 0.8);\r\n            backdrop-filter: blur(10px);\r\n            border-radius: var(--radius-4xl);\r\n            box-shadow: var(--shadow-xl);\r\n            border: 1px solid rgba(100, 160, 255, 0.2);\r\n            overflow: hidden;\r\n            transition: all var(--duration-500) var(--ease-elastic);\r\n            animation: slideUp var(--duration-700) var(--ease-elastic);\r\n            animation-delay: calc(var(--index) * 0.1s);\r\n            animation-fill-mode: both;\r\n            position: relative;\r\n        }\r\n\r\n        .video-card:hover {\r\n            transform: translateY(-12px) scale(1.02);\r\n            box-shadow: var(--shadow-2xl);\r\n            border-color: var(--primary-300);\r\n        }\r\n\r\n        .video-card video {\r\n            width: 100%;\r\n            height: 200px;\r\n            object-fit: cover;\r\n            border-radius: var(--radius-2xl) var(--radius-2xl) 0 0;\r\n        }\r\n\r\n        .video-badges {\r\n            margin-bottom: var(--space-4);\r\n            display: flex;\r\n            gap: var(--space-2);\r\n        }\r\n\r\n        .quality-badge {\r\n            background: var(--gradient-success);\r\n            color: var(--white);\r\n            padding: var(--space-2) var(--space-4);\r\n            border-radius: var(--radius-full);\r\n            font-size: var(--text-xs);\r\n            font-weight: 700;\r\n            text-transform: uppercase;\r\n            letter-spacing: 0.05em;\r\n        }\r\n\r\n        .format-badge {\r\n            background: var(--gradient-accent);\r\n            color: var(--white);\r\n            padding: var(--space-2) var(--space-4);\r\n            border-radius: var(--radius-full);\r\n            font-size: var(--text-xs);\r\n            font-weight: 700;\r\n            text-transform: uppercase;\r\n            letter-spacing: 0.05em;\r\n        }\r\n\r\n        .download-progress {\r\n            position: absolute;\r\n            bottom: 0;\r\n            left: 0;\r\n            height: 3px;\r\n            background-color: var(--primary-400);\r\n            transition: width var(--duration-300) var(--ease-out);\r\n            border-radius: 0 0 var(--radius-2xl) var(--radius-2xl);\r\n        }\r\n\r\n        \/* Custom Scrollbar *\/\r\n        ::-webkit-scrollbar {\r\n            width: 12px;\r\n        }\r\n\r\n        ::-webkit-scrollbar-track {\r\n            background: rgba(15, 26, 38, 0.5);\r\n            border-radius: var(--radius-full);\r\n        }\r\n\r\n        ::-webkit-scrollbar-thumb {\r\n            background: var(--gradient-primary);\r\n            border-radius: var(--radius-full);\r\n            border: 2px solid rgba(15, 26, 38, 0.5);\r\n        }\r\n\r\n        ::-webkit-scrollbar-thumb:hover {\r\n            background: var(--gradient-secondary);\r\n        }\r\n\r\n        \/* Selection *\/\r\n        ::selection {\r\n            background: var(--primary-200);\r\n            color: var(--primary-900);\r\n        }\r\n\r\n        \/* Focus Visible *\/\r\n        :focus-visible {\r\n            outline: 2px solid var(--primary-500);\r\n            outline-offset: 2px;\r\n        }\r\n    <\/style>\r\n\r\n    <div class=\"fb-wrapper\">\r\n        <div class=\"bg-pattern\"><\/div>\r\n        <div class=\"bg-overlay\"><\/div>\r\n\r\n        <div class=\"fb-wrapper-container\">\r\n            <h1 class=\"search-heading\">Facebook Account Viewer<\/h1>\r\n            <div class=\"search-intro\">Analyze Facebook profiles, groups and pages with advanced analytics and beautiful visualizations<\/div>\r\n        <section class=\"search-section\">\r\n            <form class=\"search-form\" onsubmit=\"analyzeUrl(event)\">\r\n                <div class=\"input-group\">\r\n                    <div class=\"input-icon\">\ud83d\udd17<\/div>\r\n                    <input type=\"url\" id=\"urlInput\" class=\"url-input\"\r\n                        placeholder=\"Enter Facebook group or profile URL...\" required>\r\n                <\/div>\r\n                <button type=\"submit\" class=\"analyze-btn\" id=\"analyzeBtn\">\r\n                    <span>Analyze<\/span>\r\n                <\/button>\r\n            <\/form>\r\n            <div id=\"errorMessage\" class=\"error-message\" style=\"display: none;\"><\/div>\r\n        <\/section>\r\n\r\n        <div id=\"loadingSection\" class=\"loading\" style=\"display: none;\">\r\n            <div class=\"loading-spinner\"><\/div>\r\n            <div class=\"loading-text\">Analyzing data...<\/div>\r\n        <\/div>\r\n\r\n        <!-- Group Content Container -->\r\n        <main id=\"groupContent\" style=\"display: none;\">\r\n            <!-- Dynamic group content will be inserted here -->\r\n        <\/main>\r\n\r\n        <!-- Profile Content Container -->\r\n        <main id=\"profileContent\" style=\"display: none;\">\r\n            <!-- Dynamic profile content will be inserted here -->\r\n        <\/main>\r\n        <\/div>\r\n\r\n    <!-- Photo Modal -->\r\n    <div id=\"fb-photomodal\" class=\"fb-photomodal\">\r\n        <div class=\"fb-photomodal-content\">\r\n            <button class=\"fb-photomodal-close\" onclick=\"closePhotoModal()\">\r\n                <i class=\"fas fa-times\"><\/i>\r\n            <\/button>\r\n            <img decoding=\"async\" id=\"fb-photomodal-image\" class=\"fb-photomodal-image\" src=\"\/placeholder.svg\" alt=\"Photo\">\r\n            <div class=\"fb-photomodal-info\">\r\n                <div class=\"fb-photomodal-header\">\r\n                    <div id=\"fb-photomodal-title\" class=\"fb-photomodal-title\">Photo Details<\/div>\r\n                <\/div>\r\n                <div id=\"fb-photomodal-stats\" class=\"fb-photomodal-stats\">\r\n                    <!-- Stats will be populated dynamically -->\r\n                <\/div>\r\n                <div class=\"fb-photomodal-actions\">\r\n                    <button class=\"fb-photomodal-action primary\" onclick=\"downloadCurrentPhoto()\">\r\n                        <i class=\"fas fa-download\"><\/i>\r\n                        Download Original\r\n                    <\/button>\r\n                    <button class=\"fb-photomodal-action\" onclick=\"shareCurrentPhoto()\">\r\n                        <i class=\"fas fa-share\"><\/i>\r\n                        Share Photo\r\n                    <\/button>\r\n                    <button class=\"fb-photomodal-action\" onclick=\"viewOnFacebook()\">\r\n                        <i class=\"fab fa-facebook\"><\/i>\r\n                        View on Facebook\r\n                    <\/button>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <!-- Download Progress Modal -->\r\n    <div id=\"download-progress-modal\" class=\"download-progress-modal\">\r\n        <div class=\"download-progress-header\">\r\n            <i class=\"fas fa-download\"><\/i>\r\n            <span id=\"download-progress-title\" class=\"download-progress-title\">Downloading...<\/span>\r\n        <\/div>\r\n        <div class=\"download-progress-bar\">\r\n            <div id=\"download-progress-fill\" class=\"download-progress-fill\"><\/div>\r\n        <\/div>\r\n        <div id=\"download-progress-text\" class=\"download-progress-text\">Preparing download...<\/div>\r\n        <button id=\"download-cancel-btn\" class=\"download-cancel-btn\" style=\"display: none;\">Cancel<\/button>\r\n    <\/div>\r\n\t\t\t\r\n\t\t\t<script src=\"https:\/\/tools.xrespond.com\/api\/rate-limit-handler.js\"><\/script>\r\n<script src=\"https:\/\/tools.xrespond.com\/api\/js\/client-ip-detector.js\"><\/script>\r\n\r\n    <script>\r\n        \/\/ Global variables\r\n        let currentUrl = '';\r\n        let currentType = ''; \/\/ 'group' or 'profile'\r\n        let currentGroupId = null;\r\n        let allHDVideos = [];\r\n        let videosLoaded = false;\r\n        let reelsLoaded = false;\r\n        let profileData = null;\r\n        let currentPhotoData = null;\r\n        let currentUsername = '';\r\n        let downloadAbortController = null;\r\n\r\n        \/\/ URL Detection and Analysis\r\n        function detectUrlType(url) {\r\n            const cleanUrl = url.toLowerCase().replace(\/^https?:\\\/\\\/(www\\.)?\/, '');\r\n\r\n            if (cleanUrl.includes('facebook.com\/groups\/')) {\r\n                return 'group';\r\n            } else if (cleanUrl.includes('facebook.com\/') && !cleanUrl.includes('\/groups\/')) {\r\n                \/\/ More specific profile detection\r\n                if (cleanUrl.match(\/facebook\\.com\\\/[^\\\/]+\\\/?$\/) ||\r\n                    cleanUrl.includes('\/profile.php?id=') ||\r\n                    cleanUrl.includes('\/people\/')) {\r\n                    return 'profile';\r\n                }\r\n            }\r\n\r\n            return 'unknown';\r\n        }\r\n\r\n        function analyzeUrl(event) {\r\n            event.preventDefault();\r\n\r\n            const url = document.getElementById('urlInput').value.trim();\r\n            if (!url) return;\r\n\r\n            currentUrl = url;\r\n            currentType = detectUrlType(url);\r\n\r\n            \/\/ Clear previous data\r\n            clearAllData();\r\n\r\n            \/\/ Show loading\r\n            document.getElementById('loadingSection').style.display = 'block';\r\n            document.getElementById('groupContent').style.display = 'none';\r\n            document.getElementById('profileContent').style.display = 'none';\r\n            document.getElementById('errorMessage').style.display = 'none';\r\n\r\n            const analyzeBtn = document.getElementById('analyzeBtn');\r\n            analyzeBtn.disabled = true;\r\n            analyzeBtn.innerHTML = '<span>Analyzing...<\/span>';\r\n\r\n            if (currentType === 'group') {\r\n                fetchGroupData(url);\r\n            } else if (currentType === 'profile') {\r\n                currentUsername = extractUsernameFromUrl(url);\r\n                fetchProfileData(url);\r\n            } else {\r\n                showError('Please enter a valid Facebook group or profile URL');\r\n                hideLoading();\r\n            }\r\n        }\r\n\r\n        function clearAllData() {\r\n            \/\/ Reset group variables\r\n            currentGroupId = null;\r\n            allHDVideos = [];\r\n            videosLoaded = false;\r\n            reelsLoaded = false;\r\n\r\n            \/\/ Reset profile variables\r\n            profileData = null;\r\n            currentPhotoData = null;\r\n            currentUsername = '';\r\n\r\n            \/\/ Clear containers\r\n            document.getElementById('groupContent').innerHTML = '';\r\n            document.getElementById('profileContent').innerHTML = '';\r\n        }\r\n\r\n        function hideLoading() {\r\n            document.getElementById('loadingSection').style.display = 'none';\r\n            const analyzeBtn = document.getElementById('analyzeBtn');\r\n            analyzeBtn.disabled = false;\r\n            analyzeBtn.innerHTML = '<span>Analyze<\/span>';\r\n        }\r\n\r\n        function showError(message) {\r\n            const errorDiv = document.getElementById('errorMessage');\r\n            errorDiv.textContent = message;\r\n            errorDiv.style.display = 'block';\r\n            hideLoading();\r\n        }\r\n\r\n        \/\/ Group Functions\r\n        async function fetchGroupData(url) {\r\n            try {\r\n                const response = await fetch('https:\/\/tools.xrespond.com\/api\/facebook\/all-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({ url: url })\r\n                });\r\n\r\n                if (!response.ok) {\r\n                    throw new Error(`HTTP error! status: ${response.status}`);\r\n                }\r\n\r\n                const data = await response.json();\r\n                const groupInfo = extractGroupInfo(data);\r\n                const allImages = extractAllImages(data);\r\n                const uniqueImages = getUniqueImages(allImages);\r\n\r\n                displayGroupInfo({\r\n                    ...groupInfo,\r\n                    allImages: uniqueImages,\r\n                    totalImages: allImages.length\r\n                }, data);\r\n\r\n                hideLoading();\r\n                document.getElementById('groupContent').style.display = 'block';\r\n\r\n            } catch (error) {\r\n                console.error('Group fetch error:', error);\r\n                showError('Error fetching group data: ' + error.message);\r\n            }\r\n        }\r\n\r\n        function extractGroupInfo(data) {\r\n            const groupInfo = {\r\n                name: 'Unknown Group',\r\n                type: 'Unknown',\r\n                privacy: 'Unknown',\r\n                membersCount: 'Unknown',\r\n                description: 'No description available',\r\n                coverImage: '',\r\n                profileImage: ''\r\n            };\r\n\r\n            if (!data?.data?.data) {\r\n                return groupInfo;\r\n            }\r\n\r\n            for (const item of data.data.data) {\r\n                if (item.result?.data) {\r\n                    const resultData = item.result.data;\r\n\r\n                    if (resultData.group?.profile_header_renderer?.group) {\r\n                        const headerGroup = resultData.group.profile_header_renderer.group;\r\n\r\n                        if (headerGroup.featurable_title?.text) {\r\n                            groupInfo.name = headerGroup.featurable_title.text;\r\n                        } else if (headerGroup.name) {\r\n                            groupInfo.name = headerGroup.name;\r\n                        }\r\n\r\n                        if (headerGroup.group_member_profiles?.formatted_count_text) {\r\n                            groupInfo.membersCount = headerGroup.group_member_profiles.formatted_count_text;\r\n                        }\r\n\r\n                        \/\/ Use the new helper function to find the best cover image\r\n                        groupInfo.coverImage = findTopCoverImage(data);\r\n\r\n                        if (headerGroup.profile_picture?.uri) {\r\n                            groupInfo.profileImage = headerGroup.profile_picture.uri;\r\n                        }\r\n\r\n                        if (headerGroup.privacy_type) {\r\n                            groupInfo.privacy = headerGroup.privacy_type;\r\n                            groupInfo.type = headerGroup.privacy_type;\r\n                        }\r\n                    }\r\n\r\n                    if (resultData.group?.id) {\r\n                        currentGroupId = resultData.group.id;\r\n                    }\r\n                }\r\n            }\r\n\r\n            return groupInfo;\r\n        }\r\n\r\n        function extractAllImages(obj, path = '') {\r\n            const images = [];\r\n\r\n            if (obj && typeof obj === 'object') {\r\n                if (Array.isArray(obj)) {\r\n                    obj.forEach((item, index) => {\r\n                        images.push(...extractAllImages(item, `${path}[${index}]`));\r\n                    });\r\n                } else {\r\n                    for (const [key, value] of Object.entries(obj)) {\r\n                        const currentPath = path ? `${path}.${key}` : key;\r\n\r\n                        if (key === 'prefetch_uris_v2' && Array.isArray(value)) {\r\n                            value.forEach((uriObj) => {\r\n                                if (uriObj?.uri) {\r\n                                    const resolution = extractResolution(uriObj.uri);\r\n                                    const quality = getQualityScore(uriObj.uri,\r\n                                        resolution?.width || 0,\r\n                                        resolution?.height || 0);\r\n\r\n                                    images.push({\r\n                                        uri: uriObj.uri,\r\n                                        type: 'prefetch',\r\n                                        resolution: resolution,\r\n                                        quality: quality,\r\n                                        width: resolution?.width || 0,\r\n                                        height: resolution?.height || 0\r\n                                    });\r\n                                }\r\n                            });\r\n                        } else if (key === 'image' && value?.uri) {\r\n                            const resolution = extractResolution(value.uri);\r\n                            const width = value.width || resolution?.width || 0;\r\n                            const height = value.height || resolution?.height || 0;\r\n                            const quality = getQualityScore(value.uri, width, height);\r\n\r\n                            images.push({\r\n                                uri: value.uri,\r\n                                type: 'image',\r\n                                width: width,\r\n                                height: height,\r\n                                resolution: resolution,\r\n                                quality: quality\r\n                            });\r\n                        } else if (key === 'uri' && typeof value === 'string' &&\r\n                            (value.includes('scontent') || value.includes('fbcdn'))) {\r\n                            const resolution = extractResolution(value);\r\n                            const quality = getQualityScore(value,\r\n                                resolution?.width || 0,\r\n                                resolution?.height || 0);\r\n\r\n                            images.push({\r\n                                uri: value,\r\n                                type: 'direct',\r\n                                resolution: resolution,\r\n                                quality: quality,\r\n                                width: resolution?.width || 0,\r\n                                height: resolution?.height || 0\r\n                            });\r\n                        } else {\r\n                            images.push(...extractAllImages(value, currentPath));\r\n                        }\r\n                    }\r\n                }\r\n            }\r\n\r\n            return images;\r\n        }\r\n\r\n        function extractResolution(url) {\r\n            try {\r\n                const urlObj = new URL(url);\r\n                const stp = urlObj.searchParams.get('stp');\r\n                if (stp) {\r\n                    const match = stp.match(\/(\\d+)x(\\d+)\/);\r\n                    if (match) {\r\n                        return {\r\n                            width: parseInt(match[1]),\r\n                            height: parseInt(match[2]),\r\n                            total: parseInt(match[1]) * parseInt(match[2])\r\n                        };\r\n                    }\r\n                }\r\n                return null;\r\n            } catch (e) {\r\n                return null;\r\n            }\r\n        }\r\n\r\n        function getQualityScore(url, width = 0, height = 0) {\r\n            let score = 0;\r\n\r\n            const totalPixels = width * height;\r\n            score += Math.min(totalPixels \/ 1000000, 10);\r\n\r\n            if (url.includes('_n.jpg')) score += 5;\r\n            if (url.includes('dst-jpg')) score += 3;\r\n            if (!url.includes('s280x280') && !url.includes('s320x320')) score += 2;\r\n            if (url.includes('s640x640') || url.includes('s1080x1080')) score += 4;\r\n            if (url.includes('_o.jpg')) score += 8;\r\n\r\n            if (url.includes('s80x80') || url.includes('s74x74')) score -= 5;\r\n            if (url.includes('tt6')) score -= 1;\r\n\r\n            return Math.max(score, 0);\r\n        }\r\n\r\n        function getUniqueImages(allImages) {\r\n            const uniqueImages = [];\r\n            const seenUris = new Set();\r\n\r\n            allImages.forEach(img => {\r\n                if (!seenUris.has(img.uri)) {\r\n                    seenUris.add(img.uri);\r\n                    uniqueImages.push(img);\r\n                }\r\n            });\r\n\r\n            return uniqueImages.sort((a, b) => b.quality - a.quality);\r\n        }\r\n\r\n        function displayGroupInfo(groupInfo, apiData) {\r\n            const groupContent = document.getElementById('groupContent');\r\n            const {\r\n                name, type, privacy, membersCount, description,\r\n                coverImage, allImages, totalImages\r\n            } = groupInfo;\r\n\r\n            const html = `\r\n            <div class=\"group-header\">\r\n                <div class=\"group-cover\">\r\n                    ${coverImage ? `<img decoding=\"async\" src=\"${escapeHtml(coverImage)}\" alt=\"${escapeHtml(name)}\" onerror=\"this.style.display='none';\">` : ''}\r\n                    <div class=\"group-cover-overlay\"><\/div>\r\n                    <div class=\"group-info-overlay\">\r\n                        <div class=\"group-title\">${escapeHtml(name)}<\/div>\r\n                        <div class=\"group-subtitle\">${escapeHtml(membersCount)} members \u2022 ${escapeHtml(type)}<\/div>\r\n                    <\/div>\r\n                <\/div>\r\n                <div class=\"group-details\">\r\n                    <div class=\"stats-grid\">\r\n                        <div class=\"stat-card\" style=\"--delay: 1\">\r\n                            <div class=\"stat-icon\">\ud83d\udc65<\/div>\r\n                            <span class=\"stat-number\">${escapeHtml(membersCount)}<\/span>\r\n                            <span class=\"stat-label\">Members<\/span>\r\n                        <\/div>\r\n                        <div class=\"stat-card\" style=\"--delay: 2\">\r\n                            <div class=\"stat-icon\">\ud83d\udd12<\/div>\r\n                            <span class=\"stat-number\">${escapeHtml(type)}<\/span>\r\n                            <span class=\"stat-label\">Privacy<\/span>\r\n                        <\/div>\r\n                        <div class=\"stat-card\" style=\"--delay: 3\">\r\n                            <div class=\"stat-icon\">\ud83d\udcf7<\/div>\r\n                            <span class=\"stat-number\">${allImages.length}<\/span>\r\n                            <span class=\"stat-label\">Images<\/span>\r\n                        <\/div>\r\n                        <div class=\"stat-card\" style=\"--delay: 4\">\r\n                            <div class=\"stat-icon\">\u2b50<\/div>\r\n                            <span class=\"stat-number\">${allImages.filter(img => img.quality > 5).length}<\/span>\r\n                            <span class=\"stat-label\">High Quality<\/span>\r\n                        <\/div>\r\n                    <\/div>\r\n                    <div class=\"group-description\">\r\n                        ${escapeHtml(description)}\r\n                    <\/div>\r\n                    <a href=\"${escapeHtml(currentUrl)}\" target=\"_blank\" class=\"visit-btn\">\r\n                        <span>Visit Group<\/span>\r\n                        <span>\u2192<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <nav class=\"nav-tabs\">\r\n                <div class=\"tab-list\">\r\n                    <button class=\"tab-btn active\" onclick=\"switchTab('photos')\">\r\n                        \ud83d\udcf7 Photos (${allImages.length})\r\n                    <\/button>\r\n                    <button class=\"tab-btn\" onclick=\"switchTab('videos')\">\r\n                        \ud83c\udfa5 Videos\r\n                    <\/button>\r\n                    \r\n                <\/div>\r\n\r\n                <div id=\"photosTab\" class=\"tab-content active\">\r\n                    ${allImages.length > 0 ? `\r\n                        <div class=\"media-summary\">\r\n                            <div class=\"summary-title\">Photo Collection<\/div>\r\n                            <div class=\"summary-description\">Discovered ${allImages.length} images from this group<\/div>\r\n                            <div class=\"summary-stats\">\r\n                                <div class=\"summary-stat\">\r\n                                    <span class=\"summary-stat-number\">${allImages.length}<\/span>\r\n                                    <span class=\"summary-stat-label\">Total Images<\/span>\r\n                                <\/div>\r\n                                <div class=\"summary-stat\">\r\n                                    <span class=\"summary-stat-number\">${allImages.filter(img => img.quality > 7).length}<\/span>\r\n                                    <span class=\"summary-stat-label\">High Quality<\/span>\r\n                                <\/div>\r\n                                <div class=\"summary-stat\">\r\n                                    <span class=\"summary-stat-number\">${Math.round(allImages.reduce((sum, img) => sum + img.quality, 0) \/ allImages.length)}<\/span>\r\n                                    <span class=\"summary-stat-label\">Avg Quality<\/span>\r\n                                <\/div>\r\n                                <div class=\"summary-stat\">\r\n                                    <span class=\"summary-stat-number\">${allImages.filter(img => img.width > 1000).length}<\/span>\r\n                                    <span class=\"summary-stat-label\">HD Images<\/span>\r\n                                <\/div>\r\n                            <\/div>\r\n                        <\/div>\r\n                        <div class=\"media-grid\">\r\n                            ${allImages.map((img, index) => `\r\n                                <div class=\"media-card\" style=\"--index: ${index}\">\r\n                                    <div class=\"media-image-container\">\r\n                                        <img decoding=\"async\" src=\"${escapeHtml(img.uri)}\" alt=\"Group media ${index + 1}\" class=\"media-image\" onerror=\"this.parentElement.style.display='none'\">\r\n                                        <div class=\"media-hover-overlay\">\r\n                                            <div class=\"quality-indicator\">\r\n                                                Quality Score: ${img.quality.toFixed(1)}\/10\r\n                                            <\/div>\r\n                                            <div class=\"download-actions\">\r\n                                                <button class=\"download-btn\" onclick=\"downloadImage('${escapeHtml(img.uri)}', 'image-${index + 1}.jpg', this)\">\r\n                                                    <span class=\"btn-icon\">\ud83d\udcbe<\/span>\r\n                                                    <span>Download<\/span>\r\n                                                <\/button>\r\n                                            <\/div>\r\n                                        <\/div>\r\n                                    <\/div>\r\n                                    <div class=\"media-info\">\r\n                                        <div class=\"media-meta\">\r\n                                            <span class=\"resolution-badge\">${img.width && img.height ? `${img.width}\u00d7${img.height}` : 'Auto'}<\/span>\r\n                                            <span class=\"type-badge\">${img.type}<\/span>\r\n                                        <\/div>\r\n                                    <\/div>\r\n                                <\/div>\r\n                            `).join('')}\r\n                        <\/div>\r\n                    ` : `\r\n                        <div class=\"empty-state\">\r\n                            <div class=\"empty-icon\">\ud83d\udcf7<\/div>\r\n                            <div class=\"fb-empty-heading\">No Photos Found<\/div>\r\n                            <div class=\"fb-empty-text\">This group doesn't have any accessible photos or the content is private.<\/div>\r\n                        <\/div>\r\n                    `}\r\n                <\/div>\r\n\r\n                <div id=\"videosTab\" class=\"tab-content\">\r\n                    <div id=\"videosLoading\" class=\"loading\" style=\"display: none;\">\r\n                        <div class=\"loading-spinner\"><\/div>\r\n                        <div class=\"loading-text\">Loading videos...<\/div>\r\n                    <\/div>\r\n                    <div id=\"videosError\" class=\"error-message\" style=\"display: none;\"><\/div>\r\n                    <div id=\"videosContent\">\r\n                        <div class=\"empty-state\">\r\n                            <div class=\"empty-icon\">\ud83c\udfa5<\/div>\r\n                            <div class=\"fb-empty-heading\">Videos<\/div>\r\n                            <div class=\"fb-empty-text\">Click here to load videos from this group.<\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n                    <div id=\"videosSkeleton\" class=\"videos-skeleton\">\r\n                        <div class=\"videos-grid-skeleton\">\r\n                            <div class=\"video-skeleton\">\r\n                                <div class=\"video-thumbnail-skeleton skeleton-loading\"><\/div>\r\n                                <div class=\"video-info-skeleton\">\r\n                                    <div class=\"skeleton-line skeleton-loading\"><\/div>\r\n                                    <div class=\"skeleton-line short skeleton-loading\"><\/div>\r\n                                <\/div>\r\n                            <\/div>\r\n                            <div class=\"video-skeleton\">\r\n                                <div class=\"video-thumbnail-skeleton skeleton-loading\"><\/div>\r\n                                <div class=\"video-info-skeleton\">\r\n                                    <div class=\"skeleton-line skeleton-loading\"><\/div>\r\n                                    <div class=\"skeleton-line short skeleton-loading\"><\/div>\r\n                                <\/div>\r\n                            <\/div>\r\n                            <div class=\"video-skeleton\">\r\n                                <div class=\"video-thumbnail-skeleton skeleton-loading\"><\/div>\r\n                                <div class=\"video-info-skeleton\">\r\n                                    <div class=\"skeleton-line skeleton-loading\"><\/div>\r\n                                    <div class=\"skeleton-line short skeleton-loading\"><\/div>\r\n                                <\/div>\r\n                            <\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/nav>\r\n        `;\r\n\r\n            groupContent.innerHTML = html;\r\n        }\r\n\r\n        \/\/ Profile Functions\r\n        function extractUsernameFromUrl(url) {\r\n            try {\r\n                let cleanUrl = url.replace(\/^https?:\\\/\\\/(www\\.)?\/, '');\r\n                cleanUrl = cleanUrl.replace(\/^facebook\\.com\\\/\/, '');\r\n\r\n                \/\/ Handle profile.php?id= format\r\n                if (cleanUrl.includes('profile.php?id=')) {\r\n                    const match = cleanUrl.match(\/profile\\.php\\?id=(\\d+)\/);\r\n                    return match ? match[1] : '';\r\n                }\r\n\r\n                \/\/ Handle people\/ format\r\n                if (cleanUrl.includes('people\/')) {\r\n                    const match = cleanUrl.match(\/people\\\/([^\\\/]+)\\\/(\\d+)\/);\r\n                    return match ? match[2] : '';\r\n                }\r\n\r\n                \/\/ Handle regular username format\r\n                cleanUrl = cleanUrl.split('\/')[0];\r\n                cleanUrl = cleanUrl.split('?')[0];\r\n                return cleanUrl;\r\n            } catch (error) {\r\n                console.error('Error extracting username:', error);\r\n                return '';\r\n            }\r\n        }\r\n\r\n        async function fetchProfileData(url) {\r\n            try {\r\n                const response = await fetch('https:\/\/tools.xrespond.com\/api\/facebook\/all-details', {\r\n                    method: 'POST',\r\n                    headers: {\r\n                        'Content-Type': 'application\/json'\r\n                    },\r\n                    body: JSON.stringify({ url: url })\r\n                });\r\n\r\n                if (!response.ok) {\r\n                    throw new Error('Network response was not ok');\r\n                }\r\n\r\n                const data = await response.json();\r\n\r\n                if (data.status === 'success') {\r\n                    processProfileData(data.data);\r\n                } else {\r\n                    showError('Failed to load profile data: ' + (data.message || 'Unknown error'));\r\n                }\r\n\r\n            } catch (error) {\r\n                console.error('Profile fetch error:', error);\r\n                showError('Error fetching profile data: ' + error.message);\r\n            }\r\n        }\r\n\r\n        function processProfileData(data) {\r\n            try {\r\n                profileData = parseProfileData(data);\r\n                displayProfileData(profileData);\r\n                hideLoading();\r\n                document.getElementById('profileContent').style.display = 'block';\r\n            } catch (error) {\r\n                showError('Error processing profile data: ' + error.message);\r\n                console.error('Processing Error:', error);\r\n            }\r\n        }\r\n\r\n        function parseProfileData(data) {\r\n            const profileData = {\r\n                basicInfo: extractBasicProfileInfo(data),\r\n                aboutInfo: extractAboutInfo(data),\r\n                photos: extractProfilePhotos(data),\r\n                posts: extractPosts(data),\r\n                videos: extractVideos(data),\r\n                reels: extractReels(data)\r\n            };\r\n\r\n            return profileData;\r\n        }\r\n\r\n        function extractBasicProfileInfo(data) {\r\n            const basicInfo = {\r\n                name: '',\r\n                profilePicture: '',\r\n                coverPhoto: '',\r\n                stats: [],\r\n                isVerified: false\r\n            };\r\n\r\n            try {\r\n                \/\/ Find user data in the response\r\n                for (const item of data.data) {\r\n\r\n                    \/\/ Look for user profile header data\r\n                    if (item.result &&\r\n                        item.result.data &&\r\n                        item.result.data.user &&\r\n                        item.result.data.user.profile_header_renderer &&\r\n                        item.result.data.user.profile_header_renderer.user) {\r\n\r\n                        const userData = item.result.data.user.profile_header_renderer.user;\r\n\r\n                        \/\/ Extract name\r\n                        basicInfo.name = userData.name || 'Unknown Name';\r\n\r\n                        \/\/ Check if verified\r\n                        basicInfo.isVerified = userData.show_verified_badge_on_profile || false;\r\n\r\n                        \/\/ Extract profile picture\r\n                        if (userData.profilePicLarge && userData.profilePicLarge.uri) {\r\n                            basicInfo.profilePicture = userData.profilePicLarge.uri;\r\n                        }\r\n\r\n                        \/\/ Extract cover photo\r\n                        if (userData.cover_photo && userData.cover_photo.photo && userData.cover_photo.photo.image) {\r\n                            basicInfo.coverPhoto = userData.cover_photo.photo.image.uri;\r\n                        }\r\n\r\n                        \/\/ Extract stats (followers, following, etc.)\r\n                        if (userData.profile_social_context && userData.profile_social_context.content) {\r\n                            userData.profile_social_context.content.forEach(item => {\r\n                                if (item.text && item.text.text) {\r\n                                    basicInfo.stats.push(item.text.text);\r\n                                }\r\n                            });\r\n                        }\r\n\r\n                        break;\r\n                    }\r\n                }\r\n            } catch (error) {\r\n                console.error('Error extracting basic info:', error);\r\n            }\r\n\r\n\r\n            return basicInfo;\r\n        }\r\n\r\n        function extractAboutInfo(data) {\r\n            const aboutInfo = {\r\n                bio: '',\r\n                work: [],\r\n                education: [],\r\n                places: [],\r\n                contact: [],\r\n                basic: []\r\n            };\r\n\r\n            try {\r\n                function searchForAboutData(obj) {\r\n                    if (!obj || typeof obj !== 'object') return;\r\n\r\n                    \/\/ Look for bio\/description\r\n                    if (obj.bio && typeof obj.bio === 'string') {\r\n                        aboutInfo.bio = obj.bio;\r\n                    }\r\n\r\n                    \/\/ Look for work information\r\n                    if (obj.work && Array.isArray(obj.work)) {\r\n                        aboutInfo.work = obj.work;\r\n                    } else if (obj.employer && obj.position) {\r\n                        aboutInfo.work.push({\r\n                            employer: obj.employer,\r\n                            position: obj.position\r\n                        });\r\n                    }\r\n\r\n                    \/\/ Look for education\r\n                    if (obj.education && Array.isArray(obj.education)) {\r\n                        aboutInfo.education = obj.education;\r\n                    } else if (obj.school) {\r\n                        aboutInfo.education.push({\r\n                            school: obj.school,\r\n                            type: obj.type || 'Education'\r\n                        });\r\n                    }\r\n\r\n                    \/\/ Recursively search\r\n                    for (const key in obj) {\r\n                        if (typeof obj[key] === 'object') {\r\n                            searchForAboutData(obj[key]);\r\n                        }\r\n                    }\r\n                }\r\n\r\n                searchForAboutData(data);\r\n\r\n            } catch (error) {\r\n                console.error('Error extracting about info:', error);\r\n            }\r\n\r\n            return aboutInfo;\r\n        }\r\n\r\n        function extractProfilePhotos(data) {\r\n            const photos = [];\r\n\r\n            try {\r\n                \/\/ Use the same image extraction logic as groups but filter for profile-specific images\r\n                const allImages = extractAllImages(data);\r\n\r\n                \/\/ Filter out very small images (likely thumbnails) and duplicates\r\n                const filteredImages = allImages.filter(img => {\r\n                    return img.width > 200 && img.height > 200; \/\/ Only larger images\r\n                });\r\n\r\n                filteredImages.forEach((img, index) => {\r\n                    photos.push({\r\n                        id: `photo-${index}`,\r\n                        url: img.uri,\r\n                        width: img.width || 0,\r\n                        height: img.height || 0,\r\n                        likes: Math.floor(Math.random() * 100), \/\/ Placeholder\r\n                        comments: Math.floor(Math.random() * 50), \/\/ Placeholder\r\n                        created_time: new Date().toISOString(),\r\n                        quality: img.quality || 0\r\n                    });\r\n                });\r\n\r\n                \/\/ Also search for specific photo structures\r\n                function searchForPhotos(obj) {\r\n                    if (!obj || typeof obj !== 'object') return;\r\n\r\n                    if (obj.photos && Array.isArray(obj.photos)) {\r\n                        obj.photos.forEach(photo => {\r\n                            if (photo.image && photo.image.uri) {\r\n                                photos.push({\r\n                                    id: photo.id || Math.random().toString(36),\r\n                                    url: photo.image.uri,\r\n                                    width: photo.image.width || 0,\r\n                                    height: photo.image.height || 0,\r\n                                    likes: photo.feedback ? photo.feedback.like_count : 0,\r\n                                    comments: photo.feedback ? photo.feedback.comment_count : 0,\r\n                                    created_time: photo.created_time || new Date().toISOString()\r\n                                });\r\n                            }\r\n                        });\r\n                    }\r\n\r\n                    \/\/ Look for media in posts\r\n                    if (obj.attachments && Array.isArray(obj.attachments)) {\r\n                        obj.attachments.forEach(attachment => {\r\n                            if (attachment.media && attachment.media.image) {\r\n                                photos.push({\r\n                                    id: Math.random().toString(36),\r\n                                    url: attachment.media.image.src,\r\n                                    width: attachment.media.image.width || 0,\r\n                                    height: attachment.media.image.height || 0,\r\n                                    likes: 0,\r\n                                    comments: 0,\r\n                                    created_time: new Date().toISOString()\r\n                                });\r\n                            }\r\n                        });\r\n                    }\r\n\r\n                    \/\/ Recursively search\r\n                    for (const key in obj) {\r\n                        if (typeof obj[key] === 'object') {\r\n                            searchForPhotos(obj[key]);\r\n                        }\r\n                    }\r\n                }\r\n\r\n                searchForPhotos(data);\r\n\r\n            } catch (error) {\r\n                console.error('Error extracting profile photos:', error);\r\n            }\r\n\r\n            \/\/ Remove duplicates based on URL\r\n            const uniquePhotos = [];\r\n            const seenUrls = new Set();\r\n\r\n            photos.forEach(photo => {\r\n                if (!seenUrls.has(photo.url)) {\r\n                    seenUrls.add(photo.url);\r\n                    uniquePhotos.push(photo);\r\n                }\r\n            });\r\n\r\n            return uniquePhotos.slice(0, 50); \/\/ Limit to 50 photos\r\n        }\r\n\r\n        function extractPosts(data) {\r\n            const posts = [];\r\n\r\n            try {\r\n                \/\/ Find posts data in the response\r\n                for (const item of data.data) {\r\n                    \/\/ Look for timeline feed data\r\n                    if (item.result &&\r\n                        item.result.data &&\r\n                        item.result.data.user &&\r\n                        item.result.data.user.timeline_list_feed_units &&\r\n                        item.result.data.user.timeline_list_feed_units.edges) {\r\n\r\n                        const edges = item.result.data.user.timeline_list_feed_units.edges;\r\n\r\n                        \/\/ Process each edge\r\n                        edges.forEach(edge => {\r\n                            if (edge.node &&\r\n                                edge.node.__typename === \"Story\" &&\r\n                                edge.node.comet_sections &&\r\n                                edge.node.comet_sections.content &&\r\n                                edge.node.comet_sections.content.story) {\r\n\r\n                                const story = edge.node.comet_sections.content.story;\r\n\r\n                                \/\/ Extract post data\r\n                                const post = {\r\n                                    id: edge.node.post_id || edge.node.id || '',\r\n                                    author: {\r\n                                        name: '',\r\n                                        profilePicture: ''\r\n                                    },\r\n                                    creationTime: 0,\r\n                                    message: '',\r\n                                    attachments: [],\r\n                                    stats: {\r\n                                        likes: 0,\r\n                                        comments: 0,\r\n                                        shares: 0\r\n                                    }\r\n                                };\r\n\r\n                                \/\/ Extract creation time\r\n                                if (edge.node.comet_sections.context_layout &&\r\n                                    edge.node.comet_sections.context_layout.story) {\r\n                                    post.creationTime = edge.node.comet_sections.context_layout.story.creation_time || 0;\r\n                                }\r\n\r\n                                \/\/ Extract message\r\n                                if (story.message && story.message.text) {\r\n                                    post.message = story.message.text;\r\n                                }\r\n\r\n                                \/\/ Extract author info\r\n                                if (story.actors && story.actors.length > 0) {\r\n                                    post.author.name = story.actors[0].name || '';\r\n\r\n                                    \/\/ Look for profile picture in different locations\r\n                                    if (story.actors[0].profile_picture) {\r\n                                        post.author.profilePicture = story.actors[0].profile_picture.uri;\r\n                                    } else if (edge.node.comet_sections.context_layout &&\r\n                                        edge.node.comet_sections.context_layout.story &&\r\n                                        edge.node.comet_sections.context_layout.story.comet_sections &&\r\n                                        edge.node.comet_sections.context_layout.story.comet_sections.actor_photo) {\r\n                                        const actorPhoto = edge.node.comet_sections.context_layout.story.comet_sections.actor_photo;\r\n                                        if (actorPhoto.story && actorPhoto.story.actors && actorPhoto.story.actors[0] && actorPhoto.story.actors[0].profile_picture) {\r\n                                            post.author.profilePicture = actorPhoto.story.actors[0].profile_picture.uri;\r\n                                        }\r\n                                    }\r\n                                }\r\n\r\n                                \/\/ Extract attachments\r\n                                if (story.attachments && story.attachments.length > 0) {\r\n                                    story.attachments.forEach(attachment => {\r\n                                        if (attachment.styles &&\r\n                                            attachment.styles.attachment &&\r\n                                            attachment.styles.attachment.media) {\r\n\r\n                                            const media = attachment.styles.attachment.media;\r\n\r\n                                            if (media.__typename === 'Photo' && media.image) {\r\n                                                post.attachments.push({\r\n                                                    type: 'photo',\r\n                                                    uri: media.image.uri,\r\n                                                    width: media.image.width || 0,\r\n                                                    height: media.image.height || 0\r\n                                                });\r\n                                            } else if (media.__typename === 'Video' && media.thumbnailImage) {\r\n                                                post.attachments.push({\r\n                                                    type: 'video',\r\n                                                    thumbnailUri: media.thumbnailImage.uri,\r\n                                                    width: media.width || 0,\r\n                                                    height: media.height || 0,\r\n                                                    duration: media.playable_duration_in_ms || 0\r\n                                                });\r\n                                            }\r\n                                        }\r\n                                    });\r\n                                }\r\n\r\n                                \/\/ Extract stats\r\n                                if (story.feedback &&\r\n                                    story.feedback.story_ufi_container &&\r\n                                    story.feedback.story_ufi_container.feedback) {\r\n\r\n                                    const feedback = story.feedback.story_ufi_container.feedback;\r\n\r\n                                    \/\/ Likes\r\n                                    if (feedback.reaction_count && feedback.reaction_count.count) {\r\n                                        post.stats.likes = feedback.reaction_count.count;\r\n                                    } else if (feedback.i18n_reaction_count) {\r\n                                        \/\/ Try to parse from i18n format (e.g., \"19K\")\r\n                                        const match = feedback.i18n_reaction_count.match(\/(\\d+)([KM])?\/);\r\n                                        if (match) {\r\n                                            let count = parseInt(match[1]);\r\n                                            if (match[2] === 'K') count *= 1000;\r\n                                            if (match[2] === 'M') count *= 1000000;\r\n                                            post.stats.likes = count;\r\n                                        }\r\n                                    }\r\n\r\n                                    \/\/ Comments\r\n                                    if (feedback.comment_rendering_instance &&\r\n                                        feedback.comment_rendering_instance.comments &&\r\n                                        feedback.comment_rendering_instance.comments.total_count) {\r\n\r\n                                        post.stats.comments = feedback.comment_rendering_instance.comments.total_count;\r\n                                    }\r\n\r\n                                    \/\/ Shares\r\n                                    if (feedback.share_count && feedback.share_count.count) {\r\n                                        post.stats.shares = feedback.share_count.count;\r\n                                    } else if (feedback.i18n_share_count) {\r\n                                        \/\/ Try to parse from i18n format (e.g., \"2.8K\")\r\n                                        const match = feedback.i18n_share_count.match(\/(\\d+(\\.\\d+)?)([KM])?\/);\r\n                                        if (match) {\r\n                                            let count = parseFloat(match[1]);\r\n                                            if (match[3] === 'K') count *= 1000;\r\n                                            if (match[3] === 'M') count *= 1000000;\r\n                                            post.stats.shares = Math.round(count);\r\n                                        }\r\n                                    }\r\n                                }\r\n\r\n                                posts.push(post);\r\n                            }\r\n                        });\r\n                    }\r\n                }\r\n            } catch (error) {\r\n                console.error('Error extracting posts:', error);\r\n            }\r\n\r\n            return posts;\r\n        }\r\n\r\n        \/\/ Function to extract videos (from profile data - legacy)\r\n        function extractVideos(data) {\r\n            const videos = [];\r\n\r\n            try {\r\n                \/\/ Look for videos in timeline feed units\r\n                for (const item of data.data) {\r\n                    if (item.result &&\r\n                        item.result.data &&\r\n                        item.result.data.user &&\r\n                        item.result.data.user.timeline_list_feed_units &&\r\n                        item.result.data.user.timeline_list_feed_units.edges) {\r\n\r\n                        const edges = item.result.data.user.timeline_list_feed_units.edges;\r\n\r\n                        edges.forEach(edge => {\r\n                            if (edge.node &&\r\n                                edge.node.__typename === \"Story\" &&\r\n                                edge.node.comet_sections &&\r\n                                edge.node.comet_sections.content &&\r\n                                edge.node.comet_sections.content.story &&\r\n                                edge.node.comet_sections.content.story.attachments) {\r\n\r\n                                const story = edge.node.comet_sections.content.story;\r\n\r\n                                story.attachments.forEach(attachment => {\r\n                                    if (attachment.styles &&\r\n                                        attachment.styles.attachment &&\r\n                                        attachment.styles.attachment.media &&\r\n                                        attachment.styles.attachment.media.__typename === 'Video') {\r\n\r\n                                        const media = attachment.styles.attachment.media;\r\n\r\n                                        \/\/ Skip reels for the videos section\r\n                                        if (media.is_huddle ||\r\n                                            media.is_soundbites_video ||\r\n                                            media.is_looping ||\r\n                                            (story.message &&\r\n                                                story.message.text &&\r\n                                                story.message.text.toLowerCase().includes('reel'))) {\r\n                                            return;\r\n                                        }\r\n\r\n                                        \/\/ Get thumbnail\r\n                                        let thumbnailUri = '';\r\n                                        if (media.thumbnailImage) {\r\n                                            thumbnailUri = media.thumbnailImage.uri;\r\n                                        } else if (media.preferred_thumbnail && media.preferred_thumbnail.image) {\r\n                                            thumbnailUri = media.preferred_thumbnail.image.uri;\r\n                                        }\r\n\r\n                                        \/\/ Get playable URL from media object\r\n                                        let videoUrl = media.playable_url || '';\r\n\r\n                                        \/\/ Get creation time\r\n                                        let creationTime = 0;\r\n                                        if (story.creation_time) {\r\n                                            creationTime = story.creation_time;\r\n                                        } else if (edge.node.comet_sections.context_layout &&\r\n                                            edge.node.comet_sections.context_layout.story) {\r\n                                            creationTime = edge.node.comet_sections.context_layout.story.creation_time || 0;\r\n                                        } else if (media.publish_time) {\r\n                                            creationTime = media.publish_time;\r\n                                        }\r\n\r\n                                        \/\/ Get title\r\n                                        let title = 'Video';\r\n                                        if (story.message && story.message.text) {\r\n                                            const lines = story.message.text.split('\\n');\r\n                                            title = lines[0].trim();\r\n                                        }\r\n\r\n                                        \/\/ Get stats\r\n                                        let likes = 0;\r\n                                        let views = 0;\r\n\r\n                                        if (story.feedback &&\r\n                                            story.feedback.story_ufi_container &&\r\n                                            story.feedback.story_ufi_container.feedback) {\r\n\r\n                                            const feedback = story.feedback.story_ufi_container.feedback;\r\n\r\n                                            \/\/ Likes\r\n                                            if (feedback.reaction_count && feedback.reaction_count.count) {\r\n                                                likes = feedback.reaction_count.count;\r\n                                            } else if (feedback.i18n_reaction_count) {\r\n                                                \/\/ Try to parse from i18n format (e.g., \"19K\")\r\n                                                const match = feedback.i18n_reaction_count.match(\/(\\d+)([KM])?\/);\r\n                                                if (match) {\r\n                                                    let count = parseInt(match[1]);\r\n                                                    if (match[2] === 'K') count *= 1000;\r\n                                                    if (match[2] === 'M') count *= 1000000;\r\n                                                    likes = count;\r\n                                                }\r\n                                            }\r\n\r\n                                            \/\/ Views\r\n                                            if (feedback.video_view_count) {\r\n                                                views = feedback.video_view_count;\r\n                                            }\r\n                                        }\r\n\r\n                                        \/\/ If we have video view count directly on the media\r\n                                        if (media.video_view_count) {\r\n                                            views = media.video_view_count;\r\n                                        }\r\n\r\n                                        videos.push({\r\n                                            id: media.id || edge.node.post_id || edge.node.id || '',\r\n                                            title: title,\r\n                                            description: story.message && story.message.text ? story.message.text : '',\r\n                                            thumbnailUri: thumbnailUri,\r\n                                            videoUrl: videoUrl,\r\n                                            width: media.width || 0,\r\n                                            height: media.height || 0,\r\n                                            duration: media.playable_duration_in_ms || 0,\r\n                                            creationTime: creationTime,\r\n                                            stats: {\r\n                                                likes: likes,\r\n                                                views: views\r\n                                            }\r\n                                        });\r\n                                    }\r\n                                });\r\n                            }\r\n                        });\r\n                    }\r\n                }\r\n\r\n            } catch (error) {\r\n                console.error('Error extracting videos:', error);\r\n            }\r\n\r\n            return videos;\r\n        }\r\n\r\n        \/\/ Enhanced function to extract videos from API response\r\n        function extractVideosFromAPI(data) {\r\n            const videos = [];\r\n\r\n            try {\r\n                console.log('Full API response for videos:', data);\r\n\r\n                if (data && data.data && Array.isArray(data.data)) {\r\n                    for (const item of data.data) {\r\n                        \/\/ Check for latest_videos structure\r\n                        if (item.result &&\r\n                            item.result.data &&\r\n                            item.result.data.latest_videos &&\r\n                            item.result.data.latest_videos.edges) {\r\n\r\n                            const edges = item.result.data.latest_videos.edges;\r\n                            console.log('Found latest_videos edges:', edges);\r\n\r\n                            edges.forEach(edge => {\r\n                                if (edge.node) {\r\n                                    const videoNode = edge.node;\r\n\r\n                                    \/\/ Extract basic video info\r\n                                    const videoData = {\r\n                                        id: videoNode.id || '',\r\n                                        title: 'Video',\r\n                                        description: '',\r\n                                        thumbnailUri: '',\r\n                                        videoUrl: '',\r\n                                        width: 0,\r\n                                        height: 0,\r\n                                        duration: 0,\r\n                                        creationTime: videoNode.publish_time || 0,\r\n                                        stats: {\r\n                                            likes: 0,\r\n                                            views: videoNode.play_count || 0\r\n                                        }\r\n                                    };\r\n\r\n                                    \/\/ Extract thumbnail\r\n                                    if (videoNode.image && videoNode.image.uri) {\r\n                                        videoData.thumbnailUri = videoNode.image.uri;\r\n                                    }\r\n\r\n                                    \/\/ Extract title from savable_title\r\n                                    if (videoNode.savable_title && videoNode.savable_title.text) {\r\n                                        videoData.title = videoNode.savable_title.text;\r\n                                    }\r\n\r\n                                    \/\/ Extract duration\r\n                                    if (videoNode.video_thumbnail_overlays_renderer &&\r\n                                        videoNode.video_thumbnail_overlays_renderer.video &&\r\n                                        videoNode.video_thumbnail_overlays_renderer.video.playable_duration_in_ms) {\r\n                                        videoData.duration = videoNode.video_thumbnail_overlays_renderer.video.playable_duration_in_ms;\r\n                                    }\r\n\r\n                                    \/\/ Extract video URL and other details from creation_story\r\n                                    if (videoNode.creation_story && videoNode.creation_story.attachments) {\r\n                                        videoNode.creation_story.attachments.forEach(attachment => {\r\n                                            if (attachment.target && attachment.target.__typename === 'Video') {\r\n                                                const target = attachment.target;\r\n\r\n                                                \/\/ Get playable URL\r\n                                                if (target.playable_url) {\r\n                                                    videoData.videoUrl = target.playable_url;\r\n                                                }\r\n\r\n                                                \/\/ Get dimensions\r\n                                                if (target.width) videoData.width = target.width;\r\n                                                if (target.height) videoData.height = target.height;\r\n\r\n                                                \/\/ Get thumbnail if not already found\r\n                                                if (!videoData.thumbnailUri && target.image && target.image.uri) {\r\n                                                    videoData.thumbnailUri = target.image.uri;\r\n                                                }\r\n                                            }\r\n                                        });\r\n\r\n                                        \/\/ Extract message\/description\r\n                                        if (videoNode.creation_story.message && videoNode.creation_story.message.text) {\r\n                                            videoData.description = videoNode.creation_story.message.text;\r\n                                            \/\/ Use first line as title if no title found\r\n                                            if (videoData.title === 'Video') {\r\n                                                const lines = videoData.description.split('\\n');\r\n                                                videoData.title = lines[0].trim() || 'Video';\r\n                                            }\r\n                                        }\r\n                                    }\r\n\r\n                                    \/\/ Extract reaction stats\r\n                                    if (videoNode.feedback && videoNode.feedback.reaction_count) {\r\n                                        videoData.stats.likes = videoNode.feedback.reaction_count.count || 0;\r\n                                    }\r\n\r\n                                    \/\/ Only add if we have essential data\r\n                                    if (videoData.thumbnailUri || videoData.videoUrl) {\r\n                                        console.log('Adding video:', videoData);\r\n                                        videos.push(videoData);\r\n                                    }\r\n                                }\r\n                            });\r\n                        }\r\n\r\n                        \/\/ Also check for all_videos structure (alternative format)\r\n                        if (item.result &&\r\n                            item.result.data &&\r\n                            item.result.data.all_videos &&\r\n                            item.result.data.all_videos.edges) {\r\n\r\n                            const edges = item.result.data.all_videos.edges;\r\n                            console.log('Found all_videos edges:', edges);\r\n\r\n                            edges.forEach(edge => {\r\n                                if (edge.node && edge.node.channel_tab_thumbnail_renderer) {\r\n                                    const videoNode = edge.node.channel_tab_thumbnail_renderer.video;\r\n\r\n                                    \/\/ Extract basic video info\r\n                                    const videoData = {\r\n                                        id: videoNode.id || '',\r\n                                        title: 'Video',\r\n                                        description: '',\r\n                                        thumbnailUri: '',\r\n                                        videoUrl: '',\r\n                                        width: 0,\r\n                                        height: 0,\r\n                                        duration: 0,\r\n                                        creationTime: videoNode.publish_time || 0,\r\n                                        stats: {\r\n                                            likes: 0,\r\n                                            views: videoNode.play_count || 0\r\n                                        }\r\n                                    };\r\n\r\n                                    \/\/ Extract thumbnail\r\n                                    if (videoNode.image && videoNode.image.uri) {\r\n                                        videoData.thumbnailUri = videoNode.image.uri;\r\n                                    }\r\n\r\n                                    \/\/ Extract title from savable_title\r\n                                    if (videoNode.savable_title && videoNode.savable_title.text) {\r\n                                        videoData.title = videoNode.savable_title.text;\r\n                                    }\r\n\r\n                                    \/\/ Extract duration\r\n                                    if (videoNode.video_thumbnail_overlays_renderer &&\r\n                                        videoNode.video_thumbnail_overlays_renderer.video &&\r\n                                        videoNode.video_thumbnail_overlays_renderer.video.playable_duration_in_ms) {\r\n                                        videoData.duration = videoNode.video_thumbnail_overlays_renderer.video.playable_duration_in_ms;\r\n                                    }\r\n\r\n                                    \/\/ Extract video URL and other details from creation_story\r\n                                    if (videoNode.creation_story && videoNode.creation_story.attachments) {\r\n                                        videoNode.creation_story.attachments.forEach(attachment => {\r\n                                            if (attachment.target && attachment.target.__typename === 'Video') {\r\n                                                const target = attachment.target;\r\n\r\n                                                \/\/ Get playable URL\r\n                                                if (target.playable_url) {\r\n                                                    videoData.videoUrl = target.playable_url;\r\n                                                }\r\n\r\n                                                \/\/ Get dimensions\r\n                                                if (target.width) videoData.width = target.width;\r\n                                                if (target.height) videoData.height = target.height;\r\n\r\n                                                \/\/ Get thumbnail if not already found\r\n                                                if (!videoData.thumbnailUri && target.image && target.image.uri) {\r\n                                                    videoData.thumbnailUri = target.image.uri;\r\n                                                }\r\n                                            }\r\n                                        });\r\n\r\n                                        \/\/ Extract message\/description\r\n                                        if (videoNode.creation_story.message && videoNode.creation_story.message.text) {\r\n                                            videoData.description = videoNode.creation_story.message.text;\r\n                                            \/\/ Use first line as title if no title found\r\n                                            if (videoData.title === 'Video') {\r\n                                                const lines = videoData.description.split('\\n');\r\n                                                videoData.title = lines[0].trim() || 'Video';\r\n                                            }\r\n                                        }\r\n                                    }\r\n\r\n                                    \/\/ Extract reaction stats\r\n                                    if (videoNode.feedback && videoNode.feedback.reaction_count) {\r\n                                        videoData.stats.likes = videoNode.feedback.reaction_count.count || 0;\r\n                                    }\r\n\r\n                                    \/\/ Only add if we have essential data\r\n                                    if (videoData.thumbnailUri || videoData.videoUrl) {\r\n                                        console.log('Adding video:', videoData);\r\n                                        videos.push(videoData);\r\n                                    }\r\n                                }\r\n                            });\r\n                        }\r\n                    }\r\n                }\r\n\r\n                console.log('Final extracted videos:', videos);\r\n\r\n            } catch (error) {\r\n                console.error('Error extracting videos from API:', error);\r\n            }\r\n\r\n            return videos;\r\n        }\r\n\r\n        \/\/ Function to extract reels\r\n        function extractReels(data) {\r\n            const reels = [];\r\n\r\n            try {\r\n                console.log('Full API response for reels:', data);\r\n\r\n                if (data && data.data && Array.isArray(data.data)) {\r\n                    for (const item of data.data) {\r\n                        \/\/ Look for reels in the main data structure\r\n                        if (item.result &&\r\n                            item.result.data &&\r\n                            item.result.data.node &&\r\n                            item.result.data.node.all_collections &&\r\n                            item.result.data.node.all_collections.nodes) {\r\n\r\n                            const collections = item.result.data.node.all_collections.nodes;\r\n\r\n                            for (const collection of collections) {\r\n                                if (collection.style_renderer &&\r\n                                    collection.style_renderer.collection &&\r\n                                    collection.style_renderer.collection.aggregated_fb_shorts &&\r\n                                    collection.style_renderer.collection.aggregated_fb_shorts.edges) {\r\n\r\n                                    const reelsEdges = collection.style_renderer.collection.aggregated_fb_shorts.edges;\r\n                                    console.log('Found reels edges:', reelsEdges);\r\n\r\n                                    reelsEdges.forEach(edge => {\r\n                                        if (edge.profile_reel_node && edge.profile_reel_node.node) {\r\n                                            const reelNode = edge.profile_reel_node.node;\r\n                                            console.log('Processing reel node:', reelNode);\r\n\r\n                                            const reelData = {\r\n                                                id: reelNode.id || '',\r\n                                                thumbnailUri: '',\r\n                                                videoUrl: '',\r\n                                                duration: 0,\r\n                                                title: 'Reel',\r\n                                                views: 0,\r\n                                                creationTime: reelNode.creation_time || 0\r\n                                            };\r\n\r\n                                            \/\/ Extract video data from short_form_video_context\r\n                                            if (reelNode.short_form_video_context &&\r\n                                                reelNode.short_form_video_context.playback_video) {\r\n\r\n                                                const video = reelNode.short_form_video_context.playback_video;\r\n\r\n                                                \/\/ Extract thumbnail\r\n                                                if (video.thumbnailImage && video.thumbnailImage.uri) {\r\n                                                    reelData.thumbnailUri = video.thumbnailImage.uri;\r\n                                                }\r\n\r\n                                                \/\/ Extract video URLs from videoDeliveryLegacyFields\r\n                                                if (video.videoDeliveryLegacyFields) {\r\n                                                    const delivery = video.videoDeliveryLegacyFields;\r\n\r\n                                                    if (delivery.browser_native_hd_url) {\r\n                                                        reelData.videoUrl = delivery.browser_native_hd_url;\r\n                                                    } else if (delivery.browser_native_sd_url) {\r\n                                                        reelData.videoUrl = delivery.browser_native_sd_url;\r\n                                                    }\r\n                                                }\r\n\r\n                                                \/\/ Extract duration\r\n                                                if (video.playable_duration_in_ms) {\r\n                                                    reelData.duration = video.playable_duration_in_ms;\r\n                                                } else if (video.length_in_second) {\r\n                                                    reelData.duration = video.length_in_second * 1000;\r\n                                                }\r\n\r\n                                                \/\/ Extract permalink URL as fallback\r\n                                                if (video.permalink_url) {\r\n                                                    reelData.videoUrl = reelData.videoUrl || video.permalink_url;\r\n                                                }\r\n                                            }\r\n\r\n                                            \/\/ Extract video data from attachments\r\n                                            if (reelNode.attachments && reelNode.attachments.length > 0) {\r\n                                                const attachment = reelNode.attachments[0];\r\n                                                if (attachment.media && attachment.media.__typename === 'Video') {\r\n                                                    const media = attachment.media;\r\n\r\n                                                    \/\/ Extract thumbnail if not already found\r\n                                                    if (!reelData.thumbnailUri && media.first_frame_thumbnail) {\r\n                                                        reelData.thumbnailUri = media.first_frame_thumbnail;\r\n                                                    }\r\n\r\n                                                    \/\/ Extract shareable URL\r\n                                                    if (media.shareable_url) {\r\n                                                        reelData.videoUrl = reelData.videoUrl || media.shareable_url;\r\n                                                    }\r\n\r\n                                                    \/\/ Extract duration if not already found\r\n                                                    if (!reelData.duration && media.playable_duration_in_ms) {\r\n                                                        reelData.duration = media.playable_duration_in_ms;\r\n                                                    }\r\n                                                }\r\n                                            }\r\n\r\n                                            \/\/ Extract title from message\r\n                                            if (reelNode.message && reelNode.message.text) {\r\n                                                reelData.title = reelNode.message.text.split('\\n')[0].trim() || 'Reel';\r\n                                            }\r\n\r\n                                            \/\/ Extract views from feedback\r\n                                            if (reelNode.feedback && reelNode.feedback.unified_reactors) {\r\n                                                reelData.views = reelNode.feedback.unified_reactors.count || 0;\r\n                                            }\r\n\r\n                                            \/\/ Extract play count from short_form_video_context\r\n                                            if (reelNode.short_form_video_context &&\r\n                                                reelNode.short_form_video_context.play_count_reduced) {\r\n                                                reelData.views = parseInt(reelNode.short_form_video_context.play_count_reduced) || reelData.views;\r\n                                            }\r\n\r\n                                            \/\/ Only add if we have essential data\r\n                                            if (reelData.thumbnailUri || reelData.videoUrl) {\r\n                                                console.log('Adding reel:', reelData);\r\n                                                reels.push(reelData);\r\n                                            } else {\r\n                                                console.log('Skipping reel due to missing essential data:', reelData);\r\n                                            }\r\n                                        }\r\n                                    });\r\n                                }\r\n                            }\r\n                        }\r\n                    }\r\n                }\r\n\r\n                console.log('Final extracted reels:', reels);\r\n\r\n            } catch (error) {\r\n                console.error('Error extracting reels:', error);\r\n            }\r\n\r\n            return reels;\r\n        }\r\n\r\n        function displayProfileData(profileData) {\r\n            console.log(profileData);\r\n            const profileContent = document.getElementById('profileContent');\r\n\r\n            const html = `\r\n            <div class=\"profile-container\">\r\n                <!-- Cover Photo Section -->\r\n                <div class=\"cover-section\">\r\n                    <div class=\"cover-photo\" style=\"background-image: url('${profileData.basicInfo.coverPhoto || '\/placeholder.svg?height=400&width=1200'}')\"><\/div>\r\n                    <div class=\"cover-overlay\"><\/div>\r\n                    <div class=\"cover-gradient\"><\/div>\r\n                <\/div>\r\n\r\n                <!-- Profile Info Section -->\r\n                <div class=\"profile-info-section\">\r\n                    <div class=\"profile-header\">\r\n                        <div class=\"profile-picture-container\">\r\n                            <div class=\"profile-picture\" style=\"background-image: url('${profileData.basicInfo.profilePicture || '\/placeholder.svg?height=160&width=160'}')\"><\/div>\r\n                            <div class=\"profile-ring\"><\/div>\r\n                            <div class=\"profile-status-indicator\"><\/div>\r\n                        <\/div>\r\n\r\n                        <div class=\"profile-details\">\r\n                            <div class=\"profile-name ${profileData.basicInfo.isVerified ? 'verified-badge' : ''}\">${escapeHtml(profileData.basicInfo.name || currentUsername)}<\/div>\r\n                            <div class=\"profile-stats\">\r\n                                <span class=\"stat-badge\">${profileData.photos.length} Photos<\/span>\r\n                                <span class=\"stat-badge\">${profileData.videos.length} Videos<\/span>\r\n                                <span class=\"stat-badge\">${profileData.reels.length} Reels<\/span>\r\n                                <span class=\"stat-badge\">${profileData.posts.length} Posts<\/span>\r\n                            <\/div>\r\n                            <div class=\"profile-actions\">\r\n                                <button class=\"action-btn primary\">\r\n                                    <i class=\"fas fa-user-plus\"><\/i>\r\n                                    <span>Follow<\/span>\r\n                                <\/button>\r\n                                <button class=\"action-btn secondary\">\r\n                                    <i class=\"fas fa-share\"><\/i>\r\n                                    <span>Share<\/span>\r\n                                <\/button>\r\n                                <button class=\"action-btn secondary\" onclick=\"exportProfileData()\">\r\n                                    <i class=\"fas fa-download\"><\/i>\r\n                                    <span>Export<\/span>\r\n                                <\/button>\r\n                            <\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n\r\n                    <!-- Navigation Tabs -->\r\n                    <div class=\"profile-navigation\">\r\n                        <div class=\"profile-nav-tabs\">\r\n                            <button class=\"nav-tab active\" data-tab=\"photos\" onclick=\"switchProfileTab('photos')\">\r\n                                <i class=\"fas fa-images\"><\/i>\r\n                                <span>Photos<\/span>\r\n                                <div class=\"nav-indicator\"><\/div>\r\n                            <\/button>\r\n                            <button class=\"nav-tab\" data-tab=\"posts\" onclick=\"switchProfileTab('posts')\">\r\n                                <i class=\"fas fa-newspaper\"><\/i>\r\n                                <span>Posts<\/span>\r\n                                <div class=\"nav-indicator\"><\/div>\r\n                            <\/button>\r\n                            <button class=\"nav-tab\" data-tab=\"videos\" onclick=\"switchProfileTab('videos')\">\r\n                                <i class=\"fas fa-video\"><\/i>\r\n                                <span>Videos<\/span>\r\n                                <div class=\"nav-indicator\"><\/div>\r\n                            <\/button>\r\n                            <button class=\"nav-tab\" data-tab=\"reels\" onclick=\"switchProfileTab('reels')\">\r\n                                <i class=\"fas fa-film\"><\/i>\r\n                                <span>Reels<\/span>\r\n                                <div class=\"nav-indicator\"><\/div>\r\n                            <\/button>\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <!-- Tab Content -->\r\n                <div class=\"tab-content-container\">\r\n                    <!-- Photos Tab -->\r\n                    <div id=\"profile-photos-tab\" class=\"tab-content active\">\r\n                        <div class=\"content-header\">\r\n                            <div class=\"content-title\">\r\n                                <i class=\"fas fa-images\"><\/i>\r\n                                <div class=\"fb-section-heading\">Photo Gallery<\/div>\r\n                            <\/div>\r\n                            <div class=\"content-stats\">\r\n                                <div class=\"stat-item\">\r\n                                    <i class=\"fas fa-camera\"><\/i>\r\n                                    <span>${profileData.photos.length} Photos<\/span>\r\n                                <\/div>\r\n                            <\/div>\r\n                        <\/div>\r\n\r\n                        ${profileData.photos.length > 0 ? `\r\n                            <div class=\"photos-grid\">\r\n                                ${profileData.photos.map((photo, index) => `\r\n                                    <div class=\"fb-photoitem\" onclick=\"openPhotoModal('${photo.url}', ${index})\">\r\n                                        <div class=\"fb-photoimage-container\">\r\n                                            <img decoding=\"async\" src=\"${photo.url}\" alt=\"Photo ${index + 1}\" class=\"fb-photoimage\" onerror=\"this.parentElement.parentElement.style.display='none'\">\r\n                                            <div class=\"fb-photooverlay\">\r\n                                                <div class=\"fb-photoactions\">\r\n                                                    <button class=\"fb-photoaction-btn\" onclick=\"event.stopPropagation(); downloadImage('${photo.url}', 'photo-${index + 1}.jpg', this)\">\r\n                                                        <i class=\"fas fa-download\"><\/i>\r\n                                                    <\/button>\r\n                                                    <button class=\"fb-photoaction-btn\" onclick=\"event.stopPropagation(); sharePhoto('${photo.url}')\">\r\n                                                        <i class=\"fas fa-share\"><\/i>\r\n                                                    <\/button>\r\n                                                <\/div>\r\n                                            <\/div>\r\n                                        <\/div>\r\n                                        <div class=\"fb-photoinfo\">\r\n                                            <div class=\"fb-photostats\">\r\n                                                <div class=\"fb-photoengagement\">\r\n                                                    <div class=\"fb-photoengagement-item\">\r\n                                                        <i class=\"fas fa-heart\"><\/i>\r\n                                                        <span>${photo.likes}<\/span>\r\n                                                    <\/div>\r\n                                                    <div class=\"fb-photoengagement-item\">\r\n                                                        <i class=\"fas fa-comment\"><\/i>\r\n                                                        <span>${photo.comments}<\/span>\r\n                                                    <\/div>\r\n                                                <\/div>\r\n                                            <\/div>\r\n                                            <div class=\"fb-photometa\">\r\n                                                <span class=\"fb-photodimensions\">${photo.width}\u00d7${photo.height}<\/span>\r\n                                                <span>${formatDate(photo.created_time)}<\/span>\r\n                                            <\/div>\r\n                                        <\/div>\r\n                                    <\/div>\r\n                                `).join('')}\r\n                            <\/div>\r\n                        ` : `\r\n                            <div class=\"no-data-message\">\r\n                                No photos found for this profile.\r\n                            <\/div>\r\n                        `}\r\n                    <\/div>\r\n\r\n                    <!-- Posts Tab -->\r\n                    <div id=\"profile-posts-tab\" class=\"tab-content\">\r\n                        <div class=\"content-header\">\r\n                            <div class=\"content-title\">\r\n                                <i class=\"fas fa-newspaper\"><\/i>\r\n                                <div class=\"fb-section-heading\">Recent Posts<\/div>\r\n                            <\/div>\r\n                            <div class=\"content-stats\">\r\n                                <div class=\"stat-item\">\r\n                                    <i class=\"fas fa-edit\"><\/i>\r\n                                    <span>${profileData.posts.length} Posts<\/span>\r\n                                <\/div>\r\n                            <\/div>\r\n                        <\/div>\r\n\r\n                        ${profileData.posts.length > 0 ? `\r\n                            <div class=\"posts-container\">\r\n                                ${profileData.posts.map((post, index) => `\r\n                                    <div class=\"post-item\">\r\n                                        <div class=\"post-header\">\r\n                                            <div class=\"post-profile-pic\" style=\"background-image: url('${profileData.basicInfo.profilePicture || '\/placeholder.svg?height=48&width=48'}')\">\r\n                                                ${!profileData.basicInfo.profilePicture ? '<i class=\"fas fa-user\"><\/i>' : ''}\r\n                                            <\/div>\r\n                                            <div class=\"post-info\">\r\n                                                <div class=\"post-author\">${escapeHtml(profileData.basicInfo.name || currentUsername)}<\/div>\r\n                                                <div class=\"post-date\">${formatDate(post.creationTime * 1000)}<\/div>\r\n                                            <\/div>\r\n                                        <\/div>\r\n                                        \r\n                                        ${post.message ? `<div class=\"post-content\">${escapeHtml(post.message)}<\/div>` : ''}\r\n                                        \r\n                                        ${post.attachments.map(attachment => {\r\n                if (attachment.type === 'photo') {\r\n                    return `<img decoding=\"async\" src=\"${attachment.uri}\" alt=\"Post image\" class=\"post-image\">`;\r\n                }\r\n                return '';\r\n            }).join('')}\r\n                                        \r\n                                        <div class=\"post-stats\">\r\n                                            <div class=\"stat-item\">\r\n                                                <i class=\"fas fa-heart\"><\/i>\r\n                                                <span>${post.stats.likes} likes<\/span>\r\n                                            <\/div>\r\n                                            <div class=\"stat-item\">\r\n                                                <i class=\"fas fa-comment\"><\/i>\r\n                                                <span>${post.stats.comments} comments<\/span>\r\n                                            <\/div>\r\n                                            <div class=\"stat-item\">\r\n                                                <i class=\"fas fa-share\"><\/i>\r\n                                                <span>${post.stats.shares} shares<\/span>\r\n                                            <\/div>\r\n                                        <\/div>\r\n                                    <\/div>\r\n                                `).join('')}\r\n                            <\/div>\r\n                        ` : `\r\n                            <div class=\"no-data-message\">\r\n                                No posts found for this profile.\r\n                            <\/div>\r\n                        `}\r\n                    <\/div>\r\n\r\n                    <!-- Videos Tab -->\r\n                    <div id=\"profile-videos-tab\" class=\"tab-content\">\r\n                        <div class=\"content-header\">\r\n                            <div class=\"content-title\">\r\n                                <i class=\"fas fa-video\"><\/i>\r\n                                <div class=\"fb-section-heading\">Video Collection<\/div>\r\n                            <\/div>\r\n                            <div class=\"content-stats\">\r\n                                <div class=\"stat-item\">\r\n                                    <i class=\"fas fa-play-circle\"><\/i>\r\n                                    <span id=\"video-count\">${profileData.videos.length} Videos<\/span>\r\n                                <\/div>\r\n                            <\/div>\r\n                        <\/div>\r\n\r\n                        <div id=\"videos-skeleton\" class=\"videos-skeleton\">\r\n                            <div class=\"videos-grid-skeleton\">\r\n                                <div class=\"video-skeleton\">\r\n                                    <div class=\"video-thumbnail-skeleton skeleton-loading\"><\/div>\r\n                                    <div class=\"video-info-skeleton\">\r\n                                        <div class=\"skeleton-line skeleton-loading\"><\/div>\r\n                                        <div class=\"skeleton-line short skeleton-loading\"><\/div>\r\n                                    <\/div>\r\n                                <\/div>\r\n                                <div class=\"video-skeleton\">\r\n                                    <div class=\"video-thumbnail-skeleton skeleton-loading\"><\/div>\r\n                                    <div class=\"video-info-skeleton\">\r\n                                        <div class=\"skeleton-line skeleton-loading\"><\/div>\r\n                                        <div class=\"skeleton-line short skeleton-loading\"><\/div>\r\n                                    <\/div>\r\n                                <\/div>\r\n                                <div class=\"video-skeleton\">\r\n                                    <div class=\"video-thumbnail-skeleton skeleton-loading\"><\/div>\r\n                                    <div class=\"video-info-skeleton\">\r\n                                        <div class=\"skeleton-line skeleton-loading\"><\/div>\r\n                                        <div class=\"skeleton-line short skeleton-loading\"><\/div>\r\n                                    <\/div>\r\n                                <\/div>\r\n                            <\/div>\r\n                        <\/div>\r\n\r\n                        <div id=\"profile-videos-container\" class=\"video-grid\">\r\n                            ${profileData.videos.length > 0 ? profileData.videos.map((video, index) => `\r\n                                <div class=\"video-card\" style=\"--index: ${index}\" data-video-index=\"${index}\">\r\n                                    <div class=\"video-thumbnail\" style=\"background-image: url('${video.thumbnailUri || '\/placeholder.svg?height=200&width=350'}')\" onclick=\"playVideoInline(${index}, 'profile')\">\r\n                                        <div class=\"video-play-icon\">\r\n                                            <i class=\"fas fa-play\"><\/i>\r\n                                        <\/div>\r\n                                        <div class=\"video-quality-badge\">${video.height >= 720 ? 'HD' : 'SD'}<\/div>\r\n                                        <div class=\"video-duration\">${formatDuration(video.duration)}<\/div>\r\n                                        <div class=\"video-overlay\">\r\n                                            <div class=\"video-actions\">\r\n                                                <button class=\"video-action-btn\" onclick=\"event.stopPropagation(); downloadVideo(${index}, 'profile')\" title=\"Download Video\">\r\n                                                    <i class=\"fas fa-download\"><\/i>\r\n                                                <\/button>\r\n                                                <button class=\"video-action-btn\" onclick=\"event.stopPropagation(); shareVideo(${index}, 'profile')\" title=\"Share Video\">\r\n                                                    <i class=\"fas fa-share\"><\/i>\r\n                                                <\/button>\r\n                                            <\/div>\r\n                                        <\/div>\r\n                                    <\/div>\r\n                                    ${video.videoUrl ? `\r\n                                        <video \r\n                                            class=\"video-player\" \r\n                                            style=\"display: none;\" \r\n                                            controls \r\n                                            preload=\"metadata\"\r\n                                            data-src=\"${video.videoUrl}\"\r\n                                        >\r\n                                            <source src=\"${video.videoUrl}\" type=\"video\/mp4\">\r\n                                            Your browser does not support the video tag.\r\n                                        <\/video>\r\n                                    ` : ''}\r\n                                    <div class=\"video-info\">\r\n                                        <div class=\"video-title\">${escapeHtml(truncateText(video.title))}<\/div>\r\n                                        ${video.description && video.description.trim() ? `\r\n                                            <div class=\"video-description\">${escapeHtml(video.description.trim())}<\/div>\r\n                                        ` : ''}\r\n                                        <div class=\"video-stats\">\r\n                                            <div class=\"video-engagement\">\r\n                                                ${video.stats && video.stats.likes > 0 ? `\r\n                                                    <div class=\"video-engagement-item\">\r\n                                                        <i class=\"fas fa-heart\"><\/i>\r\n                                                        <span>${formatNumber(video.stats.likes)}<\/span>\r\n                                                    <\/div>\r\n                                                ` : ''}\r\n                                                ${video.stats && video.stats.views > 0 ? `\r\n                                                    <div class=\"video-engagement-item\">\r\n                                                        <i class=\"fas fa-eye\"><\/i>\r\n                                                        <span>${formatNumber(video.stats.views)} views<\/span>\r\n                                                    <\/div>\r\n                                                ` : ''}\r\n                                            <\/div>\r\n                                            ${video.videoUrl ? `\r\n                                                <button class=\"video-download-btn\" onclick=\"downloadVideo(${index}, 'profile')\">\r\n                                                    <i class=\"fas fa-download\"><\/i>\r\n                                                    Download\r\n                                                <\/button>\r\n                                            ` : ''}\r\n                                        <\/div>\r\n                                        <div class=\"video-meta\">\r\n                                            ${video.creationTime ? `<div>${formatTimeAgo(video.creationTime * 1000)}<\/div>` : ''}\r\n                                            ${video.width && video.height ? `<div>${video.width} \u00d7 ${video.height}<\/div>` : ''}\r\n                                        <\/div>\r\n                                    <\/div>\r\n                                <\/div>\r\n                            `).join('') : `\r\n                                <div class=\"no-data-message\">\r\n                                    No videos found for this profile.\r\n                                <\/div>\r\n                            `}\r\n                        <\/div>\r\n                    <\/div>\r\n\r\n                    <!-- Reels Tab -->\r\n                    <div id=\"profile-reels-tab\" class=\"tab-content\">\r\n                        <div class=\"content-header\">\r\n                            <div class=\"content-title\">\r\n                                <i class=\"fas fa-film\"><\/i>\r\n                                <div class=\"fb-section-heading\">Reels Collection<\/div>\r\n                            <\/div>\r\n                            <div class=\"content-stats\">\r\n                                <div class=\"stat-item\">\r\n                                    <i class=\"fas fa-video\"><\/i>\r\n                                    <span id=\"reels-count\">${profileData.reels.length} Reels<\/span>\r\n                                <\/div>\r\n                            <\/div>\r\n                        <\/div>\r\n\r\n                        <div id=\"reels-skeleton\" class=\"reels-skeleton\">\r\n                            <div class=\"reels-grid-skeleton\">\r\n                                <div class=\"reel-skeleton\">\r\n                                    <div class=\"reel-thumbnail-skeleton skeleton-loading\"><\/div>\r\n                                    <div class=\"reel-info-skeleton\">\r\n                                        <div class=\"skeleton-line skeleton-loading\"><\/div>\r\n                                        <div class=\"skeleton-line short skeleton-loading\"><\/div>\r\n                                    <\/div>\r\n                                <\/div>\r\n                                <div class=\"reel-skeleton\">\r\n                                    <div class=\"reel-thumbnail-skeleton skeleton-loading\"><\/div>\r\n                                    <div class=\"reel-info-skeleton\">\r\n                                        <div class=\"skeleton-line skeleton-loading\"><\/div>\r\n                                        <div class=\"skeleton-line short skeleton-loading\"><\/div>\r\n                                    <\/div>\r\n                                <\/div>\r\n                                <div class=\"reel-skeleton\">\r\n                                    <div class=\"reel-thumbnail-skeleton skeleton-loading\"><\/div>\r\n                                    <div class=\"reel-info-skeleton\">\r\n                                        <div class=\"skeleton-line skeleton-loading\"><\/div>\r\n                                        <div class=\"skeleton-line short skeleton-loading\"><\/div>\r\n                                    <\/div>\r\n                                <\/div>\r\n                            <\/div>\r\n                        <\/div>\r\n\r\n                        <div id=\"profile-reels-container\" class=\"video-grid\">\r\n                            ${profileData.reels.length > 0 ? profileData.reels.map((reel, index) => `\r\n                                <div class=\"video-card\" style=\"--index: ${index}\" data-reel-index=\"${index}\">\r\n                                    <div class=\"video-thumbnail\" style=\"background-image: url('${reel.thumbnailUri || '\/placeholder.svg?height=200&width=350'}')\" onclick=\"playReelInline(${index}, 'profile')\">\r\n                                        <div class=\"video-play-icon\">\r\n                                            <i class=\"fas fa-play\"><\/i>\r\n                                        <\/div>\r\n                                        <div class=\"reel-badge\">REEL<\/div>\r\n                                        <div class=\"video-duration\">${formatDuration(reel.duration)}<\/div>\r\n                                        <div class=\"video-overlay\">\r\n                                            <div class=\"video-actions\">\r\n                                                <button class=\"video-action-btn\" onclick=\"event.stopPropagation(); downloadReel(${index}, 'profile')\" title=\"Download Reel\">\r\n                                                    <i class=\"fas fa-download\"><\/i>\r\n                                                <\/button>\r\n                                                <button class=\"video-action-btn\" onclick=\"event.stopPropagation(); shareReel(${index}, 'profile')\" title=\"Share Reel\">\r\n                                                    <i class=\"fas fa-share\"><\/i>\r\n                                                <\/button>\r\n                                            <\/div>\r\n                                        <\/div>\r\n                                    <\/div>\r\n                                    ${reel.videoUrl ? `\r\n                                        <video \r\n                                            class=\"video-player\" \r\n                                            style=\"display: none;\" \r\n                                            controls \r\n                                            loop\r\n                                            muted\r\n                                            preload=\"metadata\"\r\n                                            data-src=\"${reel.videoUrl}\"\r\n                                        >\r\n                                            <source src=\"${reel.videoUrl}\" type=\"video\/mp4\">\r\n                                            Your browser does not support the video tag.\r\n                                        <\/video>\r\n                                    ` : ''}\r\n                                    <div class=\"video-info\">\r\n                                        <div class=\"video-title\">${escapeHtml(truncateText(reel.title))}<\/div>\r\n                                        ${reel.description && reel.description.trim() ? `\r\n                                            <div class=\"video-description\">${escapeHtml(reel.description.trim())}<\/div>\r\n                                        ` : ''}\r\n                                        <div class=\"video-stats\">\r\n                                            <div class=\"video-engagement\">\r\n                                                ${reel.views > 0 ? `\r\n                                                    <div class=\"video-engagement-item\">\r\n                                                        <i class=\"fas fa-eye\"><\/i>\r\n                                                        <span>${formatNumber(reel.views)} views<\/span>\r\n                                                    <\/div>\r\n                                                ` : ''}\r\n                                            <\/div>\r\n                                            ${reel.videoUrl ? `\r\n                                                <button class=\"video-download-btn\" onclick=\"downloadReel(${index}, 'profile')\">\r\n                                                    <i class=\"fas fa-download\"><\/i>\r\n                                                    Download\r\n                                                <\/button>\r\n                                            ` : ''}\r\n                                        <\/div>\r\n                                        <div class=\"video-meta\">\r\n                                            ${reel.creationTime ? `<div>${formatTimeAgo(reel.creationTime * 1000)}<\/div>` : ''}\r\n                                        <\/div>\r\n                                    <\/div>\r\n                                <\/div>\r\n                            `).join('') : `\r\n                                <div class=\"no-data-message\">\r\n                                    No reels found for this profile.\r\n                                <\/div>\r\n                            `}\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n        `;\r\n\r\n            profileContent.innerHTML = html;\r\n        }\r\n\r\n        \/\/ Tab Switching Functions\r\n        function switchTab(tabName) {\r\n            \/\/ For group tabs\r\n            document.querySelectorAll('.tab-btn').forEach(btn => btn.classList.remove('active'));\r\n            document.querySelectorAll('.tab-content').forEach(content => content.classList.remove('active'));\r\n\r\n            const tabBtn = document.querySelector(`[onclick=\"switchTab('${tabName}')\"]`);\r\n            const tabContent = document.getElementById(tabName + 'Tab');\r\n\r\n            if (tabBtn) tabBtn.classList.add('active');\r\n            if (tabContent) tabContent.classList.add('active');\r\n\r\n            \/\/ Load videos when videos tab is clicked for groups\r\n            if (tabName === 'videos' && !videosLoaded && currentGroupId && currentType === 'group') {\r\n                fetchGroupVideos();\r\n            }\r\n\r\n            \/\/ Load reels when reels tab is clicked for groups\r\n            if (tabName === 'reels' && !reelsLoaded && currentGroupId && currentType === 'group') {\r\n                fetchGroupReels();\r\n            }\r\n        }\r\n\r\n        function switchProfileTab(tabName) {\r\n            \/\/ For profile tabs\r\n            document.querySelectorAll('.nav-tab').forEach(btn => btn.classList.remove('active'));\r\n            document.querySelectorAll('.tab-content').forEach(content => content.classList.remove('active'));\r\n\r\n            const tabBtn = document.querySelector(`[data-tab=\"${tabName}\"]`);\r\n            const tabContent = document.getElementById(`profile-${tabName}-tab`);\r\n\r\n            if (tabBtn) tabBtn.classList.add('active');\r\n            if (tabContent) tabContent.classList.add('active');\r\n\r\n            \/\/ Load videos when videos tab is clicked for profiles\r\n            if (tabName === 'videos' && currentUsername && currentType === 'profile') {\r\n                document.getElementById('videos-skeleton').style.display = 'block';\r\n                document.getElementById('profile-videos-container').style.display = 'none';\r\n\r\n                setTimeout(() => {\r\n                    fetchVideosData(currentUsername);\r\n                }, 500);\r\n            }\r\n\r\n            \/\/ Load reels when reels tab is clicked for profiles\r\n            if (tabName === 'reels' && currentUsername && currentType === 'profile') {\r\n                document.getElementById('reels-skeleton').style.display = 'block';\r\n                document.getElementById('profile-reels-container').style.display = 'none';\r\n\r\n                setTimeout(() => {\r\n                    fetchReelsData(currentUsername);\r\n                }, 500);\r\n            }\r\n        }\r\n\r\n        \/\/ Group Video Functions\r\n        async function fetchGroupVideos() {\r\n            if (!currentGroupId || videosLoaded) return;\r\n\r\n            document.getElementById('videosContent').style.display = 'none';\r\n            document.getElementById('videosError').style.display = 'none';\r\n            document.getElementById('videosSkeleton').style.display = 'block';\r\n\r\n            try {\r\n                const videosUrl = `https:\/\/www.facebook.com\/groups\/${currentGroupId}\/media\/videos`;\r\n\r\n                const response = await fetch('https:\/\/tools.xrespond.com\/api\/facebook\/all-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({ url: videosUrl })\r\n                });\r\n\r\n                document.getElementById('videosSkeleton').style.display = 'none';\r\n                document.getElementById('videosContent').style.display = 'block';\r\n\r\n                if (!response.ok) {\r\n                    throw new Error(`HTTP error! status: ${response.status}`);\r\n                }\r\n\r\n                const data = await response.json();\r\n                const videoUrls = extractVideoUrls(data);\r\n                videosLoaded = true;\r\n\r\n                if (videoUrls.length > 0) {\r\n                    await fetchDownloadInfo(videoUrls);\r\n                } else {\r\n                    document.getElementById('videosContent').innerHTML = '<div class=\"empty-state\"><div class=\"empty-icon\">\ud83c\udfa5<\/div><h3>No videos found<\/h3><p>This group doesn\\'t have any videos or they\\'re not accessible.<\/p><\/div>';\r\n                }\r\n\r\n            } catch (error) {\r\n                document.getElementById('videosSkeleton').style.display = 'none';\r\n                document.getElementById('videosContent').style.display = 'block';\r\n                document.getElementById('videosContent').innerHTML = '<div class=\"empty-state\"><div class=\"empty-icon\">\u274c<\/div><h3>Error loading videos<\/h3><p>There was a problem fetching videos. Please try again later.<\/p><\/div>';\r\n                console.error('Error fetching videos:', error);\r\n            }\r\n        }\r\n\r\n\r\n        function extractVideoUrls(data) {\r\n            const videoUrls = [];\r\n\r\n            const searchForVideoUrls = (obj) => {\r\n                if (typeof obj !== 'object' || obj === null) return;\r\n\r\n                for (const key in obj) {\r\n                    if (typeof obj[key] === 'string' && obj[key].includes('facebook.com') && obj[key].includes('\/videos\/')) {\r\n                        const completeVideoUrlPattern = \/https:\\\/\\\/www\\.facebook\\.com\\\/[^\\\/]+\\\/videos\\\/\\d+[^\\s]*\/;\r\n                        if (completeVideoUrlPattern.test(obj[key])) {\r\n                            videoUrls.push(obj[key]);\r\n                        }\r\n                    } else if (typeof obj[key] === 'object') {\r\n                        searchForVideoUrls(obj[key]);\r\n                    }\r\n                }\r\n            };\r\n\r\n            searchForVideoUrls(data);\r\n            return [...new Set(videoUrls)].slice(0, 6);\r\n        }\r\n\r\n\r\n        async function fetchDownloadInfo(videoUrls) {\r\n            const videosContentDiv = document.getElementById('videosContent');\r\n            videosContentDiv.innerHTML = '<div class=\"loading\"><div class=\"loading-spinner\"><\/div><div class=\"loading-text\">Getting HD videos...<\/div><\/div>';\r\n\r\n            try {\r\n                const allResponses = [];\r\n\r\n                for (const videoUrl of videoUrls) {\r\n                    try {\r\n                        const response = await fetch('https:\/\/tools.xrespond.com\/api\/social\/all\/downloader', {\r\n                            method: 'POST',\r\n                            headers: {\r\n                                'Content-Type': 'application\/json',\r\n                                'Accept': 'application\/json'\r\n                            },\r\n                            body: JSON.stringify({ url: videoUrl })\r\n                        });\r\n\r\n                        if (response.ok) {\r\n                            const data = await response.json();\r\n                            allResponses.push({\r\n                                videoUrl: videoUrl,\r\n                                response: data,\r\n                                success: true\r\n                            });\r\n                        }\r\n                    } catch (error) {\r\n                        console.error('Error fetching video:', videoUrl, error);\r\n                    }\r\n                }\r\n\r\n                displayHDVideosGrid(allResponses);\r\n\r\n            } catch (error) {\r\n                document.getElementById('videosContent').innerHTML = '<div class=\"empty-state\"><div class=\"empty-icon\">\u274c<\/div><h3>Error loading videos<\/h3><p>Error fetching download information.<\/p><\/div>';\r\n            }\r\n        }\r\n\r\n\r\n        function displayHDVideosGrid(responses) {\r\n            const videosContentDiv = document.getElementById('videosContent');\r\n            allHDVideos = [];\r\n            let html = '';\r\n\r\n            responses.forEach((item, index) => {\r\n                if (!item.success) return;\r\n\r\n                const hdMediaItems = extractHDMediaItems(item.response);\r\n\r\n                hdMediaItems.forEach((mediaItem, mediaIndex) => {\r\n                    const videoId = `video-${index}-${mediaIndex}`;\r\n                    const downloadId = `download-${index}-${mediaIndex}`;\r\n                    const filename = `facebook_video_${index}_${mediaIndex}.${mediaItem.format ? mediaItem.format.toLowerCase() : 'mp4'}`;\r\n\r\n                    allHDVideos.push({\r\n                        url: mediaItem.url,\r\n                        filename: filename,\r\n                        format: mediaItem.format\r\n                    });\r\n\r\n                    html += `\r\n                <div class=\"video-card\" style=\"--index: ${index}\">\r\n                    <video id=\"${videoId}\" controls preload=\"metadata\">\r\n                        <source src=\"${mediaItem.url}\" type=\"video\/${mediaItem.format ? mediaItem.format.toLowerCase() : 'mp4'}\">\r\n                        Your browser does not support the video tag.\r\n                    <\/video>\r\n                    <div class=\"video-info\">\r\n                        <div class=\"video-title\">Video ${index + 1}${mediaIndex > 0 ? '.' + (mediaIndex + 1) : ''}<\/div>\r\n                        <div class=\"video-badges\">\r\n                            ${mediaItem.quality ? `<span class=\"quality-badge\">${mediaItem.quality}<\/span>` : ''}\r\n                            ${mediaItem.format ? `<span class=\"format-badge\">${mediaItem.format}<\/span>` : ''}\r\n                        <\/div>\r\n                        <div class=\"video-actions\">\r\n                            <button id=\"${downloadId}\" onclick=\"downloadVideoFromUrl('${mediaItem.url}', '${filename}', '${downloadId}')\" class=\"video-download-btn\">\r\n                                <span>\u2b07\ufe0f Download<\/span>\r\n                                <div class=\"download-progress\" style=\"width: 0%;\"><\/div>\r\n                            <\/button>\r\n                            <button onclick=\"copyToClipboard('${mediaItem.url}')\" class=\"copy-btn\">\ud83d\udccb<\/button>\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n            `;\r\n                });\r\n            });\r\n\r\n            if (allHDVideos.length > 0) {\r\n                html = `\r\n            <button onclick=\"downloadAllVideos()\" class=\"download-all-btn\" id=\"downloadAllBtn\">\r\n                \u2b07\ufe0f Download All Videos (${allHDVideos.length})\r\n            <\/button>\r\n            <div class=\"media-grid\">\r\n                ${html}\r\n            <\/div>\r\n        `;\r\n            } else {\r\n                html = '<div class=\"empty-state\"><div class=\"empty-icon\">\ud83c\udfa5<\/div><h3>No HD videos found<\/h3><p>No HD quality videos are available for download.<\/p><\/div>';\r\n            }\r\n\r\n            videosContentDiv.innerHTML = html;\r\n        }\r\n\r\n\r\n        function extractHDMediaItems(response) {\r\n            const hdMediaItems = [];\r\n\r\n            try {\r\n                if (!response || !response.medias || !Array.isArray(response.medias)) {\r\n                    return hdMediaItems;\r\n                }\r\n\r\n                response.medias.forEach(media => {\r\n                    if (media && media.url && media.quality && media.quality.toUpperCase() === 'HD') {\r\n                        hdMediaItems.push({\r\n                            url: media.url,\r\n                            quality: media.quality,\r\n                            format: media.format || 'mp4',\r\n                            thumbnail: response.thumbnail || null\r\n                        });\r\n                    }\r\n                });\r\n\r\n                return hdMediaItems;\r\n            } catch (error) {\r\n                console.error('Error extracting HD media items:', error);\r\n                return hdMediaItems;\r\n            }\r\n        }\r\n\r\n        \/\/ Download functions\r\n        async function downloadVideoFromUrl(url, filename, buttonId) {\r\n            const button = document.getElementById(buttonId);\r\n            const progressBar = button.querySelector('.download-progress');\r\n            const buttonText = button.querySelector('span');\r\n\r\n            try {\r\n                button.disabled = true;\r\n                buttonText.textContent = '\u23f3 Downloading...';\r\n                progressBar.style.width = '10%';\r\n\r\n                const response = await fetch(url);\r\n                if (!response.ok) throw new Error(`HTTP error! status: ${response.status}`);\r\n\r\n                progressBar.style.width = '50%';\r\n                const blob = await response.blob();\r\n                progressBar.style.width = '80%';\r\n\r\n                const blobUrl = window.URL.createObjectURL(blob);\r\n                const a = document.createElement('a');\r\n                a.href = blobUrl;\r\n                a.download = filename;\r\n                a.style.display = 'none';\r\n\r\n                document.body.appendChild(a);\r\n                a.click();\r\n                document.body.removeChild(a);\r\n                window.URL.revokeObjectURL(blobUrl);\r\n\r\n                progressBar.style.width = '100%';\r\n                buttonText.textContent = '\u2705 Downloaded!';\r\n\r\n                setTimeout(() => {\r\n                    button.disabled = false;\r\n                    buttonText.textContent = '\u2b07\ufe0f Download';\r\n                    progressBar.style.width = '0%';\r\n                }, 2000);\r\n\r\n            } catch (error) {\r\n                button.disabled = false;\r\n                buttonText.textContent = '\u274c Failed';\r\n                progressBar.style.width = '0%';\r\n\r\n                setTimeout(() => {\r\n                    buttonText.textContent = '\u2b07\ufe0f Download';\r\n                }, 3000);\r\n            }\r\n        }\r\n\r\n\r\n        async function downloadAllVideos() {\r\n            const button = document.getElementById('downloadAllBtn');\r\n            if (allHDVideos.length === 0) return;\r\n\r\n            try {\r\n                button.disabled = true;\r\n                button.innerHTML = '\u23f3 Downloading All...';\r\n\r\n                for (const video of allHDVideos) {\r\n                    try {\r\n                        const response = await fetch(video.url);\r\n                        if (response.ok) {\r\n                            const blob = await response.blob();\r\n                            const blobUrl = window.URL.createObjectURL(blob);\r\n\r\n                            const a = document.createElement('a');\r\n                            a.href = blobUrl;\r\n                            a.download = video.filename;\r\n                            a.style.display = 'none';\r\n\r\n                            document.body.appendChild(a);\r\n                            a.click();\r\n                            document.body.removeChild(a);\r\n                            window.URL.revokeObjectURL(blobUrl);\r\n\r\n                            await new Promise(resolve => setTimeout(resolve, 500));\r\n                        }\r\n                    } catch (error) {\r\n                        console.error('Error downloading video:', video.filename, error);\r\n                    }\r\n                }\r\n\r\n                button.innerHTML = '\u2705 All Downloaded!';\r\n\r\n                setTimeout(() => {\r\n                    button.disabled = false;\r\n                    button.innerHTML = `\u2b07\ufe0f Download All Videos (${allHDVideos.length})`;\r\n                }, 3000);\r\n\r\n            } catch (error) {\r\n                button.disabled = false;\r\n                button.innerHTML = `\u2b07\ufe0f Download All Videos (${allHDVideos.length})`;\r\n            }\r\n        }\r\n\r\n\r\n        function copyToClipboard(text) {\r\n            navigator.clipboard.writeText(text).then(() => {\r\n                alert('\ud83d\udccb Copied to clipboard!');\r\n            }).catch(() => {\r\n                const textArea = document.createElement('textarea');\r\n                textArea.value = text;\r\n                document.body.appendChild(textArea);\r\n                textArea.select();\r\n                document.execCommand('copy');\r\n                document.body.removeChild(textArea);\r\n                alert('\ud83d\udccb Copied to clipboard!');\r\n            });\r\n        }\r\n\r\n        \/\/ Group Reels Functions\r\n        async function fetchGroupReels() {\r\n            if (!currentGroupId || reelsLoaded) return;\r\n\r\n            document.getElementById('reelsContent').style.display = 'none';\r\n            document.getElementById('reelsError').style.display = 'none';\r\n            document.getElementById('reelsSkeleton').style.display = 'block';\r\n\r\n            try {\r\n                const reelsUrl = `https:\/\/www.facebook.com\/groups\/${currentGroupId}\/reels_tab`;\r\n\r\n                const response = await fetch('https:\/\/tools.xrespond.com\/api\/facebook\/all-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({ url: reelsUrl })\r\n                });\r\n\r\n                document.getElementById('reelsSkeleton').style.display = 'none';\r\n                document.getElementById('reelsContent').style.display = 'block';\r\n\r\n                if (!response.ok) {\r\n                    throw new Error(`HTTP error! status: ${response.status}`);\r\n                }\r\n\r\n                const data = await response.json();\r\n                const reels = extractReels(data);\r\n                reelsLoaded = true;\r\n\r\n                if (reels.length > 0) {\r\n                    displayGroupReels(reels);\r\n                } else {\r\n                    document.getElementById('reelsContent').innerHTML = '<div class=\"empty-state\"><div class=\"empty-icon\">\ud83c\udfac<\/div><h3>No reels found<\/h3><p>This group doesn\\'t have any reels or they\\'re not accessible.<\/p><\/div>';\r\n                }\r\n\r\n            } catch (error) {\r\n                document.getElementById('reelsSkeleton').style.display = 'none';\r\n                document.getElementById('reelsContent').style.display = 'block';\r\n                document.getElementById('reelsContent').innerHTML = '<div class=\"empty-state\"><div class=\"empty-icon\">\u274c<\/div><h3>Error loading reels<\/h3><p>There was a problem fetching reels. Please try again later.<\/p><\/div>';\r\n                console.error('Error fetching reels:', error);\r\n            }\r\n        }\r\n\r\n        function displayGroupVideos(videos) {\r\n            const videosContent = document.getElementById('videosContent');\r\n\r\n            const html = `\r\n            <div class=\"media-summary\">\r\n                <div class=\"summary-title\">Video Collection<\/div>\r\n                <div class=\"summary-description\">Discovered ${videos.length} videos from this group<\/div>\r\n                <div class=\"summary-stats\">\r\n                    <div class=\"summary-stat\">\r\n                        <span class=\"summary-stat-number\">${videos.length}<\/span>\r\n                        <span class=\"summary-stat-label\">Total Videos<\/span>\r\n                    <\/div>\r\n                    <div class=\"summary-stat\">\r\n                        <span class=\"summary-stat-number\">${videos.filter(v => v.height >= 720).length}<\/span>\r\n                        <span class=\"summary-stat-label\">HD Videos<\/span>\r\n                    <\/div>\r\n                    <div class=\"summary-stat\">\r\n                        <span class=\"summary-stat-number\">${videos.filter(v => v.videoUrl).length}<\/span>\r\n                        <span class=\"summary-stat-label\">Downloadable<\/span>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n            \r\n            <div class=\"video-grid\">\r\n                ${videos.map((video, index) => `\r\n                    <div class=\"video-card\" style=\"--index: ${index}\" data-video-index=\"${index}\">\r\n                        <div class=\"video-thumbnail\" style=\"background-image: url('${video.thumbnailUri || '\/placeholder.svg?height=200&width=350'}')\" onclick=\"playVideoInline(${index}, 'group')\">\r\n                            <div class=\"video-play-icon\">\r\n                                <i class=\"fas fa-play\"><\/i>\r\n                            <\/div>\r\n                            <div class=\"video-quality-badge\">${video.height >= 720 ? 'HD' : 'SD'}<\/div>\r\n                            <div class=\"video-duration\">${formatDuration(video.duration)}<\/div>\r\n                            <div class=\"video-overlay\">\r\n                                <div class=\"video-actions\">\r\n                                    <button class=\"video-action-btn\" onclick=\"event.stopPropagation(); downloadVideo(${index}, 'group')\" title=\"Download Video\">\r\n                                        <i class=\"fas fa-download\"><\/i>\r\n                                    <\/button>\r\n                                    <button class=\"video-action-btn\" onclick=\"event.stopPropagation(); shareVideo(${index}, 'group')\" title=\"Share Video\">\r\n                                        <i class=\"fas fa-share\"><\/i>\r\n                                    <\/button>\r\n                                <\/div>\r\n                            <\/div>\r\n                        <\/div>\r\n                        ${video.videoUrl ? `\r\n                            <video \r\n                                class=\"video-player\" \r\n                                style=\"display: none;\" \r\n                                controls \r\n                                preload=\"metadata\"\r\n                                data-src=\"${video.videoUrl}\"\r\n                            >\r\n                                <source src=\"${video.videoUrl}\" type=\"video\/mp4\">\r\n                                Your browser does not support the video tag.\r\n                            <\/video>\r\n                        ` : ''}\r\n                        <div class=\"video-info\">\r\n                            <div class=\"video-title\">${escapeHtml(truncateText(video.title))}<\/div>\r\n                            ${video.description && video.description.trim() ? `\r\n                                <div class=\"video-description\">${escapeHtml(video.description.trim())}<\/div>\r\n                            ` : ''}\r\n                            <div class=\"video-stats\">\r\n                                <div class=\"video-engagement\">\r\n                                    ${video.stats && video.stats.likes > 0 ? `\r\n                                        <div class=\"video-engagement-item\">\r\n                                            <i class=\"fas fa-heart\"><\/i>\r\n                                            <span>${formatNumber(video.stats.likes)}<\/span>\r\n                                        <\/div>\r\n                                    ` : ''}\r\n                                    ${video.stats && video.stats.views > 0 ? `\r\n                                        <div class=\"video-engagement-item\">\r\n                                            <i class=\"fas fa-eye\"><\/i>\r\n                                            <span>${formatNumber(video.stats.views)} views<\/span>\r\n                                        <\/div>\r\n                                    ` : ''}\r\n                                <\/div>\r\n                                ${video.videoUrl ? `\r\n                                    <button class=\"video-download-btn\" onclick=\"downloadVideo(${index}, 'group')\">\r\n                                        <i class=\"fas fa-download\"><\/i>\r\n                                        Download\r\n                                    <\/button>\r\n                                ` : ''}\r\n                            <\/div>\r\n                            <div class=\"video-meta\">\r\n                                ${video.creationTime ? `<div>${formatTimeAgo(video.creationTime * 1000)}<\/div>` : ''}\r\n                                ${video.width && video.height ? `<div>${video.width} \u00d7 ${video.height}<\/div>` : ''}\r\n                            <\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n                `).join('')}\r\n            <\/div>\r\n        `;\r\n\r\n            videosContent.innerHTML = html;\r\n\r\n            \/\/ Store videos data globally for download functionality\r\n            window.groupVideosData = videos;\r\n        }\r\n\r\n        function displayGroupReels(reels) {\r\n            const reelsContent = document.getElementById('reelsContent');\r\n\r\n            const html = `\r\n            <div class=\"media-summary\">\r\n                <div class=\"summary-title\">Reels Collection<\/div>\r\n                <div class=\"summary-description\">Discovered ${reels.length} reels from this group<\/div>\r\n                <div class=\"summary-stats\">\r\n                    <div class=\"summary-stat\">\r\n                        <span class=\"summary-stat-number\">${reels.length}<\/span>\r\n                        <span class=\"summary-stat-label\">Total Reels<\/span>\r\n                    <\/div>\r\n                    <div class=\"summary-stat\">\r\n                        <span class=\"summary-stat-number\">${reels.filter(r => r.videoUrl).length}<\/span>\r\n                        <span class=\"summary-stat-label\">Downloadable<\/span>\r\n                    <\/div>\r\n                    <div class=\"summary-stat\">\r\n                        <span class=\"summary-stat-number\">${formatTotalViews(reels)}<\/span>\r\n                        <span class=\"summary-stat-label\">Total Views<\/span>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n            \r\n            <div class=\"video-grid\">\r\n                ${reels.map((reel, index) => `\r\n                    <div class=\"video-card\" style=\"--index: ${index}\" data-reel-index=\"${index}\">\r\n                        <div class=\"video-thumbnail\" style=\"background-image: url('${reel.thumbnailUri || '\/placeholder.svg?height=200&width=350'}')\" onclick=\"playReelInline(${index}, 'group')\">\r\n                            <div class=\"video-play-icon\">\r\n                                <i class=\"fas fa-play\"><\/i>\r\n                            <\/div>\r\n                            <div class=\"reel-badge\">REEL<\/div>\r\n                            <div class=\"video-duration\">${formatDuration(reel.duration)}<\/div>\r\n                            <div class=\"video-overlay\">\r\n                                <div class=\"video-actions\">\r\n                                    <button class=\"video-action-btn\" onclick=\"event.stopPropagation(); downloadReel(${index}, 'group')\" title=\"Download Reel\">\r\n                                        <i class=\"fas fa-download\"><\/i>\r\n                                    <\/button>\r\n                                    <button class=\"video-action-btn\" onclick=\"event.stopPropagation(); shareReel(${index}, 'group')\" title=\"Share Reel\">\r\n                                        <i class=\"fas fa-share\"><\/i>\r\n                                    <\/button>\r\n                                <\/div>\r\n                            <\/div>\r\n                        <\/div>\r\n                        ${reel.videoUrl ? `\r\n                            <video \r\n                                class=\"video-player\" \r\n                                style=\"display: none;\" \r\n                                controls \r\n                                loop\r\n                                muted\r\n                                preload=\"metadata\"\r\n                                data-src=\"${reel.videoUrl}\"\r\n                            >\r\n                                <source src=\"${reel.videoUrl}\" type=\"video\/mp4\">\r\n                                Your browser does not support the video tag.\r\n                            <\/video>\r\n                        ` : ''}\r\n                        <div class=\"video-info\">\r\n                            <div class=\"video-title\">${escapeHtml(truncateText(reel.title))}<\/div>\r\n                            ${reel.description && reel.description.trim() ? `\r\n                                <div class=\"video-description\">${escapeHtml(reel.description.trim())}<\/div>\r\n                            ` : ''}\r\n                            <div class=\"video-stats\">\r\n                                <div class=\"video-engagement\">\r\n                                    ${reel.views > 0 ? `\r\n                                        <div class=\"video-engagement-item\">\r\n                                            <i class=\"fas fa-eye\"><\/i>\r\n                                            <span>${formatNumber(reel.views)} views<\/span>\r\n                                        <\/div>\r\n                                    ` : ''}\r\n                                <\/div>\r\n                                ${reel.videoUrl ? `\r\n                                    <button class=\"video-download-btn\" onclick=\"downloadReel(${index}, 'group')\">\r\n                                        <i class=\"fas fa-download\"><\/i>\r\n                                        Download\r\n                                    <\/button>\r\n                                ` : ''}\r\n                            <\/div>\r\n                            <div class=\"video-meta\">\r\n                                ${reel.creationTime ? `<div>${formatTimeAgo(reel.creationTime * 1000)}<\/div>` : ''}\r\n                            <\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n                `).join('')}\r\n            <\/div>\r\n        `;\r\n\r\n            reelsContent.innerHTML = html;\r\n\r\n            \/\/ Store reels data globally for download functionality\r\n            window.groupReelsData = reels;\r\n        }\r\n\r\n        \/\/ Function to fetch videos data specifically for profiles\r\n        async function fetchVideosData(username) {\r\n            if (!username) {\r\n                console.error('No username available for videos fetch');\r\n                return;\r\n            }\r\n\r\n            try {\r\n                \/\/ Construct videos URL\r\n                const videosUrl = `https:\/\/www.facebook.com\/${username}\/videos`;\r\n                console.log('Fetching videos from:', videosUrl);\r\n\r\n                const response = await fetch('https:\/\/tools.xrespond.com\/api\/facebook\/all-details', {\r\n                    method: 'POST',\r\n                    headers: {\r\n                        'Content-Type': 'application\/json'\r\n                    },\r\n                    body: JSON.stringify({ url: videosUrl })\r\n                });\r\n\r\n                document.getElementById('videos-skeleton').style.display = 'none';\r\n                document.getElementById('profile-videos-container').style.display = 'grid';\r\n\r\n                if (!response.ok) {\r\n                    throw new Error('Network response was not ok');\r\n                }\r\n\r\n                const data = await response.json();\r\n                console.log('Videos API response:', data);\r\n\r\n                if (data.status === 'success') {\r\n                    \/\/ Process and display videos data\r\n                    const videosData = extractVideosFromAPI(data.data);\r\n                    console.log('Processed videos data:', videosData);\r\n\r\n                    \/\/ Update profile data with new videos\r\n                    if (profileData) {\r\n                        profileData.videos = videosData;\r\n                    }\r\n\r\n                    \/\/ Update the videos count\r\n                    document.getElementById('video-count').textContent = `${videosData.length} Videos`;\r\n\r\n                    \/\/ Display videos\r\n                    const videosContainer = document.getElementById('profile-videos-container');\r\n                    if (videosData.length > 0) {\r\n                        const videosHtml = videosData.map((video, index) => `\r\n                        <div class=\"video-card\" style=\"--index: ${index}\" data-video-index=\"${index}\">\r\n                            <div class=\"video-thumbnail\" style=\"background-image: url('${video.thumbnailUri || '\/placeholder.svg?height=200&width=350'}')\" onclick=\"playVideoInline(${index}, 'profile')\">\r\n                                <div class=\"video-play-icon\">\r\n                                    <i class=\"fas fa-play\"><\/i>\r\n                                <\/div>\r\n                                <div class=\"video-quality-badge\">${video.height >= 720 ? 'HD' : 'SD'}<\/div>\r\n                                <div class=\"video-duration\">${formatDuration(video.duration)}<\/div>\r\n                                <div class=\"video-overlay\">\r\n                                    <div class=\"video-actions\">\r\n                                        <button class=\"video-action-btn\" onclick=\"event.stopPropagation(); downloadVideo(${index}, 'profile')\" title=\"Download Video\">\r\n                                            <i class=\"fas fa-download\"><\/i>\r\n                                        <\/button>\r\n                                        <button class=\"video-action-btn\" onclick=\"event.stopPropagation(); shareVideo(${index}, 'profile')\" title=\"Share Video\">\r\n                                            <i class=\"fas fa-share\"><\/i>\r\n                                        <\/button>\r\n                                    <\/div>\r\n                                <\/div>\r\n                            <\/div>\r\n                            ${video.videoUrl ? `\r\n                                <video \r\n                                    class=\"video-player\" \r\n                                    style=\"display: none;\" \r\n                                    controls \r\n                                    preload=\"metadata\"\r\n                                    data-src=\"${video.videoUrl}\"\r\n                                >\r\n                                    <source src=\"${video.videoUrl}\" type=\"video\/mp4\">\r\n                                    Your browser does not support the video tag.\r\n                                <\/video>\r\n                            ` : ''}\r\n                            <div class=\"video-info\">\r\n                                <div class=\"video-title\">${escapeHtml(truncateText(video.title))}<\/div>\r\n                                ${video.description && video.description.trim() ? `\r\n                                    <div class=\"video-description\">${escapeHtml(video.description.trim())}<\/div>\r\n                                ` : ''}\r\n                                <div class=\"video-stats\">\r\n                                    <div class=\"video-engagement\">\r\n                                        ${video.stats && video.stats.likes > 0 ? `\r\n                                            <div class=\"video-engagement-item\">\r\n                                                <i class=\"fas fa-heart\"><\/i>\r\n                                                <span>${formatNumber(video.stats.likes)}<\/span>\r\n                                            <\/div>\r\n                                        ` : ''}\r\n                                        ${video.stats && video.stats.views > 0 ? `\r\n                                            <div class=\"video-engagement-item\">\r\n                                                <i class=\"fas fa-eye\"><\/i>\r\n                                                <span>${formatNumber(video.stats.views)} views<\/span>\r\n                                            <\/div>\r\n                                        ` : ''}\r\n                                    <\/div>\r\n                                    ${video.videoUrl ? `\r\n                                        <button class=\"video-download-btn\" onclick=\"downloadVideo(${index}, 'profile')\">\r\n                                            <i class=\"fas fa-download\"><\/i>\r\n                                            Download\r\n                                        <\/button>\r\n                                    ` : ''}\r\n                                <\/div>\r\n                                <div class=\"video-meta\">\r\n                                    ${video.creationTime ? `<div>${formatTimeAgo(video.creationTime * 1000)}<\/div>` : ''}\r\n                                    ${video.width && video.height ? `<div>${video.width} \u00d7 ${video.height}<\/div>` : ''}\r\n                                <\/div>\r\n                            <\/div>\r\n                        <\/div>\r\n                    `).join('');\r\n\r\n                        videosContainer.innerHTML = videosHtml;\r\n\r\n                        \/\/ Store videos data globally for download functionality\r\n                        window.profileVideosData = videosData;\r\n                    } else {\r\n                        videosContainer.innerHTML = '<div class=\"no-data-message\">No videos found for this profile.<\/div>';\r\n                    }\r\n                } else {\r\n                    console.error('API returned error:', data);\r\n                    document.getElementById('profile-videos-container').innerHTML = '<div class=\"no-data-message\">Failed to load videos: ' + (data.message || 'Unknown error') + '<\/div>';\r\n                }\r\n            } catch (error) {\r\n                console.error('Error fetching videos data:', error);\r\n                document.getElementById('videos-skeleton').style.display = 'none';\r\n                document.getElementById('profile-videos-container').style.display = 'grid';\r\n                document.getElementById('profile-videos-container').innerHTML = '<div class=\"no-data-message\">Error loading videos. Please try again later.<\/div>';\r\n            }\r\n        }\r\n\r\n        \/\/ Function to fetch reels data specifically for profiles\r\n        async function fetchReelsData(username) {\r\n            if (!username) {\r\n                console.error('No username available for reels fetch');\r\n                return;\r\n            }\r\n\r\n            try {\r\n                \/\/ Construct reels URL\r\n                const reelsUrl = `https:\/\/www.facebook.com\/${username}\/reels`;\r\n                console.log('Fetching reels from:', reelsUrl);\r\n\r\n                const response = await fetch('https:\/\/tools.xrespond.com\/api\/facebook\/all-details', {\r\n                    method: 'POST',\r\n                    headers: {\r\n                        'Content-Type': 'application\/json'\r\n                    },\r\n                    body: JSON.stringify({ url: reelsUrl })\r\n                });\r\n\r\n                document.getElementById('reels-skeleton').style.display = 'none';\r\n                document.getElementById('profile-reels-container').style.display = 'grid';\r\n\r\n                if (!response.ok) {\r\n                    throw new Error('Network response was not ok');\r\n                }\r\n\r\n                const data = await response.json();\r\n                console.log('Reels API response:', data);\r\n\r\n                if (data.status === 'success') {\r\n                    \/\/ Process and display reels data\r\n                    const reelsData = extractReels(data.data);\r\n                    console.log('Processed reels data:', reelsData);\r\n\r\n                    \/\/ Update profile data with new reels\r\n                    if (profileData) {\r\n                        profileData.reels = reelsData;\r\n                    }\r\n\r\n                    \/\/ Update the reels count\r\n                    document.getElementById('reels-count').textContent = `${reelsData.length} Reels`;\r\n\r\n                    \/\/ Display reels\r\n                    const reelsContainer = document.getElementById('profile-reels-container');\r\n                    if (reelsData.length > 0) {\r\n                        const reelsHtml = reelsData.map((reel, index) => `\r\n                        <div class=\"video-card\" style=\"--index: ${index}\" data-reel-index=\"${index}\">\r\n                            <div class=\"video-thumbnail\" style=\"background-image: url('${reel.thumbnailUri || '\/placeholder.svg?height=200&width=350'}')\" onclick=\"playReelInline(${index}, 'profile')\">\r\n                                <div class=\"video-play-icon\">\r\n                                    <i class=\"fas fa-play\"><\/i>\r\n                                <\/div>\r\n                                <div class=\"reel-badge\">REEL<\/div>\r\n                                <div class=\"video-duration\">${formatDuration(reel.duration)}<\/div>\r\n                                <div class=\"video-overlay\">\r\n                                    <div class=\"video-actions\">\r\n                                        <button class=\"video-action-btn\" onclick=\"event.stopPropagation(); downloadReel(${index}, 'profile')\" title=\"Download Reel\">\r\n                                            <i class=\"fas fa-download\"><\/i>\r\n                                        <\/button>\r\n                                        <button class=\"video-action-btn\" onclick=\"event.stopPropagation(); shareReel(${index}, 'profile')\" title=\"Share Reel\">\r\n                                            <i class=\"fas fa-share\"><\/i>\r\n                                        <\/button>\r\n                                    <\/div>\r\n                                <\/div>\r\n                            <\/div>\r\n                            ${reel.videoUrl ? `\r\n                                <video \r\n                                    class=\"video-player\" \r\n                                    style=\"display: none;\" \r\n                                    controls \r\n                                    loop\r\n                                    muted\r\n                                    preload=\"metadata\"\r\n                                    data-src=\"${reel.videoUrl}\"\r\n                                >\r\n                                    <source src=\"${reel.videoUrl}\" type=\"video\/mp4\">\r\n                                    Your browser does not support the video tag.\r\n                                <\/video>\r\n                            ` : ''}\r\n                            <div class=\"video-info\">\r\n                                <div class=\"video-title\">${escapeHtml(truncateText(reel.title))}<\/div>\r\n                                <div class=\"video-stats\">\r\n                                    <div class=\"video-engagement\">\r\n                                        ${reel.views > 0 ? `\r\n                                            <div class=\"video-engagement-item\">\r\n                                                <i class=\"fas fa-eye\"><\/i>\r\n                                                <span>${formatNumber(reel.views)} views<\/span>\r\n                                            <\/div>\r\n                                        ` : ''}\r\n                                    <\/div>\r\n                                    ${reel.videoUrl ? `\r\n                                        <button class=\"video-download-btn\" onclick=\"downloadReel(${index}, 'profile')\">\r\n                                            <i class=\"fas fa-download\"><\/i>\r\n                                            Download\r\n                                        <\/button>\r\n                                    ` : ''}\r\n                                <\/div>\r\n                                <div class=\"video-meta\">\r\n                                    ${reel.creationTime ? `<div>${formatTimeAgo(reel.creationTime * 1000)}<\/div>` : ''}\r\n                                <\/div>\r\n                            <\/div>\r\n                        <\/div>\r\n                    `).join('');\r\n\r\n                        reelsContainer.innerHTML = reelsHtml;\r\n\r\n                        \/\/ Store reels data globally for download functionality\r\n                        window.profileReelsData = reelsData;\r\n                    } else {\r\n                        reelsContainer.innerHTML = '<div class=\"no-data-message\">No reels found for this profile.<\/div>';\r\n                    }\r\n                } else {\r\n                    console.error('API returned error:', data);\r\n                    document.getElementById('profile-reels-container').innerHTML = '<div class=\"no-data-message\">Failed to load reels: ' + (data.message || 'Unknown error') + '<\/div>';\r\n                }\r\n            } catch (error) {\r\n                console.error('Error fetching reels data:', error);\r\n                document.getElementById('reels-skeleton').style.display = 'none';\r\n                document.getElementById('profile-reels-container').style.display = 'grid';\r\n                document.getElementById('profile-reels-container').innerHTML = '<div class=\"no-data-message\">Error loading reels. Please try again later.<\/div>';\r\n            }\r\n        }\r\n\r\n        \/\/ Video Playback Functions\r\n        function pauseOtherVideos(currentVideoPlayer) {\r\n            document.querySelectorAll('video.video-player').forEach(otherVideo => {\r\n                if (otherVideo !== currentVideoPlayer && !otherVideo.paused) {\r\n                    otherVideo.pause();\r\n                    const otherContainer = otherVideo.closest('.video-card');\r\n                    if (otherContainer) {\r\n                        const otherThumbnail = otherContainer.querySelector('.video-thumbnail');\r\n                        if (otherThumbnail) {\r\n                            otherVideo.style.display = 'none';\r\n                            otherThumbnail.style.display = 'flex';\r\n                        }\r\n                    }\r\n                }\r\n            });\r\n        }\r\n\r\n        function playVideoInline(index, type) {\r\n            let videoData;\r\n            let container;\r\n\r\n            if (type === 'group') {\r\n                videoData = window.groupVideosData;\r\n                container = document.querySelector(`[data-video-index=\"${index}\"]`);\r\n            } else if (type === 'profile') {\r\n                videoData = window.profileVideosData || (profileData ? profileData.videos : []);\r\n                container = document.querySelector(`[data-video-index=\"${index}\"]`);\r\n            }\r\n\r\n            if (!videoData || !videoData[index] || !container) {\r\n                console.error('Video data not found');\r\n                return;\r\n            }\r\n\r\n            const video = videoData[index];\r\n            const thumbnail = container.querySelector('.video-thumbnail');\r\n            const videoPlayer = container.querySelector('.video-player');\r\n\r\n            if (!videoPlayer || !video.videoUrl) {\r\n                console.error('Video player or URL not found');\r\n                return;\r\n            }\r\n\r\n            pauseOtherVideos(videoPlayer);\r\n\r\n            \/\/ Hide thumbnail and show video player\r\n            thumbnail.style.display = 'none';\r\n            videoPlayer.style.display = 'block';\r\n\r\n            \/\/ Load video source if not already loaded\r\n            if (!videoPlayer.src && videoPlayer.dataset.src) {\r\n                videoPlayer.src = videoPlayer.dataset.src;\r\n            }\r\n\r\n            \/\/ Play the video\r\n            videoPlayer.play().catch(error => {\r\n                console.error('Error playing video:', error);\r\n                \/\/ Show thumbnail again if video fails to play\r\n                thumbnail.style.display = 'block';\r\n                videoPlayer.style.display = 'none';\r\n            });\r\n\r\n            \/\/ Add event listener to show thumbnail when video ends\r\n            videoPlayer.addEventListener('ended', function () {\r\n                thumbnail.style.display = 'block';\r\n                videoPlayer.style.display = 'none';\r\n            });\r\n\r\n            \/\/ Add event listener to show thumbnail when video is paused\r\n            videoPlayer.addEventListener('pause', function () {\r\n                if (videoPlayer.currentTime === 0 || videoPlayer.ended) {\r\n                    thumbnail.style.display = 'block';\r\n                    videoPlayer.style.display = 'none';\r\n                }\r\n            });\r\n        }\r\n\r\n        function playReelInline(index, type) {\r\n            let reelData;\r\n            let container;\r\n\r\n            if (type === 'group') {\r\n                reelData = window.groupReelsData;\r\n                container = document.querySelector(`[data-reel-index=\"${index}\"]`);\r\n            } else if (type === 'profile') {\r\n                reelData = window.profileReelsData || (profileData ? profileData.reels : []);\r\n                container = document.querySelector(`[data-reel-index=\"${index}\"]`);\r\n            }\r\n\r\n            if (!reelData || !reelData[index] || !container) {\r\n                console.error('Reel data not found');\r\n                return;\r\n            }\r\n\r\n            const reel = reelData[index];\r\n            const thumbnail = container.querySelector('.video-thumbnail');\r\n            const videoPlayer = container.querySelector('.video-player');\r\n\r\n            if (!videoPlayer || !reel.videoUrl) {\r\n                console.error('Video player or URL not found');\r\n                return;\r\n            }\r\n\r\n            pauseOtherVideos(videoPlayer);\r\n\r\n            \/\/ Hide thumbnail and show video player\r\n            thumbnail.style.display = 'none';\r\n            videoPlayer.style.display = 'block';\r\n\r\n            \/\/ Load video source if not already loaded\r\n            if (!videoPlayer.src && videoPlayer.dataset.src) {\r\n                videoPlayer.src = videoPlayer.dataset.src;\r\n            }\r\n\r\n            \/\/ Play the video\r\n            videoPlayer.play().catch(error => {\r\n                console.error('Error playing reel:', error);\r\n                \/\/ Show thumbnail again if video fails to play\r\n                thumbnail.style.display = 'block';\r\n                videoPlayer.style.display = 'none';\r\n            });\r\n\r\n            \/\/ Add event listener to show thumbnail when video ends (reels loop, so this might not trigger)\r\n            videoPlayer.addEventListener('ended', function () {\r\n                thumbnail.style.display = 'block';\r\n                videoPlayer.style.display = 'none';\r\n            });\r\n\r\n            \/\/ Add event listener to show thumbnail when video is paused\r\n            videoPlayer.addEventListener('pause', function () {\r\n                if (videoPlayer.currentTime === 0 || videoPlayer.ended) {\r\n                    thumbnail.style.display = 'block';\r\n                    videoPlayer.style.display = 'none';\r\n                }\r\n            });\r\n        }\r\n\r\n        \/\/ Download Functions with Progress Indicator\r\n        function showDownloadProgress(filename) {\r\n            const modal = document.getElementById('download-progress-modal');\r\n            const title = document.getElementById('download-progress-title');\r\n            const fill = document.getElementById('download-progress-fill');\r\n            const text = document.getElementById('download-progress-text');\r\n\r\n            title.textContent = `Downloading ${filename}`;\r\n            fill.style.width = '0%';\r\n            text.textContent = 'Preparing download...';\r\n            modal.classList.add('active');\r\n\r\n            return {\r\n                updateProgress: (percent, status) => {\r\n                    fill.style.width = `${percent}%`;\r\n                    text.textContent = status;\r\n                },\r\n                complete: () => {\r\n                    fill.style.width = '100%';\r\n                    text.textContent = 'Download complete!';\r\n                    setTimeout(() => {\r\n                        modal.classList.remove('active');\r\n                    }, 2000);\r\n                },\r\n                error: (message) => {\r\n                    text.textContent = `Error: ${message}`;\r\n                    setTimeout(() => {\r\n                        modal.classList.remove('active');\r\n                    }, 3000);\r\n                }\r\n            };\r\n        }\r\n\r\n        async function downloadImage(url, filename, button) {\r\n            const progress = showDownloadProgress(filename);\r\n\r\n            try {\r\n                \/\/ Update button state\r\n                const originalText = button.innerHTML;\r\n                button.innerHTML = '<span class=\"btn-icon\">\u23f3<\/span><span>Downloading...<\/span>';\r\n                button.disabled = true;\r\n\r\n                progress.updateProgress(10, 'Fetching image...');\r\n\r\n                const response = await fetch(url);\r\n                if (!response.ok) throw new Error('Network response was not ok');\r\n\r\n                progress.updateProgress(50, 'Processing image...');\r\n\r\n                const blob = await response.blob();\r\n\r\n                progress.updateProgress(80, 'Preparing download...');\r\n\r\n                const downloadUrl = window.URL.createObjectURL(blob);\r\n                const a = document.createElement('a');\r\n                a.href = downloadUrl;\r\n                a.download = filename;\r\n                document.body.appendChild(a);\r\n                a.click();\r\n                document.body.removeChild(a);\r\n                window.URL.revokeObjectURL(downloadUrl);\r\n\r\n                progress.complete();\r\n\r\n                \/\/ Restore button state\r\n                button.innerHTML = originalText;\r\n                button.disabled = false;\r\n\r\n            } catch (error) {\r\n                console.error('Download failed:', error);\r\n                progress.error('Download failed');\r\n\r\n                \/\/ Restore button state\r\n                button.innerHTML = originalText;\r\n                button.disabled = false;\r\n            }\r\n        }\r\n\r\n        function downloadVideo(index, type) {\r\n            let videoData;\r\n\r\n            if (type === 'group') {\r\n                videoData = window.groupVideosData;\r\n            } else if (type === 'profile') {\r\n                videoData = window.profileVideosData || (profileData ? profileData.videos : []);\r\n            }\r\n\r\n            if (!videoData || !videoData[index]) {\r\n                console.error('Video data not found');\r\n                return;\r\n            }\r\n\r\n            const video = videoData[index];\r\n            if (!video.videoUrl) {\r\n                alert('Video URL not available for download');\r\n                return;\r\n            }\r\n\r\n            const filename = `video-${index + 1}-${video.title.replace(\/[^a-z0-9]\/gi, '_').toLowerCase()}.mp4`;\r\n            downloadVideoFile(video.videoUrl, filename);\r\n        }\r\n\r\n        function downloadReel(index, type) {\r\n            let reelData;\r\n\r\n            if (type === 'group') {\r\n                reelData = window.groupReelsData;\r\n            } else if (type === 'profile') {\r\n                reelData = window.profileReelsData || (profileData ? profileData.reels : []);\r\n            }\r\n\r\n            if (!reelData || !reelData[index]) {\r\n                console.error('Reel data not found');\r\n                return;\r\n            }\r\n\r\n            const reel = reelData[index];\r\n            if (!reel.videoUrl) {\r\n                alert('Reel URL not available for download');\r\n                return;\r\n            }\r\n\r\n            const filename = `reel-${index + 1}-${reel.title.replace(\/[^a-z0-9]\/gi, '_').toLowerCase()}.mp4`;\r\n            downloadVideoFile(reel.videoUrl, filename);\r\n        }\r\n\r\n        async function downloadVideoFile(url, filename) {\r\n            const progress = showDownloadProgress(filename);\r\n            downloadAbortController = new AbortController();\r\n            const signal = downloadAbortController.signal;\r\n\r\n            const cancelButton = document.getElementById('download-cancel-btn');\r\n            cancelButton.style.display = 'block';\r\n            cancelButton.onclick = () => {\r\n                downloadAbortController.abort();\r\n            };\r\n\r\n            try {\r\n                progress.updateProgress(10, 'Fetching video...');\r\n\r\n                const response = await fetch(url, { signal });\r\n                if (!response.ok) throw new Error('Network response was not ok');\r\n\r\n                const contentLength = response.headers.get('content-length');\r\n                const total = parseInt(contentLength, 10);\r\n                let loaded = 0;\r\n\r\n                const reader = response.body.getReader();\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                    loaded += value.length;\r\n\r\n                    if (total) {\r\n                        const percent = Math.round((loaded \/ total) * 100);\r\n                        progress.updateProgress(percent, `Downloading... ${formatBytes(loaded)} \/ ${formatBytes(total)}`);\r\n                    } else {\r\n                        progress.updateProgress(50, `Downloading... ${formatBytes(loaded)}`);\r\n                    }\r\n                }\r\n\r\n                progress.updateProgress(90, 'Processing video...');\r\n\r\n                const blob = new Blob(chunks);\r\n                const downloadUrl = window.URL.createObjectURL(blob);\r\n                const a = document.createElement('a');\r\n                a.href = downloadUrl;\r\n                a.download = filename;\r\n                document.body.appendChild(a);\r\n                a.click();\r\n                document.body.removeChild(a);\r\n                window.URL.revokeObjectURL(downloadUrl);\r\n\r\n                progress.complete();\r\n\r\n            } catch (error) {\r\n                if (error.name === 'AbortError') {\r\n                    progress.error('Download canceled');\r\n                } else {\r\n                    console.error('Video download failed:', error);\r\n                    progress.error('Download failed');\r\n                }\r\n            } finally {\r\n                cancelButton.style.display = 'none';\r\n                downloadAbortController = null;\r\n            }\r\n        }\r\n\r\n        \/\/ Share Functions\r\n        function shareVideo(index, type) {\r\n            let videoData;\r\n\r\n            if (type === 'group') {\r\n                videoData = window.groupVideosData;\r\n            } else if (type === 'profile') {\r\n                videoData = window.profileVideosData || (profileData ? profileData.videos : []);\r\n            }\r\n\r\n            if (!videoData || !videoData[index]) {\r\n                console.error('Video data not found');\r\n                return;\r\n            }\r\n\r\n            const video = videoData[index];\r\n\r\n            if (navigator.share) {\r\n                navigator.share({\r\n                    title: video.title,\r\n                    text: video.description || 'Check out this video!',\r\n                    url: video.videoUrl || window.location.href\r\n                }).catch(console.error);\r\n            } else {\r\n                \/\/ Fallback: copy to clipboard\r\n                const shareText = `${video.title}\\n${video.videoUrl || window.location.href}`;\r\n                navigator.clipboard.writeText(shareText).then(() => {\r\n                    alert('Video link copied to clipboard!');\r\n                }).catch(() => {\r\n                    alert('Unable to share video');\r\n                });\r\n            }\r\n        }\r\n\r\n        function shareReel(index, type) {\r\n            let reelData;\r\n\r\n            if (type === 'group') {\r\n                reelData = window.groupReelsData;\r\n            } else if (type === 'profile') {\r\n                reelData = window.profileReelsData || (profileData ? profileData.reels : []);\r\n            }\r\n\r\n            if (!reelData || !reelData[index]) {\r\n                console.error('Reel data not found');\r\n                return;\r\n            }\r\n\r\n            const reel = reelData[index];\r\n\r\n            if (navigator.share) {\r\n                navigator.share({\r\n                    title: reel.title,\r\n                    text: 'Check out this reel!',\r\n                    url: reel.videoUrl || window.location.href\r\n                }).catch(console.error);\r\n            } else {\r\n                \/\/ Fallback: copy to clipboard\r\n                const shareText = `${reel.title}\\n${reel.videoUrl || window.location.href}`;\r\n                navigator.clipboard.writeText(shareText).then(() => {\r\n                    alert('Reel link copied to clipboard!');\r\n                }).catch(() => {\r\n                    alert('Unable to share reel');\r\n                });\r\n            }\r\n        }\r\n\r\n        \/\/ Photo Modal Functions\r\n        function openPhotoModal(photoUrl, index) {\r\n            const modal = document.getElementById('fb-photomodal');\r\n            const modalImage = document.getElementById('fb-photomodal-image');\r\n            const modalTitle = document.getElementById('fb-photomodal-title');\r\n            const modalStats = document.getElementById('fb-photomodal-stats');\r\n\r\n            \/\/ Set current photo data\r\n            currentPhotoData = {\r\n                url: photoUrl,\r\n                index: index\r\n            };\r\n\r\n            \/\/ Update modal content\r\n            modalImage.src = photoUrl;\r\n            modalTitle.textContent = `Photo ${index + 1}`;\r\n\r\n            \/\/ Update stats if available\r\n            let photo = null;\r\n            if (profileData && profileData.photos && profileData.photos[index]) {\r\n                photo = profileData.photos[index];\r\n            }\r\n\r\n            if (photo) {\r\n                modalStats.innerHTML = `\r\n                <div class=\"fb-photomodal-stat\">\r\n                    <div class=\"fb-photomodal-stat-value\">${photo.likes}<\/div>\r\n                    <div class=\"fb-photomodal-stat-label\">Likes<\/div>\r\n                <\/div>\r\n                <div class=\"fb-photomodal-stat\">\r\n                    <div class=\"fb-photomodal-stat-value\">${photo.comments}<\/div>\r\n                    <div class=\"fb-photomodal-stat-label\">Comments<\/div>\r\n                <\/div>\r\n                <div class=\"fb-photomodal-stat\">\r\n                    <div class=\"fb-photomodal-stat-value\">${photo.width}\u00d7${photo.height}<\/div>\r\n                    <div class=\"fb-photomodal-stat-label\">Resolution<\/div>\r\n                <\/div>\r\n                <div class=\"fb-photomodal-stat\">\r\n                    <div class=\"fb-photomodal-stat-value\">${formatDate(photo.created_time)}<\/div>\r\n                    <div class=\"fb-photomodal-stat-label\">Date<\/div>\r\n                <\/div>\r\n            `;\r\n            } else {\r\n                modalStats.innerHTML = `\r\n                <div class=\"fb-photomodal-stat\">\r\n                    <div class=\"fb-photomodal-stat-value\">N\/A<\/div>\r\n                    <div class=\"fb-photomodal-stat-label\">Likes<\/div>\r\n                <\/div>\r\n                <div class=\"fb-photomodal-stat\">\r\n                    <div class=\"fb-photomodal-stat-value\">N\/A<\/div>\r\n                    <div class=\"fb-photomodal-stat-label\">Comments<\/div>\r\n                <\/div>\r\n            `;\r\n            }\r\n\r\n            \/\/ Show modal\r\n            modal.classList.add('active');\r\n\r\n            \/\/ Add escape key listener\r\n            document.addEventListener('keydown', handleModalKeydown);\r\n        }\r\n\r\n        function closePhotoModal() {\r\n            const modal = document.getElementById('fb-photomodal');\r\n            modal.classList.remove('active');\r\n            currentPhotoData = null;\r\n\r\n            \/\/ Remove escape key listener\r\n            document.removeEventListener('keydown', handleModalKeydown);\r\n        }\r\n\r\n        function handleModalKeydown(event) {\r\n            if (event.key === 'Escape') {\r\n                closePhotoModal();\r\n            }\r\n        }\r\n\r\n        function downloadCurrentPhoto() {\r\n            if (!currentPhotoData) return;\r\n\r\n            const filename = `photo-${currentPhotoData.index + 1}.jpg`;\r\n            downloadImage(currentPhotoData.url, filename, {\r\n                innerHTML: '<i class=\"fas fa-download\"><\/i> Download Original',\r\n                disabled: false\r\n            });\r\n        }\r\n\r\n        function shareCurrentPhoto() {\r\n            if (!currentPhotoData) return;\r\n\r\n            if (navigator.share) {\r\n                navigator.share({\r\n                    title: `Photo ${currentPhotoData.index + 1}`,\r\n                    text: 'Check out this photo!',\r\n                    url: currentPhotoData.url\r\n                }).catch(console.error);\r\n            } else {\r\n                navigator.clipboard.writeText(currentPhotoData.url).then(() => {\r\n                    alert('Photo link copied to clipboard!');\r\n                }).catch(() => {\r\n                    alert('Unable to share photo');\r\n                });\r\n            }\r\n        }\r\n\r\n        function viewOnFacebook() {\r\n            if (currentUrl) {\r\n                window.open(currentUrl, '_blank');\r\n            }\r\n        }\r\n\r\n        function sharePhoto(photoUrl) {\r\n            if (navigator.share) {\r\n                navigator.share({\r\n                    title: 'Photo',\r\n                    text: 'Check out this photo!',\r\n                    url: photoUrl\r\n                }).catch(console.error);\r\n            } else {\r\n                navigator.clipboard.writeText(photoUrl).then(() => {\r\n                    alert('Photo link copied to clipboard!');\r\n                }).catch(() => {\r\n                    alert('Unable to share photo');\r\n                });\r\n            }\r\n        }\r\n\r\n        \/\/ Export Functions\r\n        function exportProfileData() {\r\n            if (!profileData) {\r\n                alert('No profile data available to export');\r\n                return;\r\n            }\r\n\r\n            const exportData = {\r\n                profile: {\r\n                    name: profileData.basicInfo.name,\r\n                    username: currentUsername,\r\n                    profilePicture: profileData.basicInfo.profilePicture,\r\n                    coverPhoto: profileData.basicInfo.coverPhoto,\r\n                    isVerified: profileData.basicInfo.isVerified\r\n                },\r\n                stats: {\r\n                    photos: profileData.photos.length,\r\n                    videos: profileData.videos.length,\r\n                    reels: profileData.reels.length,\r\n                    posts: profileData.posts.length\r\n                },\r\n                photos: profileData.photos.map(photo => ({\r\n                    url: photo.url,\r\n                    width: photo.width,\r\n                    height: photo.height,\r\n                    likes: photo.likes,\r\n                    comments: photo.comments,\r\n                    created_time: photo.created_time\r\n                })),\r\n                videos: profileData.videos.map(video => ({\r\n                    title: video.title,\r\n                    thumbnailUri: video.thumbnailUri,\r\n                    videoUrl: video.videoUrl,\r\n                    duration: video.duration,\r\n                    stats: video.stats,\r\n                    creationTime: video.creationTime\r\n                })),\r\n                reels: profileData.reels.map(reel => ({\r\n                    title: reel.title,\r\n                    thumbnailUri: reel.thumbnailUri,\r\n                    videoUrl: reel.videoUrl,\r\n                    duration: reel.duration,\r\n                    views: reel.views,\r\n                    creationTime: reel.creationTime\r\n                })),\r\n                exportedAt: new Date().toISOString()\r\n            };\r\n\r\n            const dataStr = JSON.stringify(exportData, null, 2);\r\n            const dataBlob = new Blob([dataStr], { type: 'application\/json' });\r\n            const url = URL.createObjectURL(dataBlob);\r\n\r\n            const a = document.createElement('a');\r\n            a.href = url;\r\n            a.download = `${currentUsername || 'profile'}_data_${new Date().toISOString().split('T')[0]}.json`;\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\r\n        \/\/ Utility Functions\r\n        function escapeHtml(text) {\r\n            if (!text) return '';\r\n          const map = {\r\n    '&': '\\u0026amp;',\r\n    '<': '\\u0026lt;',\r\n    '>': '\\u0026gt;',\r\n    '\"': '\\u0026quot;',\r\n    \"'\": '\\u0026#039;'\r\n};\r\n            return text.replace(\/[&<>\"']\/g, function (m) { return map[m]; });\r\n        }\r\n\r\n        function truncateText(text, length = 100) {\r\n            if (!text || text.length <= length) {\r\n                return text;\r\n            }\r\n            return text.substring(0, length) + '...';\r\n        }\r\n\r\n        function formatDate(timestamp) {\r\n            if (!timestamp) return 'Unknown';\r\n            const date = new Date(timestamp);\r\n            return date.toLocaleDateString('en-US', {\r\n                year: 'numeric',\r\n                month: 'short',\r\n                day: 'numeric'\r\n            });\r\n        }\r\n\r\n        function formatTimeAgo(timestamp) {\r\n            if (!timestamp) return 'Unknown';\r\n            const now = new Date();\r\n            const date = new Date(timestamp);\r\n            const diffInSeconds = Math.floor((now - date) \/ 1000);\r\n\r\n            if (diffInSeconds < 60) return 'Just now';\r\n            if (diffInSeconds < 3600) return `${Math.floor(diffInSeconds \/ 60)}m ago`;\r\n            if (diffInSeconds < 86400) return `${Math.floor(diffInSeconds \/ 3600)}h ago`;\r\n            if (diffInSeconds < 2592000) return `${Math.floor(diffInSeconds \/ 86400)}d ago`;\r\n            if (diffInSeconds < 31536000) return `${Math.floor(diffInSeconds \/ 2592000)}mo ago`;\r\n            return `${Math.floor(diffInSeconds \/ 31536000)}y ago`;\r\n        }\r\n\r\n        function formatDuration(milliseconds) {\r\n            if (!milliseconds) return '0:00';\r\n            const seconds = Math.floor(milliseconds \/ 1000);\r\n            const minutes = Math.floor(seconds \/ 60);\r\n            const remainingSeconds = seconds % 60;\r\n            return `${minutes}:${remainingSeconds.toString().padStart(2, '0')}`;\r\n        }\r\n\r\n        function formatNumber(num) {\r\n            if (!num) return '0';\r\n            if (num >= 1000000) return (num \/ 1000000).toFixed(1) + 'M';\r\n            if (num >= 1000) return (num \/ 1000).toFixed(1) + 'K';\r\n            return num.toString();\r\n        }\r\n\r\n        function formatBytes(bytes) {\r\n            if (bytes === 0) return '0 Bytes';\r\n            const k = 1024;\r\n            const sizes = ['Bytes', 'KB', 'MB', 'GB'];\r\n            const i = Math.floor(Math.log(bytes) \/ Math.log(k));\r\n            return parseFloat((bytes \/ Math.pow(k, i)).toFixed(2)) + ' ' + sizes[i];\r\n        }\r\n\r\n        function formatTotalViews(reels) {\r\n            const total = reels.reduce((sum, reel) => sum + (reel.views || 0), 0);\r\n            return formatNumber(total);\r\n        }\r\n\r\n        \/\/ Click outside modal to close\r\n        document.getElementById('fb-photomodal').addEventListener('click', function (event) {\r\n            if (event.target === this) {\r\n                closePhotoModal();\r\n            }\r\n        });\r\n\r\n        \/\/ Initialize page\r\n        document.addEventListener('DOMContentLoaded', function () {\r\n            console.log('Facebook Unified Analyzer loaded');\r\n\r\n            \/\/ Add some sample URLs for testing\r\n            const urlInput = document.getElementById('urlInput');\r\n            urlInput.addEventListener('focus', function () {\r\n                if (!this.value) {\r\n                    this.placeholder = 'e.g., https:\/\/www.facebook.com\/groups\/example or https:\/\/www.facebook.com\/username';\r\n                }\r\n            });\r\n\r\n            urlInput.addEventListener('blur', function () {\r\n                if (!this.value) {\r\n                    this.placeholder = 'Enter Facebook group or profile URL...';\r\n                }\r\n            });\r\n        });\r\n\r\n        \/\/ Global error handler\r\n        window.addEventListener('error', function (event) {\r\n            console.error('Global error:', event.error);\r\n        });\r\n\r\n        \/\/ Global unhandled promise rejection handler\r\n        window.addEventListener('unhandledrejection', function (event) {\r\n            console.error('Unhandled promise rejection:', event.reason);\r\n        });\r\n\r\n        function findTopCoverImage(data) {\r\n            let bestImage = { url: '', quality: -1 };\r\n\r\n            function getQuality(url) {\r\n                let quality = 0;\r\n                if (url.includes('scontent')) quality += 1;\r\n                if (url.includes('_n.jpg')) quality += 2;\r\n                if (url.includes('1080')) quality += 3;\r\n                return quality;\r\n            }\r\n\r\n            function findImage(obj) {\r\n                if (!obj || typeof obj !== 'object') return;\r\n\r\n                if (obj.uri && typeof obj.uri === 'string' && obj.uri.includes('scontent')) {\r\n                    const quality = getQuality(obj.uri);\r\n                    if (quality > bestImage.quality) {\r\n                        bestImage = { url: obj.uri, quality: quality };\r\n                    }\r\n                }\r\n\r\n                for (const key in obj) {\r\n                    findImage(obj[key]);\r\n                }\r\n            }\r\n\r\n            findImage(data);\r\n            return bestImage.url;\r\n        }\r\n    <\/script>\r\n    <\/div>\r\n\r\n<!-- content section start -->\r\n\r\n<!-- FONT AWESOME 6 CDN (VERIFIED FREE SOLID ICONS) -->\r\n<link rel=\"stylesheet\" href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/font-awesome\/6.5.1\/css\/all.min.css\" \/>\r\n\r\n<!-- Supportive Content Sections Start -->\r\n<div class=\"fb-supportive-content\">\r\n\r\n\t    <section class=\"info-block bg-white\">\r\n      \t  <div class=\"container-1200\">\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t<\/div>\r\n\t\t\t<\/section>\r\n\t\r\n    <!-- SECTION 1: WHY (White Background, Light Blue Cards) -->\r\n    <section class=\"info-block bg-white\">\r\n        <div class=\"container-1200\">\r\n            <div class=\"header-center\">\r\n                <h2 class=\"wh-title\">Why Use Our Facebook Account Viewer Tool?<\/h2>\r\n                <p class=\"wh-subtitle\">Access professional-grade analytics and private viewing capabilities without the typical platform restrictions.<\/p>\r\n            <\/div>\r\n            <div class=\"support-grid\">\r\n                <!-- 8 Cards -->\r\n                <div class=\"support-card v1-variant\">\r\n                    <div class=\"icon-style icon-blue\"><i class=\"fa-solid fa-user-shield\"><\/i><\/div>\r\n                    <h3>Total Privacy<\/h3>\r\n                    <p>Analyze profiles and groups without leaving any digital footprint. Your identity remains 100% hidden from administrators.<\/p>\r\n                <\/div>\r\n                <div class=\"support-card v1-variant\">\r\n                    <div class=\"icon-style icon-blue\"><i class=\"fa-solid fa-file-video\"><\/i><\/div>\r\n                    <h3>HD Media Export<\/h3>\r\n                    <p>Fetch and download videos and photos in their highest available resolution directly to your local storage.<\/p>\r\n                <\/div>\r\n                <div class=\"support-card v1-variant\">\r\n                    <div class=\"icon-style icon-blue\"><i class=\"fa-solid fa-chart-line\"><\/i><\/div>\r\n                    <h3>Advanced Metrics<\/h3>\r\n                    <p>Gain insights into member counts, engagement levels, and post frequencies that aren't readily visible on the standard UI.<\/p>\r\n                <\/div>\r\n                <div class=\"support-card v1-variant\">\r\n                    <div class=\"icon-style icon-blue\"><i class=\"fa-solid fa-bolt\"><\/i><\/div>\r\n                    <h3>Zero Latency<\/h3>\r\n                    <p>Our high-speed API bridge processes data in real-time, delivering analytics and media in milliseconds.<\/p>\r\n                <\/div>\r\n                <div class=\"support-card v1-variant\">\r\n                    <div class=\"icon-style icon-blue\"><i class=\"fa-solid fa-layer-group\"><\/i><\/div>\r\n                    <h3>Group Insights<\/h3>\r\n                    <p>Specialized logic to scrape and visualize public group data, including cover photos and descriptive metadata.<\/p>\r\n                <\/div>\r\n                <div class=\"support-card v1-variant\">\r\n                    <div class=\"icon-style icon-blue\"><i class=\"fa-solid fa-shield-halved\"><\/i><\/div>\r\n                    <h3>Secure Tunneling<\/h3>\r\n                    <p>Your search requests are routed through secure proxies, ensuring Facebook never links the request to your personal IP.<\/p>\r\n                <\/div>\r\n                <div class=\"support-card v1-variant\">\r\n                    <div class=\"icon-style icon-blue\"><i class=\"fa-solid fa-infinity\"><\/i><\/div>\r\n                    <h3>No Search Caps<\/h3>\r\n                    <p>Unlike other analyzers, we provide unlimited usage. View as many profiles, pages, or groups as you need daily.<\/p>\r\n                <\/div>\r\n                <div class=\"support-card v1-variant\">\r\n                    <div class=\"icon-style icon-blue\"><i class=\"fa-solid fa-unlock\"><\/i><\/div>\r\n                    <h3>Login-Free Access<\/h3>\r\n                    <p>Skip the tedious login process. View public Facebook data immediately without needing your own account.<\/p>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/section>\r\n\r\n    <!-- SECTION 2: HOW (Light Blue Background, White Cards) -->\r\n    <section class=\"info-block bg-light-blue\">\r\n        <div class=\"container-1200\">\r\n            <div class=\"header-center\">\r\n                <h2 class=\"wh-title\">How to Analyze Facebook Accounts Anonymously?<\/h2>\r\n                <p class=\"wh-subtitle\">A simple, professional workflow to extract and visualize data from any public URL.<\/p>\r\n            <\/div>\r\n            <div class=\"support-grid\">\r\n                <div class=\"support-card v2-variant\">\r\n                    <div class=\"icon-circle\"><i class=\"fa-solid fa-link\"><\/i><\/div>\r\n                    <h3>1. Provide URL<\/h3>\r\n                    <p>Copy the direct link of the Facebook profile, group, or page you wish to investigate.<\/p>\r\n                <\/div>\r\n                <div class=\"support-card v2-variant\">\r\n                    <div class=\"icon-circle\"><i class=\"fa-solid fa-paste\"><\/i><\/div>\r\n                    <h3>2. Input Link<\/h3>\r\n                    <p>Paste the URL into the search field at the top of this page using our optimized input box.<\/p>\r\n                <\/div>\r\n                <div class=\"support-card v2-variant\">\r\n                    <div class=\"icon-circle\"><i class=\"fa-solid fa-microchip\"><\/i><\/div>\r\n                    <h3>3. Process Data<\/h3>\r\n                    <p>Click \"Analyze\" to trigger our server-side engine which fetches and organizes the raw data feed.<\/p>\r\n                <\/div>\r\n                <div class=\"support-card v2-variant\">\r\n                    <div class=\"icon-circle\"><i class=\"fa-solid fa-table-list\"><\/i><\/div>\r\n                    <h3>Select View<\/h3>\r\n                    <p>Toggle between Photos, Videos, and Posts tabs to filter the content that matters to your analysis.<\/p>\r\n                <\/div>\r\n                <div class=\"support-card v2-variant\">\r\n                    <div class=\"icon-circle\"><i class=\"fa-solid fa-magnifying-glass-plus\"><\/i><\/div>\r\n                    <h3>In-depth Zoom<\/h3>\r\n                    <p>Open images in our HD Modal to view finer details and resolution information without leaving the tool.<\/p>\r\n                <\/div>\r\n                <div class=\"support-card v2-variant\">\r\n                    <div class=\"icon-circle\"><i class=\"fa-solid fa-download\"><\/i><\/div>\r\n                    <h3>Save Reports<\/h3>\r\n                    <p>Export the media or download full JSON reports for your own professional documentation.<\/p>\r\n                <\/div>\r\n                <div class=\"support-card v2-variant\">\r\n                    <div class=\"icon-circle\"><i class=\"fa-solid fa-arrows-rotate\"><\/i><\/div>\r\n                    <h3>Live Updates<\/h3>\r\n                    <p>Rerun the analyzer at any time to catch the latest posts and updated member statistics in real-time.<\/p>\r\n                <\/div>\r\n                <div class=\"support-card v2-variant\">\r\n                    <div class=\"icon-circle\"><i class=\"fa-solid fa-window-restore\"><\/i><\/div>\r\n                    <h3>Responsive Export<\/h3>\r\n                    <p>The layout adapts to your findings, providing a clear dashboard regardless of the data volume.<\/p>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/section>\r\n\r\n    <!-- SECTION 3: WHAT (White Background, Light Blue Cards) -->\r\n    <section class=\"info-block bg-white\">\r\n        <div class=\"container-1200\">\r\n            <div class=\"header-center\">\r\n                <h2 class=\"wh-title\">What Professional Insights Do We Provide?<\/h2>\r\n                <p class=\"wh-subtitle\">Comprehensive data extraction that goes far beyond standard profile viewing.<\/p>\r\n            <\/div>\r\n            <div class=\"support-grid\">\r\n                <div class=\"support-card v3-variant\">\r\n                    <div class=\"icon-glow\"><i class=\"fa-solid fa-image\"><\/i><\/div>\r\n                    <h3>Image Repositories<\/h3>\r\n                    <p>Full extraction of profile galleries, including original quality cover photos and standard grid images.<\/p>\r\n                <\/div>\r\n                <div class=\"support-card v3-variant\">\r\n                    <div class=\"icon-glow\"><i class=\"fa-solid fa-clapperboard\"><\/i><\/div>\r\n                    <h3>Viral Reel Discovery<\/h3>\r\n                    <p>Access the Reels tab of any profile to watch and download vertical video content anonymously.<\/p>\r\n                <\/div>\r\n                <div class=\"support-card v3-variant\">\r\n                    <div class=\"icon-glow\"><i class=\"fa-solid fa-users-viewfinder\"><\/i><\/div>\r\n                    <h3>Audience Metrics<\/h3>\r\n                    <p>Visual confirmation of follower counts, membership growth, and community privacy statuses.<\/p>\r\n                <\/div>\r\n                <div class=\"support-card v3-variant\">\r\n                    <div class=\"icon-glow\"><i class=\"fa-solid fa-file-invoice\"><\/i><\/div>\r\n                    <h3>Detailed Metadata<\/h3>\r\n                    <p>Extraction of timestamps, dimensions, file formats, and quality scores for every piece of media found.<\/p>\r\n                <\/div>\r\n                <div class=\"support-card v3-variant\">\r\n                    <div class=\"icon-glow\"><i class=\"fa-solid fa-id-card-clip\"><\/i><\/div>\r\n                    <h3>Profile Biographies<\/h3>\r\n                    <p>Read full bios, categorized labels, and external business links shared by the account owner.<\/p>\r\n                <\/div>\r\n                <div class=\"support-card v3-variant\">\r\n                    <div class=\"icon-glow\"><i class=\"fa-solid fa-newspaper\"><\/i><\/div>\r\n                    <h3>Wall Feed Audit<\/h3>\r\n                    <p>Review the text content of recent wall posts, including descriptions and accompanying captions.<\/p>\r\n                <\/div>\r\n                <div class=\"support-card v3-variant\">\r\n                    <div class=\"icon-glow\"><i class=\"fa-solid fa-certificate\"><\/i><\/div>\r\n                    <h3>Verification Status<\/h3>\r\n                    <p>Instant detection of verified blue badges and authenticity markers on prominent public accounts.<\/p>\r\n                <\/div>\r\n                <div class=\"support-card v3-variant\">\r\n                    <div class=\"icon-glow\"><i class=\"fa-solid fa-headset\"><\/i><\/div>\r\n                    <h3>Platform Stability<\/h3>\r\n                    <p>A backend that is updated 24\/7 to remain compatible with Facebook's frequent code changes.<\/p>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/section>\r\n\r\n<\/div>\r\n\r\n<style>\r\n\/* Base supportive container *\/\r\n.fb-supportive-content {\r\n    font-family: 'Inter', sans-serif;\r\n    color: var(--gray-700);\r\n}\r\n\r\n\/* Force standard Solid Free Icons *\/\r\n.fb-supportive-content i {\r\n    font-family: \"Font Awesome 6 Free\", \"Font Awesome 6 Solid\" !important;\r\n    font-weight: 900 !important;\r\n    font-style: normal !important;\r\n    display: inline-block !important;\r\n}\r\n\r\n.container-1200 {\r\n    max-width: 1200px;\r\n    margin: 0 auto;\r\n    padding: 0 20px;\r\n}\r\n\r\n.info-block { padding: 80px 0; width: 100%; }\r\n.bg-white { background-color: #ffffff; }\r\n.bg-light-blue { background-color: #f0f7ff; }\r\n\r\n.header-center {\r\n    text-align: center;\r\n    margin-bottom: 50px;\r\n}\r\n\r\n.wh-title {\r\n    font-size: clamp(24px, 5vw, 32px);\r\n    font-weight: 800;\r\n    color: #1a2a3a; \/* Inherited from tool root *\/\r\n    margin-bottom: 12px;\r\n}\r\n\r\n.wh-subtitle {\r\n    font-size: 17px;\r\n    color: #64748b;\r\n    max-width: 700px;\r\n    margin: 0 auto;\r\n}\r\n\r\n\/* 4 Column Grid Logic *\/\r\n.support-grid {\r\n    display: grid;\r\n    grid-template-columns: repeat(4, 1fr);\r\n    gap: 25px;\r\n}\r\n\r\n.support-card {\r\n    padding: 35px 20px;\r\n    border-radius: 10px; \/* Requested radius *\/\r\n    text-align: center;\r\n    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);\r\n    border: 1px solid rgba(0,0,0,0.03);\r\n}\r\n\r\n.support-card h3 {\r\n    font-size: 18px;\r\n    font-weight: 700;\r\n    margin-bottom: 12px;\r\n    color: #0060ff; \/* Theme Blue *\/\r\n}\r\n\r\n.support-card p {\r\n    font-size: 14px;\r\n    color: #475569;\r\n    line-height: 1.6;\r\n}\r\n\r\n.icon-style, .icon-circle, .icon-glow {\r\n    font-size: 32px;\r\n    margin-bottom: 22px;\r\n    display: inline-block;\r\n    transition: all 0.4s ease;\r\n}\r\n\r\n\/* --- Section 1: Lift & Flip --- *\/\r\n.v1-variant { background-color: #f0f7ff; }\r\n.icon-blue i { color: #0060ff; }\r\n\r\n.v1-variant:hover {\r\n    transform: translateY(-12px);\r\n    box-shadow: 0 20px 40px rgba(0, 96, 255, 0.1);\r\n}\r\n\r\n.v1-variant:hover .icon-blue {\r\n    transform: rotateY(180deg);\r\n}\r\n\r\n\/* --- Section 2: Scaling & Background Change logic for Icon --- *\/\r\n.v2-variant { background-color: #ffffff; box-shadow: 0 4px 15px rgba(0,0,0,0.02); }\r\n\r\n.icon-circle {\r\n    width: 60px; height: 60px;\r\n    background: #f0f7ff;\r\n    border-radius: 50%;\r\n    display: flex !important;\r\n    align-items: center; justify-content: center;\r\n    margin: 0 auto 22px;\r\n    color: #0060ff;\r\n}\r\n\r\n.v2-variant:hover {\r\n    transform: scale(1.05);\r\n}\r\n\r\n.v2-variant:hover .icon-circle {\r\n    background-color: #0060ff;\r\n    color: #ffffff !important;\r\n}\r\n\r\n.v2-variant:hover .icon-circle i { color: #ffffff !important; }\r\n\r\n\/* --- Section 3: Shifting & Inner Glow --- *\/\r\n.v3-variant { background-color: #f0f7ff; }\r\n.v3-variant h3 { color: #10b981; } \/* Success green accent *\/\r\n.icon-glow i { color: #10b981; }\r\n\r\n.v3-variant:hover {\r\n    box-shadow: inset 0 0 15px rgba(16, 185, 129, 0.1), 0 5px 15px rgba(0,0,0,0.05);\r\n}\r\n\r\n.v3-variant:hover .icon-glow {\r\n    animation: iconBounce 0.5s ease-in-out infinite alternate;\r\n}\r\n\r\n@keyframes iconBounce {\r\n    from { transform: translateY(0); }\r\n    to { transform: translateY(-8px); }\r\n}\r\n\r\n\/* Responsive Grid Adjustments *\/\r\n@media (max-width: 1024px) {\r\n    .support-grid { grid-template-columns: repeat(2, 1fr); }\r\n    .wh-title { font-size: 28px; }\r\n}\r\n\r\n@media (max-width: 768px) {\r\n    .info-block { padding: 60px 0; }\r\n    .wh-title { font-size: 24px; }\r\n    .wh-subtitle { font-size: 15px; }\r\n}\r\n\r\n@media (max-width: 550px) {\r\n    .support-grid { grid-template-columns: 1fr; }\r\n    .support-card { padding: 30px 15px; }\r\n}\r\n<\/style>\r\n<!-- Supportive Content Sections End --><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"","protected":false},"author":4,"featured_media":0,"parent":5600,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"template-homepage.php","meta":{"footnotes":""},"class_list":["post-5547","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/ary-themes.com\/wp-json\/wp\/v2\/pages\/5547","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ary-themes.com\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/ary-themes.com\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/ary-themes.com\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/ary-themes.com\/wp-json\/wp\/v2\/comments?post=5547"}],"version-history":[{"count":4,"href":"https:\/\/ary-themes.com\/wp-json\/wp\/v2\/pages\/5547\/revisions"}],"predecessor-version":[{"id":5551,"href":"https:\/\/ary-themes.com\/wp-json\/wp\/v2\/pages\/5547\/revisions\/5551"}],"up":[{"embeddable":true,"href":"https:\/\/ary-themes.com\/wp-json\/wp\/v2\/pages\/5600"}],"wp:attachment":[{"href":"https:\/\/ary-themes.com\/wp-json\/wp\/v2\/media?parent=5547"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}