{"id":275,"date":"2026-03-11T00:00:58","date_gmt":"2026-03-11T00:00:58","guid":{"rendered":"https:\/\/viewanonymous.com\/?page_id=275"},"modified":"2026-03-31T05:44:40","modified_gmt":"2026-03-31T05:44:40","slug":"web","status":"publish","type":"page","link":"https:\/\/viewanonymous.com\/tools\/reddit\/web\/","title":{"rendered":"Reddit Web Viewer &#8211; Anonymous Reddit Browser Online"},"content":{"rendered":"\n[et_pb_section fb_built=&#8221;1&#8243; fullwidth=&#8221;on&#8221; theme_builder_area=&#8221;post_content&#8221; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221;][et_pb_fullwidth_code _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; theme_builder_area=&#8221;post_content&#8221; hover_enabled=&#8221;0&#8243; sticky_enabled=&#8221;0&#8243;]    <link rel=\"canonical\" href=\"\">\r\n  \r\n      <!-- Favicon -->\r\n     \r\n      \r\n      <!-- Google Fonts - Premium Typography -->\r\n      <link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\r\n      <link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin=\"\">\r\n      <link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@300;400;500;600;700;800;900&family=Space+Grotesk:wght@300;400;500;600;700&family=Manrope:wght@300;400;500;600;700;800&display=swap\" rel=\"stylesheet\">\r\n      \r\n      <!-- Bootstrap CSS -->\r\n      <link href=\"https:\/\/cdn.jsdelivr.net\/npm\/bootstrap@5.3.0\/dist\/css\/bootstrap.min.css\" rel=\"stylesheet\">\r\n      <!-- Boxicons -->\r\n      <link href=\"https:\/\/unpkg.com\/boxicons@2.1.4\/css\/boxicons.min.css\" rel=\"stylesheet\">\r\n      <!-- AOS Animation -->\r\n      <link href=\"https:\/\/unpkg.com\/aos@2.3.1\/dist\/aos.css\" rel=\"stylesheet\">    \r\n  \r\n  <style id=\"vvvebjs-styles\">\r\n      \/* Scoped to .va-home-wrapper \u2014 no global body\/html\/h1\u2013h6 (WordPress-safe) *\/\r\n      .va-home-wrapper {\r\n            --va-home-primary: #6366F1;\r\n            --va-home-primary-dark: #4F46E5;\r\n            --va-home-primary-light: #818CF8;\r\n            --va-home-secondary: #8c60ff;\r\n            --va-home-accent: #10B981;\r\n            --va-home-dark: #0F172A;\r\n            --va-home-dark-lighter: #1E293B;\r\n            --va-home-gray: #64748B;\r\n            --va-home-soft-bg: #F1F5F9;\r\n            --va-home-light-gray: #F1F5F9;\r\n            --va-home-white: #FFFFFF;\r\n            --va-home-gradient-1: linear-gradient(135deg, #6366F1 0%, #8c60ff 100%);\r\n            --va-home-gradient-2: linear-gradient(135deg, #6366F1 0%, #8c60ff 100%);\r\n            --va-home-gradient-hero: linear-gradient(135deg, #0F172A 0%, #1E293B 50%, #334155 100%);\r\n            --va-home-gradient-text: linear-gradient(135deg, #6366F1 0%, #8c60ff 100%);\r\n            --va-home-shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.05);\r\n            --va-home-shadow-md: 0 4px 6px rgba(0, 0, 0, 0.07);\r\n            --va-home-shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.1);\r\n            --va-home-shadow-xl: 0 20px 25px rgba(0, 0, 0, 0.1);\r\n\r\n            --rduv-section-padding: 100px 0;\r\n            --rduv-primary-color: var(--va-home-primary);\r\n            --rduv-secondary-color: var(--va-home-secondary);\r\n            --rduv-dark-color: var(--va-home-dark);\r\n            --rduv-light-color: var(--va-home-white);\r\n            --rduv-gray-color: var(--va-home-soft-bg);\r\n            --rduv-primary-hover: var(--va-home-primary-dark);\r\n            --rduv-secondary-hover: var(--va-home-primary-light);\r\n            --rduv-muted-on-light: var(--va-home-gray);\r\n\r\n            --primary-color: var(--va-home-primary);\r\n            --primary-light: var(--va-home-primary-light);\r\n            --primary-dark: var(--va-home-primary-dark);\r\n            --secondary-color: var(--va-home-secondary);\r\n            --secondary-light: #a78bfa;\r\n            --secondary-dark: #6d28d9;\r\n            --accent-color: var(--va-home-accent);\r\n            --accent-light: #34D399;\r\n            --accent-dark: #059669;\r\n            --warning-color: #F59E0B;\r\n            --warning-light: #FBBF24;\r\n            --danger-color: #EF4444;\r\n            --danger-light: #F87171;\r\n            --success-color: #22C55E;\r\n            --success-light: #4ADE80;\r\n            --bg-primary: #0F172A;\r\n            --bg-secondary: #1E293B;\r\n            --bg-tertiary: #334155;\r\n            --bg-card: #1E293B;\r\n            --glass-bg: rgba(99, 102, 241, 0.1);\r\n            --glass-border: rgba(99, 102, 241, 0.22);\r\n            --text-primary: #F8FAFC;\r\n            --text-secondary: #CBD5E1;\r\n            --text-muted: #94A3B8;\r\n            --text-accent: #A78BFA;\r\n            --shadow-sm: var(--va-home-shadow-sm);\r\n            --shadow-md: var(--va-home-shadow-md);\r\n            --shadow-lg: var(--va-home-shadow-lg);\r\n            --shadow-xl: var(--va-home-shadow-xl);\r\n            --gradient-primary: var(--va-home-gradient-1);\r\n            --gradient-secondary: var(--va-home-gradient-2);\r\n            --gradient-accent: linear-gradient(135deg, #10B981, #34D399);\r\n      }\r\n\r\n      .va-home-wrapper,\r\n      .va-home-wrapper *,\r\n      .va-home-wrapper *::before,\r\n      .va-home-wrapper *::after {\r\n            box-sizing: border-box;\r\n      }\r\n\r\n      .va-home-wrapper {\r\n            font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;\r\n            overflow-x: hidden;\r\n            background-color: var(--va-home-white);\r\n            color: var(--va-home-dark);\r\n            line-height: 1.6;\r\n            scroll-behavior: smooth;\r\n      }\r\n\r\n      .va-home-wrapper .rduv-hero-section {\r\n              padding: var(--rduv-section-padding);\r\n              text-align: center;\r\n              background-color: var(--rduv-light-color);\r\n          }\r\n\r\n      .va-home-wrapper .rduv-hero-content {\r\n              position: relative;\r\n              z-index: 1;\r\n          }\r\n\r\n      .va-home-wrapper .rduv-hero-section .rduv-hero-heading {\r\n              font-family: 'Space Grotesk', -apple-system, BlinkMacSystemFont, sans-serif;\r\n              font-size: 3.5rem;\r\n              font-weight: 700;\r\n              margin-bottom: 1.5rem;\r\n              background: var(--va-home-gradient-text);\r\n              -webkit-background-clip: text;\r\n              -webkit-text-fill-color: transparent;\r\n              background-clip: text;\r\n              line-height: 1.2;\r\n              color: var(--va-home-dark);\r\n          }\r\n\r\n      .va-home-wrapper .rduv-hero-section .rduv-hero-lead {\r\n              font-size: 1.25rem;\r\n              max-width: 700px;\r\n              margin: 0 auto 2rem;\r\n              font-weight: 400;\r\n              color: var(--rduv-muted-on-light);\r\n          }\r\n\r\n      .va-home-wrapper .rduv-work-process-section {\r\n              padding: var(--rduv-section-padding);\r\n              background: var(--va-home-soft-bg);\r\n              color: var(--va-home-dark);\r\n              position: relative;\r\n              overflow: hidden;\r\n              border-top: 1px solid rgba(99, 102, 241, 0.12);\r\n              border-bottom: 1px solid rgba(99, 102, 241, 0.12);\r\n          }\r\n\r\n      .va-home-wrapper .rduv-work-process-section::before {\r\n              content: '';\r\n              position: absolute;\r\n              top: 0;\r\n              left: 0;\r\n              width: 100%;\r\n              height: 100%;\r\n              background: radial-gradient(ellipse 80% 50% at 50% 0%, rgba(99, 102, 241, 0.06) 0%, transparent 55%);\r\n              pointer-events: none;\r\n          }\r\n\r\n      .va-home-wrapper .rduv-work-process-section .rduv-light-title,\r\n      .va-home-wrapper .rduv-work-process-section .rduv-section-title {\r\n              color: var(--va-home-dark);\r\n          }\r\n\r\n      .va-home-wrapper .rduv-work-process-section .rduv-light-title::after {\r\n              background: var(--va-home-gradient-text);\r\n          }\r\n\r\n      .va-home-wrapper .rduv-work-process-section .rduv-light-subtitle,\r\n      .va-home-wrapper .rduv-work-process-section .rduv-section-subtitle {\r\n              color: var(--rduv-muted-on-light);\r\n          }\r\n\r\n      .va-home-wrapper .rduv-work-process-section .rduv-process-step .rduv-step-heading {\r\n              color: var(--va-home-dark) !important;\r\n          }\r\n\r\n      .va-home-wrapper .rduv-work-process-content {\r\n              position: relative;\r\n              z-index: 1;\r\n          }\r\n\r\n      .va-home-wrapper .rduv-process-step {\r\n              text-align: center;\r\n              padding: 30px 20px;\r\n              position: relative;\r\n              z-index: 1;\r\n              background: var(--va-home-white);\r\n              border-radius: 16px;\r\n              margin: 15px;\r\n              border: 1px solid rgba(99, 102, 241, 0.18);\r\n              box-shadow: var(--va-home-shadow-md);\r\n              transition: all 0.3s ease;\r\n              color: var(--va-home-dark);\r\n          }\r\n\r\n      .va-home-wrapper .rduv-process-step:hover {\r\n              transform: translateY(-8px);\r\n              box-shadow: var(--va-home-shadow-lg);\r\n              border-color: rgba(99, 102, 241, 0.35);\r\n          }\r\n\r\n      .va-home-wrapper .rduv-step-number {\r\n              width: 60px;\r\n              height: 60px;\r\n              background: var(--va-home-gradient-1);\r\n              color: white;\r\n              border-radius: 50%;\r\n              display: flex;\r\n              align-items: center;\r\n              justify-content: center;\r\n              font-weight: 700;\r\n              margin: 0 auto 20px;\r\n              font-size: 1.5rem;\r\n              box-shadow: var(--va-home-shadow-md);\r\n          }\r\n\r\n      .va-home-wrapper .rduv-features-section {\r\n              padding: var(--rduv-section-padding);\r\n              background: var(--va-home-white);\r\n          }\r\n\r\n      .va-home-wrapper .rduv-feature-card {\r\n              padding: 40px 30px;\r\n              border-radius: 16px;\r\n              background: var(--va-home-white);\r\n              box-shadow: var(--va-home-shadow-md);\r\n              margin-bottom: 30px;\r\n              transition: all 0.3s ease;\r\n              border: 1px solid rgba(15, 23, 42, 0.06);\r\n              height: 100%;\r\n              position: relative;\r\n              overflow: hidden;\r\n          }\r\n\r\n      .va-home-wrapper .rduv-feature-card::before {\r\n              content: '';\r\n              position: absolute;\r\n              top: 0;\r\n              left: 0;\r\n              width: 4px;\r\n              height: 100%;\r\n              background: var(--va-home-gradient-1);\r\n              transition: all 0.3s ease;\r\n          }\r\n\r\n      .va-home-wrapper .rduv-feature-card:hover {\r\n              transform: translateY(-10px);\r\n              box-shadow: var(--va-home-shadow-lg);\r\n          }\r\n\r\n      .va-home-wrapper .rduv-feature-card:hover::before {\r\n              width: 100%;\r\n              opacity: 0.08;\r\n          }\r\n\r\n      .va-home-wrapper .rduv-feature-icon {\r\n              width: 70px;\r\n              height: 70px;\r\n              border-radius: 20px;\r\n              display: flex;\r\n              align-items: center;\r\n              justify-content: center;\r\n              margin-bottom: 25px;\r\n              background: var(--va-home-gradient-1);\r\n              color: white;\r\n              font-size: 1.8rem;\r\n              transition: all 0.3s ease;\r\n          }\r\n\r\n      .va-home-wrapper .rduv-feature-card:hover .rduv-feature-icon {\r\n              transform: rotate(15deg) scale(1.1);\r\n              background: var(--va-home-gradient-2);\r\n          }\r\n\r\n      .va-home-wrapper .rduv-feature-card .rduv-feature-heading {\r\n              font-family: 'Space Grotesk', -apple-system, BlinkMacSystemFont, sans-serif;\r\n              font-weight: 700;\r\n              color: var(--va-home-dark);\r\n              line-height: 1.2;\r\n          }\r\n\r\n      .va-home-wrapper .rduv-why-choose-section {\r\n              padding: var(--rduv-section-padding);\r\n              background: var(--va-home-soft-bg);\r\n          }\r\n\r\n      .va-home-wrapper .rduv-why-choose-image {\r\n              border-radius: 16px;\r\n              overflow: hidden;\r\n              box-shadow: var(--va-home-shadow-lg);\r\n              transform: perspective(1000px) rotateY(-5deg);\r\n              transition: all 0.5s ease;\r\n          }\r\n\r\n      .va-home-wrapper .rduv-why-choose-image:hover {\r\n              transform: perspective(1000px) rotateY(0deg);\r\n          }\r\n\r\n      .va-home-wrapper .rduv-benefit-item {\r\n              display: flex;\r\n              align-items: flex-start;\r\n              margin-bottom: 20px;\r\n              padding: 15px;\r\n              border-radius: 12px;\r\n              background: var(--va-home-white);\r\n              box-shadow: var(--va-home-shadow-sm);\r\n              transition: all 0.3s ease;\r\n          }\r\n\r\n      .va-home-wrapper .rduv-benefit-item:hover {\r\n              transform: translateX(10px);\r\n              box-shadow: var(--va-home-shadow-md);\r\n          }\r\n\r\n      .va-home-wrapper .rduv-benefit-icon {\r\n              width: 40px;\r\n              height: 40px;\r\n              border-radius: 12px;\r\n              display: flex;\r\n              align-items: center;\r\n              justify-content: center;\r\n              margin-right: 15px;\r\n              background: var(--va-home-gradient-1);\r\n              color: white;\r\n              font-size: 1.2rem;\r\n              flex-shrink: 0;\r\n          }\r\n\r\n      .va-home-wrapper .rduv-benefit-item .rduv-benefit-heading {\r\n              font-family: 'Space Grotesk', -apple-system, BlinkMacSystemFont, sans-serif;\r\n              font-weight: 700;\r\n              color: var(--va-home-dark);\r\n              line-height: 1.2;\r\n          }\r\n\r\n      .va-home-wrapper .rduv-faq-section {\r\n              padding: var(--rduv-section-padding);\r\n              background: var(--va-home-white);\r\n          }\r\n\r\n      .va-home-wrapper .rduv-accordion-item {\r\n              border: none;\r\n              border-radius: 12px !important;\r\n              overflow: hidden;\r\n              margin-bottom: 15px;\r\n              box-shadow: var(--va-home-shadow-sm);\r\n          }\r\n\r\n      .va-home-wrapper .rduv-accordion-button {\r\n              font-weight: 600;\r\n              color: var(--rduv-dark-color);\r\n              padding: 20px 25px;\r\n              background: var(--va-home-white);\r\n              box-shadow: none;\r\n              border-radius: 12px 12px 0 0 !important;\r\n          }\r\n\r\n      .va-home-wrapper .rduv-accordion-button:not(.collapsed) {\r\n              background: var(--va-home-white);\r\n              color: var(--rduv-primary-color);\r\n              box-shadow: none;\r\n          }\r\n\r\n      .va-home-wrapper .rduv-accordion-button:focus {\r\n              box-shadow: none;\r\n              border-color: rgba(99, 102, 241, 0.35);\r\n          }\r\n\r\n      .va-home-wrapper .rduv-accordion-button::after {\r\n              background-image: url(\"data:image\/svg+xml,%3csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 16 16' fill='%236366F1'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'\/%3e%3c\/svg%3e\");\r\n          }\r\n\r\n      .va-home-wrapper .rduv-accordion-body {\r\n              padding: 25px;\r\n              color: var(--rduv-muted-on-light);\r\n          }\r\n\r\n      .va-home-wrapper .rduv-section-title {\r\n              font-family: 'Space Grotesk', -apple-system, BlinkMacSystemFont, sans-serif;\r\n              font-weight: 700;\r\n              color: var(--rduv-dark-color);\r\n              margin-bottom: 1.5rem;\r\n              position: relative;\r\n              display: inline-block;\r\n              line-height: 1.2;\r\n          }\r\n\r\n      .va-home-wrapper .rduv-section-title::after {\r\n              content: '';\r\n              position: absolute;\r\n              bottom: -10px;\r\n              left: 0;\r\n              width: 60px;\r\n              height: 4px;\r\n              background: var(--va-home-gradient-text);\r\n              border-radius: 2px;\r\n          }\r\n\r\n      .va-home-wrapper .rduv-light-title {\r\n              color: var(--va-home-white);\r\n          }\r\n\r\n      .va-home-wrapper .rduv-light-title::after {\r\n              background: var(--va-home-white);\r\n          }\r\n\r\n      .va-home-wrapper .rduv-section-subtitle {\r\n              color: var(--rduv-muted-on-light);\r\n              max-width: 700px;\r\n              margin: 0 auto 3rem;\r\n              font-size: 1.1rem;\r\n          }\r\n\r\n      .va-home-wrapper .rduv-light-subtitle {\r\n              color: rgba(15, 23, 42, 0.72);\r\n          }\r\n\r\n      .va-home-wrapper .rduv-work-process-section .rduv-light-subtitle {\r\n              color: var(--rduv-muted-on-light);\r\n          }\r\n\r\n      @media (max-width: 991px) {\r\n              .va-home-wrapper {\r\n                  --rduv-section-padding: 80px 0;\r\n              }\r\n\r\n              .va-home-wrapper .rduv-hero-section .rduv-hero-heading {\r\n                  font-size: 2.8rem;\r\n              }\r\n\r\n              .va-home-wrapper .rduv-process-step::before {\r\n                  display: none;\r\n              }\r\n          }\r\n\r\n      @media (max-width: 767px) {\r\n              .va-home-wrapper {\r\n                  --rduv-section-padding: 70px 0;\r\n              }\r\n\r\n              .va-home-wrapper .rduv-hero-section {\r\n                  padding: 100px 0 60px;\r\n              }\r\n\r\n              .va-home-wrapper .rduv-hero-section .rduv-hero-heading {\r\n                  font-size: 2.2rem;\r\n              }\r\n\r\n              .va-home-wrapper .rduv-hero-section .rduv-hero-lead {\r\n                  font-size: 1rem;\r\n              }\r\n\r\n              .va-home-wrapper .rduv-section-title {\r\n                  font-size: 1.8rem;\r\n              }\r\n          }\r\n\r\n      @keyframes rduv-float {\r\n              0% { transform: translateY(0px); }\r\n              50% { transform: translateY(-15px); }\r\n              100% { transform: translateY(0px); }\r\n          }\r\n\r\n      .va-home-wrapper .rduv-floating-element {\r\n              animation: rduv-float 6s ease-in-out infinite;\r\n          }\r\n\r\n  <\/style>\r\n  <!-- tools -->\r\n  <style>\r\n      \/* Tool UI: variables live on .va-home-wrapper (vvvebjs-styles). All rules scoped. *\/\r\n\r\n      .va-home-wrapper .rduv-hero-tools-section {\r\n          font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;\r\n          background: var(--va-home-gradient-hero);\r\n          padding: 80px 0;\r\n          line-height: 1.6;\r\n          color: var(--text-primary);\r\n          overflow-x: hidden;\r\n      }\r\n  \r\n      .va-home-wrapper .custom-rduv-container {\r\n          max-width: 1400px;\r\n          margin: 0 auto;\r\n          padding: 20px;\r\n          position: relative;\r\n      }\r\n  \r\n      .va-home-wrapper .header {\r\n          text-align: center;\r\n          margin-bottom: 40px;\r\n          padding: 40px 0;\r\n          animation: slideInDown 1s ease-out;\r\n      }\r\n  \r\n      .va-home-wrapper .logo {\r\n          display: flex;\r\n          align-items: center;\r\n          justify-content: center;\r\n          gap: 20px;\r\n          margin-bottom: 25px;\r\n          flex-wrap: wrap;\r\n      }\r\n  \r\n      .va-home-wrapper .logo-icon {\r\n          width: 80px;\r\n          height: 80px;\r\n          background: var(--gradient-primary);\r\n          border-radius: 20px;\r\n          display: flex;\r\n          align-items: center;\r\n          justify-content: center;\r\n          color: white;\r\n          font-size: 36px;\r\n          font-weight: 800;\r\n          box-shadow: var(--shadow-lg);\r\n          animation: float 3s ease-in-out infinite;\r\n          position: relative;\r\n          overflow: hidden;\r\n      }\r\n  \r\n      .va-home-wrapper .logo-icon::before {\r\n          content: '';\r\n          position: absolute;\r\n          top: -50%;\r\n          left: -50%;\r\n          width: 200%;\r\n          height: 200%;\r\n          background: linear-gradient(45deg, transparent, rgba(255, 255, 255, 0.1), transparent);\r\n          transform: rotate(45deg);\r\n          animation: shine 3s infinite;\r\n      }\r\n  \r\n      .va-home-wrapper .reddit-badge {\r\n          background: var(--gradient-secondary);\r\n          color: white;\r\n          padding: 8px 16px;\r\n          border-radius: 25px;\r\n          font-size: 14px;\r\n          font-weight: 700;\r\n          box-shadow: var(--shadow-md);\r\n          animation: pulse 2s infinite;\r\n      }\r\n  \r\n      .va-home-wrapper .logo-text {\r\n          font-size: clamp(2.5rem, 6vw, 4rem);\r\n          font-weight: 900;\r\n          background: var(--gradient-primary);\r\n          -webkit-background-clip: text;\r\n          -webkit-text-fill-color: transparent;\r\n          background-clip: text;\r\n          letter-spacing: -1px;\r\n          text-shadow: 0 0 30px rgba(99, 102, 241, 0.5);\r\n      }\r\n  \r\n      .va-home-wrapper .subtitle {\r\n          color: var(--text-secondary);\r\n          font-size: 18px;\r\n          font-weight: 600;\r\n          margin-bottom: 30px;\r\n          max-width: 700px;\r\n          margin-left: auto;\r\n          margin-right: auto;\r\n      }\r\n  \r\n      .va-home-wrapper .features-grid {\r\n          display: grid;\r\n          grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\r\n          gap: 20px;\r\n          margin-bottom: 40px;\r\n      }\r\n  \r\n      .va-home-wrapper .feature-card {\r\n          background: var(--bg-card);\r\n          border: 1px solid var(--glass-border);\r\n          padding: 15px;\r\n          border-radius: 16px;\r\n          text-align: center;\r\n          transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\r\n          position: relative;\r\n          overflow: hidden;\r\n      }\r\n  \r\n      .va-home-wrapper .feature-card::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(99, 102, 241, 0.1), transparent);\r\n          transition: left 0.5s;\r\n      }\r\n  \r\n      .va-home-wrapper .feature-card:hover::before {\r\n          left: 100%;\r\n      }\r\n  \r\n      .va-home-wrapper .feature-card:hover {\r\n          transform: translateY(-5px);\r\n          box-shadow: var(--shadow-lg);\r\n          border-color: var(--primary-color);\r\n      }\r\n  \r\n      .va-home-wrapper .feature-icon {\r\n          width: 40px;\r\n          height: 40px;\r\n          background: var(--gradient-primary);\r\n          border-radius: 50%;\r\n          display: flex;\r\n          align-items: center;\r\n          justify-content: center;\r\n          margin: 0 auto 10px;\r\n          font-size: 20px;\r\n          color: white;\r\n      }\r\n  \r\n      .va-home-wrapper .feature-title {\r\n          font-weight: 700;\r\n          color: var(--text-primary);\r\n          margin-bottom: 8px;\r\n          font-size: 14px;\r\n      }\r\n  \r\n      .va-home-wrapper .search-container {\r\n          background: var(--bg-secondary);\r\n          border: 1px solid var(--glass-border);\r\n          padding: 30px;\r\n          border-radius: 24px;\r\n          box-shadow: var(--shadow-xl);\r\n          margin-bottom: 40px;\r\n          animation: slideInUp 1s ease-out 0.2s both;\r\n          position: relative;\r\n          overflow: hidden;\r\n      }\r\n  \r\n      .va-home-wrapper .search-container::before {\r\n          content: '';\r\n          position: absolute;\r\n          top: 0;\r\n          left: 0;\r\n          right: 0;\r\n          height: 4px;\r\n          background: var(--gradient-primary);\r\n      }\r\n  \r\n      .va-home-wrapper .search-form {\r\n          display: flex;\r\n          gap: 15px;\r\n          margin-bottom: 20px;\r\n          position: relative;\r\n      }\r\n  \r\n      .va-home-wrapper .search-input {\r\n          flex: 1 !important;\r\n          padding: 15px 20px !important;\r\n          border: 2px solid var(--bg-tertiary) !important;\r\n          border-radius: 16px !important;\r\n          font-size: 14px !important;\r\n          font-weight: 500 !important;\r\n          background: var(--bg-primary) !important;\r\n          transition: all 0.3s ease !important;\r\n          outline: none !important;\r\n          color: var(--text-primary) !important;\r\n          font-family: inherit !important;\r\n      }\r\n  \r\n      .va-home-wrapper .search-input:focus {\r\n          border-color: var(--primary-color);\r\n          box-shadow: 0 0 0 4px rgba(99, 102, 241, 0.1);\r\n          transform: translateY(-2px);\r\n      }\r\n  \r\n      .va-home-wrapper .search-input::placeholder {\r\n          color: var(--text-muted);\r\n          font-weight: 400;\r\n      }\r\n  \r\n      .va-home-wrapper .search-btn {\r\n          padding: 15px 30px;\r\n          background: var(--gradient-primary);\r\n          color: white;\r\n          border: none;\r\n          border-radius: 16px;\r\n          font-size: 14px;\r\n          font-weight: 700;\r\n          cursor: pointer;\r\n          transition: all 0.3s ease;\r\n          min-width: 150px;\r\n          position: relative;\r\n          overflow: hidden;\r\n          box-shadow: var(--shadow-md);\r\n          font-family: inherit;\r\n      }\r\n  \r\n      .va-home-wrapper .search-btn::before {\r\n          content: '';\r\n          position: absolute;\r\n          top: 0;\r\n          left: -100%;\r\n          width: 100%;\r\n          height: 100%;\r\n          background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);\r\n          transition: left 0.5s;\r\n      }\r\n  \r\n      .va-home-wrapper .search-btn:hover::before {\r\n          left: 100%;\r\n      }\r\n  \r\n      .va-home-wrapper .search-btn:hover:not(:disabled) {\r\n          transform: translateY(-3px);\r\n          box-shadow: var(--shadow-lg);\r\n      }\r\n  \r\n      .va-home-wrapper .search-btn:disabled {\r\n          opacity: 0.6;\r\n          cursor: not-allowed;\r\n          transform: none;\r\n      }\r\n  \r\n      .va-home-wrapper .user-info {\r\n          background: var(--bg-secondary);\r\n          border: 1px solid var(--glass-border);\r\n          padding: 30px;\r\n          border-radius: 24px;\r\n          box-shadow: var(--shadow-xl);\r\n          margin-bottom: 40px;\r\n          display: none;\r\n          animation: slideInDown 0.8s ease-out;\r\n          position: relative;\r\n          overflow: hidden;\r\n      }\r\n  \r\n      .va-home-wrapper .user-info::before {\r\n          content: '';\r\n          position: absolute;\r\n          top: 0;\r\n          left: 0;\r\n          right: 0;\r\n          height: 4px;\r\n          background: var(--gradient-secondary);\r\n      }\r\n  \r\n      .va-home-wrapper .user-header {\r\n          display: flex;\r\n          align-items: center;\r\n          gap: 25px;\r\n          margin-bottom: 25px;\r\n      }\r\n  \r\n      .va-home-wrapper .user-avatar {\r\n          width: 80px;\r\n          height: 80px;\r\n          border-radius: 50%;\r\n          background: var(--gradient-primary);\r\n          display: flex;\r\n          align-items: center;\r\n          justify-content: center;\r\n          font-size: 2.5rem;\r\n          color: white;\r\n          font-weight: 900;\r\n          box-shadow: var(--shadow-lg);\r\n          position: relative;\r\n          overflow: hidden;\r\n      }\r\n  \r\n      .va-home-wrapper .user-avatar::before {\r\n          content: '';\r\n          position: absolute;\r\n          top: -50%;\r\n          left: -50%;\r\n          width: 200%;\r\n          height: 200%;\r\n          background: linear-gradient(45deg, transparent, rgba(255, 255, 255, 0.1), transparent);\r\n          transform: rotate(45deg);\r\n          animation: shine 4s infinite;\r\n      }\r\n  \r\n      .va-home-wrapper .user-details .rduv-tool-username {\r\n          font-size: 2rem;\r\n          color: var(--text-primary);\r\n          margin-bottom: 8px;\r\n          font-weight: 900;\r\n      }\r\n  \r\n      .va-home-wrapper .user-description {\r\n          color: var(--text-secondary);\r\n          font-size: 16px;\r\n          font-weight: 500;\r\n      }\r\n  \r\n      .va-home-wrapper .user-stats {\r\n          display: grid;\r\n          grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));\r\n          gap: 20px;\r\n          margin-top: 25px;\r\n      }\r\n  \r\n      .va-home-wrapper .stat-card {\r\n          background: var(--bg-card);\r\n          border: 1px solid var(--glass-border);\r\n          padding: 20px;\r\n          border-radius: 20px;\r\n          text-align: center;\r\n          transition: all 0.3s ease;\r\n          position: relative;\r\n          overflow: hidden;\r\n      }\r\n  \r\n      .va-home-wrapper .stat-card::before {\r\n          content: '';\r\n          position: absolute;\r\n          top: 0;\r\n          left: 0;\r\n          right: 0;\r\n          height: 3px;\r\n          background: var(--gradient-accent);\r\n      }\r\n  \r\n      .va-home-wrapper .stat-card:hover {\r\n          transform: translateY(-5px);\r\n          box-shadow: var(--shadow-md);\r\n      }\r\n  \r\n      .va-home-wrapper .stat-number {\r\n          font-size: 1.8rem;\r\n          font-weight: 900;\r\n          color: var(--primary-color);\r\n          margin-bottom: 6px;\r\n      }\r\n  \r\n      .va-home-wrapper .stat-label {\r\n          font-size: 0.9rem;\r\n          color: var(--text-secondary);\r\n          font-weight: 600;\r\n      }\r\n  \r\n      .va-home-wrapper .posts-section {\r\n          display: none;\r\n      }\r\n  \r\n      .va-home-wrapper .section-title {\r\n          color: var(--text-primary);\r\n          font-size: 2rem;\r\n          font-weight: 900;\r\n          margin-bottom: 30px;\r\n          text-align: center;\r\n          background: var(--bg-secondary);\r\n          border: 1px solid var(--glass-border);\r\n          padding: 20px;\r\n          border-radius: 20px;\r\n          position: relative;\r\n          overflow: hidden;\r\n      }\r\n  \r\n      .va-home-wrapper .section-title::before {\r\n          content: '';\r\n          position: absolute;\r\n          top: 0;\r\n          left: 0;\r\n          right: 0;\r\n          height: 4px;\r\n          background: var(--gradient-accent);\r\n      }\r\n  \r\n      .va-home-wrapper .posts-grid {\r\n          display: grid;\r\n          grid-template-columns: repeat(auto-fit, minmax(450px, 1fr));\r\n          gap: 25px;\r\n      }\r\n  \r\n      .va-home-wrapper .post-card {\r\n          background: var(--bg-secondary);\r\n          border: 1px solid var(--glass-border);\r\n          border-radius: 20px;\r\n          padding: 20px;\r\n          box-shadow: var(--shadow-xl);\r\n          transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);\r\n          position: relative;\r\n          overflow: hidden;\r\n          animation: slideUp 0.6s ease forwards;\r\n          display: flex;\r\n          flex-direction: column;\r\n          height: 100%;\r\n      }\r\n  \r\n      .va-home-wrapper .post-card::before {\r\n          content: '';\r\n          position: absolute;\r\n          top: 0;\r\n          left: 0;\r\n          right: 0;\r\n          height: 4px;\r\n          background: var(--gradient-primary);\r\n          border-radius: 20px 20px 0 0;\r\n      }\r\n  \r\n      .va-home-wrapper .post-card:hover {\r\n          transform: translateY(-10px);\r\n          box-shadow: 0 20px 40px rgba(99, 102, 241, 0.2);\r\n          border-color: var(--primary-color);\r\n      }\r\n  \r\n      .va-home-wrapper .post-header {\r\n          display: flex;\r\n          align-items: center;\r\n          justify-content: space-between;\r\n          margin-bottom: 15px;\r\n          padding-bottom: 15px;\r\n          border-bottom: 2px solid var(--bg-tertiary);\r\n      }\r\n  \r\n      .va-home-wrapper .subreddit-info {\r\n          display: flex;\r\n          align-items: center;\r\n          gap: 10px;\r\n          flex-wrap: wrap;\r\n      }\r\n  \r\n      .va-home-wrapper .subreddit-badge {\r\n          background: var(--gradient-primary);\r\n          color: white;\r\n          padding: 6px 12px;\r\n          border-radius: 20px;\r\n          font-size: 0.8rem;\r\n          font-weight: 700;\r\n          box-shadow: var(--shadow-sm);\r\n      }\r\n  \r\n      .va-home-wrapper .post-type {\r\n          background: var(--gradient-secondary);\r\n          color: white;\r\n          padding: 4px 10px;\r\n          border-radius: 15px;\r\n          font-size: 0.7rem;\r\n          font-weight: 600;\r\n          text-transform: capitalize;\r\n      }\r\n  \r\n      .va-home-wrapper .post-meta {\r\n          font-size: 0.8rem;\r\n          color: var(--text-muted);\r\n          font-weight: 500;\r\n          text-align: right;\r\n      }\r\n  \r\n      .va-home-wrapper .post-badges {\r\n          display: flex;\r\n          flex-wrap: wrap;\r\n          gap: 8px;\r\n          margin-bottom: 15px;\r\n      }\r\n  \r\n      .va-home-wrapper .badge {\r\n          padding: 4px 10px;\r\n          border-radius: 12px;\r\n          font-size: 0.7rem;\r\n          font-weight: 600;\r\n          color: white;\r\n          text-transform: uppercase;\r\n          letter-spacing: 0.5px;\r\n      }\r\n  \r\n      .va-home-wrapper .badge.admin { background: var(--gradient-accent); }\r\n      .va-home-wrapper .badge.stickied { background: var(--gradient-secondary); }\r\n      .va-home-wrapper .badge.archived { background: linear-gradient(135deg, #6B7280, #4B5563); }\r\n      .va-home-wrapper .badge.locked { background: var(--gradient-accent); }\r\n      .va-home-wrapper .badge.nsfw { background: linear-gradient(135deg, #7C3AED, #5B21B6); }\r\n  \r\n      .va-home-wrapper .post-title {\r\n          font-size: 1.4rem;\r\n          font-weight: 700;\r\n          margin-bottom: 15px;\r\n          color: var(--text-primary);\r\n          line-height: 1.4;\r\n      }\r\n  \r\n      .va-home-wrapper .post-content {\r\n          margin-bottom: 20px;\r\n          flex-grow: 1;\r\n      }\r\n  \r\n      .va-home-wrapper .post-text {\r\n          color: var(--text-secondary);\r\n          line-height: 1.6;\r\n          margin-bottom: 15px;\r\n          font-weight: 400;\r\n          font-size: 14px;\r\n      }\r\n  \r\n      .va-home-wrapper .media-container {\r\n          margin: 15px 0;\r\n          border-radius: 16px;\r\n          overflow: hidden;\r\n          position: relative;\r\n          box-shadow: var(--shadow-md);\r\n          background: #000;\r\n      }\r\n  \r\n      .va-home-wrapper .image-preview {\r\n          width: 100%;\r\n          max-height: 300px;\r\n          object-fit: cover;\r\n          cursor: pointer;\r\n          transition: transform 0.3s ease;\r\n      }\r\n  \r\n      .va-home-wrapper .image-preview:hover {\r\n          transform: scale(1.02);\r\n      }\r\n  \r\n      .va-home-wrapper .video-container {\r\n          position: relative;\r\n          width: 100%;\r\n          background: #000;\r\n          border-radius: 16px;\r\n          overflow: hidden;\r\n      }\r\n  \r\n      .va-home-wrapper .video-player {\r\n          width: 100%;\r\n          height: 250px;\r\n          border-radius: 16px;\r\n      }\r\n  \r\n      .va-home-wrapper .media-controls {\r\n          display: flex;\r\n          gap: 10px;\r\n          margin-top: 15px;\r\n          flex-wrap: wrap;\r\n          align-items: center;\r\n      }\r\n  \r\n      .va-home-wrapper .control-btn {\r\n          display: flex;\r\n          align-items: center;\r\n          gap: 8px;\r\n          padding: 10px 18px;\r\n          border: none;\r\n          border-radius: 12px;\r\n          cursor: pointer;\r\n          font-size: 0.9rem;\r\n          font-weight: 600;\r\n          transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\r\n          font-family: inherit;\r\n          position: relative;\r\n          overflow: hidden;\r\n      }\r\n  \r\n      .va-home-wrapper .control-btn::before {\r\n          content: '';\r\n          position: absolute;\r\n          top: 0;\r\n          left: -100%;\r\n          width: 100%;\r\n          height: 100%;\r\n          background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);\r\n          transition: left 0.5s;\r\n      }\r\n  \r\n      .va-home-wrapper .control-btn:hover::before {\r\n          left: 100%;\r\n      }\r\n  \r\n      .va-home-wrapper .stream-audio-btn {\r\n          background: var(--gradient-secondary);\r\n          color: white;\r\n          box-shadow: var(--shadow-md);\r\n      }\r\n  \r\n      .va-home-wrapper .stream-audio-btn:hover {\r\n          transform: translateY(-3px);\r\n          box-shadow: var(--shadow-lg);\r\n      }\r\n  \r\n      .va-home-wrapper .stream-audio-btn:disabled {\r\n          opacity: 0.6;\r\n          cursor: not-allowed;\r\n          transform: none;\r\n      }\r\n  \r\n      .va-home-wrapper .stream-audio-btn.loading {\r\n          background: linear-gradient(135deg, #6B7280, #4B5563);\r\n      }\r\n  \r\n      .va-home-wrapper .download-btn {\r\n          background: var(--gradient-accent);\r\n          color: white;\r\n          box-shadow: var(--shadow-md);\r\n      }\r\n  \r\n      .va-home-wrapper .download-btn:hover {\r\n          transform: translateY(-3px);\r\n          box-shadow: var(--shadow-lg);\r\n      }\r\n  \r\n      .va-home-wrapper .download-btn:disabled {\r\n          opacity: 0.6;\r\n          cursor: not-allowed;\r\n          transform: none;\r\n      }\r\n  \r\n      .va-home-wrapper .download-btn.downloading {\r\n          background: var(--gradient-primary);\r\n      }\r\n  \r\n      .va-home-wrapper .external-link {\r\n          display: inline-flex;\r\n          align-items: center;\r\n          gap: 8px;\r\n          background: var(--gradient-primary);\r\n          color: white;\r\n          padding: 10px 18px;\r\n          border-radius: 12px;\r\n          text-decoration: none;\r\n          margin-top: 15px;\r\n          transition: all 0.3s ease;\r\n          font-weight: 600;\r\n          box-shadow: var(--shadow-sm);\r\n          font-size: 0.9rem;\r\n      }\r\n  \r\n      .va-home-wrapper .external-link:hover {\r\n          transform: translateY(-3px);\r\n          box-shadow: var(--shadow-md);\r\n      }\r\n  \r\n      .va-home-wrapper .post-stats {\r\n          display: grid;\r\n          grid-template-columns: repeat(2, 1fr);\r\n          gap: 10px;\r\n          margin-top: auto;\r\n          padding-top: 15px;\r\n          border-top: 2px solid var(--bg-tertiary);\r\n      }\r\n  \r\n      .va-home-wrapper .stat-item {\r\n          display: flex;\r\n          flex-direction: column;\r\n          align-items: center;\r\n          gap: 6px;\r\n          padding: 12px;\r\n          background: var(--bg-card);\r\n          border: 1px solid var(--glass-border);\r\n          border-radius: 15px;\r\n          text-align: center;\r\n          transition: all 0.3s ease;\r\n          position: relative;\r\n          overflow: hidden;\r\n      }\r\n  \r\n      .va-home-wrapper .stat-item::before {\r\n          content: '';\r\n          position: absolute;\r\n          top: 0;\r\n          left: 0;\r\n          right: 0;\r\n          height: 2px;\r\n          background: var(--gradient-accent);\r\n      }\r\n  \r\n      .va-home-wrapper .stat-item:hover {\r\n          transform: translateY(-3px);\r\n          box-shadow: var(--shadow-sm);\r\n      }\r\n  \r\n      .va-home-wrapper .stat-value {\r\n          font-weight: 900;\r\n          font-size: 1.2rem;\r\n      }\r\n  \r\n      .va-home-wrapper .stat-label {\r\n          font-size: 0.8rem;\r\n          color: var(--text-muted);\r\n          font-weight: 600;\r\n          text-transform: capitalize;\r\n      }\r\n  \r\n      .va-home-wrapper .upvotes .stat-value { color: var(--primary-color); }\r\n      .va-home-wrapper .comments .stat-value { color: var(--secondary-color); }\r\n  \r\n      .va-home-wrapper .loading {\r\n          text-align: center;\r\n          padding: 40px;\r\n          color: var(--text-primary);\r\n          font-size: 1.1rem;\r\n          display: none;\r\n      }\r\n  \r\n      .va-home-wrapper .spinner {\r\n          border: 4px solid var(--bg-tertiary);\r\n          border-top: 4px solid var(--primary-color);\r\n          border-radius: 50%;\r\n          width: 50px;\r\n          height: 50px;\r\n          animation: spin 1s linear infinite;\r\n          margin: 20px auto;\r\n      }\r\n  \r\n      .va-home-wrapper .error-message {\r\n          background: rgba(239, 68, 68, 0.1);\r\n          border: 1px solid rgba(239, 68, 68, 0.2);\r\n          color: var(--danger-color);\r\n          padding: 20px;\r\n          border-radius: 16px;\r\n          text-align: center;\r\n          margin: 20px 0;\r\n          font-weight: 600;\r\n          display: none;\r\n          font-size: 14px;\r\n      }\r\n  \r\n      .va-home-wrapper .modal {\r\n          display: none;\r\n          position: fixed;\r\n          z-index: 1000;\r\n          left: 0;\r\n          top: 0;\r\n          width: 100%;\r\n          height: 100%;\r\n          background-color: rgba(0, 0, 0, 0.95);\r\n          animation: fadeIn 0.3s ease;\r\n      }\r\n  \r\n      .va-home-wrapper .modal-content {\r\n          position: absolute;\r\n          top: 50%;\r\n          left: 50%;\r\n          transform: translate(-50%, -50%);\r\n          max-width: 90%;\r\n          max-height: 90%;\r\n      }\r\n  \r\n      .va-home-wrapper .modal img {\r\n          width: 100%;\r\n          height: auto;\r\n          border-radius: 20px;\r\n      }\r\n  \r\n      .va-home-wrapper .close {\r\n          position: absolute;\r\n          top: 20px;\r\n          right: 40px;\r\n          color: #f1f1f1;\r\n          font-size: 45px;\r\n          font-weight: bold;\r\n          cursor: pointer;\r\n          z-index: 1001;\r\n      }\r\n  \r\n      .va-home-wrapper .close:hover {\r\n          color: var(--primary-color);\r\n      }\r\n  \r\n      \/* Download Progress *\/\r\n      .va-home-wrapper .download-progress {\r\n          position: fixed;\r\n          bottom: 25px;\r\n          right: 25px;\r\n          background: var(--bg-secondary);\r\n          border: 1px solid var(--glass-border);\r\n          border-radius: 20px;\r\n          padding: 25px;\r\n          min-width: 350px;\r\n          box-shadow: var(--shadow-xl);\r\n          z-index: 1000;\r\n          display: none;\r\n          color: var(--text-primary);\r\n      }\r\n  \r\n      .va-home-wrapper .download-progress.show {\r\n          display: block;\r\n          animation: slideInRight 0.4s ease-out;\r\n      }\r\n  \r\n      .va-home-wrapper .progress-header {\r\n          display: flex;\r\n          justify-content: space-between;\r\n          align-items: center;\r\n          margin-bottom: 15px;\r\n      }\r\n  \r\n      .va-home-wrapper .progress-text {\r\n          font-weight: 700;\r\n          font-size: 14px;\r\n          color: var(--text-primary);\r\n      }\r\n  \r\n      .va-home-wrapper .cancel-btn {\r\n          background: rgba(239, 68, 68, 0.1);\r\n          border: 1px solid rgba(239, 68, 68, 0.2);\r\n          color: var(--danger-color);\r\n          padding: 8px 16px;\r\n          border-radius: 8px;\r\n          font-size: 12px;\r\n          cursor: pointer;\r\n          transition: all 0.3s ease;\r\n          font-weight: 600;\r\n      }\r\n  \r\n      .va-home-wrapper .cancel-btn:hover {\r\n          background: rgba(239, 68, 68, 0.15);\r\n      }\r\n  \r\n      .va-home-wrapper .progress-bar-container {\r\n          width: 100%;\r\n          height: 12px;\r\n          background: var(--bg-tertiary);\r\n          border-radius: 6px;\r\n          overflow: hidden;\r\n          margin-bottom: 12px;\r\n          box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.2);\r\n      }\r\n  \r\n      .va-home-wrapper .progress-bar-fill {\r\n          height: 100%;\r\n          background: var(--gradient-primary);\r\n          border-radius: 6px;\r\n          width: 0%;\r\n          transition: width 0.3s ease;\r\n          box-shadow: 0 2px 8px rgba(99, 102, 241, 0.4);\r\n      }\r\n  \r\n      .va-home-wrapper .progress-details {\r\n          display: flex;\r\n          justify-content: space-between;\r\n          font-size: 12px;\r\n          color: var(--text-secondary);\r\n          font-weight: 500;\r\n      }\r\n  \r\n      .va-home-wrapper .expand-btn {\r\n          background: var(--gradient-primary);\r\n          color: white;\r\n          border: none;\r\n          padding: 8px 16px;\r\n          border-radius: 12px;\r\n          cursor: pointer;\r\n          font-size: 0.8rem;\r\n          font-weight: 600;\r\n          margin-top: 10px;\r\n          transition: all 0.3s ease;\r\n          font-family: inherit;\r\n      }\r\n  \r\n      .va-home-wrapper .expand-btn:hover {\r\n          transform: translateY(-2px);\r\n          box-shadow: var(--shadow-sm);\r\n      }\r\n  \r\n      .va-home-wrapper .video-play-overlay {\r\n          position: absolute;\r\n          top: 50%;\r\n          left: 50%;\r\n          transform: translate(-50%, -50%);\r\n          background: rgba(0, 0, 0, 0.7);\r\n          border: none;\r\n          border-radius: 50%;\r\n          width: 50px;\r\n          height: 50px;\r\n          color: white;\r\n          font-size: 20px;\r\n          cursor: pointer;\r\n          display: flex;\r\n          align-items: center;\r\n          justify-content: center;\r\n          transition: all 0.3s ease;\r\n          z-index: 5;\r\n      }\r\n  \r\n      .va-home-wrapper .video-play-overlay:hover {\r\n          background: rgba(0, 0, 0, 0.9);\r\n          transform: translate(-50%, -50%) scale(1.1);\r\n      }\r\n  \r\n      .va-home-wrapper .video-play-overlay.hidden {\r\n          display: none;\r\n      }\r\n  \r\n      .va-home-wrapper .new-search-btn {\r\n          background: var(--gradient-accent) !important;\r\n          min-width: 130px;\r\n      }\r\n  \r\n      @keyframes float {\r\n          0%, 100% { transform: translateY(0px) scale(1); }\r\n          50% { transform: translateY(-10px) scale(1.02); }\r\n      }\r\n  \r\n      @keyframes shine {\r\n          0% { transform: translateX(-100%) translateY(-100%) rotate(45deg); }\r\n          100% { transform: translateX(100%) translateY(100%) rotate(45deg); }\r\n      }\r\n  \r\n      @keyframes slideInDown {\r\n          from { opacity: 0; transform: translateY(-30px); }\r\n          to { opacity: 1; transform: translateY(0); }\r\n      }\r\n  \r\n      @keyframes slideInUp {\r\n          from { opacity: 0; transform: translateY(30px); }\r\n          to { opacity: 1; transform: translateY(0); }\r\n      }\r\n  \r\n      @keyframes slideInRight {\r\n          from { opacity: 0; transform: translateX(100%); }\r\n          to { opacity: 1; transform: translateX(0); }\r\n      }\r\n  \r\n      @keyframes slideUp {\r\n          from {\r\n              opacity: 0;\r\n              transform: translateY(40px);\r\n          }\r\n          to {\r\n              opacity: 1;\r\n              transform: translateY(0);\r\n          }\r\n      }\r\n  \r\n      @keyframes spin {\r\n          0% { transform: rotate(0deg); }\r\n          100% { transform: rotate(360deg); }\r\n      }\r\n  \r\n      @keyframes pulse {\r\n          0%, 100% { transform: scale(1); }\r\n          50% { transform: scale(1.05); }\r\n      }\r\n  \r\n      @keyframes fadeIn {\r\n          from { opacity: 0; }\r\n          to { opacity: 1; }\r\n      }\r\n  \r\n      \/* Video Loading Overlay *\/\r\n      .va-home-wrapper .video-loading-overlay {\r\n          position: absolute;\r\n          top: 0;\r\n          left: 0;\r\n          right: 0;\r\n          bottom: 0;\r\n          background: rgba(0, 0, 0, 0.8);\r\n          display: flex;\r\n          align-items: center;\r\n          justify-content: center;\r\n          flex-direction: column;\r\n          color: white;\r\n          font-weight: 600;\r\n          z-index: 10;\r\n      }\r\n  \r\n      .va-home-wrapper .video-loading-spinner {\r\n          width: 30px;\r\n          height: 30px;\r\n          border: 3px solid rgba(255, 255, 255, 0.3);\r\n          border-top: 3px solid white;\r\n          border-radius: 50%;\r\n          animation: spin 1s linear infinite;\r\n          margin-bottom: 10px;\r\n      }\r\n  \r\n      @media (max-width: 1200px) {\r\n          .va-home-wrapper .posts-grid {\r\n              grid-template-columns: 1fr;\r\n          }\r\n  \r\n          .va-home-wrapper .features-grid {\r\n              grid-template-columns: repeat(2, 1fr);\r\n          }\r\n      }\r\n  \r\n      @media (max-width: 768px) {\r\n          .va-home-wrapper .features-grid {\r\n              grid-template-columns: 1fr;\r\n          }\r\n  \r\n          .va-home-wrapper .user-stats {\r\n              grid-template-columns: repeat(2, 1fr);\r\n          }\r\n  \r\n          .va-home-wrapper .post-stats {\r\n              grid-template-columns: repeat(2, 1fr);\r\n              gap: 8px;\r\n          }\r\n  \r\n          .va-home-wrapper .media-controls {\r\n              flex-direction: column;\r\n          }\r\n  \r\n          .va-home-wrapper .control-btn {\r\n              width: 100%;\r\n              justify-content: center;\r\n          }\r\n  \r\n          .va-home-wrapper .search-form {\r\n              flex-direction: column;\r\n          }\r\n      }\r\n  \r\n      @media (max-width: 480px) {\r\n          .va-home-wrapper .post-stats {\r\n              grid-template-columns: 1fr;\r\n          }\r\n  \r\n          .va-home-wrapper .user-stats {\r\n              grid-template-columns: 1fr;\r\n          }\r\n  \r\n          .va-home-wrapper .custom-rduv-container {\r\n              padding: 15px;\r\n          }\r\n  \r\n          .va-home-wrapper .search-container,\r\n          .va-home-wrapper .user-info,\r\n          .va-home-wrapper .post-card {\r\n              padding: 20px;\r\n          }\r\n  \r\n          .va-home-wrapper .posts-grid {\r\n              grid-template-columns: 1fr;\r\n          }\r\n      }\r\n  <\/style>\r\n  <body data-aos-easing=\"ease-in-out\" data-aos-duration=\"800\" data-aos-delay=\"0\" data-new-gr-c-s-check-loaded=\"14.1249.0\" data-gr-ext-installed=\"\" data-new-gr-c-s-loaded=\"14.1223.0\" class=\"\" style=\"\">\r\n\r\n      <div class=\"va-home-wrapper\">\r\n\r\n      <!-- Hero tools -->\r\n      <section class=\"rduv-hero-tools-section\">\r\n          <div class=\"container\">\r\n              <div class=\"custom-rduv-container\">\r\n                  <div class=\"header\">\r\n                      <div class=\"logo\">\r\n                          <div class=\"logo-icon\">\ud83d\ude80<\/div>\r\n          \r\n                          <div><h1 class=\"logo-text\">Reddit Web Viewer<\/h1><\/div>\r\n                      <\/div>\r\n                      <div class=\"subtitle\">Advanced Reddit user analysis with premium insights and enhanced media capabilities<\/div>\r\n                      <div class=\"features-grid\">\r\n                          <div class=\"feature-card\">\r\n                              <div class=\"feature-icon\">\ud83c\udfa8<\/div>\r\n                              <div class=\"feature-title\">Premium Design<\/div>\r\n                          <\/div>\r\n                          <div class=\"feature-card\">\r\n                              <div class=\"feature-icon\">\ud83d\udd0a<\/div>\r\n                              <div class=\"feature-title\">Audio Support<\/div>\r\n                          <\/div>\r\n                          <div class=\"feature-card\">\r\n                              <div class=\"feature-icon\">\ud83d\udce5<\/div>\r\n                              <div class=\"feature-title\">Smart Downloads<\/div>\r\n                          <\/div>\r\n                          <div class=\"feature-card\">\r\n                              <div class=\"feature-icon\">\ud83d\udcca<\/div>\r\n                              <div class=\"feature-title\">Rich Analytics<\/div>\r\n                          <\/div>\r\n                      <\/div>\r\n                  <\/div>\r\n          \r\n                  <div class=\"search-container\">\r\n                      <form class=\"search-form\" id=\"searchForm\">\r\n                          <input type=\"text\" class=\"search-input\" id=\"usernameInput\" placeholder=\"Enter Reddit username (e.g., kn0thing, spez, gallowboob)\" required=\"\">\r\n                          <button type=\"submit\" class=\"search-btn\" id=\"searchBtn\">\r\n                              <span id=\"searchText\">\ud83d\udd0d Explore User<\/span>\r\n                              <div class=\"spinner\" id=\"searchSpinner\" style=\"display: none; width: 20px; height: 20px; margin: 0;\"><\/div>\r\n                          <\/button>\r\n                          <button type=\"button\" class=\"search-btn new-search-btn\" id=\"newSearchBtn\" onclick=\"redditExplorer.newSearch()\">\r\n                              \ud83d\udd04 New Search\r\n                          <\/button>\r\n                      <\/form>\r\n          \r\n                      <div class=\"loading\" id=\"loading\">\r\n                          <div class=\"spinner\"><\/div>\r\n                          <p>Analyzing user data and posts...<\/p>\r\n                      <\/div>\r\n          \r\n                      <div class=\"error-message\" id=\"errorMessage\"><\/div>\r\n                  <\/div>\r\n          \r\n                  <div class=\"user-info\" id=\"userInfo\">\r\n                      <div class=\"user-header\">\r\n                          <div class=\"user-avatar\" id=\"userAvatar\">U<\/div>\r\n                          <div class=\"user-details\">\r\n                              <h2 class=\"rduv-tool-username\" id=\"userName\">Username<\/h2>\r\n                              <p class=\"user-description\" id=\"userDescription\">Reddit User Profile<\/p>\r\n                          <\/div>\r\n                      <\/div>\r\n                      <div class=\"user-stats\" id=\"userStats\">\r\n                          <!-- Stats will be populated dynamically -->\r\n                      <\/div>\r\n                  <\/div>\r\n          \r\n                  <div class=\"posts-section\" id=\"postsSection\">\r\n                      <h2 class=\"section-title\" id=\"sectionTitle\">Recent Posts & Activity<\/h2>\r\n                      <div id=\"postsContainer\" class=\"posts-grid\"><\/div>\r\n                  <\/div>\r\n              <\/div>\r\n          \r\n              <!-- Modal for image preview -->\r\n              <div id=\"imageModal\" class=\"modal\">\r\n                  <span class=\"close\">\u00d7<\/span>\r\n                  <div class=\"modal-content\">\r\n                      <img decoding=\"async\" id=\"modalImage\" src=\"\/placeholder.svg\" alt=\"Full size image\">\r\n                  <\/div>\r\n              <\/div>\r\n          \r\n              <!-- Download Progress -->\r\n              <div class=\"download-progress\" id=\"downloadProgress\">\r\n                  <div class=\"progress-header\">\r\n                      <span class=\"progress-text\" id=\"progressText\">Downloading...<\/span>\r\n                      <button class=\"cancel-btn\" onclick=\"cancelDownload()\">Cancel<\/button>\r\n                  <\/div>\r\n                  <div class=\"progress-bar-container\">\r\n                      <div class=\"progress-bar-fill\" id=\"progressBarFill\"><\/div>\r\n                  <\/div>\r\n                  <div class=\"progress-details\">\r\n                      <span id=\"progressPercent\">0%<\/span>\r\n                      <span id=\"progressSize\">0 MB \/ 0 MB<\/span>\r\n                  <\/div>\r\n              <\/div>\r\n              \r\n          <\/div>\r\n      <\/section>\r\n  \r\n  <!-- Work Process Section -->\r\n  <section class=\"rduv-work-process-section\" id=\"how-it-works\">\r\n      <div class=\"container rduv-work-process-content\">\r\n          <div class=\"text-center mb-5\" data-aos=\"fade-up\">\r\n              <h2 class=\"rduv-section-title rduv-light-title\">How Our Reddit Web Viewer Works<\/h2>\r\n              <p class=\"rduv-section-subtitle rduv-light-subtitle\">Browse Reddit content anonymously with just 3 simple steps<\/p>\r\n          <\/div>\r\n          \r\n          <div class=\"row\">\r\n              <div class=\"col-md-4\" data-aos=\"fade-up\" data-aos-delay=\"50\">\r\n                  <div class=\"rduv-process-step\">\r\n                      <div class=\"rduv-step-number\">1<\/div>\r\n                      <h4 class=\"rduv-step-heading\">Enter URL or Subreddit<\/h4>\r\n                      <p class=\"rduv-light-subtitle\">Enter the Reddit URL or subreddit name you want to browse<\/p>\r\n                  <\/div>\r\n              <\/div>\r\n              \r\n              <div class=\"col-md-4\" data-aos=\"fade-up\" data-aos-delay=\"150\">\r\n                  <div class=\"rduv-process-step\">\r\n                      <div class=\"rduv-step-number\">2<\/div>\r\n                      <h4 class=\"rduv-step-heading\">Process Web Content<\/h4>\r\n                      <p class=\"rduv-light-subtitle\">Our system retrieves Reddit web data without connecting to Reddit servers<\/p>\r\n                  <\/div>\r\n              <\/div>\r\n              \r\n              <div class=\"col-md-4\" data-aos=\"fade-up\" data-aos-delay=\"250\">\r\n                  <div class=\"rduv-process-step\">\r\n                      <div class=\"rduv-step-number\">3<\/div>\r\n                      <h4 class=\"rduv-step-heading\">Browse Anonymously<\/h4>\r\n                      <p class=\"rduv-light-subtitle\">View full Reddit web content without leaving any trace<\/p>\r\n                  <\/div>\r\n              <\/div>\r\n          <\/div>\r\n      <\/div>\r\n  <\/section>\r\n  \r\n  <!-- Features Section -->\r\n  <section class=\"rduv-features-section\">\r\n      <div class=\"container\">\r\n          <div class=\"text-center mb-5\" data-aos=\"fade-up\">\r\n              <h2 class=\"rduv-section-title\">Key Features<\/h2>\r\n              <p class=\"rduv-section-subtitle\">Our Reddit Web Viewer offers powerful features for anonymous browsing<\/p>\r\n          <\/div>\r\n          \r\n          <div class=\"row\">\r\n              <div class=\"col-lg-4 mb-4\" data-aos=\"fade-up\" data-aos-delay=\"50\">\r\n                  <div class=\"rduv-feature-card\">\r\n                      <div class=\"rduv-feature-icon\">\r\n                          <i class=\"bx bx-user\"><\/i>\r\n                      <\/div>\r\n                      <h4 class=\"rduv-feature-heading\">Complete Anonymity<\/h4>\r\n                      <p>Browse Reddit web content without revealing your identity or account<\/p>\r\n                  <\/div>\r\n              <\/div>\r\n              \r\n              <div class=\"col-lg-4 mb-4\" data-aos=\"fade-up\" data-aos-delay=\"150\">\r\n                  <div class=\"rduv-feature-card\">\r\n                      <div class=\"rduv-feature-icon\">\r\n                          <i class=\"bx bx-shield\"><\/i>\r\n                      <\/div>\r\n                      <h4 class=\"rduv-feature-heading\">No Tracking<\/h4>\r\n                      <p>Reddit won't track your web visits or recommend similar content<\/p>\r\n                  <\/div>\r\n              <\/div>\r\n              \r\n              <div class=\"col-lg-4 mb-4\" data-aos=\"fade-up\" data-aos-delay=\"250\">\r\n                  <div class=\"rduv-feature-card\">\r\n                      <div class=\"rduv-feature-icon\">\r\n                          <i class=\"bx bx-history\"><\/i>\r\n                      <\/div>\r\n                      <h4 class=\"rduv-feature-heading\">Full Web Browsing<\/h4>\r\n                      <p>Access subreddits, posts, comments, and full Reddit web experience<\/p>\r\n                  <\/div>\r\n              <\/div>\r\n              \r\n              <div class=\"col-lg-4 mb-5\" data-aos=\"fade-up\" data-aos-delay=\"50\">\r\n                  <div class=\"rduv-feature-card\">\r\n                      <div class=\"rduv-feature-icon\">\r\n                          <i class=\"bx bx-search-alt\"><\/i>\r\n                      <\/div>\r\n                      <h4 class=\"rduv-feature-heading\">Search Functionality<\/h4>\r\n                      <p>Quickly find specific content within Reddit web pages<\/p>\r\n                  <\/div>\r\n              <\/div>\r\n              \r\n              <div class=\"col-lg-4 mb-5\" data-aos=\"fade-up\" data-aos-delay=\"150\">\r\n                  <div class=\"rduv-feature-card\">\r\n                      <div class=\"rduv-feature-icon\">\r\n                          <i class=\"bx bx-time\"><\/i>\r\n                      <\/div>\r\n                      <h4 class=\"rduv-feature-heading\">No History<\/h4>\r\n                      <p>Your browsing activity isn't stored in your browser history<\/p>\r\n                  <\/div>\r\n              <\/div>\r\n              \r\n              <div class=\"col-lg-4 mb-5\" data-aos=\"fade-up\" data-aos-delay=\"250\">\r\n                  <div class=\"rduv-feature-card\">\r\n                      <div class=\"rduv-feature-icon\">\r\n                          <i class=\"bx bx-devices\"><\/i>\r\n                      <\/div>\r\n                      <h4 class=\"rduv-feature-heading\">Cross-Platform<\/h4>\r\n                      <p>Works on all devices - desktop, tablet and mobile<\/p>\r\n                  <\/div>\r\n              <\/div>\r\n          <\/div>\r\n      <\/div>\r\n  <\/section>\r\n  \r\n  <!-- Why Choose Section -->\r\n  <section class=\"rduv-why-choose-section\">\r\n      <div class=\"container\">\r\n          <div class=\"row align-items-center\">\r\n              <div class=\"col-lg-6 mb-5 mb-lg-0\" data-aos=\"fade-right\">\r\n                  <div class=\"rduv-why-choose-image rduv-floating-element\">\r\n                      <img decoding=\"async\" src=\"https:\/\/viewanonymous.com\/wp-content\/uploads\/2026\/03\/Reddit_Web_Viewer.webp\" alt=\"Reddit Web Viewer\" class=\"img-fluid rounded-3\">\r\n                  <\/div>\r\n              <\/div>\r\n              <div class=\"col-lg-6\" data-aos=\"fade-left\">\r\n                  <h2 class=\"rduv-section-title mb-4\">Why Choose Our Reddit Web Viewer?<\/h2>\r\n                  <p class=\"mb-4\">Our tool provides the most private way to browse Reddit web content without leaving any trace. Whether you're researching subreddits, analyzing posts, or just valuing your privacy, we make anonymous web browsing simple and efficient.<\/p>\r\n                  \r\n                  <div class=\"rduv-benefit-item\">\r\n                      <div class=\"rduv-benefit-icon\">\r\n                          <i class=\"bx bx-check\"><\/i>\r\n                      <\/div>\r\n                      <div>\r\n                          <h5 class=\"rduv-benefit-heading mb-1\">No account needed<\/h5>\r\n                          <p class=\"mb-0\">Browse Reddit web without logging in or having a Reddit account<\/p>\r\n                      <\/div>\r\n                  <\/div>\r\n                  \r\n                  <div class=\"rduv-benefit-item\">\r\n                      <div class=\"rduv-benefit-icon\">\r\n                          <i class=\"bx bx-check\"><\/i>\r\n                      <\/div>\r\n                      <div>\r\n                          <h5 class=\"rduv-benefit-heading mb-1\">Bypass limitations<\/h5>\r\n                          <p class=\"mb-0\">View full Reddit web content beyond display limits<\/p>\r\n                      <\/div>\r\n                  <\/div>\r\n                  \r\n                  <div class=\"rduv-benefit-item\">\r\n                      <div class=\"rduv-benefit-icon\">\r\n                          <i class=\"bx bx-check\"><\/i>\r\n                      <\/div>\r\n                      <div>\r\n                          <h5 class=\"rduv-benefit-heading mb-1\">Fast and reliable<\/h5>\r\n                          <p class=\"mb-0\">Get Reddit web data instantly with our optimized system<\/p>\r\n                      <\/div>\r\n                  <\/div>\r\n                  \r\n                  <div class=\"rduv-benefit-item\">\r\n                      <div class=\"rduv-benefit-icon\">\r\n                          <i class=\"bx bx-check\"><\/i>\r\n                      <\/div>\r\n                      <div>\r\n                          <h5 class=\"rduv-benefit-heading mb-1\">Privacy focused<\/h5>\r\n                          <p class=\"mb-0\">No cookies, no tracking, no history stored<\/p>\r\n                      <\/div>\r\n                  <\/div>\r\n              <\/div>\r\n          <\/div>\r\n      <\/div>\r\n  <\/section>\r\n  \r\n  <!-- FAQ Section -->\r\n  <section class=\"rduv-faq-section\">\r\n      <div class=\"container\">\r\n          <div class=\"text-center mb-5\" data-aos=\"fade-up\">\r\n              <h2 class=\"rduv-section-title\">Frequently Asked Questions<\/h2>\r\n              <p class=\"rduv-section-subtitle\">Find answers to common questions about our Reddit Web Viewer<\/p>\r\n          <\/div>\r\n          \r\n          <div class=\"row justify-content-center\">\r\n              <div class=\"col-lg-8\">\r\n                  <div class=\"accordion\" id=\"rduv-faqAccordion\">\r\n                      <div class=\"rduv-accordion-item mb-3\" data-aos=\"fade-up\" data-aos-delay=\"50\">\r\n                          <h3 class=\"accordion-header\" id=\"rduv-heading1\">\r\n                              <button class=\"rduv-accordion-button\" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#rduv-collapse1\" aria-expanded=\"true\" aria-controls=\"rduv-collapse1\">\r\n                                  Is browsing Reddit web anonymously legal?\r\n                              <\/button>\r\n                          <\/h3>\r\n                          <div id=\"rduv-collapse1\" class=\"accordion-collapse collapse show\" aria-labelledby=\"rduv-heading1\" data-bs-parent=\"#rduv-faqAccordion\">\r\n                              <div class=\"rduv-accordion-body\">\r\n                                  Yes, our tool is completely legal to use. It only allows you to view publicly available Reddit web content through our private viewer. We don't access private data or bypass any security measures.\r\n                              <\/div>\r\n                          <\/div>\r\n                      <\/div>\r\n                      \r\n                      <div class=\"rduv-accordion-item mb-3\" data-aos=\"fade-up\" data-aos-delay=\"100\">\r\n                          <h3 class=\"accordion-header\" id=\"rduv-heading2\">\r\n                              <button class=\"rduv-accordion-button collapsed\" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#rduv-collapse2\" aria-expanded=\"false\" aria-controls=\"rduv-collapse2\">\r\n                                  Can I browse private or restricted subreddits?\r\n                              <\/button>\r\n                          <\/h3>\r\n                          <div id=\"rduv-collapse2\" class=\"accordion-collapse collapse\" aria-labelledby=\"rduv-heading2\" data-bs-parent=\"#rduv-faqAccordion\">\r\n                              <div class=\"rduv-accordion-body\">\r\n                                  Our tool respects Reddit's privacy and access settings. We can only show public subreddits and content. For private or restricted communities, the information won't be available.\r\n                              <\/div>\r\n                          <\/div>\r\n                      <\/div>\r\n                      \r\n                      <div class=\"rduv-accordion-item mb-3\" data-aos=\"fade-up\" data-aos-delay=\"150\">\r\n                          <h3 class=\"accordion-header\" id=\"rduv-heading3\">\r\n                              <button class=\"rduv-accordion-button collapsed\" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#rduv-collapse3\" aria-expanded=\"false\" aria-controls=\"rduv-collapse3\">\r\n                                  Will Reddit know I browsed their web content?\r\n                              <\/button>\r\n                          <\/h3>\r\n                          <div id=\"rduv-collapse3\" class=\"accordion-collapse collapse\" aria-labelledby=\"rduv-heading3\" data-bs-parent=\"#rduv-faqAccordion\">\r\n                              <div class=\"rduv-accordion-body\">\r\n                                  No, when you browse through our anonymous viewer, your visit won't be counted in Reddit's statistics and they won't know you accessed their web content.\r\n                              <\/div>\r\n                          <\/div>\r\n                      <\/div>\r\n                      \r\n                      <div class=\"rduv-accordion-item mb-3\" data-aos=\"fade-up\" data-aos-delay=\"200\">\r\n                          <h3 class=\"accordion-header\" id=\"rduv-heading4\">\r\n                              <button class=\"rduv-accordion-button collapsed\" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#rduv-collapse4\" aria-expanded=\"false\" aria-controls=\"rduv-collapse4\">\r\n                                  Do I need to install any software?\r\n                              <\/button>\r\n                          <\/h3>\r\n                          <div id=\"rduv-collapse4\" class=\"accordion-collapse collapse\" aria-labelledby=\"rduv-heading4\" data-bs-parent=\"#rduv-faqAccordion\">\r\n                              <div class=\"rduv-accordion-body\">\r\n                                  No, our Reddit Web Viewer is completely web-based. You don't need to download or install any software. Simply visit our website, enter the URL or subreddit, and browse anonymously.\r\n                              <\/div>\r\n                          <\/div>\r\n                      <\/div>\r\n                      \r\n                      <div class=\"rduv-accordion-item mb-3\" data-aos=\"fade-up\" data-aos-delay=\"250\">\r\n                          <h3 class=\"accordion-header\" id=\"rduv-heading5\">\r\n                              <button class=\"rduv-accordion-button collapsed\" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#rduv-collapse5\" aria-expanded=\"false\" aria-controls=\"rduv-collapse5\">\r\n                                  Can I see NSFW or age-restricted content?\r\n                              <\/button>\r\n                          <\/h3>\r\n                          <div id=\"rduv-collapse5\" class=\"accordion-collapse collapse\" aria-labelledby=\"rduv-heading5\" data-bs-parent=\"#rduv-faqAccordion\">\r\n                              <div class=\"rduv-accordion-body\">\r\n                                  Our viewer can only access publicly available content. For NSFW or age-restricted subreddits, you may need to verify age requirements, but we don't bypass any Reddit security measures.\r\n                              <\/div>\r\n                          <\/div>\r\n                      <\/div>\r\n                  <\/div>\r\n              <\/div>\r\n          <\/div>\r\n      <\/div>\r\n  <\/section>\r\n  \r\n    <!-- Footer -->\r\n    \r\n  \r\n  <!-- Copyright Section -->\r\n  \r\n  \r\n  \r\n  \r\n   <!-- Reddit User Viewer js -->\r\n    <script src=\"https:\/\/tools.xrespond.com\/api\/rate-limit-handler.js\"><\/script>\r\n    <script src=\"https:\/\/tools.xrespond.com\/api\/js\/client-ip-detector.js\"><\/script>\r\n   <script>\r\n      class RedditUserExplorerPro {\r\n          constructor() {\r\n              this.currentUser = null;\r\n              this.posts = [];\r\n              this.downloadController = null;\r\n              this.apiEndpoint = 'https:\/\/tools.xrespond.com\/api\/reddit\/users';\r\n              this.init();\r\n          }\r\n  \r\n          init() {\r\n              this.bindEvents();\r\n              this.setupModal();\r\n          }\r\n  \r\n          bindEvents() {\r\n              const searchForm = document.getElementById('searchForm');\r\n              const usernameInput = document.getElementById('usernameInput');\r\n  \r\n              searchForm.addEventListener('submit', (e) => {\r\n                  e.preventDefault();\r\n                  const username = usernameInput.value.trim();\r\n                  if (username) {\r\n                      this.searchUser(username);\r\n                  }\r\n              });\r\n  \r\n              usernameInput.addEventListener('keypress', (e) => {\r\n                  if (e.key === 'Enter') {\r\n                      e.preventDefault();\r\n                      searchForm.dispatchEvent(new Event('submit'));\r\n                  }\r\n              });\r\n          }\r\n  \r\n          async searchUser(username) {\r\n              this.showLoading(true);\r\n              this.clearError();\r\n  \r\n              try {\r\n                  console.log(`\ud83d\udd0d Searching for user: ${username}`);\r\n                  const userData = await this.fetchUserData(username);\r\n  \r\n                  if (userData && userData.data && userData.data.body && userData.data.body.length > 0) {\r\n                      this.currentUser = username;\r\n                      this.posts = userData.data.body;\r\n                      this.displayUserInfo(username, userData.data);\r\n                      this.displayPosts(userData.data.body);\r\n                      this.showPostsSection(true);\r\n                      console.log(`\u2705 Success! Found ${userData.data.body.length} posts for ${username}`);\r\n                  } else {\r\n                      this.showError(`No posts found for user \"${username}\". The user might not exist, have no posts, or their profile might be private.`);\r\n                      this.showPostsSection(false);\r\n                  }\r\n              } catch (error) {\r\n                  console.error('\u274c Error details:', error);\r\n                  this.showError(`Failed to fetch posts for \"${username}\". Error: ${error.message}`);\r\n                  this.showPostsSection(false);\r\n              } finally {\r\n                  this.showLoading(false);\r\n              }\r\n          }\r\n  \r\n          async fetchUserData(username) {\r\n              try {\r\n                  const response = await fetch(this.apiEndpoint, {\r\n                      method: 'POST',\r\n                      headers: {\r\n                          'Content-Type': 'application\/x-www-form-urlencoded',\r\n                      },\r\n                      body: `username=${encodeURIComponent(username)}`\r\n                  });\r\n  \r\n                  if (!response.ok) {\r\n                      throw new Error(`API request failed: ${response.status} ${response.statusText}`);\r\n                  }\r\n  \r\n                  const data = await response.json();\r\n  \r\n                  if (data.status !== 'success') {\r\n                      throw new Error('API returned unsuccessful status');\r\n                  }\r\n  \r\n                  return data;\r\n              } catch (error) {\r\n                  console.error('API Error:', error);\r\n                  throw error;\r\n              }\r\n          }\r\n  \r\n          displayUserInfo(username, userData) {\r\n              const userInfo = document.getElementById('userInfo');\r\n              const userAvatar = document.getElementById('userAvatar');\r\n              const userName = document.getElementById('userName');\r\n              const userDescription = document.getElementById('userDescription');\r\n              const userStats = document.getElementById('userStats');\r\n  \r\n              userAvatar.textContent = username.charAt(0).toUpperCase();\r\n              userName.textContent = `u\/${username}`;\r\n              userDescription.textContent = `Reddit User \u2022 ${userData.body.length} posts analyzed`;\r\n  \r\n              \/\/ Calculate comprehensive stats from the posts\r\n              const posts = userData.body.filter(item => item.title); \/\/ Filter actual posts\r\n              const comments = userData.body.filter(item => item.body && !item.title); \/\/ Filter comments\r\n  \r\n              const totalUpvotes = userData.body.reduce((sum, item) => sum + (item.ups || 0), 0);\r\n              const totalComments = posts.reduce((sum, post) => sum + (post.num_comments || 0), 0);\r\n              const totalAwards = userData.body.reduce((sum, item) => sum + (item.total_awards_received || 0), 0);\r\n              const avgUpvoteRatio = posts.length > 0 ?\r\n                  posts.reduce((sum, post) => sum + (post.upvote_ratio || 0), 0) \/ posts.length : 0;\r\n  \r\n              userStats.innerHTML = `\r\n                  <div class=\"stat-card\">\r\n                      <div class=\"stat-number\">${this.formatNumber(totalUpvotes)}<\/div>\r\n                      <div class=\"stat-label\">Total Upvotes<\/div>\r\n                  <\/div>\r\n                  <div class=\"stat-card\">\r\n                      <div class=\"stat-number\">${posts.length}<\/div>\r\n                      <div class=\"stat-label\">Posts Created<\/div>\r\n                  <\/div>\r\n                  <div class=\"stat-card\">\r\n                      <div class=\"stat-number\">${comments.length}<\/div>\r\n                      <div class=\"stat-label\">Comments Made<\/div>\r\n                  <\/div>\r\n                  <div class=\"stat-card\">\r\n                      <div class=\"stat-number\">${totalAwards}<\/div>\r\n                      <div class=\"stat-label\">Awards Received<\/div>\r\n                  <\/div>\r\n                  <div class=\"stat-card\">\r\n                      <div class=\"stat-number\">${Math.round(avgUpvoteRatio * 100)}%<\/div>\r\n                      <div class=\"stat-label\">Avg. Upvote Ratio<\/div>\r\n                  <\/div>\r\n              `;\r\n  \r\n              userInfo.style.display = 'block';\r\n          }\r\n  \r\n          displayPosts(posts) {\r\n              const container = document.getElementById('postsContainer');\r\n              const sectionTitle = document.getElementById('sectionTitle');\r\n  \r\n              sectionTitle.textContent = `${posts.length} Posts & Comments from u\/${this.currentUser}`;\r\n              container.innerHTML = '';\r\n  \r\n              posts.forEach((post, index) => {\r\n                  const postCard = this.createPostCard(post);\r\n                  postCard.style.animationDelay = `${index * 0.1}s`;\r\n                  container.appendChild(postCard);\r\n              });\r\n          }\r\n  \r\n          createPostCard(post) {\r\n              const card = document.createElement('div');\r\n              card.className = 'post-card';\r\n  \r\n              \/\/ Determine if this is a post or comment\r\n              const isPost = !!post.title;\r\n              const isComment = !!post.body && !post.title;\r\n              const isVideo = post.is_video || (post.secure_media && post.secure_media.reddit_video);\r\n              const hasImage = post.preview && post.preview.images && post.preview.images.length > 0;\r\n              const isExternalLink = isPost && post.url && !post.url.includes('reddit.com') && !isVideo && !hasImage;\r\n  \r\n              let mediaContent = '';\r\n              let postType = isComment ? 'Comment' : isPost ? 'Post' : 'Activity';\r\n  \r\n              if (isVideo && post.secure_media && post.secure_media.reddit_video) {\r\n                  postType = 'Video';\r\n                  const video = post.secure_media.reddit_video;\r\n                  const videoUrl = video.fallback_url;\r\n                  const redditPostUrl = `https:\/\/www.reddit.com${post.permalink}`;\r\n  \r\n                  mediaContent = `\r\n                      <div class=\"media-container\">\r\n                          <div class=\"video-container\">\r\n                              <video class=\"video-player\" controls preload=\"metadata\" id=\"video-${post.id}\" onclick=\"redditExplorer.toggleVideoPlayPause('${post.id}')\">\r\n                                  <source src=\"${videoUrl}\" type=\"video\/mp4\">\r\n                                  Your browser does not support the video tag.\r\n                              <\/video>\r\n                              <button class=\"video-play-overlay\" id=\"play-overlay-${post.id}\" onclick=\"redditExplorer.toggleVideoPlayPause('${post.id}')\">\u25b6<\/button>\r\n                          <\/div>\r\n                          <div class=\"media-controls\">\r\n                              ${video.has_audio ? `\r\n                                  <button class=\"control-btn stream-audio-btn\" onclick=\"redditExplorer.streamWithAudio(event, '${redditPostUrl}', '${post.id}')\">\r\n                                      \ud83d\udd0a Stream with Audio\r\n                                  <\/button>\r\n                              ` : ''}\r\n                              <button class=\"control-btn download-btn\" onclick=\"redditExplorer.downloadVideoWithAudio(event, '${redditPostUrl}', '${this.sanitizeFilename(post.title || 'video')}.mp4', '${post.id}')\">\r\n                                  \ud83d\udce5 Download Video\r\n                              <\/button>\r\n                          <\/div>\r\n                      <\/div>\r\n                  `;\r\n              } else if (hasImage) {\r\n                  postType = 'Image';\r\n                  const image = post.preview.images[0];\r\n                  const imageUrl = image.source.url.replace(\/&\/g, '&');\r\n                  mediaContent = `\r\n                      <div class=\"media-container\">\r\n                          <img decoding=\"async\" src=\"${imageUrl}\" alt=\"${post.title || 'Image'}\" class=\"image-preview\" onclick=\"redditExplorer.openImageModal('${imageUrl}')\">\r\n                          <div class=\"media-controls\">\r\n                              <button class=\"control-btn download-btn\" onclick=\"redditExplorer.downloadImageBase64WithButtonSpinner(event, this, '${imageUrl}', '${this.sanitizeFilename(post.title || 'image')}.jpg')\">\r\n                                  <span class=\"btn-text\">\ud83d\udce5 Download Image<\/span>\r\n                                  <span class=\"btn-spinner\" style=\"display:none; margin-left:8px;\">\r\n                                      <span class=\"spinner\" style=\"width:18px;height:18px;border:3px solid #eee;border-top:3px solid #FF4500;border-radius:50%;display:inline-block;vertical-align:middle;animation:spin 1s linear infinite;\"><\/span>\r\n                                  <\/span>\r\n                              <\/button>\r\n                          <\/div>\r\n                      <\/div>\r\n                  `;\r\n              } else if (isExternalLink) {\r\n                  postType = 'Link';\r\n              }\r\n  \r\n              let externalLinkContent = '';\r\n              if (isExternalLink && post.url) {\r\n                  externalLinkContent = `\r\n                      <a href=\"${post.url}\" target=\"_blank\" class=\"external-link\">\r\n                          \ud83d\udd17 Visit ${post.domain || 'External Link'}\r\n                      <\/a>\r\n                  `;\r\n              }\r\n  \r\n              \/\/ Enhanced post badges\r\n              let badges = '';\r\n              if (post.distinguished === 'admin') badges += '<span class=\"badge admin\">\ud83d\udc51 Admin<\/span>';\r\n              if (post.distinguished === 'moderator') badges += '<span class=\"badge admin\">\ud83d\udee1\ufe0f Mod<\/span>';\r\n              if (post.stickied) badges += '<span class=\"badge stickied\">\ud83d\udccc Stickied<\/span>';\r\n              if (post.archived) badges += '<span class=\"badge archived\">\ud83d\uddc3\ufe0f Archived<\/span>';\r\n              if (post.locked) badges += '<span class=\"badge locked\">\ud83d\udd12 Locked<\/span>';\r\n              if (post.over_18) badges += '<span class=\"badge nsfw\">\ud83d\udd1e NSFW<\/span>';\r\n  \r\n              \/\/ Content handling for both posts and comments - FIXED VERSION\r\n              let contentText = '';\r\n              if (isComment && post.body) {\r\n                  const isLongText = post.body.length > 300;\r\n                  const truncatedText = isLongText ? this.truncateText(post.body, 300) : post.body;\r\n                  contentText = `\r\n                      <div class=\"post-text\" id=\"text-${post.id}\">${truncatedText}<\/div>\r\n                      ${isLongText ? `\r\n                          <button class=\"expand-btn\" data-post-id=\"${post.id}\" data-full-text=\"${this.escapeHtml(post.body)}\" onclick=\"redditExplorer.toggleText(this)\">\r\n                              Show More\r\n                          <\/button>\r\n                      ` : ''}\r\n                  `;\r\n              } else if (isPost && post.selftext) {\r\n                  const isLongText = post.selftext.length > 300;\r\n                  const truncatedText = isLongText ? this.truncateText(post.selftext, 300) : post.selftext;\r\n                  contentText = `\r\n                      <div class=\"post-text\" id=\"text-${post.id}\">${truncatedText}<\/div>\r\n                      ${isLongText ? `\r\n                          <button class=\"expand-btn\" data-post-id=\"${post.id}\" data-full-text=\"${this.escapeHtml(post.selftext)}\" onclick=\"redditExplorer.toggleText(this)\">\r\n                              Show More\r\n                          <\/button>\r\n                      ` : ''}\r\n                  `;\r\n              }\r\n  \r\n              \/\/ Title handling\r\n              const title = post.title || (isComment ? `Comment in: ${post.link_title || 'Discussion'}` : 'Reddit Activity');\r\n  \r\n              card.innerHTML = `\r\n                  <div class=\"post-header\">\r\n                      <div class=\"subreddit-info\">\r\n                          <div class=\"subreddit-badge\">${post.subreddit_name_prefixed || 'r\/unknown'}<\/div>\r\n                          <div class=\"post-type\">${postType}<\/div>\r\n                      <\/div>\r\n                      <div class=\"post-meta\">\r\n                          ${this.formatDate(post.created_utc)}\r\n                          ${post.edited ? ` \u2022 Edited` : ''}\r\n                      <\/div>\r\n                  <\/div>\r\n  \r\n                  ${badges ? `<div class=\"post-badges\">${badges}<\/div>` : ''}\r\n  \r\n                  <h2 class=\"post-title\">${title}<\/h2>\r\n  \r\n                  <div class=\"post-content\">\r\n                      ${contentText}\r\n                      ${mediaContent}\r\n                      ${externalLinkContent}\r\n                  <\/div>\r\n  \r\n                  <div class=\"post-stats\">\r\n                      <div class=\"stat-item upvotes\">\r\n                          <div class=\"stat-value\">${this.formatNumber(post.ups || 0)}<\/div>\r\n                          <div class=\"stat-label\">Upvotes<\/div>\r\n                      <\/div>\r\n                      <div class=\"stat-item comments\">\r\n                          <div class=\"stat-value\">${this.formatNumber(post.num_comments || 0)}<\/div>\r\n                          <div class=\"stat-label\">Comments<\/div>\r\n                      <\/div>\r\n                  <\/div>\r\n              `;\r\n  \r\n              return card;\r\n          }\r\n  \r\n          \/\/ FIXED toggleText function\r\n          toggleText(button) {\r\n              const postId = button.getAttribute('data-post-id');\r\n              const fullText = button.getAttribute('data-full-text');\r\n              const textElement = document.getElementById(`text-${postId}`);\r\n  \r\n              if (button.textContent.trim() === 'Show More') {\r\n                  textElement.innerHTML = fullText;\r\n                  button.textContent = 'Show Less';\r\n              } else {\r\n                  textElement.innerHTML = this.truncateText(fullText, 300);\r\n                  button.textContent = 'Show More';\r\n              }\r\n          }\r\n  \r\n          \/\/ Helper function to escape HTML\r\n          escapeHtml(text) {\r\n              const div = document.createElement('div');\r\n              div.textContent = text;\r\n              return div.innerHTML;\r\n          }\r\n  \r\n          \/\/ Video control functions\r\n          playVideo(postId) {\r\n              const video = document.getElementById(`video-${postId}`);\r\n              const overlay = document.getElementById(`play-overlay-${postId}`);\r\n  \r\n              if (video.paused) {\r\n                  video.play();\r\n                  overlay.innerHTML = '\u23f8\ufe0f';\r\n                  overlay.style.display = 'flex';\r\n              } else {\r\n                  video.pause();\r\n                  overlay.innerHTML = '\u25b6';\r\n                  overlay.style.display = 'flex';\r\n              }\r\n  \r\n              \/\/ Update overlay when video ends\r\n              video.addEventListener('ended', () => {\r\n                  overlay.innerHTML = '\u25b6';\r\n                  overlay.style.display = 'flex';\r\n              });\r\n          }\r\n  \r\n          toggleVideoPlayPause(postId) {\r\n              const video = document.getElementById(`video-${postId}`);\r\n              const overlay = document.getElementById(`play-overlay-${postId}`);\r\n  \r\n              if (video.paused) {\r\n                  video.play();\r\n                  overlay.innerHTML = '\u23f8\ufe0f';\r\n                  overlay.style.display = 'flex';\r\n              } else {\r\n                  video.pause();\r\n                  overlay.innerHTML = '\u25b6';\r\n                  overlay.style.display = 'flex';\r\n              }\r\n          }\r\n  \r\n          async streamWithAudio(event, redditUrl, postId) {\r\n              const button = event.target;\r\n              const originalText = button.innerHTML;\r\n              const videoContainer = document.querySelector(`#video-${postId}`).parentElement;\r\n  \r\n              \/\/ Show loading overlay\r\n              const loadingOverlay = document.createElement('div');\r\n              loadingOverlay.className = 'video-loading-overlay';\r\n              loadingOverlay.innerHTML = `\r\n                  <div class=\"video-loading-spinner\"><\/div>\r\n                  <div>Loading audio-enabled video...<\/div>\r\n              `;\r\n              videoContainer.appendChild(loadingOverlay);\r\n  \r\n              button.disabled = true;\r\n              button.classList.add('loading');\r\n              button.innerHTML = '\u23f3 Loading Audio...';\r\n  \r\n              try {\r\n                  console.log('Fetching audio-enabled video for:', redditUrl);\r\n  \r\n                  const response = await fetch('https:\/\/tools.xrespond.com\/api\/reddit\/video\/downloader', {\r\n                      method: 'POST',\r\n                      headers: {\r\n                          'Content-Type': 'application\/x-www-form-urlencoded',\r\n                      },\r\n                      body: `url=${encodeURIComponent(redditUrl)}`\r\n                  });\r\n  \r\n                  if (!response.ok) {\r\n                      throw new Error(`API request failed: ${response.status}`);\r\n                  }\r\n  \r\n                  const data = await response.json();\r\n  \r\n                  if (data.success && data.data && data.data.data && data.data.data.links && data.data.data.links.length > 0) {\r\n                      const downloadUrl = data.data.data.links[0].download_url;\r\n  \r\n                      const videoElement = document.getElementById(`video-${postId}`);\r\n                      if (videoElement) {\r\n                          videoElement.src = downloadUrl;\r\n                          videoElement.load();\r\n  \r\n                          button.innerHTML = '\ud83d\udd0a Audio Loaded!';\r\n                          button.style.background = 'var(--gradient-accent)';\r\n  \r\n                          setTimeout(() => {\r\n                              button.innerHTML = '\ud83d\udd0a Stream with Audio';\r\n                              button.style.background = '';\r\n                              button.disabled = false;\r\n                              button.classList.remove('loading');\r\n                          }, 2000);\r\n                      }\r\n                  } else {\r\n                      throw new Error('Invalid API response format');\r\n                  }\r\n              } catch (error) {\r\n                  console.error('Error fetching audio video:', error);\r\n                  button.innerHTML = '\u274c Audio Failed';\r\n                  button.style.background = 'var(--gradient-accent)';\r\n  \r\n                  setTimeout(() => {\r\n                      button.innerHTML = originalText;\r\n                      button.style.background = '';\r\n                      button.disabled = false;\r\n                      button.classList.remove('loading');\r\n                  }, 3000);\r\n              } finally {\r\n                  \/\/ Remove loading overlay\r\n                  if (loadingOverlay && loadingOverlay.parentElement) {\r\n                      loadingOverlay.parentElement.removeChild(loadingOverlay);\r\n                  }\r\n              }\r\n          }\r\n  \r\n          async downloadVideoWithAudio(event, redditUrl, filename, postId) {\r\n              const button = event.target;\r\n              const originalText = button.innerHTML;\r\n              button.disabled = true;\r\n              button.classList.add('downloading');\r\n              button.innerHTML = '\u23f3 Preparing...';\r\n  \r\n              this.downloadController = new AbortController();\r\n  \r\n              try {\r\n                  this.showDownloadProgress('Fetching audio-enabled video...', 0);\r\n  \r\n                  const response = await fetch('https:\/\/tools.xrespond.com\/api\/reddit\/video\/downloader', {\r\n                      method: 'POST',\r\n                      headers: {\r\n                          'Content-Type': 'application\/x-www-form-urlencoded',\r\n                      },\r\n                      body: `url=${encodeURIComponent(redditUrl)}`,\r\n                      signal: this.downloadController.signal\r\n                  });\r\n  \r\n                  if (!response.ok) {\r\n                      throw new Error(`API request failed: ${response.status}`);\r\n                  }\r\n  \r\n                  const data = await response.json();\r\n  \r\n                  if (data.success && data.data && data.data.data && data.data.data.links && data.data.data.links.length > 0) {\r\n                      const downloadUrl = data.data.data.links[0].download_url;\r\n  \r\n                      this.showDownloadProgress('Starting video download...', 10);\r\n  \r\n                      const videoResponse = await fetch(downloadUrl, {\r\n                          signal: this.downloadController.signal\r\n                      });\r\n  \r\n                      if (!videoResponse.ok) {\r\n                          throw new Error(`Download failed: ${videoResponse.status}`);\r\n                      }\r\n  \r\n                      const totalSize = parseInt(videoResponse.headers.get('content-length') || '0');\r\n                      const reader = videoResponse.body.getReader();\r\n                      let receivedSize = 0;\r\n                      const chunks = [];\r\n  \r\n                      while (true) {\r\n                          const { done, value } = await reader.read();\r\n                          if (done) break;\r\n  \r\n                          chunks.push(value);\r\n                          receivedSize += value.length;\r\n  \r\n                          const progress = totalSize ? 10 + (receivedSize \/ totalSize) * 80 : 50;\r\n                          this.showDownloadProgress('Downloading video with audio...', progress, receivedSize, totalSize);\r\n                      }\r\n  \r\n                      this.showDownloadProgress('Processing download...', 95, receivedSize, totalSize);\r\n  \r\n                      const blob = new Blob(chunks, { type: 'video\/mp4' });\r\n                      const downloadBlobUrl = URL.createObjectURL(blob);\r\n  \r\n                      const a = document.createElement('a');\r\n                      a.href = downloadBlobUrl;\r\n                      a.download = filename;\r\n                      a.style.display = 'none';\r\n                      document.body.appendChild(a);\r\n                      a.click();\r\n                      document.body.removeChild(a);\r\n  \r\n                      setTimeout(() => URL.revokeObjectURL(downloadBlobUrl), 1000);\r\n  \r\n                      this.showDownloadProgress('Download completed!', 100, receivedSize, totalSize);\r\n                      setTimeout(() => this.hideDownloadProgress(), 3000);\r\n                  } else {\r\n                      throw new Error('Invalid API response format');\r\n                  }\r\n              } catch (error) {\r\n                  if (error.name === 'AbortError') {\r\n                      this.showDownloadProgress('Download cancelled', 0);\r\n                      setTimeout(() => this.hideDownloadProgress(), 2000);\r\n                  } else {\r\n                      console.error('Download error:', error);\r\n                      this.showError(`Download failed: ${error.message}`);\r\n                      this.hideDownloadProgress();\r\n                  }\r\n              } finally {\r\n                  button.disabled = false;\r\n                  button.classList.remove('downloading');\r\n                  button.innerHTML = originalText;\r\n                  this.downloadController = null;\r\n              }\r\n          }\r\n  \r\n          async downloadImageBase64WithButtonSpinner(event, btn, imageUrl, filename) {\r\n              event.preventDefault();\r\n              const textSpan = btn.querySelector('.btn-text');\r\n              const spinnerSpan = btn.querySelector('.btn-spinner');\r\n              btn.disabled = true;\r\n              textSpan.style.display = 'none';\r\n              spinnerSpan.style.display = 'inline-block';\r\n              try {\r\n                  const proxyUrl = `https:\/\/tools.xrespond.com\/api\/reddit\/proxy-media-base64?url=${encodeURIComponent(imageUrl)}`;\r\n                  const response = await fetch(proxyUrl);\r\n                  if (!response.ok) throw new Error('Failed to fetch image');\r\n                  const data = await response.json();\r\n                  const base64data = `data:${data.contentType};base64,${data.base64}`;\r\n                  const a = document.createElement('a');\r\n                  a.href = base64data;\r\n                  a.download = filename;\r\n                  document.body.appendChild(a);\r\n                  a.click();\r\n                  document.body.removeChild(a);\r\n                  await new Promise(res => setTimeout(res, 1200)); \/\/ Show spinner briefly\r\n              } catch (error) {\r\n                  this.showError('Could not download image. Please try again later.');\r\n              } finally {\r\n                  btn.disabled = false;\r\n                  textSpan.style.display = '';\r\n                  spinnerSpan.style.display = 'none';\r\n              }\r\n          }\r\n  \r\n          showDownloadProgress(text, progress = 0, downloaded = 0, total = 0) {\r\n              const progressDiv = document.getElementById('downloadProgress');\r\n              const progressText = document.getElementById('progressText');\r\n              const progressFill = document.getElementById('progressBarFill');\r\n              const progressPercent = document.getElementById('progressPercent');\r\n              const progressSize = document.getElementById('progressSize');\r\n  \r\n              progressText.textContent = text;\r\n              progressFill.style.width = `${progress}%`;\r\n              progressPercent.textContent = `${Math.round(progress)}%`;\r\n              progressSize.textContent = `${this.formatFileSize(downloaded)} \/ ${this.formatFileSize(total)}`;\r\n  \r\n              progressDiv.classList.add('show');\r\n          }\r\n  \r\n          hideDownloadProgress() {\r\n              document.getElementById('downloadProgress').classList.remove('show');\r\n          }\r\n  \r\n          cancelDownload() {\r\n              if (this.downloadController) {\r\n                  this.downloadController.abort();\r\n                  this.downloadController = null;\r\n              }\r\n          }\r\n  \r\n          formatFileSize(bytes) {\r\n              if (bytes === 0) return '0 Bytes';\r\n              const k = 1024;\r\n              const sizes = ['Bytes', 'KB', 'MB', 'GB'];\r\n              const i = Math.floor(Math.log(bytes) \/ Math.log(k));\r\n              return parseFloat((bytes \/ Math.pow(k, i)).toFixed(2)) + ' ' + sizes[i];\r\n          }\r\n  \r\n          newSearch() {\r\n              document.getElementById('usernameInput').value = '';\r\n              document.getElementById('userInfo').style.display = 'none';\r\n              document.getElementById('postsSection').style.display = 'none';\r\n              this.clearError();\r\n              document.getElementById('usernameInput').focus();\r\n          }\r\n  \r\n          setupModal() {\r\n              const modal = document.getElementById('imageModal');\r\n              const closeBtn = document.querySelector('.close');\r\n  \r\n              closeBtn.onclick = () => {\r\n                  modal.style.display = 'none';\r\n              }\r\n  \r\n              window.onclick = (event) => {\r\n                  if (event.target === modal) {\r\n                      modal.style.display = 'none';\r\n                  }\r\n              }\r\n          }\r\n  \r\n          openImageModal(imageUrl) {\r\n              const modal = document.getElementById('imageModal');\r\n              const modalImg = document.getElementById('modalImage');\r\n              modal.style.display = 'block';\r\n              modalImg.src = imageUrl;\r\n          }\r\n  \r\n          showLoading(show) {\r\n              const searchBtn = document.getElementById('searchBtn');\r\n              const searchText = document.getElementById('searchText');\r\n              const searchSpinner = document.getElementById('searchSpinner');\r\n              const loading = document.getElementById('loading');\r\n  \r\n              if (show) {\r\n                  searchBtn.disabled = true;\r\n                  searchText.style.display = 'none';\r\n                  searchSpinner.style.display = 'block';\r\n                  loading.style.display = 'block';\r\n              } else {\r\n                  searchBtn.disabled = false;\r\n                  searchText.style.display = 'block';\r\n                  searchSpinner.style.display = 'none';\r\n                  loading.style.display = 'none';\r\n              }\r\n          }\r\n  \r\n          showPostsSection(show) {\r\n              const postsSection = document.getElementById('postsSection');\r\n              postsSection.style.display = show ? 'block' : 'none';\r\n          }\r\n  \r\n          showError(message) {\r\n              const errorContainer = document.getElementById('errorMessage');\r\n              errorContainer.textContent = message;\r\n              errorContainer.style.display = 'block';\r\n              setTimeout(() => {\r\n                  errorContainer.style.display = 'none';\r\n              }, 8000);\r\n          }\r\n  \r\n          clearError() {\r\n              document.getElementById('errorMessage').style.display = 'none';\r\n          }\r\n  \r\n          formatNumber(num) {\r\n              if (num >= 1000000) {\r\n                  return (num \/ 1000000).toFixed(1) + 'M';\r\n              } else if (num >= 1000) {\r\n                  return (num \/ 1000).toFixed(1) + 'K';\r\n              }\r\n              return num.toString();\r\n          }\r\n  \r\n          formatDate(timestamp) {\r\n              return new Date(timestamp * 1000).toLocaleDateString('en-US', {\r\n                  year: 'numeric',\r\n                  month: 'short',\r\n                  day: 'numeric'\r\n              });\r\n          }\r\n  \r\n          formatDuration(seconds) {\r\n              const mins = Math.floor(seconds \/ 60);\r\n              const secs = seconds % 60;\r\n              return `${mins}:${secs.toString().padStart(2, '0')}`;\r\n          }\r\n  \r\n          truncateText(text, maxLength) {\r\n              if (text.length <= maxLength) return text;\r\n              return text.substring(0, maxLength) + '...';\r\n          }\r\n  \r\n          sanitizeFilename(filename) {\r\n              return filename.replace(\/[^a-z0-9]\/gi, '_').toLowerCase();\r\n          }\r\n      }\r\n  \r\n      \/\/ Global function for cancel download\r\n      function cancelDownload() {\r\n          redditExplorer.cancelDownload();\r\n      }\r\n  \r\n      \/\/ Initialize the app\r\n      const redditExplorer = new RedditUserExplorerPro();\r\n  <\/script>\r\n    <!-- Vvveb Common Js -->\r\n    <script id=\"popper-js\" src=\"..\/js\/popper.min.js\"><\/script>\r\n    <!-- Vvveb Ajax Common Js -->\r\n    <script id=\"app-js\" src=\"..\/js\/app.js\"><\/script>\r\n    \r\n    <!-- Scripts -->\r\n      <script src=\"https:\/\/cdn.jsdelivr.net\/npm\/bootstrap@5.3.0\/dist\/js\/bootstrap.bundle.min.js\"><\/script>\r\n      <script src=\"https:\/\/unpkg.com\/aos@2.3.1\/dist\/aos.js\"><\/script>\r\n  \r\n  \r\n    <!-- Animation -->\r\n  \r\n    <link rel=\"stylesheet\" href=\"..\/js\/aos.css\">\r\n    <noscript>\r\n      <style type=\"text\/css\">\r\n        [data-aos] {\r\n          opacity: 1 !important;\r\n          transform: translate(0) scale(1) !important;\r\n        }\r\n      <\/style>\r\n    <\/noscript>\r\n  \r\n    <script src=\"..\/js\/aos.js\"><\/script>\r\n    <script src=\"..\/js\/theme.js\"><\/script>\r\n  \r\n        <\/div>\r\n\r\n  <script>\r\n          \/\/ Initialize AOS animation\r\n          AOS.init({\r\n              duration: 800,\r\n              easing: 'ease-in-out',\r\n              once: true\r\n          });\r\n          \r\n          \/\/ Smooth scrolling for anchor links\r\n          document.querySelectorAll('a[href^=\"#\"]').forEach(anchor => {\r\n              anchor.addEventListener('click', function (e) {\r\n                  e.preventDefault();\r\n                  document.querySelector(this.getAttribute('href')).scrollIntoView({\r\n                      behavior: 'smooth'\r\n                  });\r\n              });\r\n          });\r\n  <\/script>\r\n  \r\n  <grammarly-desktop-integration data-grammarly-shadow-root=\"true\"><\/grammarly-desktop-integration><grammarly-desktop-integration data-grammarly-shadow-root=\"true\"><\/grammarly-desktop-integration>\r\n  <script defer=\"\" src=\"https:\/\/static.cloudflareinsights.com\/beacon.min.js\/vcd15cbe7772f49c399c6a5babf22c1241717689176015\" integrity=\"sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==\" data-cf-beacon=\"{\"version\":\"2024.11.0\",\"token\":\"786b797d7952407aac48ed2776a3a826\",\"r\":1,\"server_timing\":{\"name\":{\"cfCacheStatus\":true,\"cfEdge\":true,\"cfExtPri\":true,\"cfL4\":true,\"cfOrigin\":true,\"cfSpeedBrain\":true},\"location_startswith\":null}}\" crossorigin=\"anonymous\"><\/script>\r\n  <script defer=\"\" src=\"https:\/\/static.cloudflareinsights.com\/beacon.min.js\/v8c78df7c7c0f484497ecbca7046644da1771523124516\" integrity=\"sha512-8DS7rgIrAmghBFwoOTujcf6D9rXvH8xm8JQ1Ja01h9QX8EzXldiszufYa4IFfKdLUKTTrnSFXLDkUEOTrZQ8Qg==\" data-cf-beacon=\"{\"version\":\"2024.11.0\",\"token\":\"786b797d7952407aac48ed2776a3a826\",\"r\":1,\"server_timing\":{\"name\":{\"cfCacheStatus\":true,\"cfEdge\":true,\"cfExtPri\":true,\"cfL4\":true,\"cfOrigin\":true,\"cfSpeedBrain\":true},\"location_startswith\":null}}\" crossorigin=\"anonymous\"><\/script>\r\n [\/et_pb_fullwidth_code][\/et_pb_section]\n","protected":false},"excerpt":{"rendered":"    <link rel=\"canonical\" href=\"\">\r\n  \r\n      <!-- Favicon -->\r\n     \r\n      \r\n      <!-- Google Fonts - Premium Typography -->\r\n      <link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\r\n      <link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin=\"\">\r\n      <link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@300;400;500;600;700;800;900&family=Space+Grotesk:wght@300;400;500;600;700&family=Manrope:wght@300;400;500;600;700;800&display=swap\" rel=\"stylesheet\">\r\n      \r\n      <!-- Bootstrap CSS -->\r\n      <link href=\"https:\/\/cdn.jsdelivr.net\/npm\/bootstrap@5.3.0\/dist\/css\/bootstrap.min.css\" rel=\"stylesheet\">\r\n      <!-- Boxicons -->\r\n      <link href=\"https:\/\/unpkg.com\/boxicons@2.1.4\/css\/boxicons.min.css\" rel=\"stylesheet\">\r\n      <!-- AOS Animation -->\r\n      <link href=\"https:\/\/unpkg.com\/aos@2.3.1\/dist\/aos.css\" rel=\"stylesheet\">    \r\n  \r\n  <style id=\"vvvebjs-styles\">\r\n      \/* Scoped to .va-home-wrapper \u2014 no global body\/html\/h1\u2013h6 (WordPress-safe) *\/\r\n      .va-home-wrapper {\r\n            --va-home-primary: #6366F1;\r\n            --va-home-primary-dark: #4F46E5;\r\n            --va-home-primary-light: #818CF8;\r\n            --va-home-secondary: #8c60ff;\r\n            --va-home-accent: #10B981;\r\n            --va-home-dark: #0F172A;\r\n            --va-home-dark-lighter: #1E293B;\r\n            --va-home-gray: #64748B;\r\n            --va-home-soft-bg: #F1F5F9;\r\n            --va-home-light-gray: #F1F5F9;\r\n            --va-home-white: #FFFFFF;\r\n            --va-home-gradient-1: linear-gradient(135deg, #6366F1 0%, #8c60ff 100%);\r\n            --va-home-gradient-2: linear-gradient(135deg, #6366F1 0%, #8c60ff 100%);\r\n            --va-home-gradient-hero: linear-gradient(135deg, #0F172A 0%, #1E293B 50%, #334155 100%);\r\n            --va-home-gradient-text: linear-gradient(135deg, #6366F1 0%, #8c60ff 100%);\r\n            --va-home-shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.05);\r\n            --va-home-shadow-md: 0 4px 6px rgba(0, 0, 0, 0.07);\r\n            --va-home-shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.1);\r\n            --va-home-shadow-xl: 0 20px 25px rgba(0, 0, 0, 0.1);\r\n\r\n            --rduv-section-padding: 100px 0;\r\n            --rduv-primary-color: var(--va-home-primary);\r\n            --rduv-secondary-color: var(--va-home-secondary);\r\n            --rduv-dark-color: var(--va-home-dark);\r\n            --rduv-light-color: var(--va-home-white);\r\n            --rduv-gray-color: var(--va-home-soft-bg);\r\n            --rduv-primary-hover: var(--va-home-primary-dark);\r\n            --rduv-secondary-hover: var(--va-home-primary-light);\r\n            --rduv-muted-on-light: var(--va-home-gray);\r\n\r\n            --primary-color: var(--va-home-primary);\r\n            --primary-light: var(--va-home-primary-light);\r\n            --primary-dark: var(--va-home-primary-dark);\r\n            --secondary-color: var(--va-home-secondary);\r\n            --secondary-light: #a78bfa;\r\n            --secondary-dark: #6d28d9;\r\n            --accent-color: var(--va-home-accent);\r\n            --accent-light: #34D399;\r\n            --accent-dark: #059669;\r\n            --warning-color: #F59E0B;\r\n            --warning-light: #FBBF24;\r\n            --danger-color: #EF4444;\r\n            --danger-light: #F87171;\r\n            --success-color: #22C55E;\r\n            --success-light: #4ADE80;\r\n            --bg-primary: #0F172A;\r\n            --bg-secondary: #1E293B;\r\n            --bg-tertiary: #334155;\r\n            --bg-card: #1E293B;\r\n            --glass-bg: rgba(99, 102, 241, 0.1);\r\n            --glass-border: rgba(99, 102, 241, 0.22);\r\n            --text-primary: #F8FAFC;\r\n            --text-secondary: #CBD5E1;\r\n            --text-muted: #94A3B8;\r\n            --text-accent: #A78BFA;\r\n            --shadow-sm: var(--va-home-shadow-sm);\r\n            --shadow-md: var(--va-home-shadow-md);\r\n            --shadow-lg: var(--va-home-shadow-lg);\r\n            --shadow-xl: var(--va-home-shadow-xl);\r\n            --gradient-primary: var(--va-home-gradient-1);\r\n            --gradient-secondary: var(--va-home-gradient-2);\r\n            --gradient-accent: linear-gradient(135deg, #10B981, #34D399);\r\n      }\r\n\r\n      .va-home-wrapper,\r\n      .va-home-wrapper *,\r\n      .va-home-wrapper *::before,\r\n      .va-home-wrapper *::after {\r\n            box-sizing: border-box;\r\n      }\r\n\r\n      .va-home-wrapper {\r\n            font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;\r\n            overflow-x: hidden;\r\n            background-color: var(--va-home-white);\r\n            color: var(--va-home-dark);\r\n            line-height: 1.6;\r\n            scroll-behavior: smooth;\r\n      }\r\n\r\n      .va-home-wrapper .rduv-hero-section {\r\n              padding: var(--rduv-section-padding);\r\n              text-align: center;\r\n              background-color: var(--rduv-light-color);\r\n          }\r\n\r\n      .va-home-wrapper .rduv-hero-content {\r\n              position: relative;\r\n              z-index: 1;\r\n          }\r\n\r\n      .va-home-wrapper .rduv-hero-section .rduv-hero-heading {\r\n              font-family: 'Space Grotesk', -apple-system, BlinkMacSystemFont, sans-serif;\r\n              font-size: 3.5rem;\r\n              font-weight: 700;\r\n              margin-bottom: 1.5rem;\r\n              background: var(--va-home-gradient-text);\r\n              -webkit-background-clip: text;\r\n              -webkit-text-fill-color: transparent;\r\n              background-clip: text;\r\n              line-height: 1.2;\r\n              color: var(--va-home-dark);\r\n          }\r\n\r\n      .va-home-wrapper .rduv-hero-section .rduv-hero-lead {\r\n              font-size: 1.25rem;\r\n              max-width: 700px;\r\n              margin: 0 auto 2rem;\r\n              font-weight: 400;\r\n              color: var(--rduv-muted-on-light);\r\n          }\r\n\r\n      .va-home-wrapper .rduv-work-process-section {\r\n              padding: var(--rduv-section-padding);\r\n              background: var(--va-home-soft-bg);\r\n              color: var(--va-home-dark);\r\n              position: relative;\r\n              overflow: hidden;\r\n              border-top: 1px solid rgba(99, 102, 241, 0.12);\r\n              border-bottom: 1px solid rgba(99, 102, 241, 0.12);\r\n          }\r\n\r\n      .va-home-wrapper .rduv-work-process-section::before {\r\n              content: '';\r\n              position: absolute;\r\n              top: 0;\r\n              left: 0;\r\n              width: 100%;\r\n              height: 100%;\r\n              background: radial-gradient(ellipse 80% 50% at 50% 0%, rgba(99, 102, 241, 0.06) 0%, transparent 55%);\r\n              pointer-events: none;\r\n          }\r\n\r\n      .va-home-wrapper .rduv-work-process-section .rduv-light-title,\r\n      .va-home-wrapper .rduv-work-process-section .rduv-section-title {\r\n              color: var(--va-home-dark);\r\n          }\r\n\r\n      .va-home-wrapper .rduv-work-process-section .rduv-light-title::after {\r\n              background: var(--va-home-gradient-text);\r\n          }\r\n\r\n      .va-home-wrapper .rduv-work-process-section .rduv-light-subtitle,\r\n      .va-home-wrapper .rduv-work-process-section .rduv-section-subtitle {\r\n              color: var(--rduv-muted-on-light);\r\n          }\r\n\r\n      .va-home-wrapper .rduv-work-process-section .rduv-process-step .rduv-step-heading {\r\n              color: var(--va-home-dark) !important;\r\n          }\r\n\r\n      .va-home-wrapper .rduv-work-process-content {\r\n              position: relative;\r\n              z-index: 1;\r\n          }\r\n\r\n      .va-home-wrapper .rduv-process-step {\r\n              text-align: center;\r\n              padding: 30px 20px;\r\n              position: relative;\r\n              z-index: 1;\r\n              background: var(--va-home-white);\r\n              border-radius: 16px;\r\n              margin: 15px;\r\n              border: 1px solid rgba(99, 102, 241, 0.18);\r\n              box-shadow: var(--va-home-shadow-md);\r\n              transition: all 0.3s ease;\r\n              color: var(--va-home-dark);\r\n          }\r\n\r\n      .va-home-wrapper .rduv-process-step:hover {\r\n              transform: translateY(-8px);\r\n              box-shadow: var(--va-home-shadow-lg);\r\n              border-color: rgba(99, 102, 241, 0.35);\r\n          }\r\n\r\n      .va-home-wrapper .rduv-step-number {\r\n              width: 60px;\r\n              height: 60px;\r\n              background: var(--va-home-gradient-1);\r\n              color: white;\r\n              border-radius: 50%;\r\n              display: flex;\r\n              align-items: center;\r\n              justify-content: center;\r\n              font-weight: 700;\r\n              margin: 0 auto 20px;\r\n              font-size: 1.5rem;\r\n              box-shadow: var(--va-home-shadow-md);\r\n          }\r\n\r\n      .va-home-wrapper .rduv-features-section {\r\n              padding: var(--rduv-section-padding);\r\n              background: var(--va-home-white);\r\n          }\r\n\r\n      .va-home-wrapper .rduv-feature-card {\r\n              padding: 40px 30px;\r\n              border-radius: 16px;\r\n              background: var(--va-home-white);\r\n              box-shadow: var(--va-home-shadow-md);\r\n              margin-bottom: 30px;\r\n              transition: all 0.3s ease;\r\n              border: 1px solid rgba(15, 23, 42, 0.06);\r\n              height: 100%;\r\n              position: relative;\r\n              overflow: hidden;\r\n          }\r\n\r\n      .va-home-wrapper .rduv-feature-card::before {\r\n              content: '';\r\n              position: absolute;\r\n              top: 0;\r\n              left: 0;\r\n              width: 4px;\r\n              height: 100%;\r\n              background: var(--va-home-gradient-1);\r\n              transition: all 0.3s ease;\r\n          }\r\n\r\n      .va-home-wrapper .rduv-feature-card:hover {\r\n              transform: translateY(-10px);\r\n              box-shadow: var(--va-home-shadow-lg);\r\n          }\r\n\r\n      .va-home-wrapper .rduv-feature-card:hover::before {\r\n              width: 100%;\r\n              opacity: 0.08;\r\n          }\r\n\r\n      .va-home-wrapper .rduv-feature-icon {\r\n              width: 70px;\r\n              height: 70px;\r\n              border-radius: 20px;\r\n              display: flex;\r\n              align-items: center;\r\n              justify-content: center;\r\n              margin-bottom: 25px;\r\n              background: var(--va-home-gradient-1);\r\n              color: white;\r\n              font-size: 1.8rem;\r\n              transition: all 0.3s ease;\r\n          }\r\n\r\n      .va-home-wrapper .rduv-feature-card:hover .rduv-feature-icon {\r\n              transform: rotate(15deg) scale(1.1);\r\n              background: var(--va-home-gradient-2);\r\n          }\r\n\r\n      .va-home-wrapper .rduv-feature-card .rduv-feature-heading {\r\n              font-family: 'Space Grotesk', -apple-system, BlinkMacSystemFont, sans-serif;\r\n              font-weight: 700;\r\n              color: var(--va-home-dark);\r\n              line-height: 1.2;\r\n          }\r\n\r\n      .va-home-wrapper .rduv-why-choose-section {\r\n              padding: var(--rduv-section-padding);\r\n              background: var(--va-home-soft-bg);\r\n          }\r\n\r\n      .va-home-wrapper .rduv-why-choose-image {\r\n              border-radius: 16px;\r\n              overflow: hidden;\r\n              box-shadow: var(--va-home-shadow-lg);\r\n              transform: perspective(1000px) rotateY(-5deg);\r\n              transition: all 0.5s ease;\r\n          }\r\n\r\n      .va-home-wrapper .rduv-why-choose-image:hover {\r\n              transform: perspective(1000px) rotateY(0deg);\r\n          }\r\n\r\n      .va-home-wrapper .rduv-benefit-item {\r\n              display: flex;\r\n              align-items: flex-start;\r\n              margin-bottom: 20px;\r\n              padding: 15px;\r\n              border-radius: 12px;\r\n              background: var(--va-home-white);\r\n              box-shadow: var(--va-home-shadow-sm);\r\n              transition: all 0.3s ease;\r\n          }\r\n\r\n      .va-home-wrapper .rduv-benefit-item:hover {\r\n              transform: translateX(10px);\r\n              box-shadow: var(--va-home-shadow-md);\r\n          }\r\n\r\n      .va-home-wrapper .rduv-benefit-icon {\r\n              width: 40px;\r\n              height: 40px;\r\n              border-radius: 12px;\r\n              display: flex;\r\n              align-items: center;\r\n              justify-content: center;\r\n              margin-right: 15px;\r\n              background: var(--va-home-gradient-1);\r\n              color: white;\r\n              font-size: 1.2rem;\r\n              flex-shrink: 0;\r\n          }\r\n\r\n      .va-home-wrapper .rduv-benefit-item .rduv-benefit-heading {\r\n              font-family: 'Space Grotesk', -apple-system, BlinkMacSystemFont, sans-serif;\r\n              font-weight: 700;\r\n              color: var(--va-home-dark);\r\n              line-height: 1.2;\r\n          }\r\n\r\n      .va-home-wrapper .rduv-faq-section {\r\n              padding: var(--rduv-section-padding);\r\n              background: var(--va-home-white);\r\n          }\r\n\r\n      .va-home-wrapper .rduv-accordion-item {\r\n              border: none;\r\n              border-radius: 12px !important;\r\n              overflow: hidden;\r\n              margin-bottom: 15px;\r\n              box-shadow: var(--va-home-shadow-sm);\r\n          }\r\n\r\n      .va-home-wrapper .rduv-accordion-button {\r\n              font-weight: 600;\r\n              color: var(--rduv-dark-color);\r\n              padding: 20px 25px;\r\n              background: var(--va-home-white);\r\n              box-shadow: none;\r\n              border-radius: 12px 12px 0 0 !important;\r\n          }\r\n\r\n      .va-home-wrapper .rduv-accordion-button:not(.collapsed) {\r\n              background: var(--va-home-white);\r\n              color: var(--rduv-primary-color);\r\n              box-shadow: none;\r\n          }\r\n\r\n      .va-home-wrapper .rduv-accordion-button:focus {\r\n              box-shadow: none;\r\n              border-color: rgba(99, 102, 241, 0.35);\r\n          }\r\n\r\n      .va-home-wrapper .rduv-accordion-button::after {\r\n              background-image: url(\"data:image\/svg+xml,%3csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 16 16' fill='%236366F1'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'\/%3e%3c\/svg%3e\");\r\n          }\r\n\r\n      .va-home-wrapper .rduv-accordion-body {\r\n              padding: 25px;\r\n              color: var(--rduv-muted-on-light);\r\n          }\r\n\r\n      .va-home-wrapper .rduv-section-title {\r\n              font-family: 'Space Grotesk', -apple-system, BlinkMacSystemFont, sans-serif;\r\n              font-weight: 700;\r\n              color: var(--rduv-dark-color);\r\n              margin-bottom: 1.5rem;\r\n              position: relative;\r\n              display: inline-block;\r\n              line-height: 1.2;\r\n          }\r\n\r\n      .va-home-wrapper .rduv-section-title::after {\r\n              content: '';\r\n              position: absolute;\r\n              bottom: -10px;\r\n              left: 0;\r\n              width: 60px;\r\n              height: 4px;\r\n              background: var(--va-home-gradient-text);\r\n              border-radius: 2px;\r\n          }\r\n\r\n      .va-home-wrapper .rduv-light-title {\r\n              color: var(--va-home-white);\r\n          }\r\n\r\n      .va-home-wrapper .rduv-light-title::after {\r\n              background: var(--va-home-white);\r\n          }\r\n\r\n      .va-home-wrapper .rduv-section-subtitle {\r\n              color: var(--rduv-muted-on-light);\r\n              max-width: 700px;\r\n              margin: 0 auto 3rem;\r\n              font-size: 1.1rem;\r\n          }\r\n\r\n      .va-home-wrapper .rduv-light-subtitle {\r\n              color: rgba(15, 23, 42, 0.72);\r\n          }\r\n\r\n      .va-home-wrapper .rduv-work-process-section .rduv-light-subtitle {\r\n              color: var(--rduv-muted-on-light);\r\n          }\r\n\r\n      @media (max-width: 991px) {\r\n              .va-home-wrapper {\r\n                  --rduv-section-padding: 80px 0;\r\n              }\r\n\r\n              .va-home-wrapper .rduv-hero-section .rduv-hero-heading {\r\n                  font-size: 2.8rem;\r\n              }\r\n\r\n              .va-home-wrapper .rduv-process-step::before {\r\n                  display: none;\r\n              }\r\n          }\r\n\r\n      @media (max-width: 767px) {\r\n              .va-home-wrapper {\r\n                  --rduv-section-padding: 70px 0;\r\n              }\r\n\r\n              .va-home-wrapper .rduv-hero-section {\r\n                  padding: 100px 0 60px;\r\n              }\r\n\r\n              .va-home-wrapper .rduv-hero-section .rduv-hero-heading {\r\n                  font-size: 2.2rem;\r\n              }\r\n\r\n              .va-home-wrapper .rduv-hero-section .rduv-hero-lead {\r\n                  font-size: 1rem;\r\n              }\r\n\r\n              .va-home-wrapper .rduv-section-title {\r\n                  font-size: 1.8rem;\r\n              }\r\n          }\r\n\r\n      @keyframes rduv-float {\r\n              0% { transform: translateY(0px); }\r\n              50% { transform: translateY(-15px); }\r\n              100% { transform: translateY(0px); }\r\n          }\r\n\r\n      .va-home-wrapper .rduv-floating-element {\r\n              animation: rduv-float 6s ease-in-out infinite;\r\n          }\r\n\r\n  <\/style>\r\n  <!-- tools -->\r\n  <style>\r\n      \/* Tool UI: variables live on .va-home-wrapper (vvvebjs-styles). All rules scoped. *\/\r\n\r\n      .va-home-wrapper .rduv-hero-tools-section {\r\n          font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;\r\n          background: var(--va-home-gradient-hero);\r\n          padding: 80px 0;\r\n          line-height: 1.6;\r\n          color: var(--text-primary);\r\n          overflow-x: hidden;\r\n      }\r\n  \r\n      .va-home-wrapper .custom-rduv-container {\r\n          max-width: 1400px;\r\n          margin: 0 auto;\r\n          padding: 20px;\r\n          position: relative;\r\n      }\r\n  \r\n      .va-home-wrapper .header {\r\n          text-align: center;\r\n          margin-bottom: 40px;\r\n          padding: 40px 0;\r\n          animation: slideInDown 1s ease-out;\r\n      }\r\n  \r\n      .va-home-wrapper .logo {\r\n          display: flex;\r\n          align-items: center;\r\n          justify-content: center;\r\n          gap: 20px;\r\n          margin-bottom: 25px;\r\n          flex-wrap: wrap;\r\n      }\r\n  \r\n      .va-home-wrapper .logo-icon {\r\n          width: 80px;\r\n          height: 80px;\r\n          background: var(--gradient-primary);\r\n          border-radius: 20px;\r\n          display: flex;\r\n          align-items: center;\r\n          justify-content: center;\r\n          color: white;\r\n          font-size: 36px;\r\n          font-weight: 800;\r\n          box-shadow: var(--shadow-lg);\r\n          animation: float 3s ease-in-out infinite;\r\n          position: relative;\r\n          overflow: hidden;\r\n      }\r\n  \r\n      .va-home-wrapper .logo-icon::before {\r\n          content: '';\r\n          position: absolute;\r\n          top: -50%;\r\n          left: -50%;\r\n          width: 200%;\r\n          height: 200%;\r\n          background: linear-gradient(45deg, transparent, rgba(255, 255, 255, 0.1), transparent);\r\n          transform: rotate(45deg);\r\n          animation: shine 3s infinite;\r\n      }\r\n  \r\n      .va-home-wrapper .reddit-badge {\r\n          background: var(--gradient-secondary);\r\n          color: white;\r\n          padding: 8px 16px;\r\n          border-radius: 25px;\r\n          font-size: 14px;\r\n          font-weight: 700;\r\n          box-shadow: var(--shadow-md);\r\n          animation: pulse 2s infinite;\r\n      }\r\n  \r\n      .va-home-wrapper .logo-text {\r\n          font-size: clamp(2.5rem, 6vw, 4rem);\r\n          font-weight: 900;\r\n          background: var(--gradient-primary);\r\n          -webkit-background-clip: text;\r\n          -webkit-text-fill-color: transparent;\r\n          background-clip: text;\r\n          letter-spacing: -1px;\r\n          text-shadow: 0 0 30px rgba(99, 102, 241, 0.5);\r\n      }\r\n  \r\n      .va-home-wrapper .subtitle {\r\n          color: var(--text-secondary);\r\n          font-size: 18px;\r\n          font-weight: 600;\r\n          margin-bottom: 30px;\r\n          max-width: 700px;\r\n          margin-left: auto;\r\n          margin-right: auto;\r\n      }\r\n  \r\n      .va-home-wrapper .features-grid {\r\n          display: grid;\r\n          grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\r\n          gap: 20px;\r\n          margin-bottom: 40px;\r\n      }\r\n  \r\n      .va-home-wrapper .feature-card {\r\n          background: var(--bg-card);\r\n          border: 1px solid var(--glass-border);\r\n          padding: 15px;\r\n          border-radius: 16px;\r\n          text-align: center;\r\n          transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\r\n          position: relative;\r\n          overflow: hidden;\r\n      }\r\n  \r\n      .va-home-wrapper .feature-card::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(99, 102, 241, 0.1), transparent);\r\n          transition: left 0.5s;\r\n      }\r\n  \r\n      .va-home-wrapper .feature-card:hover::before {\r\n          left: 100%;\r\n      }\r\n  \r\n      .va-home-wrapper .feature-card:hover {\r\n          transform: translateY(-5px);\r\n          box-shadow: var(--shadow-lg);\r\n          border-color: var(--primary-color);\r\n      }\r\n  \r\n      .va-home-wrapper .feature-icon {\r\n          width: 40px;\r\n          height: 40px;\r\n          background: var(--gradient-primary);\r\n          border-radius: 50%;\r\n          display: flex;\r\n          align-items: center;\r\n          justify-content: center;\r\n          margin: 0 auto 10px;\r\n          font-size: 20px;\r\n          color: white;\r\n      }\r\n  \r\n      .va-home-wrapper .feature-title {\r\n          font-weight: 700;\r\n          color: var(--text-primary);\r\n          margin-bottom: 8px;\r\n          font-size: 14px;\r\n      }\r\n  \r\n      .va-home-wrapper .search-container {\r\n          background: var(--bg-secondary);\r\n          border: 1px solid var(--glass-border);\r\n          padding: 30px;\r\n          border-radius: 24px;\r\n          box-shadow: var(--shadow-xl);\r\n          margin-bottom: 40px;\r\n          animation: slideInUp 1s ease-out 0.2s both;\r\n          position: relative;\r\n          overflow: hidden;\r\n      }\r\n  \r\n      .va-home-wrapper .search-container::before {\r\n          content: '';\r\n          position: absolute;\r\n          top: 0;\r\n          left: 0;\r\n          right: 0;\r\n          height: 4px;\r\n          background: var(--gradient-primary);\r\n      }\r\n  \r\n      .va-home-wrapper .search-form {\r\n          display: flex;\r\n          gap: 15px;\r\n          margin-bottom: 20px;\r\n          position: relative;\r\n      }\r\n  \r\n      .va-home-wrapper .search-input {\r\n          flex: 1 !important;\r\n          padding: 15px 20px !important;\r\n          border: 2px solid var(--bg-tertiary) !important;\r\n          border-radius: 16px !important;\r\n          font-size: 14px !important;\r\n          font-weight: 500 !important;\r\n          background: var(--bg-primary) !important;\r\n          transition: all 0.3s ease !important;\r\n          outline: none !important;\r\n          color: var(--text-primary) !important;\r\n          font-family: inherit !important;\r\n      }\r\n  \r\n      .va-home-wrapper .search-input:focus {\r\n          border-color: var(--primary-color);\r\n          box-shadow: 0 0 0 4px rgba(99, 102, 241, 0.1);\r\n          transform: translateY(-2px);\r\n      }\r\n  \r\n      .va-home-wrapper .search-input::placeholder {\r\n          color: var(--text-muted);\r\n          font-weight: 400;\r\n      }\r\n  \r\n      .va-home-wrapper .search-btn {\r\n          padding: 15px 30px;\r\n          background: var(--gradient-primary);\r\n          color: white;\r\n          border: none;\r\n          border-radius: 16px;\r\n          font-size: 14px;\r\n          font-weight: 700;\r\n          cursor: pointer;\r\n          transition: all 0.3s ease;\r\n          min-width: 150px;\r\n          position: relative;\r\n          overflow: hidden;\r\n          box-shadow: var(--shadow-md);\r\n          font-family: inherit;\r\n      }\r\n  \r\n      .va-home-wrapper .search-btn::before {\r\n          content: '';\r\n          position: absolute;\r\n          top: 0;\r\n          left: -100%;\r\n          width: 100%;\r\n          height: 100%;\r\n          background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);\r\n          transition: left 0.5s;\r\n      }\r\n  \r\n      .va-home-wrapper .search-btn:hover::before {\r\n          left: 100%;\r\n      }\r\n  \r\n      .va-home-wrapper .search-btn:hover:not(:disabled) {\r\n          transform: translateY(-3px);\r\n          box-shadow: var(--shadow-lg);\r\n      }\r\n  \r\n      .va-home-wrapper .search-btn:disabled {\r\n          opacity: 0.6;\r\n          cursor: not-allowed;\r\n          transform: none;\r\n      }\r\n  \r\n      .va-home-wrapper .user-info {\r\n          background: var(--bg-secondary);\r\n          border: 1px solid var(--glass-border);\r\n          padding: 30px;\r\n          border-radius: 24px;\r\n          box-shadow: var(--shadow-xl);\r\n          margin-bottom: 40px;\r\n          display: none;\r\n          animation: slideInDown 0.8s ease-out;\r\n          position: relative;\r\n          overflow: hidden;\r\n      }\r\n  \r\n      .va-home-wrapper .user-info::before {\r\n          content: '';\r\n          position: absolute;\r\n          top: 0;\r\n          left: 0;\r\n          right: 0;\r\n          height: 4px;\r\n          background: var(--gradient-secondary);\r\n      }\r\n  \r\n      .va-home-wrapper .user-header {\r\n          display: flex;\r\n          align-items: center;\r\n          gap: 25px;\r\n          margin-bottom: 25px;\r\n      }\r\n  \r\n      .va-home-wrapper .user-avatar {\r\n          width: 80px;\r\n          height: 80px;\r\n          border-radius: 50%;\r\n          background: var(--gradient-primary);\r\n          display: flex;\r\n          align-items: center;\r\n          justify-content: center;\r\n          font-size: 2.5rem;\r\n          color: white;\r\n          font-weight: 900;\r\n          box-shadow: var(--shadow-lg);\r\n          position: relative;\r\n          overflow: hidden;\r\n      }\r\n  \r\n      .va-home-wrapper .user-avatar::before {\r\n          content: '';\r\n          position: absolute;\r\n          top: -50%;\r\n          left: -50%;\r\n          width: 200%;\r\n          height: 200%;\r\n          background: linear-gradient(45deg, transparent, rgba(255, 255, 255, 0.1), transparent);\r\n          transform: rotate(45deg);\r\n          animation: shine 4s infinite;\r\n      }\r\n  \r\n      .va-home-wrapper .user-details .rduv-tool-username {\r\n          font-size: 2rem;\r\n          color: var(--text-primary);\r\n          margin-bottom: 8px;\r\n          font-weight: 900;\r\n      }\r\n  \r\n      .va-home-wrapper .user-description {\r\n          color: var(--text-secondary);\r\n          font-size: 16px;\r\n          font-weight: 500;\r\n      }\r\n  \r\n      .va-home-wrapper .user-stats {\r\n          display: grid;\r\n          grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));\r\n          gap: 20px;\r\n          margin-top: 25px;\r\n      }\r\n  \r\n      .va-home-wrapper .stat-card {\r\n          background: var(--bg-card);\r\n          border: 1px solid var(--glass-border);\r\n          padding: 20px;\r\n          border-radius: 20px;\r\n          text-align: center;\r\n          transition: all 0.3s ease;\r\n          position: relative;\r\n          overflow: hidden;\r\n      }\r\n  \r\n      .va-home-wrapper .stat-card::before {\r\n          content: '';\r\n          position: absolute;\r\n          top: 0;\r\n          left: 0;\r\n          right: 0;\r\n          height: 3px;\r\n          background: var(--gradient-accent);\r\n      }\r\n  \r\n      .va-home-wrapper .stat-card:hover {\r\n          transform: translateY(-5px);\r\n          box-shadow: var(--shadow-md);\r\n      }\r\n  \r\n      .va-home-wrapper .stat-number {\r\n          font-size: 1.8rem;\r\n          font-weight: 900;\r\n          color: var(--primary-color);\r\n          margin-bottom: 6px;\r\n      }\r\n  \r\n      .va-home-wrapper .stat-label {\r\n          font-size: 0.9rem;\r\n          color: var(--text-secondary);\r\n          font-weight: 600;\r\n      }\r\n  \r\n      .va-home-wrapper .posts-section {\r\n          display: none;\r\n      }\r\n  \r\n      .va-home-wrapper .section-title {\r\n          color: var(--text-primary);\r\n          font-size: 2rem;\r\n          font-weight: 900;\r\n          margin-bottom: 30px;\r\n          text-align: center;\r\n          background: var(--bg-secondary);\r\n          border: 1px solid var(--glass-border);\r\n          padding: 20px;\r\n          border-radius: 20px;\r\n          position: relative;\r\n          overflow: hidden;\r\n      }\r\n  \r\n      .va-home-wrapper .section-title::before {\r\n          content: '';\r\n          position: absolute;\r\n          top: 0;\r\n          left: 0;\r\n          right: 0;\r\n          height: 4px;\r\n          background: var(--gradient-accent);\r\n      }\r\n  \r\n      .va-home-wrapper .posts-grid {\r\n          display: grid;\r\n          grid-template-columns: repeat(auto-fit, minmax(450px, 1fr));\r\n          gap: 25px;\r\n      }\r\n  \r\n      .va-home-wrapper .post-card {\r\n          background: var(--bg-secondary);\r\n          border: 1px solid var(--glass-border);\r\n          border-radius: 20px;\r\n          padding: 20px;\r\n          box-shadow: var(--shadow-xl);\r\n          transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);\r\n          position: relative;\r\n          overflow: hidden;\r\n          animation: slideUp 0.6s ease forwards;\r\n          display: flex;\r\n          flex-direction: column;\r\n          height: 100%;\r\n      }\r\n  \r\n      .va-home-wrapper .post-card::before {\r\n          content: '';\r\n          position: absolute;\r\n          top: 0;\r\n          left: 0;\r\n          right: 0;\r\n          height: 4px;\r\n          background: var(--gradient-primary);\r\n          border-radius: 20px 20px 0 0;\r\n      }\r\n  \r\n      .va-home-wrapper .post-card:hover {\r\n          transform: translateY(-10px);\r\n          box-shadow: 0 20px 40px rgba(99, 102, 241, 0.2);\r\n          border-color: var(--primary-color);\r\n      }\r\n  \r\n      .va-home-wrapper .post-header {\r\n          display: flex;\r\n          align-items: center;\r\n          justify-content: space-between;\r\n          margin-bottom: 15px;\r\n          padding-bottom: 15px;\r\n          border-bottom: 2px solid var(--bg-tertiary);\r\n      }\r\n  \r\n      .va-home-wrapper .subreddit-info {\r\n          display: flex;\r\n          align-items: center;\r\n          gap: 10px;\r\n          flex-wrap: wrap;\r\n      }\r\n  \r\n      .va-home-wrapper .subreddit-badge {\r\n          background: var(--gradient-primary);\r\n          color: white;\r\n          padding: 6px 12px;\r\n          border-radius: 20px;\r\n          font-size: 0.8rem;\r\n          font-weight: 700;\r\n          box-shadow: var(--shadow-sm);\r\n      }\r\n  \r\n      .va-home-wrapper .post-type {\r\n          background: var(--gradient-secondary);\r\n          color: white;\r\n          padding: 4px 10px;\r\n          border-radius: 15px;\r\n          font-size: 0.7rem;\r\n          font-weight: 600;\r\n          text-transform: capitalize;\r\n      }\r\n  \r\n      .va-home-wrapper .post-meta {\r\n          font-size: 0.8rem;\r\n          color: var(--text-muted);\r\n          font-weight: 500;\r\n          text-align: right;\r\n      }\r\n  \r\n      .va-home-wrapper .post-badges {\r\n          display: flex;\r\n          flex-wrap: wrap;\r\n          gap: 8px;\r\n          margin-bottom: 15px;\r\n      }\r\n  \r\n      .va-home-wrapper .badge {\r\n          padding: 4px 10px;\r\n          border-radius: 12px;\r\n          font-size: 0.7rem;\r\n          font-weight: 600;\r\n          color: white;\r\n          text-transform: uppercase;\r\n          letter-spacing: 0.5px;\r\n      }\r\n  \r\n      .va-home-wrapper .badge.admin { background: var(--gradient-accent); }\r\n      .va-home-wrapper .badge.stickied { background: var(--gradient-secondary); }\r\n      .va-home-wrapper .badge.archived { background: linear-gradient(135deg, #6B7280, #4B5563); }\r\n      .va-home-wrapper .badge.locked { background: var(--gradient-accent); }\r\n      .va-home-wrapper .badge.nsfw { background: linear-gradient(135deg, #7C3AED, #5B21B6); }\r\n  \r\n      .va-home-wrapper .post-title {\r\n          font-size: 1.4rem;\r\n          font-weight: 700;\r\n          margin-bottom: 15px;\r\n          color: var(--text-primary);\r\n          line-height: 1.4;\r\n      }\r\n  \r\n      .va-home-wrapper .post-content {\r\n          margin-bottom: 20px;\r\n          flex-grow: 1;\r\n      }\r\n  \r\n      .va-home-wrapper .post-text {\r\n          color: var(--text-secondary);\r\n          line-height: 1.6;\r\n          margin-bottom: 15px;\r\n          font-weight: 400;\r\n          font-size: 14px;\r\n      }\r\n  \r\n      .va-home-wrapper .media-container {\r\n          margin: 15px 0;\r\n          border-radius: 16px;\r\n          overflow: hidden;\r\n          position: relative;\r\n          box-shadow: var(--shadow-md);\r\n          background: #000;\r\n      }\r\n  \r\n      .va-home-wrapper .image-preview {\r\n          width: 100%;\r\n          max-height: 300px;\r\n          object-fit: cover;\r\n          cursor: pointer;\r\n          transition: transform 0.3s ease;\r\n      }\r\n  \r\n      .va-home-wrapper .image-preview:hover {\r\n          transform: scale(1.02);\r\n      }\r\n  \r\n      .va-home-wrapper .video-container {\r\n          position: relative;\r\n          width: 100%;\r\n          background: #000;\r\n          border-radius: 16px;\r\n          overflow: hidden;\r\n      }\r\n  \r\n      .va-home-wrapper .video-player {\r\n          width: 100%;\r\n          height: 250px;\r\n          border-radius: 16px;\r\n      }\r\n  \r\n      .va-home-wrapper .media-controls {\r\n          display: flex;\r\n          gap: 10px;\r\n          margin-top: 15px;\r\n          flex-wrap: wrap;\r\n          align-items: center;\r\n      }\r\n  \r\n      .va-home-wrapper .control-btn {\r\n          display: flex;\r\n          align-items: center;\r\n          gap: 8px;\r\n          padding: 10px 18px;\r\n          border: none;\r\n          border-radius: 12px;\r\n          cursor: pointer;\r\n          font-size: 0.9rem;\r\n          font-weight: 600;\r\n          transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\r\n          font-family: inherit;\r\n          position: relative;\r\n          overflow: hidden;\r\n      }\r\n  \r\n      .va-home-wrapper .control-btn::before {\r\n          content: '';\r\n          position: absolute;\r\n          top: 0;\r\n          left: -100%;\r\n          width: 100%;\r\n          height: 100%;\r\n          background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);\r\n          transition: left 0.5s;\r\n      }\r\n  \r\n      .va-home-wrapper .control-btn:hover::before {\r\n          left: 100%;\r\n      }\r\n  \r\n      .va-home-wrapper .stream-audio-btn {\r\n          background: var(--gradient-secondary);\r\n          color: white;\r\n          box-shadow: var(--shadow-md);\r\n      }\r\n  \r\n      .va-home-wrapper .stream-audio-btn:hover {\r\n          transform: translateY(-3px);\r\n          box-shadow: var(--shadow-lg);\r\n      }\r\n  \r\n      .va-home-wrapper .stream-audio-btn:disabled {\r\n          opacity: 0.6;\r\n          cursor: not-allowed;\r\n          transform: none;\r\n      }\r\n  \r\n      .va-home-wrapper .stream-audio-btn.loading {\r\n          background: linear-gradient(135deg, #6B7280, #4B5563);\r\n      }\r\n  \r\n      .va-home-wrapper .download-btn {\r\n          background: var(--gradient-accent);\r\n          color: white;\r\n          box-shadow: var(--shadow-md);\r\n      }\r\n  \r\n      .va-home-wrapper .download-btn:hover {\r\n          transform: translateY(-3px);\r\n          box-shadow: var(--shadow-lg);\r\n      }\r\n  \r\n      .va-home-wrapper .download-btn:disabled {\r\n          opacity: 0.6;\r\n          cursor: not-allowed;\r\n          transform: none;\r\n      }\r\n  \r\n      .va-home-wrapper .download-btn.downloading {\r\n          background: var(--gradient-primary);\r\n      }\r\n  \r\n      .va-home-wrapper .external-link {\r\n          display: inline-flex;\r\n          align-items: center;\r\n          gap: 8px;\r\n          background: var(--gradient-primary);\r\n          color: white;\r\n          padding: 10px 18px;\r\n          border-radius: 12px;\r\n          text-decoration: none;\r\n          margin-top: 15px;\r\n          transition: all 0.3s ease;\r\n          font-weight: 600;\r\n          box-shadow: var(--shadow-sm);\r\n          font-size: 0.9rem;\r\n      }\r\n  \r\n      .va-home-wrapper .external-link:hover {\r\n          transform: translateY(-3px);\r\n          box-shadow: var(--shadow-md);\r\n      }\r\n  \r\n      .va-home-wrapper .post-stats {\r\n          display: grid;\r\n          grid-template-columns: repeat(2, 1fr);\r\n          gap: 10px;\r\n          margin-top: auto;\r\n          padding-top: 15px;\r\n          border-top: 2px solid var(--bg-tertiary);\r\n      }\r\n  \r\n      .va-home-wrapper .stat-item {\r\n          display: flex;\r\n          flex-direction: column;\r\n          align-items: center;\r\n          gap: 6px;\r\n          padding: 12px;\r\n          background: var(--bg-card);\r\n          border: 1px solid var(--glass-border);\r\n          border-radius: 15px;\r\n          text-align: center;\r\n          transition: all 0.3s ease;\r\n          position: relative;\r\n          overflow: hidden;\r\n      }\r\n  \r\n      .va-home-wrapper .stat-item::before {\r\n          content: '';\r\n          position: absolute;\r\n          top: 0;\r\n          left: 0;\r\n          right: 0;\r\n          height: 2px;\r\n          background: var(--gradient-accent);\r\n      }\r\n  \r\n      .va-home-wrapper .stat-item:hover {\r\n          transform: translateY(-3px);\r\n          box-shadow: var(--shadow-sm);\r\n      }\r\n  \r\n      .va-home-wrapper .stat-value {\r\n          font-weight: 900;\r\n          font-size: 1.2rem;\r\n      }\r\n  \r\n      .va-home-wrapper .stat-label {\r\n          font-size: 0.8rem;\r\n          color: var(--text-muted);\r\n          font-weight: 600;\r\n          text-transform: capitalize;\r\n      }\r\n  \r\n      .va-home-wrapper .upvotes .stat-value { color: var(--primary-color); }\r\n      .va-home-wrapper .comments .stat-value { color: var(--secondary-color); }\r\n  \r\n      .va-home-wrapper .loading {\r\n          text-align: center;\r\n          padding: 40px;\r\n          color: var(--text-primary);\r\n          font-size: 1.1rem;\r\n          display: none;\r\n      }\r\n  \r\n      .va-home-wrapper .spinner {\r\n          border: 4px solid var(--bg-tertiary);\r\n          border-top: 4px solid var(--primary-color);\r\n          border-radius: 50%;\r\n          width: 50px;\r\n          height: 50px;\r\n          animation: spin 1s linear infinite;\r\n          margin: 20px auto;\r\n      }\r\n  \r\n      .va-home-wrapper .error-message {\r\n          background: rgba(239, 68, 68, 0.1);\r\n          border: 1px solid rgba(239, 68, 68, 0.2);\r\n          color: var(--danger-color);\r\n          padding: 20px;\r\n          border-radius: 16px;\r\n          text-align: center;\r\n          margin: 20px 0;\r\n          font-weight: 600;\r\n          display: none;\r\n          font-size: 14px;\r\n      }\r\n  \r\n      .va-home-wrapper .modal {\r\n          display: none;\r\n          position: fixed;\r\n          z-index: 1000;\r\n          left: 0;\r\n          top: 0;\r\n          width: 100%;\r\n          height: 100%;\r\n          background-color: rgba(0, 0, 0, 0.95);\r\n          animation: fadeIn 0.3s ease;\r\n      }\r\n  \r\n      .va-home-wrapper .modal-content {\r\n          position: absolute;\r\n          top: 50%;\r\n          left: 50%;\r\n          transform: translate(-50%, -50%);\r\n          max-width: 90%;\r\n          max-height: 90%;\r\n      }\r\n  \r\n      .va-home-wrapper .modal img {\r\n          width: 100%;\r\n          height: auto;\r\n          border-radius: 20px;\r\n      }\r\n  \r\n      .va-home-wrapper .close {\r\n          position: absolute;\r\n          top: 20px;\r\n          right: 40px;\r\n          color: #f1f1f1;\r\n          font-size: 45px;\r\n          font-weight: bold;\r\n          cursor: pointer;\r\n          z-index: 1001;\r\n      }\r\n  \r\n      .va-home-wrapper .close:hover {\r\n          color: var(--primary-color);\r\n      }\r\n  \r\n      \/* Download Progress *\/\r\n      .va-home-wrapper .download-progress {\r\n          position: fixed;\r\n          bottom: 25px;\r\n          right: 25px;\r\n          background: var(--bg-secondary);\r\n          border: 1px solid var(--glass-border);\r\n          border-radius: 20px;\r\n          padding: 25px;\r\n          min-width: 350px;\r\n          box-shadow: var(--shadow-xl);\r\n          z-index: 1000;\r\n          display: none;\r\n          color: var(--text-primary);\r\n      }\r\n  \r\n      .va-home-wrapper .download-progress.show {\r\n          display: block;\r\n          animation: slideInRight 0.4s ease-out;\r\n      }\r\n  \r\n      .va-home-wrapper .progress-header {\r\n          display: flex;\r\n          justify-content: space-between;\r\n          align-items: center;\r\n          margin-bottom: 15px;\r\n      }\r\n  \r\n      .va-home-wrapper .progress-text {\r\n          font-weight: 700;\r\n          font-size: 14px;\r\n          color: var(--text-primary);\r\n      }\r\n  \r\n      .va-home-wrapper .cancel-btn {\r\n          background: rgba(239, 68, 68, 0.1);\r\n          border: 1px solid rgba(239, 68, 68, 0.2);\r\n          color: var(--danger-color);\r\n          padding: 8px 16px;\r\n          border-radius: 8px;\r\n          font-size: 12px;\r\n          cursor: pointer;\r\n          transition: all 0.3s ease;\r\n          font-weight: 600;\r\n      }\r\n  \r\n      .va-home-wrapper .cancel-btn:hover {\r\n          background: rgba(239, 68, 68, 0.15);\r\n      }\r\n  \r\n      .va-home-wrapper .progress-bar-container {\r\n          width: 100%;\r\n          height: 12px;\r\n          background: var(--bg-tertiary);\r\n          border-radius: 6px;\r\n          overflow: hidden;\r\n          margin-bottom: 12px;\r\n          box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.2);\r\n      }\r\n  \r\n      .va-home-wrapper .progress-bar-fill {\r\n          height: 100%;\r\n          background: var(--gradient-primary);\r\n          border-radius: 6px;\r\n          width: 0%;\r\n          transition: width 0.3s ease;\r\n          box-shadow: 0 2px 8px rgba(99, 102, 241, 0.4);\r\n      }\r\n  \r\n      .va-home-wrapper .progress-details {\r\n          display: flex;\r\n          justify-content: space-between;\r\n          font-size: 12px;\r\n          color: var(--text-secondary);\r\n          font-weight: 500;\r\n      }\r\n  \r\n      .va-home-wrapper .expand-btn {\r\n          background: var(--gradient-primary);\r\n          color: white;\r\n          border: none;\r\n          padding: 8px 16px;\r\n          border-radius: 12px;\r\n          cursor: pointer;\r\n          font-size: 0.8rem;\r\n          font-weight: 600;\r\n          margin-top: 10px;\r\n          transition: all 0.3s ease;\r\n          font-family: inherit;\r\n      }\r\n  \r\n      .va-home-wrapper .expand-btn:hover {\r\n          transform: translateY(-2px);\r\n          box-shadow: var(--shadow-sm);\r\n      }\r\n  \r\n      .va-home-wrapper .video-play-overlay {\r\n          position: absolute;\r\n          top: 50%;\r\n          left: 50%;\r\n          transform: translate(-50%, -50%);\r\n          background: rgba(0, 0, 0, 0.7);\r\n          border: none;\r\n          border-radius: 50%;\r\n          width: 50px;\r\n          height: 50px;\r\n          color: white;\r\n          font-size: 20px;\r\n          cursor: pointer;\r\n          display: flex;\r\n          align-items: center;\r\n          justify-content: center;\r\n          transition: all 0.3s ease;\r\n          z-index: 5;\r\n      }\r\n  \r\n      .va-home-wrapper .video-play-overlay:hover {\r\n          background: rgba(0, 0, 0, 0.9);\r\n          transform: translate(-50%, -50%) scale(1.1);\r\n      }\r\n  \r\n      .va-home-wrapper .video-play-overlay.hidden {\r\n          display: none;\r\n      }\r\n  \r\n      .va-home-wrapper .new-search-btn {\r\n          background: var(--gradient-accent) !important;\r\n          min-width: 130px;\r\n      }\r\n  \r\n      @keyframes float {\r\n          0%, 100% { transform: translateY(0px) scale(1); }\r\n          50% { transform: translateY(-10px) scale(1.02); }\r\n      }\r\n  \r\n      @keyframes shine {\r\n          0% { transform: translateX(-100%) translateY(-100%) rotate(45deg); }\r\n          100% { transform: translateX(100%) translateY(100%) rotate(45deg); }\r\n      }\r\n  \r\n      @keyframes slideInDown {\r\n          from { opacity: 0; transform: translateY(-30px); }\r\n          to { opacity: 1; transform: translateY(0); }\r\n      }\r\n  \r\n      @keyframes slideInUp {\r\n          from { opacity: 0; transform: translateY(30px); }\r\n          to { opacity: 1; transform: translateY(0); }\r\n      }\r\n  \r\n      @keyframes slideInRight {\r\n          from { opacity: 0; transform: translateX(100%); }\r\n          to { opacity: 1; transform: translateX(0); }\r\n      }\r\n  \r\n      @keyframes slideUp {\r\n          from {\r\n              opacity: 0;\r\n              transform: translateY(40px);\r\n          }\r\n          to {\r\n              opacity: 1;\r\n              transform: translateY(0);\r\n          }\r\n      }\r\n  \r\n      @keyframes spin {\r\n          0% { transform: rotate(0deg); }\r\n          100% { transform: rotate(360deg); }\r\n      }\r\n  \r\n      @keyframes pulse {\r\n          0%, 100% { transform: scale(1); }\r\n          50% { transform: scale(1.05); }\r\n      }\r\n  \r\n      @keyframes fadeIn {\r\n          from { opacity: 0; }\r\n          to { opacity: 1; }\r\n      }\r\n  \r\n      \/* Video Loading Overlay *\/\r\n      .va-home-wrapper .video-loading-overlay {\r\n          position: absolute;\r\n          top: 0;\r\n          left: 0;\r\n          right: 0;\r\n          bottom: 0;\r\n          background: rgba(0, 0, 0, 0.8);\r\n          display: flex;\r\n          align-items: center;\r\n          justify-content: center;\r\n          flex-direction: column;\r\n          color: white;\r\n          font-weight: 600;\r\n          z-index: 10;\r\n      }\r\n  \r\n      .va-home-wrapper .video-loading-spinner {\r\n          width: 30px;\r\n          height: 30px;\r\n          border: 3px solid rgba(255, 255, 255, 0.3);\r\n          border-top: 3px solid white;\r\n          border-radius: 50%;\r\n          animation: spin 1s linear infinite;\r\n          margin-bottom: 10px;\r\n      }\r\n  \r\n      @media (max-width: 1200px) {\r\n          .va-home-wrapper .posts-grid {\r\n              grid-template-columns: 1fr;\r\n          }\r\n  \r\n          .va-home-wrapper .features-grid {\r\n              grid-template-columns: repeat(2, 1fr);\r\n          }\r\n      }\r\n  \r\n      @media (max-width: 768px) {\r\n          .va-home-wrapper .features-grid {\r\n              grid-template-columns: 1fr;\r\n          }\r\n  \r\n          .va-home-wrapper .user-stats {\r\n              grid-template-columns: repeat(2, 1fr);\r\n          }\r\n  \r\n          .va-home-wrapper .post-stats {\r\n              grid-template-columns: repeat(2, 1fr);\r\n              gap: 8px;\r\n          }\r\n  \r\n          .va-home-wrapper .media-controls {\r\n              flex-direction: column;\r\n          }\r\n  \r\n          .va-home-wrapper .control-btn {\r\n              width: 100%;\r\n              justify-content: center;\r\n          }\r\n  \r\n          .va-home-wrapper .search-form {\r\n              flex-direction: column;\r\n          }\r\n      }\r\n  \r\n      @media (max-width: 480px) {\r\n          .va-home-wrapper .post-stats {\r\n              grid-template-columns: 1fr;\r\n          }\r\n  \r\n          .va-home-wrapper .user-stats {\r\n              grid-template-columns: 1fr;\r\n          }\r\n  \r\n          .va-home-wrapper .custom-rduv-container {\r\n              padding: 15px;\r\n          }\r\n  \r\n          .va-home-wrapper .search-container,\r\n          .va-home-wrapper .user-info,\r\n          .va-home-wrapper .post-card {\r\n              padding: 20px;\r\n          }\r\n  \r\n          .va-home-wrapper .posts-grid {\r\n              grid-template-columns: 1fr;\r\n          }\r\n      }\r\n  <\/style>\r\n  <body data-aos-easing=\"ease-in-out\" data-aos-duration=\"800\" data-aos-delay=\"0\" data-new-gr-c-s-check-loaded=\"14.1249.0\" data-gr-ext-installed=\"\" data-new-gr-c-s-loaded=\"14.1223.0\" class=\"\" style=\"\">\r\n\r\n      <div class=\"va-home-wrapper\">\r\n\r\n      <!-- Hero tools -->\r\n      <section class=\"rduv-hero-tools-section\">\r\n          <div class=\"container\">\r\n              <div class=\"custom-rduv-container\">\r\n                  <div class=\"header\">\r\n                      <div class=\"logo\">\r\n                          <div class=\"logo-icon\">\ud83d\ude80<\/div>\r\n          \r\n                          <div><h1 class=\"logo-text\">Reddit Web Viewer<\/h1><\/div>\r\n                      <\/div>\r\n                      <div class=\"subtitle\">Advanced Reddit user analysis with premium insights and enhanced media capabilities<\/div>\r\n                      <div class=\"features-grid\">\r\n                          <div class=\"feature-card\">\r\n                              <div class=\"feature-icon\">\ud83c\udfa8<\/div>\r\n                              <div class=\"feature-title\">Premium Design<\/div>\r\n                          <\/div>\r\n                          <div class=\"feature-card\">\r\n                              <div class=\"feature-icon\">\ud83d\udd0a<\/div>\r\n                              <div class=\"feature-title\">Audio Support<\/div>\r\n                          <\/div>\r\n                          <div class=\"feature-card\">\r\n                              <div class=\"feature-icon\">\ud83d\udce5<\/div>\r\n                              <div class=\"feature-title\">Smart Downloads<\/div>\r\n                          <\/div>\r\n                          <div class=\"feature-card\">\r\n                              <div class=\"feature-icon\">\ud83d\udcca<\/div>\r\n                              <div class=\"feature-title\">Rich Analytics<\/div>\r\n                          <\/div>\r\n                      <\/div>\r\n                  <\/div>\r\n          \r\n                  <div class=\"search-container\">\r\n                      <form class=\"search-form\" id=\"searchForm\">\r\n                          <input type=\"text\" class=\"search-input\" id=\"usernameInput\" placeholder=\"Enter Reddit username (e.g., kn0thing, spez, gallowboob)\" required=\"\">\r\n                          <button type=\"submit\" class=\"search-btn\" id=\"searchBtn\">\r\n                              <span id=\"searchText\">\ud83d\udd0d Explore User<\/span>\r\n                              <div class=\"spinner\" id=\"searchSpinner\" style=\"display: none; width: 20px; height: 20px; margin: 0;\"><\/div>\r\n                          <\/button>\r\n                          <button type=\"button\" class=\"search-btn new-search-btn\" id=\"newSearchBtn\" onclick=\"redditExplorer.newSearch()\">\r\n                              \ud83d\udd04 New Search\r\n                          <\/button>\r\n                      <\/form>\r\n          \r\n                      <div class=\"loading\" id=\"loading\">\r\n                          <div class=\"spinner\"><\/div>\r\n                          <p>Analyzing user data and posts...<\/p>\r\n                      <\/div>\r\n          \r\n                      <div class=\"error-message\" id=\"errorMessage\"><\/div>\r\n                  <\/div>\r\n          \r\n                  <div class=\"user-info\" id=\"userInfo\">\r\n                      <div class=\"user-header\">\r\n                          <div class=\"user-avatar\" id=\"userAvatar\">U<\/div>\r\n                          <div class=\"user-details\">\r\n                              <h2 class=\"rduv-tool-username\" id=\"userName\">Username<\/h2>\r\n                              <p class=\"user-description\" id=\"userDescription\">Reddit User Profile<\/p>\r\n                          <\/div>\r\n                      <\/div>\r\n                      <div class=\"user-stats\" id=\"userStats\">\r\n                          <!-- Stats will be populated dynamically -->\r\n                      <\/div>\r\n                  <\/div>\r\n          \r\n                  <div class=\"posts-section\" id=\"postsSection\">\r\n                      <h2 class=\"section-title\" id=\"sectionTitle\">Recent Posts & Activity<\/h2>\r\n                      <div id=\"postsContainer\" class=\"posts-grid\"><\/div>\r\n                  <\/div>\r\n              <\/div>\r\n          \r\n              <!-- Modal for image preview -->\r\n              <div id=\"imageModal\" class=\"modal\">\r\n                  <span class=\"close\">\u00d7<\/span>\r\n                  <div class=\"modal-content\">\r\n                      <img decoding=\"async\" id=\"modalImage\" src=\"\/placeholder.svg\" alt=\"Full size image\">\r\n                  <\/div>\r\n              <\/div>\r\n          \r\n              <!-- Download Progress -->\r\n              <div class=\"download-progress\" id=\"downloadProgress\">\r\n                  <div class=\"progress-header\">\r\n                      <span class=\"progress-text\" id=\"progressText\">Downloading...<\/span>\r\n                      <button class=\"cancel-btn\" onclick=\"cancelDownload()\">Cancel<\/button>\r\n                  <\/div>\r\n                  <div class=\"progress-bar-container\">\r\n                      <div class=\"progress-bar-fill\" id=\"progressBarFill\"><\/div>\r\n                  <\/div>\r\n                  <div class=\"progress-details\">\r\n                      <span id=\"progressPercent\">0%<\/span>\r\n                      <span id=\"progressSize\">0 MB \/ 0 MB<\/span>\r\n                  <\/div>\r\n              <\/div>\r\n              \r\n          <\/div>\r\n      <\/section>\r\n  \r\n  <!-- Work Process Section -->\r\n  <section class=\"rduv-work-process-section\" id=\"how-it-works\">\r\n      <div class=\"container rduv-work-process-content\">\r\n          <div class=\"text-center mb-5\" data-aos=\"fade-up\">\r\n              <h2 class=\"rduv-section-title rduv-light-title\">How Our Reddit Web Viewer Works<\/h2>\r\n              <p class=\"rduv-section-subtitle rduv-light-subtitle\">Browse Reddit content anonymously with just 3 simple steps<\/p>\r\n          <\/div>\r\n          \r\n          <div class=\"row\">\r\n              <div class=\"col-md-4\" data-aos=\"fade-up\" data-aos-delay=\"50\">\r\n                  <div class=\"rduv-process-step\">\r\n                      <div class=\"rduv-step-number\">1<\/div>\r\n                      <h4 class=\"rduv-step-heading\">Enter URL or Subreddit<\/h4>\r\n                      <p class=\"rduv-light-subtitle\">Enter the Reddit URL or subreddit name you want to browse<\/p>\r\n                  <\/div>\r\n              <\/div>\r\n              \r\n              <div class=\"col-md-4\" data-aos=\"fade-up\" data-aos-delay=\"150\">\r\n                  <div class=\"rduv-process-step\">\r\n                      <div class=\"rduv-step-number\">2<\/div>\r\n                      <h4 class=\"rduv-step-heading\">Process Web Content<\/h4>\r\n                      <p class=\"rduv-light-subtitle\">Our system retrieves Reddit web data without connecting to Reddit servers<\/p>\r\n                  <\/div>\r\n              <\/div>\r\n              \r\n              <div class=\"col-md-4\" data-aos=\"fade-up\" data-aos-delay=\"250\">\r\n                  <div class=\"rduv-process-step\">\r\n                      <div class=\"rduv-step-number\">3<\/div>\r\n                      <h4 class=\"rduv-step-heading\">Browse Anonymously<\/h4>\r\n                      <p class=\"rduv-light-subtitle\">View full Reddit web content without leaving any trace<\/p>\r\n                  <\/div>\r\n              <\/div>\r\n          <\/div>\r\n      <\/div>\r\n  <\/section>\r\n  \r\n  <!-- Features Section -->\r\n  <section class=\"rduv-features-section\">\r\n      <div class=\"container\">\r\n          <div class=\"text-center mb-5\" data-aos=\"fade-up\">\r\n              <h2 class=\"rduv-section-title\">Key Features<\/h2>\r\n              <p class=\"rduv-section-subtitle\">Our Reddit Web Viewer offers powerful features for anonymous browsing<\/p>\r\n          <\/div>\r\n          \r\n          <div class=\"row\">\r\n              <div class=\"col-lg-4 mb-4\" data-aos=\"fade-up\" data-aos-delay=\"50\">\r\n                  <div class=\"rduv-feature-card\">\r\n                      <div class=\"rduv-feature-icon\">\r\n                          <i class=\"bx bx-user\"><\/i>\r\n                      <\/div>\r\n                      <h4 class=\"rduv-feature-heading\">Complete Anonymity<\/h4>\r\n                      <p>Browse Reddit web content without revealing your identity or account<\/p>\r\n                  <\/div>\r\n              <\/div>\r\n              \r\n              <div class=\"col-lg-4 mb-4\" data-aos=\"fade-up\" data-aos-delay=\"150\">\r\n                  <div class=\"rduv-feature-card\">\r\n                      <div class=\"rduv-feature-icon\">\r\n                          <i class=\"bx bx-shield\"><\/i>\r\n                      <\/div>\r\n                      <h4 class=\"rduv-feature-heading\">No Tracking<\/h4>\r\n                      <p>Reddit won't track your web visits or recommend similar content<\/p>\r\n                  <\/div>\r\n              <\/div>\r\n              \r\n              <div class=\"col-lg-4 mb-4\" data-aos=\"fade-up\" data-aos-delay=\"250\">\r\n                  <div class=\"rduv-feature-card\">\r\n                      <div class=\"rduv-feature-icon\">\r\n                          <i class=\"bx bx-history\"><\/i>\r\n                      <\/div>\r\n                      <h4 class=\"rduv-feature-heading\">Full Web Browsing<\/h4>\r\n                      <p>Access subreddits, posts, comments, and full Reddit web experience<\/p>\r\n                  <\/div>\r\n              <\/div>\r\n              \r\n              <div class=\"col-lg-4 mb-5\" data-aos=\"fade-up\" data-aos-delay=\"50\">\r\n                  <div class=\"rduv-feature-card\">\r\n                      <div class=\"rduv-feature-icon\">\r\n                          <i class=\"bx bx-search-alt\"><\/i>\r\n                      <\/div>\r\n                      <h4 class=\"rduv-feature-heading\">Search Functionality<\/h4>\r\n                      <p>Quickly find specific content within Reddit web pages<\/p>\r\n                  <\/div>\r\n              <\/div>\r\n              \r\n              <div class=\"col-lg-4 mb-5\" data-aos=\"fade-up\" data-aos-delay=\"150\">\r\n                  <div class=\"rduv-feature-card\">\r\n                      <div class=\"rduv-feature-icon\">\r\n                          <i class=\"bx bx-time\"><\/i>\r\n                      <\/div>\r\n                      <h4 class=\"rduv-feature-heading\">No History<\/h4>\r\n                      <p>Your browsing activity isn't stored in your browser history<\/p>\r\n                  <\/div>\r\n              <\/div>\r\n              \r\n              <div class=\"col-lg-4 mb-5\" data-aos=\"fade-up\" data-aos-delay=\"250\">\r\n                  <div class=\"rduv-feature-card\">\r\n                      <div class=\"rduv-feature-icon\">\r\n                          <i class=\"bx bx-devices\"><\/i>\r\n                      <\/div>\r\n                      <h4 class=\"rduv-feature-heading\">Cross-Platform<\/h4>\r\n                      <p>Works on all devices - desktop, tablet and mobile<\/p>\r\n                  <\/div>\r\n              <\/div>\r\n          <\/div>\r\n      <\/div>\r\n  <\/section>\r\n  \r\n  <!-- Why Choose Section -->\r\n  <section class=\"rduv-why-choose-section\">\r\n      <div class=\"container\">\r\n          <div class=\"row align-items-center\">\r\n              <div class=\"col-lg-6 mb-5 mb-lg-0\" data-aos=\"fade-right\">\r\n                  <div class=\"rduv-why-choose-image rduv-floating-element\">\r\n                      <img decoding=\"async\" src=\"https:\/\/viewanonymous.com\/wp-content\/uploads\/2026\/03\/Reddit_Web_Viewer.webp\" alt=\"Reddit Web Viewer\" class=\"img-fluid rounded-3\">\r\n                  <\/div>\r\n              <\/div>\r\n              <div class=\"col-lg-6\" data-aos=\"fade-left\">\r\n                  <h2 class=\"rduv-section-title mb-4\">Why Choose Our Reddit Web Viewer?<\/h2>\r\n                  <p class=\"mb-4\">Our tool provides the most private way to browse Reddit web content without leaving any trace. Whether you're researching subreddits, analyzing posts, or just valuing your privacy, we make anonymous web browsing simple and efficient.<\/p>\r\n                  \r\n                  <div class=\"rduv-benefit-item\">\r\n                      <div class=\"rduv-benefit-icon\">\r\n                          <i class=\"bx bx-check\"><\/i>\r\n                      <\/div>\r\n                      <div>\r\n                          <h5 class=\"rduv-benefit-heading mb-1\">No account needed<\/h5>\r\n                          <p class=\"mb-0\">Browse Reddit web without logging in or having a Reddit account<\/p>\r\n                      <\/div>\r\n                  <\/div>\r\n                  \r\n                  <div class=\"rduv-benefit-item\">\r\n                      <div class=\"rduv-benefit-icon\">\r\n                          <i class=\"bx bx-check\"><\/i>\r\n                      <\/div>\r\n                      <div>\r\n                          <h5 class=\"rduv-benefit-heading mb-1\">Bypass limitations<\/h5>\r\n                          <p class=\"mb-0\">View full Reddit web content beyond display limits<\/p>\r\n                      <\/div>\r\n                  <\/div>\r\n                  \r\n                  <div class=\"rduv-benefit-item\">\r\n                      <div class=\"rduv-benefit-icon\">\r\n                          <i class=\"bx bx-check\"><\/i>\r\n                      <\/div>\r\n                      <div>\r\n                          <h5 class=\"rduv-benefit-heading mb-1\">Fast and reliable<\/h5>\r\n                          <p class=\"mb-0\">Get Reddit web data instantly with our optimized system<\/p>\r\n                      <\/div>\r\n                  <\/div>\r\n                  \r\n                  <div class=\"rduv-benefit-item\">\r\n                      <div class=\"rduv-benefit-icon\">\r\n                          <i class=\"bx bx-check\"><\/i>\r\n                      <\/div>\r\n                      <div>\r\n                          <h5 class=\"rduv-benefit-heading mb-1\">Privacy focused<\/h5>\r\n                          <p class=\"mb-0\">No cookies, no tracking, no history stored<\/p>\r\n                      <\/div>\r\n                  <\/div>\r\n              <\/div>\r\n          <\/div>\r\n      <\/div>\r\n  <\/section>\r\n  \r\n  <!-- FAQ Section -->\r\n  <section class=\"rduv-faq-section\">\r\n      <div class=\"container\">\r\n          <div class=\"text-center mb-5\" data-aos=\"fade-up\">\r\n              <h2 class=\"rduv-section-title\">Frequently Asked Questions<\/h2>\r\n              <p class=\"rduv-section-subtitle\">Find answers to common questions about our Reddit Web Viewer<\/p>\r\n          <\/div>\r\n          \r\n          <div class=\"row justify-content-center\">\r\n              <div class=\"col-lg-8\">\r\n                  <div class=\"accordion\" id=\"rduv-faqAccordion\">\r\n                      <div class=\"rduv-accordion-item mb-3\" data-aos=\"fade-up\" data-aos-delay=\"50\">\r\n                          <h3 class=\"accordion-header\" id=\"rduv-heading1\">\r\n                              <button class=\"rduv-accordion-button\" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#rduv-collapse1\" aria-expanded=\"true\" aria-controls=\"rduv-collapse1\">\r\n                                  Is browsing Reddit web anonymously legal?\r\n                              <\/button>\r\n                          <\/h3>\r\n                          <div id=\"rduv-collapse1\" class=\"accordion-collapse collapse show\" aria-labelledby=\"rduv-heading1\" data-bs-parent=\"#rduv-faqAccordion\">\r\n                              <div class=\"rduv-accordion-body\">\r\n                                  Yes, our tool is completely legal to use. It only allows you to view publicly available Reddit web content through our private viewer. We don't access private data or bypass any security measures.\r\n                              <\/div>\r\n                          <\/div>\r\n                      <\/div>\r\n                      \r\n                      <div class=\"rduv-accordion-item mb-3\" data-aos=\"fade-up\" data-aos-delay=\"100\">\r\n                          <h3 class=\"accordion-header\" id=\"rduv-heading2\">\r\n                              <button class=\"rduv-accordion-button collapsed\" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#rduv-collapse2\" aria-expanded=\"false\" aria-controls=\"rduv-collapse2\">\r\n                                  Can I browse private or restricted subreddits?\r\n                              <\/button>\r\n                          <\/h3>\r\n                          <div id=\"rduv-collapse2\" class=\"accordion-collapse collapse\" aria-labelledby=\"rduv-heading2\" data-bs-parent=\"#rduv-faqAccordion\">\r\n                              <div class=\"rduv-accordion-body\">\r\n                                  Our tool respects Reddit's privacy and access settings. We can only show public subreddits and content. For private or restricted communities, the information won't be available.\r\n                              <\/div>\r\n                          <\/div>\r\n                      <\/div>\r\n                      \r\n                      <div class=\"rduv-accordion-item mb-3\" data-aos=\"fade-up\" data-aos-delay=\"150\">\r\n                          <h3 class=\"accordion-header\" id=\"rduv-heading3\">\r\n                              <button class=\"rduv-accordion-button collapsed\" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#rduv-collapse3\" aria-expanded=\"false\" aria-controls=\"rduv-collapse3\">\r\n                                  Will Reddit know I browsed their web content?\r\n                              <\/button>\r\n                          <\/h3>\r\n                          <div id=\"rduv-collapse3\" class=\"accordion-collapse collapse\" aria-labelledby=\"rduv-heading3\" data-bs-parent=\"#rduv-faqAccordion\">\r\n                              <div class=\"rduv-accordion-body\">\r\n                                  No, when you browse through our anonymous viewer, your visit won't be counted in Reddit's statistics and they won't know you accessed their web content.\r\n                              <\/div>\r\n                          <\/div>\r\n                      <\/div>\r\n                      \r\n                      <div class=\"rduv-accordion-item mb-3\" data-aos=\"fade-up\" data-aos-delay=\"200\">\r\n                          <h3 class=\"accordion-header\" id=\"rduv-heading4\">\r\n                              <button class=\"rduv-accordion-button collapsed\" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#rduv-collapse4\" aria-expanded=\"false\" aria-controls=\"rduv-collapse4\">\r\n                                  Do I need to install any software?\r\n                              <\/button>\r\n                          <\/h3>\r\n                          <div id=\"rduv-collapse4\" class=\"accordion-collapse collapse\" aria-labelledby=\"rduv-heading4\" data-bs-parent=\"#rduv-faqAccordion\">\r\n                              <div class=\"rduv-accordion-body\">\r\n                                  No, our Reddit Web Viewer is completely web-based. You don't need to download or install any software. Simply visit our website, enter the URL or subreddit, and browse anonymously.\r\n                              <\/div>\r\n                          <\/div>\r\n                      <\/div>\r\n                      \r\n                      <div class=\"rduv-accordion-item mb-3\" data-aos=\"fade-up\" data-aos-delay=\"250\">\r\n                          <h3 class=\"accordion-header\" id=\"rduv-heading5\">\r\n                              <button class=\"rduv-accordion-button collapsed\" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#rduv-collapse5\" aria-expanded=\"false\" aria-controls=\"rduv-collapse5\">\r\n                                  Can I see NSFW or age-restricted content?\r\n                              <\/button>\r\n                          <\/h3>\r\n                          <div id=\"rduv-collapse5\" class=\"accordion-collapse collapse\" aria-labelledby=\"rduv-heading5\" data-bs-parent=\"#rduv-faqAccordion\">\r\n                              <div class=\"rduv-accordion-body\">\r\n                                  Our viewer can only access publicly available content. For NSFW or age-restricted subreddits, you may need to verify age requirements, but we don't bypass any Reddit security measures.\r\n                              <\/div>\r\n                          <\/div>\r\n                      <\/div>\r\n                  <\/div>\r\n              <\/div>\r\n          <\/div>\r\n      <\/div>\r\n  <\/section>\r\n  \r\n    <!-- Footer -->\r\n    \r\n  \r\n  <!-- Copyright Section -->\r\n  \r\n  \r\n  \r\n  \r\n   <!-- Reddit User Viewer js -->\r\n    <script src=\"https:\/\/tools.xrespond.com\/api\/rate-limit-handler.js\"><\/script>\r\n    <script src=\"https:\/\/tools.xrespond.com\/api\/js\/client-ip-detector.js\"><\/script>\r\n   <script>\r\n      class RedditUserExplorerPro {\r\n          constructor() {\r\n              this.currentUser = null;\r\n              this.posts = [];\r\n              this.downloadController = null;\r\n              this.apiEndpoint = 'https:\/\/tools.xrespond.com\/api\/reddit\/users';\r\n              this.init();\r\n          }\r\n  \r\n          init() {\r\n              this.bindEvents();\r\n              this.setupModal();\r\n          }\r\n  \r\n          bindEvents() {\r\n              const searchForm = document.getElementById('searchForm');\r\n              const usernameInput = document.getElementById('usernameInput');\r\n  \r\n              searchForm.addEventListener('submit', (e) => {\r\n                  e.preventDefault();\r\n                  const username = usernameInput.value.trim();\r\n                  if (username) {\r\n                      this.searchUser(username);\r\n                  }\r\n              });\r\n  \r\n              usernameInput.addEventListener('keypress', (e) => {\r\n                  if (e.key === 'Enter') {\r\n                      e.preventDefault();\r\n                      searchForm.dispatchEvent(new Event('submit'));\r\n                  }\r\n              });\r\n          }\r\n  \r\n          async searchUser(username) {\r\n              this.showLoading(true);\r\n              this.clearError();\r\n  \r\n              try {\r\n                  console.log(`\ud83d\udd0d Searching for user: ${username}`);\r\n                  const userData = await this.fetchUserData(username);\r\n  \r\n                  if (userData && userData.data && userData.data.body && userData.data.body.length > 0) {\r\n                      this.currentUser = username;\r\n                      this.posts = userData.data.body;\r\n                      this.displayUserInfo(username, userData.data);\r\n                      this.displayPosts(userData.data.body);\r\n                      this.showPostsSection(true);\r\n                      console.log(`\u2705 Success! Found ${userData.data.body.length} posts for ${username}`);\r\n                  } else {\r\n                      this.showError(`No posts found for user \"${username}\". The user might not exist, have no posts, or their profile might be private.`);\r\n                      this.showPostsSection(false);\r\n                  }\r\n              } catch (error) {\r\n                  console.error('\u274c Error details:', error);\r\n                  this.showError(`Failed to fetch posts for \"${username}\". Error: ${error.message}`);\r\n                  this.showPostsSection(false);\r\n              } finally {\r\n                  this.showLoading(false);\r\n              }\r\n          }\r\n  \r\n          async fetchUserData(username) {\r\n              try {\r\n                  const response = await fetch(this.apiEndpoint, {\r\n                      method: 'POST',\r\n                      headers: {\r\n                          'Content-Type': 'application\/x-www-form-urlencoded',\r\n                      },\r\n                      body: `username=${encodeURIComponent(username)}`\r\n                  });\r\n  \r\n                  if (!response.ok) {\r\n                      throw new Error(`API request failed: ${response.status} ${response.statusText}`);\r\n                  }\r\n  \r\n                  const data = await response.json();\r\n  \r\n                  if (data.status !== 'success') {\r\n                      throw new Error('API returned unsuccessful status');\r\n                  }\r\n  \r\n                  return data;\r\n              } catch (error) {\r\n                  console.error('API Error:', error);\r\n                  throw error;\r\n              }\r\n          }\r\n  \r\n          displayUserInfo(username, userData) {\r\n              const userInfo = document.getElementById('userInfo');\r\n              const userAvatar = document.getElementById('userAvatar');\r\n              const userName = document.getElementById('userName');\r\n              const userDescription = document.getElementById('userDescription');\r\n              const userStats = document.getElementById('userStats');\r\n  \r\n              userAvatar.textContent = username.charAt(0).toUpperCase();\r\n              userName.textContent = `u\/${username}`;\r\n              userDescription.textContent = `Reddit User \u2022 ${userData.body.length} posts analyzed`;\r\n  \r\n              \/\/ Calculate comprehensive stats from the posts\r\n              const posts = userData.body.filter(item => item.title); \/\/ Filter actual posts\r\n              const comments = userData.body.filter(item => item.body && !item.title); \/\/ Filter comments\r\n  \r\n              const totalUpvotes = userData.body.reduce((sum, item) => sum + (item.ups || 0), 0);\r\n              const totalComments = posts.reduce((sum, post) => sum + (post.num_comments || 0), 0);\r\n              const totalAwards = userData.body.reduce((sum, item) => sum + (item.total_awards_received || 0), 0);\r\n              const avgUpvoteRatio = posts.length > 0 ?\r\n                  posts.reduce((sum, post) => sum + (post.upvote_ratio || 0), 0) \/ posts.length : 0;\r\n  \r\n              userStats.innerHTML = `\r\n                  <div class=\"stat-card\">\r\n                      <div class=\"stat-number\">${this.formatNumber(totalUpvotes)}<\/div>\r\n                      <div class=\"stat-label\">Total Upvotes<\/div>\r\n                  <\/div>\r\n                  <div class=\"stat-card\">\r\n                      <div class=\"stat-number\">${posts.length}<\/div>\r\n                      <div class=\"stat-label\">Posts Created<\/div>\r\n                  <\/div>\r\n                  <div class=\"stat-card\">\r\n                      <div class=\"stat-number\">${comments.length}<\/div>\r\n                      <div class=\"stat-label\">Comments Made<\/div>\r\n                  <\/div>\r\n                  <div class=\"stat-card\">\r\n                      <div class=\"stat-number\">${totalAwards}<\/div>\r\n                      <div class=\"stat-label\">Awards Received<\/div>\r\n                  <\/div>\r\n                  <div class=\"stat-card\">\r\n                      <div class=\"stat-number\">${Math.round(avgUpvoteRatio * 100)}%<\/div>\r\n                      <div class=\"stat-label\">Avg. Upvote Ratio<\/div>\r\n                  <\/div>\r\n              `;\r\n  \r\n              userInfo.style.display = 'block';\r\n          }\r\n  \r\n          displayPosts(posts) {\r\n              const container = document.getElementById('postsContainer');\r\n              const sectionTitle = document.getElementById('sectionTitle');\r\n  \r\n              sectionTitle.textContent = `${posts.length} Posts & Comments from u\/${this.currentUser}`;\r\n              container.innerHTML = '';\r\n  \r\n              posts.forEach((post, index) => {\r\n                  const postCard = this.createPostCard(post);\r\n                  postCard.style.animationDelay = `${index * 0.1}s`;\r\n                  container.appendChild(postCard);\r\n              });\r\n          }\r\n  \r\n          createPostCard(post) {\r\n              const card = document.createElement('div');\r\n              card.className = 'post-card';\r\n  \r\n              \/\/ Determine if this is a post or comment\r\n              const isPost = !!post.title;\r\n              const isComment = !!post.body && !post.title;\r\n              const isVideo = post.is_video || (post.secure_media && post.secure_media.reddit_video);\r\n              const hasImage = post.preview && post.preview.images && post.preview.images.length > 0;\r\n              const isExternalLink = isPost && post.url && !post.url.includes('reddit.com') && !isVideo && !hasImage;\r\n  \r\n              let mediaContent = '';\r\n              let postType = isComment ? 'Comment' : isPost ? 'Post' : 'Activity';\r\n  \r\n              if (isVideo && post.secure_media && post.secure_media.reddit_video) {\r\n                  postType = 'Video';\r\n                  const video = post.secure_media.reddit_video;\r\n                  const videoUrl = video.fallback_url;\r\n                  const redditPostUrl = `https:\/\/www.reddit.com${post.permalink}`;\r\n  \r\n                  mediaContent = `\r\n                      <div class=\"media-container\">\r\n                          <div class=\"video-container\">\r\n                              <video class=\"video-player\" controls preload=\"metadata\" id=\"video-${post.id}\" onclick=\"redditExplorer.toggleVideoPlayPause('${post.id}')\">\r\n                                  <source src=\"${videoUrl}\" type=\"video\/mp4\">\r\n                                  Your browser does not support the video tag.\r\n                              <\/video>\r\n                              <button class=\"video-play-overlay\" id=\"play-overlay-${post.id}\" onclick=\"redditExplorer.toggleVideoPlayPause('${post.id}')\">\u25b6<\/button>\r\n                          <\/div>\r\n                          <div class=\"media-controls\">\r\n                              ${video.has_audio ? `\r\n                                  <button class=\"control-btn stream-audio-btn\" onclick=\"redditExplorer.streamWithAudio(event, '${redditPostUrl}', '${post.id}')\">\r\n                                      \ud83d\udd0a Stream with Audio\r\n                                  <\/button>\r\n                              ` : ''}\r\n                              <button class=\"control-btn download-btn\" onclick=\"redditExplorer.downloadVideoWithAudio(event, '${redditPostUrl}', '${this.sanitizeFilename(post.title || 'video')}.mp4', '${post.id}')\">\r\n                                  \ud83d\udce5 Download Video\r\n                              <\/button>\r\n                          <\/div>\r\n                      <\/div>\r\n                  `;\r\n              } else if (hasImage) {\r\n                  postType = 'Image';\r\n                  const image = post.preview.images[0];\r\n                  const imageUrl = image.source.url.replace(\/&\/g, '&');\r\n                  mediaContent = `\r\n                      <div class=\"media-container\">\r\n                          <img decoding=\"async\" src=\"${imageUrl}\" alt=\"${post.title || 'Image'}\" class=\"image-preview\" onclick=\"redditExplorer.openImageModal('${imageUrl}')\">\r\n                          <div class=\"media-controls\">\r\n                              <button class=\"control-btn download-btn\" onclick=\"redditExplorer.downloadImageBase64WithButtonSpinner(event, this, '${imageUrl}', '${this.sanitizeFilename(post.title || 'image')}.jpg')\">\r\n                                  <span class=\"btn-text\">\ud83d\udce5 Download Image<\/span>\r\n                                  <span class=\"btn-spinner\" style=\"display:none; margin-left:8px;\">\r\n                                      <span class=\"spinner\" style=\"width:18px;height:18px;border:3px solid #eee;border-top:3px solid #FF4500;border-radius:50%;display:inline-block;vertical-align:middle;animation:spin 1s linear infinite;\"><\/span>\r\n                                  <\/span>\r\n                              <\/button>\r\n                          <\/div>\r\n                      <\/div>\r\n                  `;\r\n              } else if (isExternalLink) {\r\n                  postType = 'Link';\r\n              }\r\n  \r\n              let externalLinkContent = '';\r\n              if (isExternalLink && post.url) {\r\n                  externalLinkContent = `\r\n                      <a href=\"${post.url}\" target=\"_blank\" class=\"external-link\">\r\n                          \ud83d\udd17 Visit ${post.domain || 'External Link'}\r\n                      <\/a>\r\n                  `;\r\n              }\r\n  \r\n              \/\/ Enhanced post badges\r\n              let badges = '';\r\n              if (post.distinguished === 'admin') badges += '<span class=\"badge admin\">\ud83d\udc51 Admin<\/span>';\r\n              if (post.distinguished === 'moderator') badges += '<span class=\"badge admin\">\ud83d\udee1\ufe0f Mod<\/span>';\r\n              if (post.stickied) badges += '<span class=\"badge stickied\">\ud83d\udccc Stickied<\/span>';\r\n              if (post.archived) badges += '<span class=\"badge archived\">\ud83d\uddc3\ufe0f Archived<\/span>';\r\n              if (post.locked) badges += '<span class=\"badge locked\">\ud83d\udd12 Locked<\/span>';\r\n              if (post.over_18) badges += '<span class=\"badge nsfw\">\ud83d\udd1e NSFW<\/span>';\r\n  \r\n              \/\/ Content handling for both posts and comments - FIXED VERSION\r\n              let contentText = '';\r\n              if (isComment && post.body) {\r\n                  const isLongText = post.body.length > 300;\r\n                  const truncatedText = isLongText ? this.truncateText(post.body, 300) : post.body;\r\n                  contentText = `\r\n                      <div class=\"post-text\" id=\"text-${post.id}\">${truncatedText}<\/div>\r\n                      ${isLongText ? `\r\n                          <button class=\"expand-btn\" data-post-id=\"${post.id}\" data-full-text=\"${this.escapeHtml(post.body)}\" onclick=\"redditExplorer.toggleText(this)\">\r\n                              Show More\r\n                          <\/button>\r\n                      ` : ''}\r\n                  `;\r\n              } else if (isPost && post.selftext) {\r\n                  const isLongText = post.selftext.length > 300;\r\n                  const truncatedText = isLongText ? this.truncateText(post.selftext, 300) : post.selftext;\r\n                  contentText = `\r\n                      <div class=\"post-text\" id=\"text-${post.id}\">${truncatedText}<\/div>\r\n                      ${isLongText ? `\r\n                          <button class=\"expand-btn\" data-post-id=\"${post.id}\" data-full-text=\"${this.escapeHtml(post.selftext)}\" onclick=\"redditExplorer.toggleText(this)\">\r\n                              Show More\r\n                          <\/button>\r\n                      ` : ''}\r\n                  `;\r\n              }\r\n  \r\n              \/\/ Title handling\r\n              const title = post.title || (isComment ? `Comment in: ${post.link_title || 'Discussion'}` : 'Reddit Activity');\r\n  \r\n              card.innerHTML = `\r\n                  <div class=\"post-header\">\r\n                      <div class=\"subreddit-info\">\r\n                          <div class=\"subreddit-badge\">${post.subreddit_name_prefixed || 'r\/unknown'}<\/div>\r\n                          <div class=\"post-type\">${postType}<\/div>\r\n                      <\/div>\r\n                      <div class=\"post-meta\">\r\n                          ${this.formatDate(post.created_utc)}\r\n                          ${post.edited ? ` \u2022 Edited` : ''}\r\n                      <\/div>\r\n                  <\/div>\r\n  \r\n                  ${badges ? `<div class=\"post-badges\">${badges}<\/div>` : ''}\r\n  \r\n                  <h2 class=\"post-title\">${title}<\/h2>\r\n  \r\n                  <div class=\"post-content\">\r\n                      ${contentText}\r\n                      ${mediaContent}\r\n                      ${externalLinkContent}\r\n                  <\/div>\r\n  \r\n                  <div class=\"post-stats\">\r\n                      <div class=\"stat-item upvotes\">\r\n                          <div class=\"stat-value\">${this.formatNumber(post.ups || 0)}<\/div>\r\n                          <div class=\"stat-label\">Upvotes<\/div>\r\n                      <\/div>\r\n                      <div class=\"stat-item comments\">\r\n                          <div class=\"stat-value\">${this.formatNumber(post.num_comments || 0)}<\/div>\r\n                          <div class=\"stat-label\">Comments<\/div>\r\n                      <\/div>\r\n                  <\/div>\r\n              `;\r\n  \r\n              return card;\r\n          }\r\n  \r\n          \/\/ FIXED toggleText function\r\n          toggleText(button) {\r\n              const postId = button.getAttribute('data-post-id');\r\n              const fullText = button.getAttribute('data-full-text');\r\n              const textElement = document.getElementById(`text-${postId}`);\r\n  \r\n              if (button.textContent.trim() === 'Show More') {\r\n                  textElement.innerHTML = fullText;\r\n                  button.textContent = 'Show Less';\r\n              } else {\r\n                  textElement.innerHTML = this.truncateText(fullText, 300);\r\n                  button.textContent = 'Show More';\r\n              }\r\n          }\r\n  \r\n          \/\/ Helper function to escape HTML\r\n          escapeHtml(text) {\r\n              const div = document.createElement('div');\r\n              div.textContent = text;\r\n              return div.innerHTML;\r\n          }\r\n  \r\n          \/\/ Video control functions\r\n          playVideo(postId) {\r\n              const video = document.getElementById(`video-${postId}`);\r\n              const overlay = document.getElementById(`play-overlay-${postId}`);\r\n  \r\n              if (video.paused) {\r\n                  video.play();\r\n                  overlay.innerHTML = '\u23f8\ufe0f';\r\n                  overlay.style.display = 'flex';\r\n              } else {\r\n                  video.pause();\r\n                  overlay.innerHTML = '\u25b6';\r\n                  overlay.style.display = 'flex';\r\n              }\r\n  \r\n              \/\/ Update overlay when video ends\r\n              video.addEventListener('ended', () => {\r\n                  overlay.innerHTML = '\u25b6';\r\n                  overlay.style.display = 'flex';\r\n              });\r\n          }\r\n  \r\n          toggleVideoPlayPause(postId) {\r\n              const video = document.getElementById(`video-${postId}`);\r\n              const overlay = document.getElementById(`play-overlay-${postId}`);\r\n  \r\n              if (video.paused) {\r\n                  video.play();\r\n                  overlay.innerHTML = '\u23f8\ufe0f';\r\n                  overlay.style.display = 'flex';\r\n              } else {\r\n                  video.pause();\r\n                  overlay.innerHTML = '\u25b6';\r\n                  overlay.style.display = 'flex';\r\n              }\r\n          }\r\n  \r\n          async streamWithAudio(event, redditUrl, postId) {\r\n              const button = event.target;\r\n              const originalText = button.innerHTML;\r\n              const videoContainer = document.querySelector(`#video-${postId}`).parentElement;\r\n  \r\n              \/\/ Show loading overlay\r\n              const loadingOverlay = document.createElement('div');\r\n              loadingOverlay.className = 'video-loading-overlay';\r\n              loadingOverlay.innerHTML = `\r\n                  <div class=\"video-loading-spinner\"><\/div>\r\n                  <div>Loading audio-enabled video...<\/div>\r\n              `;\r\n              videoContainer.appendChild(loadingOverlay);\r\n  \r\n              button.disabled = true;\r\n              button.classList.add('loading');\r\n              button.innerHTML = '\u23f3 Loading Audio...';\r\n  \r\n              try {\r\n                  console.log('Fetching audio-enabled video for:', redditUrl);\r\n  \r\n                  const response = await fetch('https:\/\/tools.xrespond.com\/api\/reddit\/video\/downloader', {\r\n                      method: 'POST',\r\n                      headers: {\r\n                          'Content-Type': 'application\/x-www-form-urlencoded',\r\n                      },\r\n                      body: `url=${encodeURIComponent(redditUrl)}`\r\n                  });\r\n  \r\n                  if (!response.ok) {\r\n                      throw new Error(`API request failed: ${response.status}`);\r\n                  }\r\n  \r\n                  const data = await response.json();\r\n  \r\n                  if (data.success && data.data && data.data.data && data.data.data.links && data.data.data.links.length > 0) {\r\n                      const downloadUrl = data.data.data.links[0].download_url;\r\n  \r\n                      const videoElement = document.getElementById(`video-${postId}`);\r\n                      if (videoElement) {\r\n                          videoElement.src = downloadUrl;\r\n                          videoElement.load();\r\n  \r\n                          button.innerHTML = '\ud83d\udd0a Audio Loaded!';\r\n                          button.style.background = 'var(--gradient-accent)';\r\n  \r\n                          setTimeout(() => {\r\n                              button.innerHTML = '\ud83d\udd0a Stream with Audio';\r\n                              button.style.background = '';\r\n                              button.disabled = false;\r\n                              button.classList.remove('loading');\r\n                          }, 2000);\r\n                      }\r\n                  } else {\r\n                      throw new Error('Invalid API response format');\r\n                  }\r\n              } catch (error) {\r\n                  console.error('Error fetching audio video:', error);\r\n                  button.innerHTML = '\u274c Audio Failed';\r\n                  button.style.background = 'var(--gradient-accent)';\r\n  \r\n                  setTimeout(() => {\r\n                      button.innerHTML = originalText;\r\n                      button.style.background = '';\r\n                      button.disabled = false;\r\n                      button.classList.remove('loading');\r\n                  }, 3000);\r\n              } finally {\r\n                  \/\/ Remove loading overlay\r\n                  if (loadingOverlay && loadingOverlay.parentElement) {\r\n                      loadingOverlay.parentElement.removeChild(loadingOverlay);\r\n                  }\r\n              }\r\n          }\r\n  \r\n          async downloadVideoWithAudio(event, redditUrl, filename, postId) {\r\n              const button = event.target;\r\n              const originalText = button.innerHTML;\r\n              button.disabled = true;\r\n              button.classList.add('downloading');\r\n              button.innerHTML = '\u23f3 Preparing...';\r\n  \r\n              this.downloadController = new AbortController();\r\n  \r\n              try {\r\n                  this.showDownloadProgress('Fetching audio-enabled video...', 0);\r\n  \r\n                  const response = await fetch('https:\/\/tools.xrespond.com\/api\/reddit\/video\/downloader', {\r\n                      method: 'POST',\r\n                      headers: {\r\n                          'Content-Type': 'application\/x-www-form-urlencoded',\r\n                      },\r\n                      body: `url=${encodeURIComponent(redditUrl)}`,\r\n                      signal: this.downloadController.signal\r\n                  });\r\n  \r\n                  if (!response.ok) {\r\n                      throw new Error(`API request failed: ${response.status}`);\r\n                  }\r\n  \r\n                  const data = await response.json();\r\n  \r\n                  if (data.success && data.data && data.data.data && data.data.data.links && data.data.data.links.length > 0) {\r\n                      const downloadUrl = data.data.data.links[0].download_url;\r\n  \r\n                      this.showDownloadProgress('Starting video download...', 10);\r\n  \r\n                      const videoResponse = await fetch(downloadUrl, {\r\n                          signal: this.downloadController.signal\r\n                      });\r\n  \r\n                      if (!videoResponse.ok) {\r\n                          throw new Error(`Download failed: ${videoResponse.status}`);\r\n                      }\r\n  \r\n                      const totalSize = parseInt(videoResponse.headers.get('content-length') || '0');\r\n                      const reader = videoResponse.body.getReader();\r\n                      let receivedSize = 0;\r\n                      const chunks = [];\r\n  \r\n                      while (true) {\r\n                          const { done, value } = await reader.read();\r\n                          if (done) break;\r\n  \r\n                          chunks.push(value);\r\n                          receivedSize += value.length;\r\n  \r\n                          const progress = totalSize ? 10 + (receivedSize \/ totalSize) * 80 : 50;\r\n                          this.showDownloadProgress('Downloading video with audio...', progress, receivedSize, totalSize);\r\n                      }\r\n  \r\n                      this.showDownloadProgress('Processing download...', 95, receivedSize, totalSize);\r\n  \r\n                      const blob = new Blob(chunks, { type: 'video\/mp4' });\r\n                      const downloadBlobUrl = URL.createObjectURL(blob);\r\n  \r\n                      const a = document.createElement('a');\r\n                      a.href = downloadBlobUrl;\r\n                      a.download = filename;\r\n                      a.style.display = 'none';\r\n                      document.body.appendChild(a);\r\n                      a.click();\r\n                      document.body.removeChild(a);\r\n  \r\n                      setTimeout(() => URL.revokeObjectURL(downloadBlobUrl), 1000);\r\n  \r\n                      this.showDownloadProgress('Download completed!', 100, receivedSize, totalSize);\r\n                      setTimeout(() => this.hideDownloadProgress(), 3000);\r\n                  } else {\r\n                      throw new Error('Invalid API response format');\r\n                  }\r\n              } catch (error) {\r\n                  if (error.name === 'AbortError') {\r\n                      this.showDownloadProgress('Download cancelled', 0);\r\n                      setTimeout(() => this.hideDownloadProgress(), 2000);\r\n                  } else {\r\n                      console.error('Download error:', error);\r\n                      this.showError(`Download failed: ${error.message}`);\r\n                      this.hideDownloadProgress();\r\n                  }\r\n              } finally {\r\n                  button.disabled = false;\r\n                  button.classList.remove('downloading');\r\n                  button.innerHTML = originalText;\r\n                  this.downloadController = null;\r\n              }\r\n          }\r\n  \r\n          async downloadImageBase64WithButtonSpinner(event, btn, imageUrl, filename) {\r\n              event.preventDefault();\r\n              const textSpan = btn.querySelector('.btn-text');\r\n              const spinnerSpan = btn.querySelector('.btn-spinner');\r\n              btn.disabled = true;\r\n              textSpan.style.display = 'none';\r\n              spinnerSpan.style.display = 'inline-block';\r\n              try {\r\n                  const proxyUrl = `https:\/\/tools.xrespond.com\/api\/reddit\/proxy-media-base64?url=${encodeURIComponent(imageUrl)}`;\r\n                  const response = await fetch(proxyUrl);\r\n                  if (!response.ok) throw new Error('Failed to fetch image');\r\n                  const data = await response.json();\r\n                  const base64data = `data:${data.contentType};base64,${data.base64}`;\r\n                  const a = document.createElement('a');\r\n                  a.href = base64data;\r\n                  a.download = filename;\r\n                  document.body.appendChild(a);\r\n                  a.click();\r\n                  document.body.removeChild(a);\r\n                  await new Promise(res => setTimeout(res, 1200)); \/\/ Show spinner briefly\r\n              } catch (error) {\r\n                  this.showError('Could not download image. Please try again later.');\r\n              } finally {\r\n                  btn.disabled = false;\r\n                  textSpan.style.display = '';\r\n                  spinnerSpan.style.display = 'none';\r\n              }\r\n          }\r\n  \r\n          showDownloadProgress(text, progress = 0, downloaded = 0, total = 0) {\r\n              const progressDiv = document.getElementById('downloadProgress');\r\n              const progressText = document.getElementById('progressText');\r\n              const progressFill = document.getElementById('progressBarFill');\r\n              const progressPercent = document.getElementById('progressPercent');\r\n              const progressSize = document.getElementById('progressSize');\r\n  \r\n              progressText.textContent = text;\r\n              progressFill.style.width = `${progress}%`;\r\n              progressPercent.textContent = `${Math.round(progress)}%`;\r\n              progressSize.textContent = `${this.formatFileSize(downloaded)} \/ ${this.formatFileSize(total)}`;\r\n  \r\n              progressDiv.classList.add('show');\r\n          }\r\n  \r\n          hideDownloadProgress() {\r\n              document.getElementById('downloadProgress').classList.remove('show');\r\n          }\r\n  \r\n          cancelDownload() {\r\n              if (this.downloadController) {\r\n                  this.downloadController.abort();\r\n                  this.downloadController = null;\r\n              }\r\n          }\r\n  \r\n          formatFileSize(bytes) {\r\n              if (bytes === 0) return '0 Bytes';\r\n              const k = 1024;\r\n              const sizes = ['Bytes', 'KB', 'MB', 'GB'];\r\n              const i = Math.floor(Math.log(bytes) \/ Math.log(k));\r\n              return parseFloat((bytes \/ Math.pow(k, i)).toFixed(2)) + ' ' + sizes[i];\r\n          }\r\n  \r\n          newSearch() {\r\n              document.getElementById('usernameInput').value = '';\r\n              document.getElementById('userInfo').style.display = 'none';\r\n              document.getElementById('postsSection').style.display = 'none';\r\n              this.clearError();\r\n              document.getElementById('usernameInput').focus();\r\n          }\r\n  \r\n          setupModal() {\r\n              const modal = document.getElementById('imageModal');\r\n              const closeBtn = document.querySelector('.close');\r\n  \r\n              closeBtn.onclick = () => {\r\n                  modal.style.display = 'none';\r\n              }\r\n  \r\n              window.onclick = (event) => {\r\n                  if (event.target === modal) {\r\n                      modal.style.display = 'none';\r\n                  }\r\n              }\r\n          }\r\n  \r\n          openImageModal(imageUrl) {\r\n              const modal = document.getElementById('imageModal');\r\n              const modalImg = document.getElementById('modalImage');\r\n              modal.style.display = 'block';\r\n              modalImg.src = imageUrl;\r\n          }\r\n  \r\n          showLoading(show) {\r\n              const searchBtn = document.getElementById('searchBtn');\r\n              const searchText = document.getElementById('searchText');\r\n              const searchSpinner = document.getElementById('searchSpinner');\r\n              const loading = document.getElementById('loading');\r\n  \r\n              if (show) {\r\n                  searchBtn.disabled = true;\r\n                  searchText.style.display = 'none';\r\n                  searchSpinner.style.display = 'block';\r\n                  loading.style.display = 'block';\r\n              } else {\r\n                  searchBtn.disabled = false;\r\n                  searchText.style.display = 'block';\r\n                  searchSpinner.style.display = 'none';\r\n                  loading.style.display = 'none';\r\n              }\r\n          }\r\n  \r\n          showPostsSection(show) {\r\n              const postsSection = document.getElementById('postsSection');\r\n              postsSection.style.display = show ? 'block' : 'none';\r\n          }\r\n  \r\n          showError(message) {\r\n              const errorContainer = document.getElementById('errorMessage');\r\n              errorContainer.textContent = message;\r\n              errorContainer.style.display = 'block';\r\n              setTimeout(() => {\r\n                  errorContainer.style.display = 'none';\r\n              }, 8000);\r\n          }\r\n  \r\n          clearError() {\r\n              document.getElementById('errorMessage').style.display = 'none';\r\n          }\r\n  \r\n          formatNumber(num) {\r\n              if (num >= 1000000) {\r\n                  return (num \/ 1000000).toFixed(1) + 'M';\r\n              } else if (num >= 1000) {\r\n                  return (num \/ 1000).toFixed(1) + 'K';\r\n              }\r\n              return num.toString();\r\n          }\r\n  \r\n          formatDate(timestamp) {\r\n              return new Date(timestamp * 1000).toLocaleDateString('en-US', {\r\n                  year: 'numeric',\r\n                  month: 'short',\r\n                  day: 'numeric'\r\n              });\r\n          }\r\n  \r\n          formatDuration(seconds) {\r\n              const mins = Math.floor(seconds \/ 60);\r\n              const secs = seconds % 60;\r\n              return `${mins}:${secs.toString().padStart(2, '0')}`;\r\n          }\r\n  \r\n          truncateText(text, maxLength) {\r\n              if (text.length <= maxLength) return text;\r\n              return text.substring(0, maxLength) + '...';\r\n          }\r\n  \r\n          sanitizeFilename(filename) {\r\n              return filename.replace(\/[^a-z0-9]\/gi, '_').toLowerCase();\r\n          }\r\n      }\r\n  \r\n      \/\/ Global function for cancel download\r\n      function cancelDownload() {\r\n          redditExplorer.cancelDownload();\r\n      }\r\n  \r\n      \/\/ Initialize the app\r\n      const redditExplorer = new RedditUserExplorerPro();\r\n  <\/script>\r\n    <!-- Vvveb Common Js -->\r\n    <script id=\"popper-js\" src=\"..\/js\/popper.min.js\"><\/script>\r\n    <!-- Vvveb Ajax Common Js -->\r\n    <script id=\"app-js\" src=\"..\/js\/app.js\"><\/script>\r\n    \r\n    <!-- Scripts -->\r\n      <script src=\"https:\/\/cdn.jsdelivr.net\/npm\/bootstrap@5.3.0\/dist\/js\/bootstrap.bundle.min.js\"><\/script>\r\n      <script src=\"https:\/\/unpkg.com\/aos@2.3.1\/dist\/aos.js\"><\/script>\r\n  \r\n  \r\n    <!-- Animation -->\r\n  \r\n    <link rel=\"stylesheet\" href=\"..\/js\/aos.css\">\r\n    <noscript>\r\n      <style type=\"text\/css\">\r\n        [data-aos] {\r\n          opacity: 1 !important;\r\n          transform: translate(0) scale(1) !important;\r\n        }\r\n      <\/style>\r\n    <\/noscript>\r\n  \r\n    <script src=\"..\/js\/aos.js\"><\/script>\r\n    <script src=\"..\/js\/theme.js\"><\/script>\r\n  \r\n        <\/div>\r\n\r\n  <script>\r\n          \/\/ Initialize AOS animation\r\n          AOS.init({\r\n              duration: 800,\r\n              easing: 'ease-in-out',\r\n              once: true\r\n          });\r\n          \r\n          \/\/ Smooth scrolling for anchor links\r\n          document.querySelectorAll('a[href^=\"#\"]').forEach(anchor => {\r\n              anchor.addEventListener('click', function (e) {\r\n                  e.preventDefault();\r\n                  document.querySelector(this.getAttribute('href')).scrollIntoView({\r\n                      behavior: 'smooth'\r\n                  });\r\n              });\r\n          });\r\n  <\/script>\r\n  \r\n  <grammarly-desktop-integration data-grammarly-shadow-root=\"true\"><\/grammarly-desktop-integration><grammarly-desktop-integration data-grammarly-shadow-root=\"true\"><\/grammarly-desktop-integration>\r\n  <script defer=\"\" src=\"https:\/\/static.cloudflareinsights.com\/beacon.min.js\/vcd15cbe7772f49c399c6a5babf22c1241717689176015\" integrity=\"sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==\" data-cf-beacon=\"{\"version\":\"2024.11.0\",\"token\":\"786b797d7952407aac48ed2776a3a826\",\"r\":1,\"server_timing\":{\"name\":{\"cfCacheStatus\":true,\"cfEdge\":true,\"cfExtPri\":true,\"cfL4\":true,\"cfOrigin\":true,\"cfSpeedBrain\":true},\"location_startswith\":null}}\" crossorigin=\"anonymous\"><\/script>\r\n  <script defer=\"\" src=\"https:\/\/static.cloudflareinsights.com\/beacon.min.js\/v8c78df7c7c0f484497ecbca7046644da1771523124516\" integrity=\"sha512-8DS7rgIrAmghBFwoOTujcf6D9rXvH8xm8JQ1Ja01h9QX8EzXldiszufYa4IFfKdLUKTTrnSFXLDkUEOTrZQ8Qg==\" data-cf-beacon=\"{\"version\":\"2024.11.0\",\"token\":\"786b797d7952407aac48ed2776a3a826\",\"r\":1,\"server_timing\":{\"name\":{\"cfCacheStatus\":true,\"cfEdge\":true,\"cfExtPri\":true,\"cfL4\":true,\"cfOrigin\":true,\"cfSpeedBrain\":true},\"location_startswith\":null}}\" crossorigin=\"anonymous\"><\/script>\r\n \n","protected":false},"author":1,"featured_media":0,"parent":264,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"class_list":["post-275","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/viewanonymous.com\/wp-json\/wp\/v2\/pages\/275","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/viewanonymous.com\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/viewanonymous.com\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/viewanonymous.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/viewanonymous.com\/wp-json\/wp\/v2\/comments?post=275"}],"version-history":[{"count":5,"href":"https:\/\/viewanonymous.com\/wp-json\/wp\/v2\/pages\/275\/revisions"}],"predecessor-version":[{"id":578,"href":"https:\/\/viewanonymous.com\/wp-json\/wp\/v2\/pages\/275\/revisions\/578"}],"up":[{"embeddable":true,"href":"https:\/\/viewanonymous.com\/wp-json\/wp\/v2\/pages\/264"}],"wp:attachment":[{"href":"https:\/\/viewanonymous.com\/wp-json\/wp\/v2\/media?parent=275"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}