{"id":297,"date":"2025-09-14T03:34:09","date_gmt":"2025-09-14T03:34:09","guid":{"rendered":"https:\/\/viewri.com\/?page_id=297"},"modified":"2025-12-29T07:00:37","modified_gmt":"2025-12-29T07:00:37","slug":"post","status":"publish","type":"page","link":"https:\/\/viewri.com\/reddit\/post\/","title":{"rendered":"Reddit Post Viewer"},"content":{"rendered":"<p>[et_pb_section fb_built=&#8221;1&#8243; fullwidth=&#8221;on&#8221; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_fullwidth_code _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;]    <style>\r\n        @import url('https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap');\r\n\r\n        :root {\r\n            --rpv-primary-color: #2C3E50;\r\n            --rpv-primary-light: #34495E;\r\n            --rpv-secondary-color: #16A085;\r\n            --rpv-secondary-light: #1ABC9C;\r\n            --rpv-accent-color: #E67E22;\r\n            --rpv-accent-light: #F39C12;\r\n            --rpv-success-color: #27AE60;\r\n            --rpv-success-light: #2ECC71;\r\n            --rpv-danger-color: #E74C3C;\r\n            --rpv-danger-light: #C0392B;\r\n            --rpv-progress-color: #00D4AA;\r\n            --rpv-progress-bg: #E8F5F3;\r\n            --rpv-bg-primary: #F8F9FA;\r\n            --rpv-bg-secondary: #FFFFFF;\r\n            --rpv-bg-tertiary: #ECF0F1;\r\n            --rpv-glass-bg: rgba(255, 255, 255, 0.25);\r\n            --rpv-glass-border: rgba(255, 255, 255, 0.35);\r\n            --rpv-text-primary: #2C3E50;\r\n            --rpv-text-secondary: #34495E;\r\n            --rpv-text-muted: #7F8C8D;\r\n            --rpv-text-white: #FFFFFF;\r\n            --rpv-shadow-sm: 0 2px 4px rgba(44, 62, 80, 0.08);\r\n            --rpv-shadow-md: 0 4px 12px rgba(44, 62, 80, 0.12);\r\n            --rpv-shadow-lg: 0 8px 24px rgba(44, 62, 80, 0.15);\r\n            --rpv-shadow-xl: 0 12px 32px rgba(44, 62, 80, 0.18);\r\n            --rpv-reddit-orange: #FF4500;\r\n            --rpv-reddit-orange-light: #FF6B35;\r\n        }\r\n\r\n        .rpv-wrapper {\r\n            font-family: 'Inter', sans-serif;\r\n            background: linear-gradient(135deg, #ECF0F1 0%, #BDC3C7 25%, #95A5A6 50%, #7F8C8D 75%, #34495E 100%);\r\n            min-height: 100vh;\r\n            line-height: 1.6;\r\n            position: relative;\r\n            overflow-x: hidden;\r\n            color: var(--rpv-text-primary);\r\n        }\r\n\r\n        .rpv-wrapper::before {\r\n            content: '';\r\n            position: fixed;\r\n            top: 0;\r\n            left: 0;\r\n            width: 100%;\r\n            height: 100%;\r\n            background:\r\n                radial-gradient(circle at 25% 25%, rgba(22, 160, 133, 0.1) 0%, transparent 50%),\r\n                radial-gradient(circle at 75% 75%, rgba(52, 73, 94, 0.1) 0%, transparent 50%),\r\n                radial-gradient(circle at 50% 50%, rgba(230, 126, 34, 0.08) 0%, transparent 50%);\r\n            pointer-events: none;\r\n            z-index: -1;\r\n        }\r\n\r\n        .rpv-container {\r\n            max-width: 1400px;\r\n            margin: 0 auto;\r\n            padding: 20px;\r\n            position: relative;\r\n            z-index: 1;\r\n        }\r\n\r\n        .rpv-header {\r\n            text-align: center;\r\n            margin-bottom: 40px;\r\n            padding: 30px 0;\r\n            animation: rpv-fadeInDown 1s ease-out;\r\n        }\r\n\r\n        .rpv-logo {\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            gap: 20px;\r\n            margin-bottom: 20px;\r\n            flex-wrap: wrap;\r\n        }\r\n\r\n        .rpv-logo-icon {\r\n            width: 70px;\r\n            height: 70px;\r\n            background: linear-gradient(135deg, var(--rpv-reddit-orange), var(--rpv-reddit-orange-light));\r\n            border-radius: 16px;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            color: white;\r\n            font-size: 32px;\r\n            font-weight: 700;\r\n            box-shadow: var(--rpv-shadow-lg);\r\n            animation: rpv-pulse 3s ease-in-out infinite;\r\n        }\r\n\r\n        .rpv-reddit-icon {\r\n            width: 50px;\r\n            height: 50px;\r\n            background: var(--rpv-reddit-orange);\r\n            border-radius: 12px;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            color: white;\r\n            font-size: 20px;\r\n            font-weight: 700;\r\n            animation: rpv-redditFloat 4s ease-in-out infinite;\r\n            box-shadow: 0 4px 15px rgba(255, 69, 0, 0.3);\r\n            margin: 0 10px;\r\n        }\r\n\r\n        .rpv-logo-text {\r\n            font-size: clamp(2rem, 5vw, 3.2rem);\r\n            font-weight: 800;\r\n            background: linear-gradient(135deg, var(--rpv-reddit-orange), var(--rpv-secondary-color));\r\n            -webkit-background-clip: text;\r\n            -webkit-text-fill-color: transparent;\r\n            background-clip: text;\r\n            letter-spacing: -0.5px;\r\n        }\r\n\r\n        .rpv-subtitle {\r\n            color: var(--rpv-text-secondary);\r\n            font-size: 18px;\r\n            font-weight: 600;\r\n            margin-bottom: 25px;\r\n            max-width: 600px;\r\n            margin-left: auto;\r\n            margin-right: auto;\r\n            text-shadow: 0 1px 2px rgba(255, 255, 255, 0.8);\r\n        }\r\n\r\n        .rpv-features-bar {\r\n            display: flex;\r\n            justify-content: center;\r\n            gap: 20px;\r\n            margin-bottom: 30px;\r\n            flex-wrap: wrap;\r\n        }\r\n\r\n        .rpv-feature-item {\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 10px;\r\n            color: var(--rpv-text-primary);\r\n            font-size: 14px;\r\n            font-weight: 600;\r\n            background: var(--rpv-glass-bg);\r\n            backdrop-filter: blur(20px);\r\n            padding: 12px 20px;\r\n            border-radius: 12px;\r\n            border: 1px solid var(--rpv-glass-border);\r\n            transition: all 0.3s ease;\r\n        }\r\n\r\n        .rpv-feature-item:hover {\r\n            transform: translateY(-2px);\r\n            box-shadow: var(--rpv-shadow-md);\r\n            background: rgba(255, 255, 255, 0.35);\r\n        }\r\n\r\n        .rpv-feature-icon {\r\n            width: 24px;\r\n            height: 24px;\r\n            background: linear-gradient(135deg, var(--rpv-success-color), var(--rpv-success-light));\r\n            border-radius: 50%;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            font-size: 12px;\r\n            color: white;\r\n            font-weight: 700;\r\n        }\r\n\r\n        .rpv-search-container {\r\n            background: var(--rpv-bg-secondary);\r\n            border: 1px solid rgba(44, 62, 80, 0.1);\r\n            padding: 35px;\r\n            border-radius: 20px;\r\n            box-shadow: var(--rpv-shadow-lg);\r\n            margin-bottom: 30px;\r\n            animation: rpv-fadeInUp 1s ease-out 0.2s both;\r\n        }\r\n\r\n        .rpv-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        .rpv-search-input {\r\n            flex: 1 !important;\r\n            padding: 16px 20px !important;\r\n            border: 2px solid var(--rpv-bg-tertiary) !important;\r\n            border-radius: 12px !important;\r\n            font-size: 16px !important;\r\n            font-weight: 500 !important;\r\n            background: var(--rpv-bg-secondary) !important;\r\n            transition: all 0.3s ease !important;\r\n            outline: none !important;\r\n            color: var(--rpv-text-primary) !important;\r\n            font-family: inherit !important;\r\n        }\r\n\r\n        .rpv-search-input:focus {\r\n            border-color: var(--rpv-secondary-color);\r\n            box-shadow: 0 0 0 3px rgba(22, 160, 133, 0.1);\r\n            transform: translateY(-1px);\r\n        }\r\n\r\n        .rpv-search-input::placeholder {\r\n            color: var(--rpv-text-muted);\r\n            font-weight: 400;\r\n        }\r\n\r\n        .rpv-search-btn {\r\n            padding: 16px 32px;\r\n            background: linear-gradient(135deg, var(--rpv-reddit-orange), var(--rpv-reddit-orange-light));\r\n            color: white;\r\n            border: none;\r\n            border-radius: 12px;\r\n            font-size: 16px;\r\n            font-weight: 600;\r\n            cursor: pointer;\r\n            transition: all 0.3s ease;\r\n            min-width: 160px;\r\n            position: relative;\r\n            overflow: hidden;\r\n            box-shadow: var(--rpv-shadow-md);\r\n            font-family: inherit;\r\n        }\r\n\r\n        .rpv-search-btn:hover:not(:disabled) {\r\n            transform: translateY(-2px);\r\n            box-shadow: var(--rpv-shadow-lg);\r\n            background: linear-gradient(135deg, var(--rpv-reddit-orange-light), var(--rpv-secondary-color));\r\n        }\r\n\r\n        .rpv-search-btn:disabled {\r\n            opacity: 0.6;\r\n            cursor: not-allowed;\r\n            transform: none;\r\n        }\r\n\r\n        .rpv-user-info {\r\n            background: var(--rpv-bg-secondary);\r\n            border: 1px solid rgba(44, 62, 80, 0.1);\r\n            padding: 35px;\r\n            border-radius: 20px;\r\n            box-shadow: var(--rpv-shadow-lg);\r\n            margin-bottom: 30px;\r\n            display: none;\r\n            animation: rpv-slideInDown 0.8s ease-out;\r\n        }\r\n\r\n        .rpv-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        .rpv-user-avatar {\r\n            width: 90px;\r\n            height: 90px;\r\n            border-radius: 50%;\r\n            background: linear-gradient(135deg, var(--rpv-reddit-orange), var(--rpv-reddit-orange-light));\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: 800;\r\n            box-shadow: var(--rpv-shadow-lg);\r\n            flex-shrink: 0;\r\n        }\r\n\r\n        .rpv-user-details h2 {\r\n            font-size: 2rem;\r\n            color: var(--rpv-text-primary);\r\n            margin-bottom: 8px;\r\n            font-weight: 800;\r\n        }\r\n\r\n        .rpv-user-description {\r\n            color: var(--rpv-text-secondary);\r\n            font-size: 16px;\r\n            font-weight: 500;\r\n        }\r\n\r\n        .rpv-user-stats {\r\n            display: grid;\r\n            grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));\r\n            gap: 20px;\r\n            margin-top: 25px;\r\n        }\r\n\r\n        .rpv-stat-card {\r\n            background: linear-gradient(135deg, var(--rpv-glass-bg), rgba(255, 255, 255, 0.15));\r\n            backdrop-filter: blur(20px);\r\n            padding: 20px;\r\n            border-radius: 16px;\r\n            text-align: center;\r\n            border: 1px solid var(--rpv-glass-border);\r\n            transition: all 0.3s ease;\r\n        }\r\n\r\n        .rpv-stat-card:hover {\r\n            transform: translateY(-3px);\r\n            box-shadow: var(--rpv-shadow-md);\r\n        }\r\n\r\n        .rpv-stat-number {\r\n            font-size: 1.8rem;\r\n            font-weight: 800;\r\n            color: var(--rpv-reddit-orange);\r\n            margin-bottom: 5px;\r\n        }\r\n\r\n        .rpv-stat-label {\r\n            font-size: 0.9rem;\r\n            color: var(--rpv-text-secondary);\r\n            font-weight: 600;\r\n        }\r\n\r\n        .rpv-posts-section {\r\n            display: none;\r\n            margin-bottom: 40px;\r\n        }\r\n\r\n        .rpv-section-title {\r\n            color: var(--rpv-text-primary);\r\n            font-size: 2rem;\r\n            font-weight: 800;\r\n            margin-bottom: 30px;\r\n            text-align: center;\r\n            background: var(--rpv-glass-bg);\r\n            backdrop-filter: blur(20px);\r\n            padding: 20px;\r\n            border-radius: 16px;\r\n            border: 1px solid var(--rpv-glass-border);\r\n        }\r\n\r\n        .rpv-posts-grid {\r\n            display: grid;\r\n            grid-template-columns: repeat(auto-fit, minmax(480px, 1fr));\r\n            gap: 32px;\r\n            align-items: stretch;\r\n        }\r\n\r\n        .rpv-post-card {\r\n            background: var(--rpv-bg-secondary);\r\n            border: 1.5px solid var(--rpv-glass-border);\r\n            border-radius: 28px;\r\n            box-shadow: 0 8px 32px rgba(44, 62, 80, 0.13), 0 1.5px 6px rgba(44, 62, 80, 0.07);\r\n            transition: box-shadow 0.3s, transform 0.2s;\r\n            position: relative;\r\n            overflow: hidden;\r\n            animation: rpv-slideUp 0.6s ease forwards;\r\n            display: flex;\r\n            flex-direction: column;\r\n        }\r\n\r\n        .rpv-post-card-inner {\r\n            padding: 36px 32px 32px 32px;\r\n            display: flex;\r\n            flex-direction: column;\r\n            flex-grow: 1;\r\n        }\r\n\r\n        .rpv-post-card::before {\r\n            content: '';\r\n            position: absolute;\r\n            top: -1.5px;\r\n            left: 0;\r\n            right: 0;\r\n            height: 7px;\r\n            background: linear-gradient(90deg, var(--rpv-reddit-orange), var(--rpv-secondary-color));\r\n            border-radius: 28px 28px 0 0;\r\n            z-index: 1;\r\n        }\r\n\r\n        .rpv-post-card:hover {\r\n            transform: translateY(-8px) scale(1.012);\r\n            box-shadow: 0 16px 48px rgba(44, 62, 80, 0.18), 0 2px 8px rgba(44, 62, 80, 0.10);\r\n            border-color: var(--rpv-reddit-orange-light);\r\n        }\r\n\r\n        .rpv-post-header {\r\n            display: flex;\r\n            align-items: flex-start;\r\n            justify-content: space-between;\r\n            margin-bottom: 18px;\r\n            padding-bottom: 12px;\r\n            border-bottom: 1.5px solid var(--rpv-bg-tertiary);\r\n        }\r\n\r\n        .rpv-post-title {\r\n            font-size: 1.7rem;\r\n            font-weight: 800;\r\n            margin-bottom: 18px;\r\n            color: var(--rpv-primary-color);\r\n            line-height: 1.3;\r\n            letter-spacing: -0.5px;\r\n            display: -webkit-box;\r\n            -webkit-line-clamp: 3;\r\n            -webkit-box-orient: vertical;\r\n            overflow: hidden;\r\n            text-overflow: ellipsis;\r\n            max-width: 100%;\r\n        }\r\n\r\n        .rpv-post-title.rpv-full {\r\n            display: block;\r\n            -webkit-line-clamp: unset;\r\n            -webkit-box-orient: unset;\r\n            overflow: visible;\r\n            text-overflow: unset;\r\n        }\r\n\r\n        .rpv-show-title-btn {\r\n            background: linear-gradient(135deg, var(--rpv-primary-color), var(--rpv-primary-light));\r\n            color: white;\r\n            border: none;\r\n            padding: 6px 16px;\r\n            border-radius: 10px;\r\n            cursor: pointer;\r\n            font-size: 0.9rem;\r\n            font-weight: 600;\r\n            margin-top: -10px;\r\n            margin-bottom: 10px;\r\n            transition: all 0.2s;\r\n            align-self: flex-start;\r\n        }\r\n\r\n        .rpv-show-title-btn:hover {\r\n            background: linear-gradient(135deg, var(--rpv-reddit-orange), var(--rpv-secondary-color));\r\n        }\r\n\r\n        .rpv-post-body-content {\r\n            flex-grow: 1;\r\n            display: flex;\r\n            flex-direction: column;\r\n            margin-bottom: 18px;\r\n        }\r\n\r\n        .rpv-media-container {\r\n            margin-top: 18px;\r\n            border-radius: 18px;\r\n            overflow: hidden;\r\n            position: relative;\r\n            box-shadow: 0 2px 12px rgba(44, 62, 80, 0.10);\r\n            background: #000;\r\n            height: 300px;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n        }\r\n\r\n        .rpv-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.55);\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            z-index: 2;\r\n            border-radius: 18px;\r\n            font-size: 1.3rem;\r\n            color: #fff;\r\n            font-weight: 700;\r\n            transition: opacity 0.2s;\r\n        }\r\n\r\n        .rpv-video-loading-spinner {\r\n            border: 5px solid #eee;\r\n            border-top: 5px solid var(--rpv-reddit-orange);\r\n            border-radius: 50%;\r\n            width: 48px;\r\n            height: 48px;\r\n            animation: rpv-spin 1s linear infinite;\r\n            margin-right: 16px;\r\n        }\r\n\r\n        .rpv-image-preview,\r\n        .rpv-video-player {\r\n            width: 100%;\r\n            height: 100%;\r\n            object-fit: cover;\r\n        }\r\n\r\n        .rpv-image-preview {\r\n            cursor: pointer;\r\n            transition: transform 0.3s ease;\r\n        }\r\n\r\n        .rpv-image-preview:hover {\r\n            transform: scale(1.02);\r\n        }\r\n\r\n        .rpv-video-container {\r\n            position: relative;\r\n            width: 100%;\r\n            height: 100%;\r\n            background: #000;\r\n            border-radius: 18px;\r\n            overflow: hidden;\r\n        }\r\n\r\n        .rpv-video-player {\r\n            border-radius: 18px;\r\n        }\r\n\r\n        .rpv-media-controls {\r\n            display: flex;\r\n            gap: 12px;\r\n            margin-top: auto;\r\n            padding-top: 16px;\r\n            flex-wrap: wrap;\r\n            align-items: center;\r\n        }\r\n\r\n        .rpv-control-btn {\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 8px;\r\n            padding: 12px 20px;\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            text-transform: none;\r\n            position: relative;\r\n            overflow: hidden;\r\n        }\r\n\r\n        .rpv-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        .rpv-control-btn:hover::before {\r\n            left: 100%;\r\n        }\r\n\r\n        .rpv-stream-audio-btn {\r\n            background: linear-gradient(135deg, #9B59B6, #8E44AD);\r\n            color: white;\r\n            box-shadow: 0 4px 15px rgba(155, 89, 182, 0.3);\r\n        }\r\n\r\n        .rpv-stream-audio-btn:hover {\r\n            transform: translateY(-2px);\r\n            box-shadow: 0 6px 20px rgba(155, 89, 182, 0.4);\r\n        }\r\n\r\n        .rpv-stream-audio-btn:disabled {\r\n            opacity: 0.6;\r\n            cursor: not-allowed;\r\n            transform: none;\r\n        }\r\n\r\n        .rpv-stream-audio-btn.loading {\r\n            background: linear-gradient(135deg, #95A5A6, #7F8C8D);\r\n        }\r\n\r\n        .rpv-download-btn {\r\n            background: linear-gradient(135deg, var(--rpv-success-color), var(--rpv-success-light));\r\n            color: white;\r\n            box-shadow: 0 4px 15px rgba(39, 174, 96, 0.3);\r\n        }\r\n\r\n        .rpv-download-btn:hover {\r\n            transform: translateY(-2px);\r\n            box-shadow: 0 6px 20px rgba(39, 174, 96, 0.4);\r\n        }\r\n\r\n        .rpv-download-btn:disabled {\r\n            opacity: 0.6;\r\n            cursor: not-allowed;\r\n            transform: none;\r\n        }\r\n\r\n        .rpv-download-btn.downloading {\r\n            background: linear-gradient(135deg, var(--rpv-accent-color), var(--rpv-accent-light));\r\n        }\r\n\r\n        .rpv-post-stats {\r\n            display: grid;\r\n            grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));\r\n            gap: 16px;\r\n            margin-top: 25px;\r\n            padding-top: 20px;\r\n            border-top: 2px solid var(--rpv-bg-tertiary);\r\n        }\r\n\r\n        .rpv-stat-item {\r\n            display: flex;\r\n            flex-direction: column;\r\n            align-items: center;\r\n            gap: 8px;\r\n            padding: 16px;\r\n            background: linear-gradient(135deg, var(--rpv-glass-bg), rgba(255, 255, 255, 0.15));\r\n            backdrop-filter: blur(20px);\r\n            border-radius: 16px;\r\n            text-align: center;\r\n            border: 1px solid var(--rpv-glass-border);\r\n            transition: all 0.3s ease;\r\n        }\r\n\r\n        .rpv-stat-item:hover {\r\n            transform: translateY(-2px);\r\n            box-shadow: var(--rpv-shadow-sm);\r\n        }\r\n\r\n        .rpv-stat-value {\r\n            font-weight: 800;\r\n            font-size: 1.3rem;\r\n        }\r\n\r\n        .rpv-upvotes .rpv-stat-value {\r\n            color: var(--rpv-reddit-orange);\r\n        }\r\n\r\n        .rpv-comments .rpv-stat-value {\r\n            color: var(--rpv-secondary-color);\r\n        }\r\n\r\n        .rpv-awards .rpv-stat-value {\r\n            color: #FFD700;\r\n        }\r\n\r\n        .rpv-ratio .rpv-stat-value {\r\n            color: var(--rpv-success-color);\r\n        }\r\n\r\n        .rpv-loading {\r\n            text-align: center;\r\n            padding: 50px;\r\n            color: var(--rpv-text-primary);\r\n            font-size: 1.2rem;\r\n            display: none;\r\n        }\r\n\r\n        .rpv-spinner {\r\n            border: 4px solid var(--rpv-bg-tertiary);\r\n            border-top: 4px solid var(--rpv-reddit-orange);\r\n            border-radius: 50%;\r\n            width: 50px;\r\n            height: 50px;\r\n            animation: rpv-spin 1s linear infinite;\r\n            margin: 20px auto;\r\n        }\r\n\r\n        .rpv-error-message {\r\n            background: rgba(231, 76, 60, 0.1);\r\n            border: 1px solid rgba(231, 76, 60, 0.2);\r\n            color: var(--rpv-danger-color);\r\n            padding: 20px;\r\n            border-radius: 15px;\r\n            text-align: center;\r\n            margin: 20px 0;\r\n            font-weight: 600;\r\n            display: none;\r\n        }\r\n\r\n        .rpv-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.9);\r\n            animation: rpv-fadeIn 0.3s ease;\r\n        }\r\n\r\n        .rpv-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        .rpv-modal img {\r\n            width: 100%;\r\n            height: auto;\r\n            max-width: 90vw;\r\n            max-height: 90vh;\r\n            object-fit: contain;\r\n            border-radius: 16px;\r\n        }\r\n\r\n        .rpv-close {\r\n            position: absolute;\r\n            top: 15px;\r\n            right: 35px;\r\n            color: #f1f1f1;\r\n            font-size: 40px;\r\n            font-weight: bold;\r\n            cursor: pointer;\r\n            z-index: 1001;\r\n        }\r\n\r\n        .rpv-close:hover {\r\n            color: var(--rpv-reddit-orange);\r\n        }\r\n\r\n        .rpv-download-progress {\r\n            position: fixed;\r\n            bottom: 20px;\r\n            right: 20px;\r\n            background: var(--rpv-bg-secondary);\r\n            border: 1px solid rgba(44, 62, 80, 0.1);\r\n            border-radius: 16px;\r\n            padding: 25px;\r\n            min-width: 350px;\r\n            box-shadow: var(--rpv-shadow-xl);\r\n            z-index: 1000;\r\n            display: none;\r\n            color: var(--rpv-text-primary);\r\n        }\r\n\r\n        .rpv-download-progress.rpv-show {\r\n            display: block;\r\n            animation: rpv-slideInRight 0.4s ease-out;\r\n        }\r\n\r\n        .rpv-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        .rpv-progress-text {\r\n            font-weight: 700;\r\n            font-size: 15px;\r\n            color: var(--rpv-text-primary);\r\n        }\r\n\r\n        .rpv-cancel-btn {\r\n            background: rgba(231, 76, 60, 0.1);\r\n            border: 1px solid rgba(231, 76, 60, 0.2);\r\n            color: var(--rpv-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        .rpv-cancel-btn:hover {\r\n            background: rgba(231, 76, 60, 0.15);\r\n        }\r\n\r\n        .rpv-progress-bar-container {\r\n            width: 100%;\r\n            height: 12px;\r\n            background: var(--rpv-progress-bg);\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.1);\r\n        }\r\n\r\n        .rpv-progress-bar-fill {\r\n            height: 100%;\r\n            background: linear-gradient(135deg, var(--rpv-progress-color), var(--rpv-secondary-light));\r\n            border-radius: 6px;\r\n            width: 0%;\r\n            transition: width 0.3s ease;\r\n            box-shadow: 0 2px 4px rgba(0, 212, 170, 0.4);\r\n        }\r\n\r\n        .rpv-progress-details {\r\n            display: flex;\r\n            justify-content: space-between;\r\n            font-size: 13px;\r\n            color: var(--rpv-text-secondary);\r\n            font-weight: 500;\r\n        }\r\n\r\n        .rpv-expand-btn {\r\n            background: linear-gradient(135deg, var(--rpv-primary-color), var(--rpv-primary-light));\r\n            color: white;\r\n            border: none;\r\n            padding: 10px 20px;\r\n            border-radius: 12px;\r\n            cursor: pointer;\r\n            font-size: 0.9rem;\r\n            font-weight: 600;\r\n            margin-top: 15px;\r\n            transition: all 0.3s ease;\r\n            font-family: inherit;\r\n        }\r\n\r\n        .rpv-expand-btn:hover {\r\n            transform: translateY(-2px);\r\n            box-shadow: var(--rpv-shadow-sm);\r\n        }\r\n\r\n        .rpv-gallery-container {\r\n            display: grid;\r\n            grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));\r\n            gap: 12px;\r\n            width: 100%;\r\n            height: 100%;\r\n        }\r\n\r\n        .rpv-gallery-image-wrapper {\r\n            position: relative;\r\n            border-radius: 12px;\r\n            overflow: hidden;\r\n            width: 100%;\r\n            height: 100%;\r\n        }\r\n\r\n        .rpv-gallery-image {\r\n            width: 100%;\r\n            height: 100%;\r\n            object-fit: cover;\r\n            cursor: pointer;\r\n            transition: transform 0.3s ease;\r\n            display: block;\r\n        }\r\n\r\n        .rpv-gallery-image:hover {\r\n            transform: scale(1.02);\r\n        }\r\n\r\n        .rpv-gallery-download-btn {\r\n            position: absolute;\r\n            right: 10px;\r\n            bottom: 10px;\r\n            background: linear-gradient(135deg, var(--rpv-success-color), var(--rpv-success-light));\r\n            color: white;\r\n            border: none;\r\n            border-radius: 8px;\r\n            padding: 8px 14px;\r\n            font-size: 0.95rem;\r\n            font-weight: 600;\r\n            box-shadow: 0 2px 8px rgba(39, 174, 96, 0.18);\r\n            opacity: 0;\r\n            transition: opacity 0.2s;\r\n            cursor: pointer;\r\n            z-index: 2;\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 6px;\r\n        }\r\n\r\n        .rpv-gallery-image-wrapper:hover .rpv-gallery-download-btn {\r\n            opacity: 1;\r\n        }\r\n\r\n        .rpv-custom-play-pause-btn {\r\n            position: absolute;\r\n            left: 50%;\r\n            top: 50%;\r\n            transform: translate(-50%, -50%);\r\n            background: rgba(44, 62, 80, 0.85);\r\n            color: #fff;\r\n            border: none;\r\n            border-radius: 50%;\r\n            width: 54px;\r\n            height: 54px;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            font-size: 2rem;\r\n            z-index: 3;\r\n            cursor: pointer;\r\n            box-shadow: 0 2px 8px rgba(44, 62, 80, 0.18);\r\n            transition: background 0.2s, opacity 0.2s;\r\n            opacity: 0;\r\n        }\r\n\r\n        .rpv-video-container:hover .rpv-custom-play-pause-btn,\r\n        .rpv-video-container.rpv-paused .rpv-custom-play-pause-btn {\r\n            opacity: 0.85;\r\n        }\r\n\r\n        .rpv-custom-play-pause-btn:hover {\r\n            background: rgba(44, 62, 80, 1);\r\n        }\r\n\r\n        @keyframes rpv-redditFloat {\r\n\r\n            0%,\r\n            100% {\r\n                transform: translateY(0px) scale(1);\r\n            }\r\n\r\n            50% {\r\n                transform: translateY(-6px) scale(1.02);\r\n            }\r\n        }\r\n\r\n        @keyframes rpv-fadeInDown {\r\n            from {\r\n                opacity: 0;\r\n                transform: translateY(-20px);\r\n            }\r\n\r\n            to {\r\n                opacity: 1;\r\n                transform: translateY(0);\r\n            }\r\n        }\r\n\r\n        @keyframes rpv-fadeInUp {\r\n            from {\r\n                opacity: 0;\r\n                transform: translateY(20px);\r\n            }\r\n\r\n            to {\r\n                opacity: 1;\r\n                transform: translateY(0);\r\n            }\r\n        }\r\n\r\n        @keyframes rpv-slideInDown {\r\n            from {\r\n                opacity: 0;\r\n                transform: translateY(-30px);\r\n            }\r\n\r\n            to {\r\n                opacity: 1;\r\n                transform: translateY(0);\r\n            }\r\n        }\r\n\r\n        @keyframes rpv-slideInRight {\r\n            from {\r\n                opacity: 0;\r\n                transform: translateX(100%);\r\n            }\r\n\r\n            to {\r\n                opacity: 1;\r\n                transform: translateX(0);\r\n            }\r\n        }\r\n\r\n        @keyframes rpv-slideUp {\r\n            from {\r\n                opacity: 0;\r\n                transform: translateY(30px);\r\n            }\r\n\r\n            to {\r\n                opacity: 1;\r\n                transform: translateY(0);\r\n            }\r\n        }\r\n\r\n        @keyframes rpv-spin {\r\n            0% {\r\n                transform: rotate(0deg);\r\n            }\r\n\r\n            100% {\r\n                transform: rotate(360deg);\r\n            }\r\n        }\r\n\r\n        @keyframes rpv-pulse {\r\n\r\n            0%,\r\n            100% {\r\n                transform: scale(1);\r\n            }\r\n\r\n            50% {\r\n                transform: scale(1.02);\r\n            }\r\n        }\r\n\r\n        @keyframes rpv-fadeIn {\r\n            from {\r\n                opacity: 0;\r\n            }\r\n\r\n            to {\r\n                opacity: 1;\r\n            }\r\n        }\r\n\r\n        \/* --- Responsive Design --- *\/\r\n        @media (max-width: 1200px) {\r\n            .rpv-posts-grid {\r\n                grid-template-columns: 1fr 1fr;\r\n                gap: 24px;\r\n            }\r\n\t\t\t\t\t.rpv-search-form {\r\n\tdisplay: flex;\r\n\tgap: 15px;\r\n\tmargin-bottom: 20px;\r\n\tposition: relative;\r\n\tflex-direction: column;\r\n}\r\n\t\t\t\t\t.rpv-logo {\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n\tgap: 20px;\r\n\tmargin-bottom: 20px;\r\n\tflex-wrap: wrap;\r\n\tflex-direction: column;\r\n}\r\n        }\r\n\r\n        @media (max-width: 992px) {\r\n            .rpv-posts-grid {\r\n                grid-template-columns: 1fr;\r\n                gap: 24px;\r\n            }\r\n\r\n            .rpv-post-card-inner {\r\n                padding: 24px;\r\n            }\r\n\r\n            .rpv-section-title {\r\n                font-size: 1.5rem;\r\n                padding: 16px;\r\n            }\r\n\t\t\t\t\t.rpv-search-form {\r\n\tdisplay: flex;\r\n\tgap: 15px;\r\n\tmargin-bottom: 20px;\r\n\tposition: relative;\r\n\tflex-direction: column;\r\n}\r\n\t\t\t\t\t.rpv-logo {\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n\tgap: 20px;\r\n\tmargin-bottom: 20px;\r\n\tflex-wrap: wrap;\r\n\tflex-direction: column;\r\n}\r\n        }\r\n\r\n        @media (max-width: 768px) {\r\n            .rpv-container {\r\n                padding: 15px;\r\n            }\r\n\r\n            .rpv-search-container,\r\n            .rpv-user-info {\r\n                padding: 20px;\r\n            }\r\n\r\n            .rpv-user-header {\r\n                flex-direction: column;\r\n                align-items: flex-start;\r\n                gap: 15px;\r\n            }\r\n\r\n            .rpv-user-avatar {\r\n                width: 70px;\r\n                height: 70px;\r\n                font-size: 2rem;\r\n            }\r\n\r\n            .rpv-user-details h2 {\r\n                font-size: 1.5rem;\r\n            }\r\n\r\n            .rpv-user-stats {\r\n                grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));\r\n            }\r\n\r\n            .rpv-post-card-inner {\r\n                padding: 20px;\r\n            }\r\n\r\n            .rpv-post-title {\r\n                font-size: 1.3rem;\r\n            }\r\n\r\n            .rpv-stat-value {\r\n                font-size: 1.1rem;\r\n            }\r\n\r\n            .rpv-stat-label {\r\n                font-size: 0.8rem;\r\n            }\r\n\r\n            .rpv-media-container {\r\n                height: 250px;\r\n            }\r\n        }\r\n\r\n        @media (max-width: 600px) {\r\n            .rpv-search-form {\r\n                flex-direction: column;\r\n                gap: 10px;\r\n                margin-bottom: 10px;\r\n            }\r\n\r\n            .rpv-search-input,\r\n            .rpv-search-btn {\r\n                width: 100%;\r\n                font-size: 15px;\r\n            }\r\n\r\n            .rpv-features-bar {\r\n                gap: 10px;\r\n            }\r\n\r\n            .rpv-feature-item {\r\n                padding: 10px 15px;\r\n            }\r\n\r\n            .rpv-post-card-inner {\r\n                padding: 15px;\r\n            }\r\n\r\n            .rpv-post-title {\r\n                font-size: 1.1rem;\r\n            }\r\n\r\n            .rpv-media-controls {\r\n                flex-direction: column;\r\n                align-items: stretch;\r\n                gap: 10px;\r\n            }\r\n\r\n            .rpv-control-btn {\r\n                justify-content: center;\r\n            }\r\n\r\n            .rpv-post-stats {\r\n                grid-template-columns: 1fr 1fr;\r\n                gap: 10px;\r\n            }\r\n\r\n            .rpv-stat-item {\r\n                padding: 10px;\r\n            }\r\n\r\n            .rpv-custom-play-pause-btn {\r\n                width: 44px;\r\n                height: 44px;\r\n                font-size: 1.5rem;\r\n            }\r\n\r\n            .rpv-download-progress {\r\n                min-width: auto;\r\n                width: calc(100% - 40px);\r\n            }\r\n        }\r\n\r\n        \/* Extra small devices *\/\r\n        @media (max-width: 400px) {\r\n            .rpv-logo-icon {\r\n                width: 50px;\r\n                height: 50px;\r\n                font-size: 24px;\r\n            }\r\n\r\n            .rpv-reddit-icon {\r\n                width: 36px;\r\n                height: 36px;\r\n                font-size: 16px;\r\n            }\r\n\r\n            .rpv-logo-text {\r\n                font-size: 1.8rem;\r\n            }\r\n\r\n            .rpv-subtitle {\r\n                font-size: 16px;\r\n            }\r\n\r\n            .rpv-feature-item {\r\n                padding: 8px 12px;\r\n                font-size: 12px;\r\n            }\r\n\r\n            .rpv-feature-icon {\r\n                width: 20px;\r\n                height: 20px;\r\n                font-size: 10px;\r\n            }\r\n\r\n            .rpv-search-container,\r\n            .rpv-user-info {\r\n                padding: 15px;\r\n            }\r\n\r\n            .rpv-user-avatar {\r\n                width: 60px;\r\n                height: 60px;\r\n                font-size: 1.8rem;\r\n            }\r\n\r\n            .rpv-user-details h2 {\r\n                font-size: 1.3rem;\r\n            }\r\n\r\n            .rpv-user-description {\r\n                font-size: 14px;\r\n            }\r\n\r\n            .rpv-stat-number {\r\n                font-size: 1.5rem;\r\n            }\r\n\r\n            .rpv-stat-label {\r\n                font-size: 0.8rem;\r\n            }\r\n\r\n            .rpv-section-title {\r\n                font-size: 1.3rem;\r\n                padding: 15px;\r\n            }\r\n\r\n            .rpv-post-card-inner {\r\n                padding: 12px;\r\n            }\r\n\r\n            .rpv-post-title {\r\n                font-size: 1rem;\r\n                margin-bottom: 12px;\r\n            }\r\n\r\n            .rpv-media-container {\r\n                height: 200px;\r\n            }\r\n\r\n            .rpv-control-btn {\r\n                padding: 10px 15px;\r\n                font-size: 0.8rem;\r\n            }\r\n\r\n            .rpv-stat-item {\r\n                padding: 8px;\r\n            }\r\n\r\n            .rpv-stat-value {\r\n                font-size: 1rem;\r\n            }\r\n\r\n            .rpv-download-progress {\r\n                padding: 15px;\r\n                min-width: auto;\r\n                width: calc(100% - 30px);\r\n            }\r\n        }\r\n\r\n        \/* Very small devices *\/\r\n        @media (max-width: 375px) {\r\n            .rpv-container {\r\n                padding: 10px;\r\n            }\r\n\r\n            .rpv-header {\r\n                padding: 20px 0;\r\n                margin-bottom: 20px;\r\n            }\r\n\r\n            .rpv-logo {\r\n                gap: 15px;\r\n            }\r\n\r\n            .rpv-features-bar {\r\n                gap: 8px;\r\n                margin-bottom: 20px;\r\n            }\r\n\r\n            .rpv-search-container,\r\n            .rpv-user-info {\r\n                padding: 12px;\r\n            }\r\n\r\n            .rpv-user-header {\r\n                gap: 10px;\r\n            }\r\n\r\n            .rpv-user-stats {\r\n                grid-template-columns: 1fr 1fr;\r\n                gap: 10px;\r\n            }\r\n\r\n            .rpv-section-title {\r\n                font-size: 1.2rem;\r\n                padding: 12px;\r\n                margin-bottom: 20px;\r\n            }\r\n\r\n            .rpv-posts-grid {\r\n                gap: 15px;\r\n            }\r\n\r\n            .rpv-post-card-inner {\r\n                padding: 10px;\r\n            }\r\n\r\n            .rpv-post-title {\r\n                font-size: 0.9rem;\r\n                margin-bottom: 10px;\r\n            }\r\n\r\n            .rpv-media-container {\r\n                height: 180px;\r\n            }\r\n\r\n            .rpv-post-stats {\r\n                margin-top: 15px;\r\n                padding-top: 15px;\r\n                gap: 8px;\r\n            }\r\n\r\n            .rpv-stat-item {\r\n                padding: 6px;\r\n            }\r\n\r\n            .rpv-stat-value {\r\n                font-size: 0.9rem;\r\n            }\r\n\r\n            .rpv-stat-label {\r\n                font-size: 0.7rem;\r\n            }\r\n\r\n            .rpv-control-btn {\r\n                padding: 8px 12px;\r\n                font-size: 0.75rem;\r\n            }\r\n\r\n            .rpv-download-progress {\r\n                padding: 12px;\r\n                width: calc(100% - 24px);\r\n            }\r\n\r\n            .rpv-progress-text {\r\n                font-size: 14px;\r\n            }\r\n\r\n            .rpv-cancel-btn {\r\n                padding: 6px 12px;\r\n                font-size: 11px;\r\n            }\r\n        }\r\n    <\/style>\r\n    <style id=\"vvvebjs-styles\"><\/style>\r\n\r\n\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.1242.0\"\r\n    data-gr-ext-installed=\"\" data-new-gr-c-s-loaded=\"14.1223.0\" class=\"\" style=\"\">\r\n    <div class=\"rpv-wrapper\">\r\n        <div class=\"rpv-container\">\r\n            <div class=\"rpv-header\">\r\n                <div class=\"rpv-logo\">\r\n                    <div class=\"rpv-logo-icon\">\ud83d\ude80<\/div>\r\n                    <div class=\"rpv-reddit-icon\">\ud83d\udcf1<\/div>\r\n                    <div class=\"rpv-logo-text\">Reddit Post Viewer<\/div>\r\n                <\/div>\r\n                <div class=\"rpv-subtitle\">Discover and explore Reddit posts from any user with professional insights and\r\n                    premium\r\n                    design<\/div>\r\n                <div class=\"rpv-features-bar\">\r\n                    <div class=\"rpv-feature-item\">\r\n                        <div class=\"rpv-feature-icon\">\u2713<\/div>\r\n                        <span>Premium Design<\/span>\r\n                    <\/div>\r\n                    <div class=\"rpv-feature-item\">\r\n                        <div class=\"rpv-feature-icon\">\u2713<\/div>\r\n                        <span>Audio Support<\/span>\r\n                    <\/div>\r\n                    <div class=\"rpv-feature-item\">\r\n                        <div class=\"rpv-feature-icon\">\u2713<\/div>\r\n                        <span>Auto Downloads<\/span>\r\n                    <\/div>\r\n                    <div class=\"rpv-feature-item\">\r\n                        <div class=\"rpv-feature-icon\">\u2713<\/div>\r\n                        <span>Rich Media<\/span>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <div class=\"rpv-search-container\">\r\n                <form class=\"rpv-search-form\" id=\"rpv-searchForm\">\r\n                    <input type=\"text\" class=\"rpv-search-input\" id=\"rpv-usernameInput\"\r\n                        placeholder=\"Reddit username, u\/username, or profile URL (e.g., spez, u\/spez, https:\/\/www.reddit.com\/user\/spez\/)\"\r\n                        required=\"\">\r\n                    <button type=\"submit\" class=\"rpv-search-btn\" id=\"rpv-searchBtn\">\r\n                        <span id=\"rpv-searchText\">\ud83d\udd0d Explore User<\/span>\r\n                        <div class=\"rpv-spinner\" id=\"rpv-searchSpinner\"\r\n                            style=\"display: none; width: 20px; height: 20px; margin: 0;\"><\/div>\r\n                    <\/button>\r\n                <\/form>\r\n\r\n                <div class=\"rpv-loading\" id=\"rpv-loading\">\r\n                    <div class=\"rpv-spinner\"><\/div>\r\n                    <p>Fetching user data and posts...<\/p>\r\n                <\/div>\r\n\r\n                <div class=\"rpv-error-message\" id=\"rpv-errorMessage\"><\/div>\r\n            <\/div>\r\n\r\n            <div class=\"rpv-user-info\" id=\"rpv-userInfo\">\r\n                <div class=\"rpv-user-header\">\r\n                    <div class=\"rpv-user-avatar\" id=\"rpv-userAvatar\">U<\/div>\r\n                    <div class=\"rpv-user-details\">\r\n                        <h2 id=\"rpv-userName\">Username<\/h2>\r\n                        <p class=\"rpv-user-description\" id=\"rpv-userDescription\">Reddit User Profile<\/p>\r\n                    <\/div>\r\n                <\/div>\r\n                <div class=\"rpv-user-stats\" id=\"rpv-userStats\">\r\n                    <!-- Stats will be populated dynamically -->\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <div class=\"rpv-posts-section\" id=\"rpv-postsSection\">\r\n                <h2 class=\"rpv-section-title\" id=\"rpv-sectionTitle\">Recent Posts<\/h2>\r\n                <div id=\"rpv-postsContainer\" class=\"rpv-posts-grid\"><\/div>\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <!-- Modal for image preview -->\r\n        <div id=\"rpv-imageModal\" class=\"rpv-modal\">\r\n            <span class=\"rpv-close\">\u00d7<\/span>\r\n            <div class=\"rpv-modal-content\">\r\n                <img decoding=\"async\" id=\"rpv-modalImage\" src=\"\/placeholder.svg\" alt=\"Full size image\">\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <!-- Download Progress -->\r\n        <div class=\"rpv-download-progress\" id=\"rpv-downloadProgress\">\r\n            <div class=\"rpv-progress-header\">\r\n                <span class=\"rpv-progress-text\" id=\"rpv-progressText\">Downloading...<\/span>\r\n                <button class=\"rpv-cancel-btn\" id=\"rpv-cancelDownloadBtn\">Cancel<\/button>\r\n            <\/div>\r\n            <div class=\"rpv-progress-bar-container\">\r\n                <div class=\"rpv-progress-bar-fill\" id=\"rpv-progressBarFill\"><\/div>\r\n            <\/div>\r\n            <div class=\"rpv-progress-details\">\r\n                <span id=\"rpv-progressPercent\">0%<\/span>\r\n                <span id=\"rpv-progressSize\">0 MB \/ 0 MB<\/span>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n     <script src=\"https:\/\/tools.xrespond.com\/api\/rate-limit-handler.js\"><\/script>\r\n<script src=\"https:\/\/tools.xrespond.com\/api\/js\/client-ip-detector.js\"><\/script>\r\n \r\n    <script>\r\n        class RedditPostViewer {\r\n            constructor() {\r\n                this.currentUser = null;\r\n                this.posts = [];\r\n                this.downloadController = null;\r\n                this.corsProxies = [\r\n                    'https:\/\/api.allorigins.win\/raw?url=',\r\n                    'https:\/\/corsproxy.io\/?',\r\n                    'https:\/\/api.codetabs.com\/v1\/proxy?quest='\r\n                ];\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('rpv-searchForm');\r\n                const usernameInput = document.getElementById('rpv-usernameInput');\r\n\r\n                searchForm.addEventListener('submit', (e) => {\r\n                    e.preventDefault();\r\n                    const rawInput = usernameInput.value.trim();\r\n                    const username = this.extractRedditUsername(rawInput);\r\n                    if (username) {\r\n                        this.searchUser(username);\r\n                    } else {\r\n                        this.showError('Please enter a valid Reddit username, u\/username, or profile URL (e.g., spez, u\/spez, https:\/\/www.reddit.com\/user\/spez\/)');\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                document.getElementById('rpv-cancelDownloadBtn').addEventListener('click', () => this.cancelDownload());\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(`Searching for user: ${username}`);\r\n                    const posts = await this.fetchUserPosts(username);\r\n\r\n                    if (posts && posts.length > 0) {\r\n                        this.currentUser = username;\r\n                        this.posts = posts;\r\n                        this.displayUserInfo(username, posts);\r\n                        this.displayPosts(posts);\r\n                        this.showPostsSection(true);\r\n                        console.log(`Found ${posts.length} posts for ${username}`);\r\n                    } else {\r\n                        this.showError('The username is not correct or does not exist. Please check and try another one.');\r\n                        this.showPostsSection(false);\r\n                        document.getElementById('rpv-userInfo').style.display = 'none';\r\n                    }\r\n                } catch (error) {\r\n                    console.error('Error fetching posts:', error);\r\n                    if (error && error.message && error.message.toLowerCase().includes('not found')) {\r\n                        this.showError('The username is not correct or does not exist. Please check and try another one.');\r\n                    } else {\r\n                        this.showError('Something went wrong. Please try again later.');\r\n                    }\r\n                    this.showPostsSection(false);\r\n                    document.getElementById('rpv-userInfo').style.display = 'none';\r\n                } finally {\r\n                    this.showLoading(false);\r\n                }\r\n            }\r\n\r\n            async fetchUserPosts(username) {\r\n                const redditUrl = `https:\/\/www.reddit.com\/user\/${username}\/submitted.json?limit=25`;\r\n                \/\/ No-CORS fetch might work on some environments\r\n                const directFetch = async () => {\r\n                    const response = await fetch(redditUrl, { headers: { 'User-Agent': 'RedditPostViewer\/1.0' } });\r\n                    if (!response.ok) throw new Error(`HTTP ${response.status}`);\r\n                    const data = await response.json();\r\n                    return this.parseRedditData(data);\r\n                };\r\n\r\n                const proxyFetch = async (proxy) => {\r\n                    const proxyUrl = proxy + encodeURIComponent(redditUrl);\r\n                    console.log(`Trying proxy: ${proxy.split('?')[0]}`);\r\n                    const response = await fetch(proxyUrl, { headers: { 'User-Agent': 'RedditPostViewer\/1.0' } });\r\n                    if (!response.ok) throw new Error(`Proxy failed: HTTP ${response.status}`);\r\n                    const data = await response.json();\r\n                    return this.parseRedditData(data);\r\n                };\r\n\r\n                const methods = [directFetch, ...this.corsProxies.map(p => () => proxyFetch(p))];\r\n                for (const method of methods) {\r\n                    try {\r\n                        const result = await method();\r\n                        if (result && result.length > 0) return result;\r\n                    } catch (error) {\r\n                        console.log('Fetch method failed, trying next...');\r\n                    }\r\n                }\r\n                throw new Error('not found');\r\n            }\r\n\r\n            parseRedditData(data) {\r\n                if (!data || !data.data || !data.data.children) {\r\n                    throw new Error('Invalid Reddit API response format');\r\n                }\r\n                return data.data.children.map(child => child.data);\r\n            }\r\n\r\n            displayUserInfo(username, posts) {\r\n                const userInfo = document.getElementById('rpv-userInfo');\r\n                const userAvatar = document.getElementById('rpv-userAvatar');\r\n                const userName = document.getElementById('rpv-userName');\r\n                const userDescription = document.getElementById('rpv-userDescription');\r\n                const userStats = document.getElementById('rpv-userStats');\r\n\r\n                userAvatar.textContent = username.charAt(0).toUpperCase();\r\n                userName.textContent = `u\/${username}`;\r\n                userDescription.textContent = `Reddit User \u2022 ${posts.length} recent posts loaded`;\r\n\r\n                const totalUpvotes = posts.reduce((sum, post) => sum + (post.ups || 0), 0);\r\n                const totalComments = posts.reduce((sum, post) => sum + (post.num_comments || 0), 0);\r\n                const totalAwards = posts.reduce((sum, post) => sum + (post.total_awards_received || 0), 0);\r\n                const avgUpvoteRatio = posts.length > 0 ? posts.reduce((sum, post) => sum + (post.upvote_ratio || 0), 0) \/ posts.length : 0;\r\n                const totalCrossposts = posts.reduce((sum, post) => sum + (post.num_crossposts || 0), 0);\r\n\r\n                userStats.innerHTML = `\r\n                    <div class=\"rpv-stat-card\">\r\n                        <div class=\"rpv-stat-number\">${this.formatNumber(totalUpvotes)}<\/div>\r\n                        <div class=\"rpv-stat-label\">Total Upvotes<\/div>\r\n                    <\/div>\r\n                    <div class=\"rpv-stat-card\">\r\n                        <div class=\"rpv-stat-number\">${this.formatNumber(totalComments)}<\/div>\r\n                        <div class=\"rpv-stat-label\">Total Comments<\/div>\r\n                    <\/div>\r\n                    <div class=\"rpv-stat-card\">\r\n                        <div class=\"rpv-stat-number\">${totalAwards}<\/div>\r\n                        <div class=\"rpv-stat-label\">Total Awards<\/div>\r\n                    <\/div>\r\n                    <div class=\"rpv-stat-card\">\r\n                        <div class=\"rpv-stat-number\">${Math.round(avgUpvoteRatio * 100)}%<\/div>\r\n                        <div class=\"rpv-stat-label\">Avg. Upvote Ratio<\/div>\r\n                    <\/div>\r\n                    <div class=\"rpv-stat-card\">\r\n                        <div class=\"rpv-stat-number\">${totalCrossposts}<\/div>\r\n                        <div class=\"rpv-stat-label\">Total Crossposts<\/div>\r\n                    <\/div>\r\n                `;\r\n                userInfo.style.display = 'block';\r\n            }\r\n\r\n            displayPosts(posts) {\r\n                const container = document.getElementById('rpv-postsContainer');\r\n                const sectionTitle = document.getElementById('rpv-sectionTitle');\r\n\r\n                sectionTitle.textContent = `${posts.length} Posts 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.05}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 = 'rpv-post-card';\r\n                card.dataset.postId = post.id;\r\n\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 isGallery = post.is_gallery && post.media_metadata;\r\n\r\n                let mediaContent = '';\r\n                let mediaControls = '';\r\n\r\n                if (isVideo && post.secure_media && post.secure_media.reddit_video) {\r\n                    const videoUrl = post.secure_media.reddit_video.fallback_url;\r\n                    mediaContent = `\r\n                        <div class=\"rpv-media-container\">\r\n                            <div class=\"rpv-video-container rpv-paused\" id=\"rpv-videocontainer-${post.id}\">\r\n                                <video class=\"rpv-video-player\" preload=\"metadata\" id=\"rpv-video-${post.id}\">\r\n                                    <source src=\"${videoUrl}\" type=\"video\/mp4\">\r\n                                <\/video>\r\n                                <button class=\"rpv-custom-play-pause-btn\" id=\"rpv-playpause-${post.id}\">\u25b6<\/button>\r\n                                <div class=\"rpv-video-loading-overlay\" id=\"rpv-video-loading-${post.id}\" style=\"display:none;\">\r\n                                    <div class=\"rpv-video-loading-spinner\"><\/div> Loading...\r\n                                <\/div>\r\n                            <\/div>\r\n                        <\/div>`;\r\n                    mediaControls = `\r\n                        <button class=\"rpv-control-btn rpv-stream-audio-btn\" data-url=\"https:\/\/www.reddit.com${post.permalink}\" data-postid=\"${post.id}\">\ud83d\udd0a Stream with Audio<\/button>\r\n                        <button class=\"rpv-control-btn rpv-download-btn\" data-url=\"https:\/\/www.reddit.com${post.permalink}\" data-filename=\"${this.sanitizeFilename(post.title)}.mp4\" data-postid=\"${post.id}\">\ud83d\udce5 Download Video<\/button>`;\r\n                } else if (isGallery && post.gallery_data && post.gallery_data.items) {\r\n                    const images = post.gallery_data.items.map(item => post.media_metadata[item.media_id]?.s?.u?.replace(\/&\/g, '&')).filter(Boolean);\r\n                    if (images.length > 0) {\r\n                        mediaContent = `\r\n                            <div class=\"rpv-media-container\">\r\n                                <div class=\"rpv-gallery-container\">\r\n                                    ${images.map((imgUrl, idx) => `\r\n                                        <div class='rpv-gallery-image-wrapper'>\r\n                                            <img decoding=\"async\" src=\"${imgUrl}\" alt=\"Gallery image ${idx + 1}\" class=\"rpv-gallery-image\" data-fullurl=\"${imgUrl}\">\r\n                                        <\/div>`).join('')}\r\n                                <\/div>\r\n                            <\/div>`;\r\n                        mediaControls = images.map((imgUrl, idx) => `\r\n                            <button class='rpv-control-btn rpv-download-btn' data-url=\"${imgUrl}\" data-filename=\"${this.sanitizeFilename(post.title)}_${idx + 1}.jpg\">\ud83d\udce5 Download Image ${idx + 1}<\/button>\r\n                        `).join('');\r\n                    }\r\n                } else if (hasImage) {\r\n                    const imageUrl = post.preview.images[0].source.url.replace(\/&\/g, '&');\r\n                    mediaContent = `\r\n                        <div class=\"rpv-media-container\">\r\n                            <img decoding=\"async\" src=\"${imageUrl}\" alt=\"${post.title}\" class=\"rpv-image-preview\" data-fullurl=\"${imageUrl}\">\r\n                        <\/div>`;\r\n                    mediaControls = `<button class=\"rpv-control-btn rpv-download-btn\" data-url=\"${imageUrl}\" data-filename=\"${this.sanitizeFilename(post.title)}.jpg\">\ud83d\udce5 Download Image<\/button>`;\r\n                }\r\n\r\n                const isTitleTruncated = post.title.length > 150; \/\/ Simple check, JS line clamp check is too slow for many cards\r\n\r\n                let textContent = '';\r\n                if (post.selftext && post.selftext.trim()) {\r\n                    const isLongText = post.selftext.length > 400;\r\n                    textContent = `\r\n                        <div class=\"rpv-post-text\" id=\"rpv-text-${post.id}\" style=\"white-space: pre-wrap; word-wrap: break-word;\">\r\n                            ${isLongText ? this.truncateText(post.selftext, 400) : post.selftext}\r\n                        <\/div>\r\n                        ${isLongText ? `<button class=\"rpv-expand-btn\" data-postid=\"${post.id}\">Show More<\/button>` : ''}`;\r\n                }\r\n\r\n                card.innerHTML = `\r\n                    <div class=\"rpv-post-card-inner\">\r\n                        <div class=\"rpv-post-header\">\r\n                            <span class=\"rpv-subreddit-badge\">${post.subreddit_name_prefixed}<\/span>\r\n                            <span class=\"rpv-post-meta\">${this.formatDate(post.created_utc)}<\/span>\r\n                        <\/div>\r\n                        <h2 class=\"rpv-post-title ${isTitleTruncated ? '' : 'rpv-full'}\" id=\"rpv-title-${post.id}\">${post.title}<\/h2>\r\n                        ${isTitleTruncated ? `<button class=\"rpv-show-title-btn\" data-postid=\"${post.id}\" data-state=\"collapsed\">Show More<\/button>` : ''}\r\n                        \r\n                        <div class=\"rpv-post-body-content\">\r\n                            ${textContent}\r\n                            ${mediaContent}\r\n                        <\/div>\r\n                        \r\n                        <div class=\"rpv-post-stats\">\r\n                            <div class=\"rpv-stat-item rpv-upvotes\"><div class=\"rpv-stat-value\">${this.formatNumber(post.ups || 0)}<\/div><div class=\"rpv-stat-label\">Upvotes<\/div><\/div>\r\n                            <div class=\"rpv-stat-item rpv-comments\"><div class=\"rpv-stat-value\">${this.formatNumber(post.num_comments || 0)}<\/div><div class=\"rpv-stat-label\">Comments<\/div><\/div>\r\n                            <div class=\"rpv-stat-item rpv-awards\"><div class=\"rpv-stat-value\">${post.total_awards_received || 0}<\/div><div class=\"rpv-stat-label\">Awards<\/div><\/div>\r\n                            <div class=\"rpv-stat-item rpv-ratio\"><div class=\"rpv-stat-value\">${Math.round((post.upvote_ratio || 0) * 100)}%<\/div><div class=\"rpv-stat-label\">Upvoted<\/div><\/div>\r\n                        <\/div>\r\n                        <div class=\"rpv-media-controls\">${mediaControls}<\/div>\r\n                    <\/div>\r\n                `;\r\n\r\n                \/\/ Add event listeners using delegation on the container later\r\n                setTimeout(() => {\r\n                    const video = card.querySelector(`#rpv-video-${post.id}`);\r\n                    const playBtn = card.querySelector(`#rpv-playpause-${post.id}`);\r\n                    const videoContainer = card.querySelector(`#rpv-videocontainer-${post.id}`);\r\n                    if (video && playBtn && videoContainer) {\r\n                        const togglePlay = () => this.togglePlayPause(post.id);\r\n                        playBtn.addEventListener('click', togglePlay);\r\n                        video.addEventListener('click', togglePlay);\r\n                        video.addEventListener('play', () => {\r\n                            playBtn.innerHTML = '\u2759\u2759';\r\n                            videoContainer.classList.remove('rpv-paused');\r\n                        });\r\n                        video.addEventListener('pause', () => {\r\n                            playBtn.innerHTML = '\u25b6';\r\n                            videoContainer.classList.add('rpv-paused');\r\n                        });\r\n                    }\r\n\r\n                    card.querySelectorAll('.rpv-image-preview, .rpv-gallery-image').forEach(img => {\r\n                        img.addEventListener('click', (e) => this.openImageModal(e.currentTarget.dataset.fullurl));\r\n                    });\r\n\r\n                    card.querySelectorAll('.rpv-control-btn').forEach(btn => {\r\n                        if (btn.classList.contains('rpv-stream-audio-btn')) {\r\n                            btn.addEventListener('click', (e) => this.streamWithAudio(e.currentTarget.dataset.url, e.currentTarget.dataset.postid, e.currentTarget));\r\n                        } else if (btn.classList.contains('rpv-download-btn')) {\r\n                            if (btn.dataset.url.includes('reddit.com')) {\r\n                                btn.addEventListener('click', (e) => this.downloadVideoWithAudio(e.currentTarget.dataset.url, e.currentTarget.dataset.filename, e.currentTarget));\r\n                            } else {\r\n                                btn.addEventListener('click', (e) => this.downloadImage(e.currentTarget.dataset.url, e.currentTarget.dataset.filename, e.currentTarget));\r\n                            }\r\n                        }\r\n                    });\r\n\r\n                    const showTitleBtn = card.querySelector('.rpv-show-title-btn');\r\n                    if (showTitleBtn) {\r\n                        showTitleBtn.addEventListener('click', (e) => this.toggleTitle(e.currentTarget.dataset.postid));\r\n                    }\r\n\r\n                    const expandBtn = card.querySelector('.rpv-expand-btn');\r\n                    if (expandBtn) {\r\n                        const fullText = post.selftext;\r\n                        expandBtn.addEventListener('click', (e) => this.toggleText(e.currentTarget.dataset.postid, fullText, e.currentTarget));\r\n                    }\r\n                }, 0);\r\n\r\n                return card;\r\n            }\r\n\r\n            async streamWithAudio(redditUrl, postId, button) {\r\n                const originalText = button.innerHTML;\r\n                button.disabled = true;\r\n                button.classList.add('loading');\r\n                button.innerHTML = '\u23f3 Loading Audio...';\r\n                const overlay = document.getElementById(`rpv-video-loading-${postId}`);\r\n                if (overlay) overlay.style.display = 'flex';\r\n                try {\r\n                    const response = await fetch('https:\/\/tools.xrespond.com\/api\/reddit\/video\/downloader', {\r\n                        method: 'POST',\r\n                        headers: { 'Content-Type': 'application\/x-www-form-urlencoded' },\r\n                        body: `url=${encodeURIComponent(redditUrl)}`\r\n                    });\r\n                    if (!response.ok) throw new Error('API failed');\r\n                    const data = await response.json();\r\n                    if (data.success && data.data?.data?.links?.[0]?.download_url) {\r\n                        const videoElement = document.getElementById(`rpv-video-${postId}`);\r\n                        if (videoElement) {\r\n                            videoElement.src = data.data.data.links[0].download_url;\r\n                            videoElement.load();\r\n                            videoElement.onloadeddata = () => {\r\n                                if (overlay) overlay.style.display = 'none';\r\n                                videoElement.play(); \/\/ Autoplay after loading audio\r\n                                button.innerHTML = '\ud83d\udd0a Audio Loaded!';\r\n                                setTimeout(() => { button.innerHTML = originalText; button.disabled = false; button.classList.remove('loading'); }, 3000);\r\n                            };\r\n                        }\r\n                    } else { throw new Error('Invalid API response'); }\r\n                } catch (error) {\r\n                    console.error('Error fetching audio video:', error);\r\n                    button.innerHTML = '\u274c Failed';\r\n                    setTimeout(() => { button.innerHTML = originalText; button.disabled = false; button.classList.remove('loading'); }, 3000);\r\n                } finally {\r\n                    if (overlay && overlay.style.display === 'flex') overlay.style.display = 'none';\r\n                }\r\n            }\r\n\r\n            async downloadFile(url, filename, button, type = 'video') {\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                const signal = this.downloadController.signal;\r\n\r\n                try {\r\n                    this.showDownloadProgress(`Preparing ${type}...`, 0);\r\n\r\n                    let downloadUrl = url;\r\n                    \/\/ If it's a reddit video link, get the audio-enabled version first\r\n                    if (type === 'video' && url.includes('reddit.com')) {\r\n                        const apiResponse = await fetch('https:\/\/tools.xrespond.com\/api\/reddit\/video\/downloader', {\r\n                            method: 'POST',\r\n                            headers: { 'Content-Type': 'application\/x-www-form-urlencoded' },\r\n                            body: `url=${encodeURIComponent(url)}`,\r\n                            signal\r\n                        });\r\n                        if (!apiResponse.ok) throw new Error('API fetch failed');\r\n                        const data = await apiResponse.json();\r\n                        if (!data.success || !data.data?.data?.links?.[0]?.download_url) throw new Error('Invalid API response');\r\n                        downloadUrl = data.data.data.links[0].download_url;\r\n                    }\r\n\r\n                    const response = await fetch(downloadUrl, { signal });\r\n                    if (!response.ok) throw new Error(`Download failed: ${response.statusText}`);\r\n\r\n                    const totalSize = parseInt(response.headers.get('content-length') || '0');\r\n                    const reader = response.body.getReader();\r\n                    let receivedSize = 0;\r\n                    const chunks = [];\r\n                    while (true) {\r\n                        const { done, value } = await reader.read();\r\n                        if (done) break;\r\n                        chunks.push(value);\r\n                        receivedSize += value.length;\r\n                        const progress = totalSize ? (receivedSize \/ totalSize) * 100 : 50;\r\n                        this.showDownloadProgress(`Downloading ${type}...`, progress, receivedSize, totalSize);\r\n                    }\r\n\r\n                    this.showDownloadProgress('Processing...', 99, receivedSize, totalSize);\r\n                    const blob = new Blob(chunks);\r\n                    const blobUrl = URL.createObjectURL(blob);\r\n                    const a = document.createElement('a');\r\n                    a.href = blobUrl;\r\n                    a.download = filename;\r\n                    document.body.appendChild(a);\r\n                    a.click();\r\n                    document.body.removeChild(a);\r\n                    URL.revokeObjectURL(blobUrl);\r\n\r\n                    this.showDownloadProgress('Completed!', 100, totalSize, totalSize);\r\n                    setTimeout(() => this.hideDownloadProgress(), 3000);\r\n                } catch (error) {\r\n                    if (error.name === 'AbortError') {\r\n                        this.showDownloadProgress('Download cancelled', 0);\r\n                    } else {\r\n                        console.error('Download error:', error);\r\n                        this.showError(`Could not download ${type}. Please try again.`);\r\n                        this.hideDownloadProgress();\r\n                    }\r\n                    setTimeout(() => this.hideDownloadProgress(), 2000);\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            downloadVideoWithAudio(url, filename, button) {\r\n                this.downloadFile(url, filename, button, 'video');\r\n            }\r\n\r\n            downloadImage(url, filename, button) {\r\n                this.downloadFile(url, filename, button, 'image');\r\n            }\r\n\r\n            showDownloadProgress(text, progress = 0, downloaded = 0, total = 0) {\r\n                const progressDiv = document.getElementById('rpv-downloadProgress');\r\n                document.getElementById('rpv-progressText').textContent = text;\r\n                document.getElementById('rpv-progressBarFill').style.width = `${progress}%`;\r\n                document.getElementById('rpv-progressPercent').textContent = `${Math.round(progress)}%`;\r\n                document.getElementById('rpv-progressSize').textContent = `${this.formatFileSize(downloaded)} \/ ${this.formatFileSize(total)}`;\r\n                progressDiv.classList.add('rpv-show');\r\n            }\r\n\r\n            hideDownloadProgress() {\r\n                document.getElementById('rpv-downloadProgress').classList.remove('rpv-show');\r\n            }\r\n\r\n            cancelDownload() {\r\n                if (this.downloadController) {\r\n                    this.downloadController.abort();\r\n                }\r\n            }\r\n\r\n            toggleText(postId, fullText, button) {\r\n                const textElement = document.getElementById(`rpv-text-${postId}`);\r\n                if (button.textContent === 'Show More') {\r\n                    textElement.textContent = fullText;\r\n                    button.textContent = 'Show Less';\r\n                } else {\r\n                    textElement.textContent = this.truncateText(fullText, 400);\r\n                    button.textContent = 'Show More';\r\n                }\r\n            }\r\n\r\n            toggleTitle(postId) {\r\n                const titleElem = document.getElementById(`rpv-title-${postId}`);\r\n                const btn = titleElem.nextElementSibling;\r\n                if (btn.dataset.state === 'collapsed') {\r\n                    titleElem.classList.add('rpv-full');\r\n                    btn.textContent = 'Show Less';\r\n                    btn.dataset.state = 'expanded';\r\n                } else {\r\n                    titleElem.classList.remove('rpv-full');\r\n                    btn.textContent = 'Show More';\r\n                    btn.dataset.state = 'collapsed';\r\n                }\r\n            }\r\n\r\n            togglePlayPause(postId) {\r\n                const video = document.getElementById(`rpv-video-${postId}`);\r\n                if (!video) return;\r\n                document.querySelectorAll('.rpv-video-player').forEach(v => {\r\n                    if (v !== video && !v.paused) v.pause();\r\n                });\r\n                video.paused ? video.play() : video.pause();\r\n            }\r\n\r\n            setupModal() {\r\n                const modal = document.getElementById('rpv-imageModal');\r\n                const closeBtn = modal.querySelector('.rpv-close');\r\n                closeBtn.onclick = () => modal.style.display = 'none';\r\n                modal.onclick = (event) => {\r\n                    if (event.target === modal) modal.style.display = 'none';\r\n                };\r\n            }\r\n\r\n            openImageModal(imageUrl) {\r\n                const modal = document.getElementById('rpv-imageModal');\r\n                const modalImg = document.getElementById('rpv-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('rpv-searchBtn');\r\n                document.getElementById('rpv-searchText').style.display = show ? 'none' : 'block';\r\n                document.getElementById('rpv-searchSpinner').style.display = show ? 'block' : 'none';\r\n                document.getElementById('rpv-loading').style.display = show ? 'block' : 'none';\r\n                searchBtn.disabled = show;\r\n            }\r\n\r\n            showPostsSection(show) {\r\n                document.getElementById('rpv-postsSection').style.display = show ? 'block' : 'none';\r\n            }\r\n\r\n            showError(message) {\r\n                const errorContainer = document.getElementById('rpv-errorMessage');\r\n                errorContainer.textContent = message;\r\n                errorContainer.style.display = 'block';\r\n            }\r\n\r\n            clearError() {\r\n                document.getElementById('rpv-errorMessage').style.display = 'none';\r\n            }\r\n\r\n            formatNumber(num) {\r\n                return Intl.NumberFormat('en-US', { notation: 'compact', maximumFractionDigits: 1 }).format(num);\r\n            }\r\n\r\n            formatDate(timestamp) {\r\n                return new Date(timestamp * 1000).toLocaleDateString('en-US', { year: 'numeric', month: 'short', day: 'numeric' });\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            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, '_').substring(0, 100);\r\n            }\r\n\r\n            extractRedditUsername(input) {\r\n                if (!input) return null;\r\n                const cleanedInput = input.trim();\r\n                const urlMatch = cleanedInput.match(\/reddit\\.com\\\/(?:u|user)\\\/([A-Za-z0-9_\\-]+)\/i);\r\n                if (urlMatch) return urlMatch[1];\r\n                const uMatch = cleanedInput.match(\/^(?:u\\\/)?([A-Za-z0-9_\\-]+)$\/i);\r\n                if (uMatch) return uMatch[1];\r\n                return null;\r\n            }\r\n        }\r\n\r\n        const redditViewer = new RedditPostViewer();\r\n    <\/script>\r\n<\/body>\r\n\r\n[\/et_pb_fullwidth_code][\/et_pb_section][et_pb_section fb_built=&#8221;1&#8243; fullwidth=&#8221;on&#8221; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; max_width=&#8221;1280px&#8221; module_alignment=&#8221;center&#8221; hover_enabled=&#8221;0&#8243; sticky_enabled=&#8221;0&#8243; locked=&#8221;off&#8221;][et_pb_fullwidth_code _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; theme_builder_area=&#8221;post_content&#8221; hover_enabled=&#8221;0&#8243; sticky_enabled=&#8221;0&#8243;][\/et_pb_fullwidth_code][\/et_pb_section][et_pb_section fb_built=&#8221;1&#8243; fullwidth=&#8221;on&#8221; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_fullwidth_code _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;]<style>\r\n        :root {\r\n            --rpv-primary: #FF4500;\r\n            --rpv-secondary: #FFD5B5;\r\n            --rpv-dark: #030303;\r\n            --rpv-light: #DAE0E6;\r\n            --rpv-white: #FFFFFF;\r\n            --rpv-gray: #878A8C;\r\n            --rpv-border: #EDEFF1;\r\n        }\r\n        \r\n        \r\n        .rpv-container {\r\n            width: 100%;\r\n            max-width: 1200px;\r\n            margin: 0 auto;\r\n            padding: 0 20px;\r\n        }\r\n        \r\n        \/* Hero Section - Orange Gradient *\/\r\n        .rpv-hero {\r\n            background: linear-gradient(135deg, var(--rpv-primary) 0%, var(--rpv-secondary) 100%);\r\n            color: var(--rpv-white);\r\n            padding: 100px 0;\r\n            position: relative;\r\n            overflow: hidden;\r\n        }\r\n        \r\n        .rpv-hero::before {\r\n            content: \"\";\r\n            position: absolute;\r\n            top: 0;\r\n            left: 0;\r\n            width: 100%;\r\n            height: 100%;\r\n            background: url('data:image\/svg+xml;utf8,<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"100\" height=\"100\" viewBox=\"0 0 100 100\"><rect width=\"100\" height=\"100\" fill=\"white\" fill-opacity=\"0.1\"\/><circle cx=\"50\" cy=\"50\" r=\"30\" fill=\"white\" fill-opacity=\"0.05\"\/><\/svg>');\r\n            opacity: 0.2;\r\n            z-index: 1;\r\n        }\r\n        \r\n        .rpv-hero-content {\r\n            position: relative;\r\n            z-index: 2;\r\n            text-align: center;\r\n        }\r\n        \r\n        .rpv-hero-heading {\r\n            font-size: 3.5rem;\r\n            font-weight: 800;\r\n            margin-bottom: 20px;\r\n            color: var(--rpv-white);\r\n        }\r\n        \r\n        .rpv-hero-subheading {\r\n            font-size: 1.3rem;\r\n            max-width: 700px;\r\n            margin: 0 auto 40px;\r\n            color: var(--rpv-white);\r\n        }\r\n        \r\n        .rpv-hero-ctas {\r\n            display: flex;\r\n            justify-content: center;\r\n            gap: 20px;\r\n            margin-bottom: 50px;\r\n        }\r\n        \r\n        .rpv-hero-cta-primary {\r\n            background: var(--rpv-dark);\r\n            color: var(--rpv-white);\r\n            border: none;\r\n            padding: 15px 30px;\r\n            font-size: 1.1rem;\r\n            font-weight: 700;\r\n            border-radius: 50px;\r\n            cursor: pointer;\r\n            transition: all 0.3s ease;\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 10px;\r\n        }\r\n        \r\n        .rpv-hero-cta-primary:hover {\r\n            background: #000;\r\n            transform: translateY(-3px);\r\n            box-shadow: 0 10px 20px rgba(0, 0, 0, 0.3);\r\n        }\r\n        \r\n        .rpv-hero-cta-secondary {\r\n            background: rgba(255, 255, 255, 0.2);\r\n            color: var(--rpv-white);\r\n            border: 2px solid var(--rpv-white);\r\n            padding: 15px 30px;\r\n            font-size: 1.1rem;\r\n            font-weight: 700;\r\n            border-radius: 50px;\r\n            cursor: pointer;\r\n            transition: all 0.3s ease;\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 10px;\r\n            backdrop-filter: blur(10px);\r\n        }\r\n        \r\n        .rpv-hero-cta-secondary:hover {\r\n            background: rgba(255, 255, 255, 0.3);\r\n            transform: translateY(-3px);\r\n        }\r\n        \r\n        .rpv-hero-visual {\r\n            max-width: 800px;\r\n            margin: 0 auto;\r\n            position: relative;\r\n        }\r\n        \r\n        .rpv-hero-mockup {\r\n            background: var(--rpv-white);\r\n            border-radius: 15px;\r\n            overflow: hidden;\r\n            box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);\r\n        }\r\n        \r\n        .rpv-hero-mockup-header {\r\n            background: var(--rpv-light);\r\n            padding: 15px 20px;\r\n            display: flex;\r\n            align-items: center;\r\n            border-bottom: 1px solid var(--rpv-border);\r\n        }\r\n        \r\n        .rpv-hero-mockup-logo {\r\n            width: 30px;\r\n            height: 30px;\r\n            background: var(--rpv-primary);\r\n            border-radius: 50%;\r\n            margin-right: 10px;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            color: white;\r\n            font-weight: bold;\r\n        }\r\n        \r\n        .rpv-hero-mockup-title {\r\n            font-weight: 700;\r\n            color: var(--rpv-dark);\r\n        }\r\n        \r\n        .rpv-hero-mockup-content {\r\n            padding: 20px;\r\n        }\r\n        \r\n        .rpv-hero-mockup-post {\r\n            background: var(--rpv-white);\r\n            border: 1px solid var(--rpv-border);\r\n            border-radius: 8px;\r\n            padding: 15px;\r\n            margin-bottom: 15px;\r\n        }\r\n        \r\n        .rpv-hero-mockup-post-header {\r\n            display: flex;\r\n            align-items: center;\r\n            margin-bottom: 15px;\r\n        }\r\n        \r\n        .rpv-hero-mockup-avatar {\r\n            width: 40px;\r\n            height: 40px;\r\n            border-radius: 50%;\r\n            background: var(--rpv-gray);\r\n            margin-right: 10px;\r\n        }\r\n        \r\n        .rpv-hero-mockup-username {\r\n            font-weight: 700;\r\n        }\r\n        \r\n        .rpv-hero-mockup-subreddit {\r\n            color: var(--rpv-gray);\r\n            font-size: 0.9rem;\r\n        }\r\n        \r\n        .rpv-hero-mockup-text {\r\n            margin-bottom: 15px;\r\n            color: var(--rpv-dark);\r\n        }\r\n        \r\n        .rpv-hero-mockup-image {\r\n            width: 100%;\r\n            height: 200px;\r\n            background: linear-gradient(45deg, #f0f0f0, #e0e0e0);\r\n            border-radius: 5px;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            color: var(--rpv-gray);\r\n            font-size: 1.5rem;\r\n            margin-bottom: 15px;\r\n        }\r\n        \r\n        .rpv-hero-mockup-actions {\r\n            display: flex;\r\n            gap: 20px;\r\n        }\r\n        \r\n        .rpv-hero-mockup-action {\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 5px;\r\n            color: var(--rpv-gray);\r\n            cursor: pointer;\r\n        }\r\n        \r\n        .rpv-hero-mockup-action:hover {\r\n            color: var(--rpv-primary);\r\n        }\r\n        \r\n        .rpv-hero-mockup-comments {\r\n            margin-top: 15px;\r\n            border-top: 1px solid var(--rpv-border);\r\n            padding-top: 15px;\r\n        }\r\n        \r\n        .rpv-hero-mockup-comment {\r\n            display: flex;\r\n            margin-bottom: 10px;\r\n        }\r\n        \r\n        .rpv-hero-mockup-comment-avatar {\r\n            width: 30px;\r\n            height: 30px;\r\n            border-radius: 50%;\r\n            background: var(--rpv-gray);\r\n            margin-right: 10px;\r\n            flex-shrink: 0;\r\n        }\r\n        \r\n        .rpv-hero-mockup-comment-content {\r\n            background: var(--rpv-light);\r\n            padding: 10px;\r\n            border-radius: 5px;\r\n            flex-grow: 1;\r\n        }\r\n        \r\n        \/* How It Works Section - Light Gray *\/\r\n        .rpv-how {\r\n            padding: 80px 0;\r\n            background: #f5f5f5;\r\n        }\r\n        \r\n        .rpv-how-heading {\r\n            text-align: center;\r\n            font-size: 2.5rem;\r\n            margin-bottom: 20px;\r\n            color: var(--rpv-dark);\r\n        }\r\n        \r\n        .rpv-how-desc {\r\n            text-align: center;\r\n            max-width: 700px;\r\n            margin: 0 auto 60px;\r\n            color: var(--rpv-gray);\r\n            font-size: 1.1rem;\r\n        }\r\n        \r\n        .rpv-how-steps {\r\n            display: flex;\r\n            justify-content: space-between;\r\n            flex-wrap: wrap;\r\n        }\r\n        \r\n        .rpv-how-step {\r\n            flex: 1;\r\n            min-width: 280px;\r\n            margin: 0 15px 30px;\r\n            text-align: center;\r\n            padding: 30px 20px;\r\n            border-radius: 15px;\r\n            background: var(--rpv-white);\r\n            box-shadow: 0 5px 15px rgba(0,0,0,0.05);\r\n            transition: transform 0.3s ease, box-shadow 0.3s ease;\r\n        }\r\n        \r\n        .rpv-how-step:hover {\r\n            transform: translateY(-10px);\r\n            box-shadow: 0 15px 30px rgba(0,0,0,0.1);\r\n        }\r\n        \r\n        .rpv-how-step-icon {\r\n            width: 80px;\r\n            height: 80px;\r\n            background: linear-gradient(135deg, var(--rpv-primary), #ff6b35);\r\n            border-radius: 50%;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            margin: 0 auto 20px;\r\n            font-size: 2rem;\r\n            color: white;\r\n        }\r\n        \r\n        .rpv-how-step-title {\r\n            font-size: 1.5rem;\r\n            margin-bottom: 15px;\r\n            color: var(--rpv-dark);\r\n        }\r\n        \r\n        .rpv-how-step-desc {\r\n            color: var(--rpv-gray);\r\n        }\r\n        \r\n        \/* Features Section - Very Light Gray *\/\r\n        .rpv-features {\r\n            padding: 80px 0;\r\n            background: #fafafa;\r\n        }\r\n        \r\n        .rpv-features-heading {\r\n            text-align: center;\r\n            font-size: 2.5rem;\r\n            margin-bottom: 20px;\r\n            color: var(--rpv-dark);\r\n        }\r\n        \r\n        .rpv-features-desc {\r\n            text-align: center;\r\n            max-width: 700px;\r\n            margin: 0 auto 60px;\r\n            color: var(--rpv-gray);\r\n            font-size: 1.1rem;\r\n        }\r\n        \r\n        .rpv-features-grid {\r\n            display: grid;\r\n            grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));\r\n            gap: 30px;\r\n        }\r\n        \r\n        .rpv-feature {\r\n            background: var(--rpv-white);\r\n            border-radius: 15px;\r\n            padding: 30px;\r\n            box-shadow: 0 5px 15px rgba(0,0,0,0.05);\r\n            transition: transform 0.3s ease;\r\n            height: 100%;\r\n            display: flex;\r\n            flex-direction: column;\r\n            align-items: center;\r\n            text-align: center;\r\n        }\r\n        \r\n        .rpv-feature:hover {\r\n            transform: translateY(-5px);\r\n            box-shadow: 0 15px 30px rgba(0,0,0,0.1);\r\n        }\r\n        \r\n        .rpv-feature-icon {\r\n            width: 70px;\r\n            height: 70px;\r\n            background: linear-gradient(135deg, var(--rpv-primary), #ff6b35);\r\n            border-radius: 15px;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            margin-bottom: 20px;\r\n            font-size: 1.8rem;\r\n            color: white;\r\n        }\r\n        \r\n        .rpv-feature-title {\r\n            font-size: 1.3rem;\r\n            margin-bottom: 15px;\r\n            color: var(--rpv-dark);\r\n        }\r\n        \r\n        .rpv-feature-desc {\r\n            color: var(--rpv-gray);\r\n        }\r\n        \r\n        \/* FAQ Section - White *\/\r\n        .rpv-faq {\r\n            padding: 80px 0;\r\n            background: var(--rpv-white);\r\n        }\r\n        \r\n        .rpv-faq-heading {\r\n            text-align: center;\r\n            font-size: 2.5rem;\r\n            margin-bottom: 20px;\r\n            color: var(--rpv-dark);\r\n        }\r\n        \r\n        .rpv-faq-desc {\r\n            text-align: center;\r\n            max-width: 700px;\r\n            margin: 0 auto 60px;\r\n            color: var(--rpv-gray);\r\n            font-size: 1.1rem;\r\n        }\r\n        \r\n        .rpv-faq-accordion {\r\n            max-width: 800px;\r\n            margin: 0 auto;\r\n        }\r\n        \r\n        .rpv-faq-item {\r\n            border: none;\r\n            margin-bottom: 15px;\r\n            border-radius: 10px;\r\n            overflow: hidden;\r\n            box-shadow: 0 5px 15px rgba(0,0,0,0.05);\r\n        }\r\n        \r\n        .rpv-faq-button {\r\n            background-color: var(--rpv-white);\r\n            color: var(--rpv-dark);\r\n            font-weight: 700;\r\n            font-size: 1.1rem;\r\n            padding: 20px 25px;\r\n            box-shadow: none;\r\n            border: none;\r\n            border-radius: 0;\r\n        }\r\n        \r\n        .rpv-faq-button:not(.collapsed) {\r\n            background-color: var(--rpv-white);\r\n            color: var(--rpv-primary);\r\n            box-shadow: none;\r\n        }\r\n        \r\n        .rpv-faq-button:focus {\r\n            box-shadow: none;\r\n            border: none;\r\n        }\r\n        \r\n        .rpv-faq-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='%23030303'%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        .rpv-faq-button:not(.collapsed)::after {\r\n            background-image: url(\"data:image\/svg+xml,%3csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 16 16' fill='%23FF4500'%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            transform: rotate(180deg);\r\n        }\r\n        \r\n        .rpv-faq-body {\r\n            background-color: var(--rpv-white);\r\n            color: var(--rpv-gray);\r\n            padding: 20px 25px;\r\n            font-size: 1rem;\r\n        }\r\n        \r\n        \/* Responsive *\/\r\n        @media (max-width: 768px) {\r\n            .rpv-hero-heading {\r\n                font-size: 2.5rem;\r\n            }\r\n            \r\n            .rpv-hero-subheading {\r\n                font-size: 1.1rem;\r\n            }\r\n            \r\n            .rpv-hero-ctas {\r\n                flex-direction: column;\r\n                align-items: center;\r\n            }\r\n            \r\n            .rpv-how-steps {\r\n                flex-direction: column;\r\n            }\r\n            \r\n            .rpv-how-step {\r\n                margin: 0 0 30px;\r\n            }\r\n        }\r\n    <\/style>\r\n <!-- Hero Section - Orange Gradient -->\r\n\r\n\r\n    <!-- How It Works Section - Light Gray -->\r\n    <section class=\"rpv-how\">\r\n        <div class=\"rpv-container\">\r\n            <h2 class=\"rpv-how-heading\">How It Works<\/h2>\r\n            <p class=\"rpv-how-desc\">Our simple three-step process lets you view Reddit posts anonymously in seconds<\/p>\r\n            <div class=\"rpv-how-steps\">\r\n                <div class=\"rpv-how-step\">\r\n                    <div class=\"rpv-how-step-icon\">\r\n                        <i class=\"fas fa-link\"><\/i>\r\n                    <\/div>\r\n                    <h3 class=\"rpv-how-step-title\">Paste Reddit Post Link<\/h3>\r\n                    <p class=\"rpv-how-step-desc\">Simple, clean input bar to enter any Reddit post URL<\/p>\r\n                <\/div>\r\n                <div class=\"rpv-how-step\">\r\n                    <div class=\"rpv-how-step-icon\">\r\n                        <i class=\"fas fa-eye\"><\/i>\r\n                    <\/div>\r\n                    <h3 class=\"rpv-how-step-title\">Preview Post & Content<\/h3>\r\n                    <p class=\"rpv-how-step-desc\">Instantly view text, images, or videos in a clean interface<\/p>\r\n                <\/div>\r\n                <div class=\"rpv-how-step\">\r\n                    <div class=\"rpv-how-step-icon\">\r\n                        <i class=\"fas fa-save\"><\/i>\r\n                    <\/div>\r\n                    <h3 class=\"rpv-how-step-title\">View Comments or Save Post<\/h3>\r\n                    <p class=\"rpv-how-step-desc\">Easy interaction options to read comments or save for later<\/p>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/section>\r\n\r\n    <!-- Features Section - Very Light Gray -->\r\n    <section class=\"rpv-features\">\r\n        <div class=\"rpv-container\">\r\n            <h2 class=\"rpv-features-heading\">What Can You Do With Our Reddit Post Viewer?<\/h2>\r\n            <p class=\"rpv-features-desc\">Discover the powerful features that make our Reddit Post Viewer the best choice<\/p>\r\n            <div class=\"rpv-features-grid\">\r\n                <div class=\"rpv-feature\">\r\n                    <div class=\"rpv-feature-icon\">\r\n                        <i class=\"fas fa-user-secret\"><\/i>\r\n                    <\/div>\r\n                    <h3 class=\"rpv-feature-title\">View Full Post Content Anonymously<\/h3>\r\n                    <p class=\"rpv-feature-desc\">Access any Reddit post without creating an account or logging in<\/p>\r\n                <\/div>\r\n                <div class=\"rpv-feature\">\r\n                    <div class=\"rpv-feature-icon\">\r\n                        <i class=\"fas fa-file-alt\"><\/i>\r\n                    <\/div>\r\n                    <h3 class=\"rpv-feature-title\">Load Text, Image, or Video Posts<\/h3>\r\n                    <p class=\"rpv-feature-desc\">Our viewer supports all types of Reddit content with fast loading<\/p>\r\n                <\/div>\r\n                <div class=\"rpv-feature\">\r\n                    <div class=\"rpv-feature-icon\">\r\n                        <i class=\"fas fa-chart-bar\"><\/i>\r\n                    <\/div>\r\n                    <h3 class=\"rpv-feature-title\">View Post Stats<\/h3>\r\n                    <p class=\"rpv-feature-desc\">See upvotes, comments, and subreddit information at a glance<\/p>\r\n                <\/div>\r\n                <div class=\"rpv-feature\">\r\n                    <div class=\"rpv-feature-icon\">\r\n                        <i class=\"fas fa-moon\"><\/i>\r\n                    <\/div>\r\n                    <h3 class=\"rpv-feature-title\">Night Mode<\/h3>\r\n                    <p class=\"rpv-feature-desc\">Reader-friendly UI with dark mode for comfortable viewing<\/p>\r\n                <\/div>\r\n                <div class=\"rpv-feature\">\r\n                    <div class=\"rpv-feature-icon\">\r\n                        <i class=\"fas fa-ban\"><\/i>\r\n                    <\/div>\r\n                    <h3 class=\"rpv-feature-title\">No Account Required<\/h3>\r\n                    <p class=\"rpv-feature-desc\">Browse Reddit without any login or personal information<\/p>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/section>\r\n\r\n    <!-- FAQ Section - White -->\r\n    <section class=\"rpv-faq\">\r\n        <div class=\"rpv-container\">\r\n            <h2 class=\"rpv-faq-heading\">Frequently Asked Questions<\/h2>\r\n            <p class=\"rpv-faq-desc\">Find answers to common questions about our Reddit Post Viewer<\/p>\r\n            \r\n            <div class=\"accordion rpv-faq-accordion\" id=\"redditPostFaqAccordion\">\r\n                <!-- FAQ Item 1 -->\r\n                <div class=\"accordion-item rpv-faq-item\">\r\n                    <h2 class=\"accordion-header rpv-faq-header\" id=\"redditPostFaqHeading1\">\r\n                        <button class=\"accordion-button rpv-faq-button collapsed\" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#redditPostFaqCollapse1\" aria-expanded=\"false\" aria-controls=\"redditPostFaqCollapse1\">\r\n                            Can I use this without a Reddit account?\r\n                        <\/button>\r\n                    <\/h2>\r\n                    <div id=\"redditPostFaqCollapse1\" class=\"accordion-collapse collapse\" aria-labelledby=\"redditPostFaqHeading1\" data-bs-parent=\"#redditPostFaqAccordion\">\r\n                        <div class=\"accordion-body rpv-faq-body\">\r\n                            Yes, absolutely! Our Reddit Post Viewer requires no account creation or login. You can view any public Reddit post anonymously without providing any personal information.\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n                \r\n                <!-- FAQ Item 2 -->\r\n                <div class=\"accordion-item rpv-faq-item\">\r\n                    <h2 class=\"accordion-header rpv-faq-header\" id=\"redditPostFaqHeading2\">\r\n                        <button class=\"accordion-button rpv-faq-button collapsed\" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#redditPostFaqCollapse2\" aria-expanded=\"false\" aria-controls=\"redditPostFaqCollapse2\">\r\n                            Does it work with private posts?\r\n                        <\/button>\r\n                    <\/h2>\r\n                    <div id=\"redditPostFaqCollapse2\" class=\"accordion-collapse collapse\" aria-labelledby=\"redditPostFaqHeading2\" data-bs-parent=\"#redditPostFaqAccordion\">\r\n                        <div class=\"accordion-body rpv-faq-body\">\r\n                            No, our viewer only works with public Reddit posts. Private posts, restricted subreddits, or content requiring membership cannot be accessed through our tool, as this would require authentication.\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n                \r\n                <!-- FAQ Item 3 -->\r\n                <div class=\"accordion-item rpv-faq-item\">\r\n                    <h2 class=\"accordion-header rpv-faq-header\" id=\"redditPostFaqHeading3\">\r\n                        <button class=\"accordion-button rpv-faq-button collapsed\" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#redditPostFaqCollapse3\" aria-expanded=\"false\" aria-controls=\"redditPostFaqCollapse3\">\r\n                            Is Reddit post viewing legal?\r\n                        <\/button>\r\n                    <\/h2>\r\n                    <div id=\"redditPostFaqCollapse3\" class=\"accordion-collapse collapse\" aria-labelledby=\"redditPostFaqHeading3\" data-bs-parent=\"#redditPostFaqAccordion\">\r\n                        <div class=\"accordion-body rpv-faq-body\">\r\n                            Yes, viewing public Reddit posts is completely legal. Our tool simply provides a clean interface to access content that is already publicly available on Reddit. We respect Reddit's terms of service and content policies.\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n                \r\n                <!-- FAQ Item 4 -->\r\n                <div class=\"accordion-item rpv-faq-item\">\r\n                    <h2 class=\"accordion-header rpv-faq-header\" id=\"redditPostFaqHeading4\">\r\n                        <button class=\"accordion-button rpv-faq-button collapsed\" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#redditPostFaqCollapse4\" aria-expanded=\"false\" aria-controls=\"redditPostFaqCollapse4\">\r\n                            Are my views tracked?\r\n                        <\/button>\r\n                    <\/h2>\r\n                    <div id=\"redditPostFaqCollapse4\" class=\"accordion-collapse collapse\" aria-labelledby=\"redditPostFaqHeading4\" data-bs-parent=\"#redditPostFaqAccordion\">\r\n                        <div class=\"accordion-body rpv-faq-body\">\r\n                            No, we do not track your viewing activity. Our tool is designed for privacy and anonymity. We don't store your browsing history, IP addresses, or any personal information. Your use of our viewer is completely confidential.\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/section>[\/et_pb_fullwidth_code][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>    <style>\r\n        @import url('https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap');\r\n\r\n        :root {\r\n            --rpv-primary-color: #2C3E50;\r\n            --rpv-primary-light: #34495E;\r\n            --rpv-secondary-color: #16A085;\r\n            --rpv-secondary-light: #1ABC9C;\r\n            --rpv-accent-color: #E67E22;\r\n            --rpv-accent-light: #F39C12;\r\n            --rpv-success-color: #27AE60;\r\n            --rpv-success-light: #2ECC71;\r\n            --rpv-danger-color: #E74C3C;\r\n            --rpv-danger-light: #C0392B;\r\n            --rpv-progress-color: #00D4AA;\r\n            --rpv-progress-bg: #E8F5F3;\r\n            --rpv-bg-primary: #F8F9FA;\r\n            --rpv-bg-secondary: #FFFFFF;\r\n            --rpv-bg-tertiary: #ECF0F1;\r\n            --rpv-glass-bg: rgba(255, 255, 255, 0.25);\r\n            --rpv-glass-border: rgba(255, 255, 255, 0.35);\r\n            --rpv-text-primary: #2C3E50;\r\n            --rpv-text-secondary: #34495E;\r\n            --rpv-text-muted: #7F8C8D;\r\n            --rpv-text-white: #FFFFFF;\r\n            --rpv-shadow-sm: 0 2px 4px rgba(44, 62, 80, 0.08);\r\n            --rpv-shadow-md: 0 4px 12px rgba(44, 62, 80, 0.12);\r\n            --rpv-shadow-lg: 0 8px 24px rgba(44, 62, 80, 0.15);\r\n            --rpv-shadow-xl: 0 12px 32px rgba(44, 62, 80, 0.18);\r\n            --rpv-reddit-orange: #FF4500;\r\n            --rpv-reddit-orange-light: #FF6B35;\r\n        }\r\n\r\n        .rpv-wrapper {\r\n            font-family: 'Inter', sans-serif;\r\n            background: linear-gradient(135deg, #ECF0F1 0%, #BDC3C7 25%, #95A5A6 50%, #7F8C8D 75%, #34495E 100%);\r\n            min-height: 100vh;\r\n            line-height: 1.6;\r\n            position: relative;\r\n            overflow-x: hidden;\r\n            color: var(--rpv-text-primary);\r\n        }\r\n\r\n        .rpv-wrapper::before {\r\n            content: '';\r\n            position: fixed;\r\n            top: 0;\r\n            left: 0;\r\n            width: 100%;\r\n            height: 100%;\r\n            background:\r\n                radial-gradient(circle at 25% 25%, rgba(22, 160, 133, 0.1) 0%, transparent 50%),\r\n                radial-gradient(circle at 75% 75%, rgba(52, 73, 94, 0.1) 0%, transparent 50%),\r\n                radial-gradient(circle at 50% 50%, rgba(230, 126, 34, 0.08) 0%, transparent 50%);\r\n            pointer-events: none;\r\n            z-index: -1;\r\n        }\r\n\r\n        .rpv-container {\r\n            max-width: 1400px;\r\n            margin: 0 auto;\r\n            padding: 20px;\r\n            position: relative;\r\n            z-index: 1;\r\n        }\r\n\r\n        .rpv-header {\r\n            text-align: center;\r\n            margin-bottom: 40px;\r\n            padding: 30px 0;\r\n            animation: rpv-fadeInDown 1s ease-out;\r\n        }\r\n\r\n        .rpv-logo {\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            gap: 20px;\r\n            margin-bottom: 20px;\r\n            flex-wrap: wrap;\r\n        }\r\n\r\n        .rpv-logo-icon {\r\n            width: 70px;\r\n            height: 70px;\r\n            background: linear-gradient(135deg, var(--rpv-reddit-orange), var(--rpv-reddit-orange-light));\r\n            border-radius: 16px;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            color: white;\r\n            font-size: 32px;\r\n            font-weight: 700;\r\n            box-shadow: var(--rpv-shadow-lg);\r\n            animation: rpv-pulse 3s ease-in-out infinite;\r\n        }\r\n\r\n        .rpv-reddit-icon {\r\n            width: 50px;\r\n            height: 50px;\r\n            background: var(--rpv-reddit-orange);\r\n            border-radius: 12px;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            color: white;\r\n            font-size: 20px;\r\n            font-weight: 700;\r\n            animation: rpv-redditFloat 4s ease-in-out infinite;\r\n            box-shadow: 0 4px 15px rgba(255, 69, 0, 0.3);\r\n            margin: 0 10px;\r\n        }\r\n\r\n        .rpv-logo-text {\r\n            font-size: clamp(2rem, 5vw, 3.2rem);\r\n            font-weight: 800;\r\n            background: linear-gradient(135deg, var(--rpv-reddit-orange), var(--rpv-secondary-color));\r\n            -webkit-background-clip: text;\r\n            -webkit-text-fill-color: transparent;\r\n            background-clip: text;\r\n            letter-spacing: -0.5px;\r\n        }\r\n\r\n        .rpv-subtitle {\r\n            color: var(--rpv-text-secondary);\r\n            font-size: 18px;\r\n            font-weight: 600;\r\n            margin-bottom: 25px;\r\n            max-width: 600px;\r\n            margin-left: auto;\r\n            margin-right: auto;\r\n            text-shadow: 0 1px 2px rgba(255, 255, 255, 0.8);\r\n        }\r\n\r\n        .rpv-features-bar {\r\n            display: flex;\r\n            justify-content: center;\r\n            gap: 20px;\r\n            margin-bottom: 30px;\r\n            flex-wrap: wrap;\r\n        }\r\n\r\n        .rpv-feature-item {\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 10px;\r\n            color: var(--rpv-text-primary);\r\n            font-size: 14px;\r\n            font-weight: 600;\r\n            background: var(--rpv-glass-bg);\r\n            backdrop-filter: blur(20px);\r\n            padding: 12px 20px;\r\n            border-radius: 12px;\r\n            border: 1px solid var(--rpv-glass-border);\r\n            transition: all 0.3s ease;\r\n        }\r\n\r\n        .rpv-feature-item:hover {\r\n            transform: translateY(-2px);\r\n            box-shadow: var(--rpv-shadow-md);\r\n            background: rgba(255, 255, 255, 0.35);\r\n        }\r\n\r\n        .rpv-feature-icon {\r\n            width: 24px;\r\n            height: 24px;\r\n            background: linear-gradient(135deg, var(--rpv-success-color), var(--rpv-success-light));\r\n            border-radius: 50%;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            font-size: 12px;\r\n            color: white;\r\n            font-weight: 700;\r\n        }\r\n\r\n        .rpv-search-container {\r\n            background: var(--rpv-bg-secondary);\r\n            border: 1px solid rgba(44, 62, 80, 0.1);\r\n            padding: 35px;\r\n            border-radius: 20px;\r\n            box-shadow: var(--rpv-shadow-lg);\r\n            margin-bottom: 30px;\r\n            animation: rpv-fadeInUp 1s ease-out 0.2s both;\r\n        }\r\n\r\n        .rpv-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        .rpv-search-input {\r\n            flex: 1 !important;\r\n            padding: 16px 20px !important;\r\n            border: 2px solid var(--rpv-bg-tertiary) !important;\r\n            border-radius: 12px !important;\r\n            font-size: 16px !important;\r\n            font-weight: 500 !important;\r\n            background: var(--rpv-bg-secondary) !important;\r\n            transition: all 0.3s ease !important;\r\n            outline: none !important;\r\n            color: var(--rpv-text-primary) !important;\r\n            font-family: inherit !important;\r\n        }\r\n\r\n        .rpv-search-input:focus {\r\n            border-color: var(--rpv-secondary-color);\r\n            box-shadow: 0 0 0 3px rgba(22, 160, 133, 0.1);\r\n            transform: translateY(-1px);\r\n        }\r\n\r\n        .rpv-search-input::placeholder {\r\n            color: var(--rpv-text-muted);\r\n            font-weight: 400;\r\n        }\r\n\r\n        .rpv-search-btn {\r\n            padding: 16px 32px;\r\n            background: linear-gradient(135deg, var(--rpv-reddit-orange), var(--rpv-reddit-orange-light));\r\n            color: white;\r\n            border: none;\r\n            border-radius: 12px;\r\n            font-size: 16px;\r\n            font-weight: 600;\r\n            cursor: pointer;\r\n            transition: all 0.3s ease;\r\n            min-width: 160px;\r\n            position: relative;\r\n            overflow: hidden;\r\n            box-shadow: var(--rpv-shadow-md);\r\n            font-family: inherit;\r\n        }\r\n\r\n        .rpv-search-btn:hover:not(:disabled) {\r\n            transform: translateY(-2px);\r\n            box-shadow: var(--rpv-shadow-lg);\r\n            background: linear-gradient(135deg, var(--rpv-reddit-orange-light), var(--rpv-secondary-color));\r\n        }\r\n\r\n        .rpv-search-btn:disabled {\r\n            opacity: 0.6;\r\n            cursor: not-allowed;\r\n            transform: none;\r\n        }\r\n\r\n        .rpv-user-info {\r\n            background: var(--rpv-bg-secondary);\r\n            border: 1px solid rgba(44, 62, 80, 0.1);\r\n            padding: 35px;\r\n            border-radius: 20px;\r\n            box-shadow: var(--rpv-shadow-lg);\r\n            margin-bottom: 30px;\r\n            display: none;\r\n            animation: rpv-slideInDown 0.8s ease-out;\r\n        }\r\n\r\n        .rpv-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        .rpv-user-avatar {\r\n            width: 90px;\r\n            height: 90px;\r\n            border-radius: 50%;\r\n            background: linear-gradient(135deg, var(--rpv-reddit-orange), var(--rpv-reddit-orange-light));\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: 800;\r\n            box-shadow: var(--rpv-shadow-lg);\r\n            flex-shrink: 0;\r\n        }\r\n\r\n        .rpv-user-details h2 {\r\n            font-size: 2rem;\r\n            color: var(--rpv-text-primary);\r\n            margin-bottom: 8px;\r\n            font-weight: 800;\r\n        }\r\n\r\n        .rpv-user-description {\r\n            color: var(--rpv-text-secondary);\r\n            font-size: 16px;\r\n            font-weight: 500;\r\n        }\r\n\r\n        .rpv-user-stats {\r\n            display: grid;\r\n            grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));\r\n            gap: 20px;\r\n            margin-top: 25px;\r\n        }\r\n\r\n        .rpv-stat-card {\r\n            background: linear-gradient(135deg, var(--rpv-glass-bg), rgba(255, 255, 255, 0.15));\r\n            backdrop-filter: blur(20px);\r\n            padding: 20px;\r\n            border-radius: 16px;\r\n            text-align: center;\r\n            border: 1px solid var(--rpv-glass-border);\r\n            transition: all 0.3s ease;\r\n        }\r\n\r\n        .rpv-stat-card:hover {\r\n            transform: translateY(-3px);\r\n            box-shadow: var(--rpv-shadow-md);\r\n        }\r\n\r\n        .rpv-stat-number {\r\n            font-size: 1.8rem;\r\n            font-weight: 800;\r\n            color: var(--rpv-reddit-orange);\r\n            margin-bottom: 5px;\r\n        }\r\n\r\n        .rpv-stat-label {\r\n            font-size: 0.9rem;\r\n            color: var(--rpv-text-secondary);\r\n            font-weight: 600;\r\n        }\r\n\r\n        .rpv-posts-section {\r\n            display: none;\r\n            margin-bottom: 40px;\r\n        }\r\n\r\n        .rpv-section-title {\r\n            color: var(--rpv-text-primary);\r\n            font-size: 2rem;\r\n            font-weight: 800;\r\n            margin-bottom: 30px;\r\n            text-align: center;\r\n            background: var(--rpv-glass-bg);\r\n            backdrop-filter: blur(20px);\r\n            padding: 20px;\r\n            border-radius: 16px;\r\n            border: 1px solid var(--rpv-glass-border);\r\n        }\r\n\r\n        .rpv-posts-grid {\r\n            display: grid;\r\n            grid-template-columns: repeat(auto-fit, minmax(480px, 1fr));\r\n            gap: 32px;\r\n            align-items: stretch;\r\n        }\r\n\r\n        .rpv-post-card {\r\n            background: var(--rpv-bg-secondary);\r\n            border: 1.5px solid var(--rpv-glass-border);\r\n            border-radius: 28px;\r\n            box-shadow: 0 8px 32px rgba(44, 62, 80, 0.13), 0 1.5px 6px rgba(44, 62, 80, 0.07);\r\n            transition: box-shadow 0.3s, transform 0.2s;\r\n            position: relative;\r\n            overflow: hidden;\r\n            animation: rpv-slideUp 0.6s ease forwards;\r\n            display: flex;\r\n            flex-direction: column;\r\n        }\r\n\r\n        .rpv-post-card-inner {\r\n            padding: 36px 32px 32px 32px;\r\n            display: flex;\r\n            flex-direction: column;\r\n            flex-grow: 1;\r\n        }\r\n\r\n        .rpv-post-card::before {\r\n            content: '';\r\n            position: absolute;\r\n            top: -1.5px;\r\n            left: 0;\r\n            right: 0;\r\n            height: 7px;\r\n            background: linear-gradient(90deg, var(--rpv-reddit-orange), var(--rpv-secondary-color));\r\n            border-radius: 28px 28px 0 0;\r\n            z-index: 1;\r\n        }\r\n\r\n        .rpv-post-card:hover {\r\n            transform: translateY(-8px) scale(1.012);\r\n            box-shadow: 0 16px 48px rgba(44, 62, 80, 0.18), 0 2px 8px rgba(44, 62, 80, 0.10);\r\n            border-color: var(--rpv-reddit-orange-light);\r\n        }\r\n\r\n        .rpv-post-header {\r\n            display: flex;\r\n            align-items: flex-start;\r\n            justify-content: space-between;\r\n            margin-bottom: 18px;\r\n            padding-bottom: 12px;\r\n            border-bottom: 1.5px solid var(--rpv-bg-tertiary);\r\n        }\r\n\r\n        .rpv-post-title {\r\n            font-size: 1.7rem;\r\n            font-weight: 800;\r\n            margin-bottom: 18px;\r\n            color: var(--rpv-primary-color);\r\n            line-height: 1.3;\r\n            letter-spacing: -0.5px;\r\n            display: -webkit-box;\r\n            -webkit-line-clamp: 3;\r\n            -webkit-box-orient: vertical;\r\n            overflow: hidden;\r\n            text-overflow: ellipsis;\r\n            max-width: 100%;\r\n        }\r\n\r\n        .rpv-post-title.rpv-full {\r\n            display: block;\r\n            -webkit-line-clamp: unset;\r\n            -webkit-box-orient: unset;\r\n            overflow: visible;\r\n            text-overflow: unset;\r\n        }\r\n\r\n        .rpv-show-title-btn {\r\n            background: linear-gradient(135deg, var(--rpv-primary-color), var(--rpv-primary-light));\r\n            color: white;\r\n            border: none;\r\n            padding: 6px 16px;\r\n            border-radius: 10px;\r\n            cursor: pointer;\r\n            font-size: 0.9rem;\r\n            font-weight: 600;\r\n            margin-top: -10px;\r\n            margin-bottom: 10px;\r\n            transition: all 0.2s;\r\n            align-self: flex-start;\r\n        }\r\n\r\n        .rpv-show-title-btn:hover {\r\n            background: linear-gradient(135deg, var(--rpv-reddit-orange), var(--rpv-secondary-color));\r\n        }\r\n\r\n        .rpv-post-body-content {\r\n            flex-grow: 1;\r\n            display: flex;\r\n            flex-direction: column;\r\n            margin-bottom: 18px;\r\n        }\r\n\r\n        .rpv-media-container {\r\n            margin-top: 18px;\r\n            border-radius: 18px;\r\n            overflow: hidden;\r\n            position: relative;\r\n            box-shadow: 0 2px 12px rgba(44, 62, 80, 0.10);\r\n            background: #000;\r\n            height: 300px;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n        }\r\n\r\n        .rpv-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.55);\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            z-index: 2;\r\n            border-radius: 18px;\r\n            font-size: 1.3rem;\r\n            color: #fff;\r\n            font-weight: 700;\r\n            transition: opacity 0.2s;\r\n        }\r\n\r\n        .rpv-video-loading-spinner {\r\n            border: 5px solid #eee;\r\n            border-top: 5px solid var(--rpv-reddit-orange);\r\n            border-radius: 50%;\r\n            width: 48px;\r\n            height: 48px;\r\n            animation: rpv-spin 1s linear infinite;\r\n            margin-right: 16px;\r\n        }\r\n\r\n        .rpv-image-preview,\r\n        .rpv-video-player {\r\n            width: 100%;\r\n            height: 100%;\r\n            object-fit: cover;\r\n        }\r\n\r\n        .rpv-image-preview {\r\n            cursor: pointer;\r\n            transition: transform 0.3s ease;\r\n        }\r\n\r\n        .rpv-image-preview:hover {\r\n            transform: scale(1.02);\r\n        }\r\n\r\n        .rpv-video-container {\r\n            position: relative;\r\n            width: 100%;\r\n            height: 100%;\r\n            background: #000;\r\n            border-radius: 18px;\r\n            overflow: hidden;\r\n        }\r\n\r\n        .rpv-video-player {\r\n            border-radius: 18px;\r\n        }\r\n\r\n        .rpv-media-controls {\r\n            display: flex;\r\n            gap: 12px;\r\n            margin-top: auto;\r\n            padding-top: 16px;\r\n            flex-wrap: wrap;\r\n            align-items: center;\r\n        }\r\n\r\n        .rpv-control-btn {\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 8px;\r\n            padding: 12px 20px;\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            text-transform: none;\r\n            position: relative;\r\n            overflow: hidden;\r\n        }\r\n\r\n        .rpv-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        .rpv-control-btn:hover::before {\r\n            left: 100%;\r\n        }\r\n\r\n        .rpv-stream-audio-btn {\r\n            background: linear-gradient(135deg, #9B59B6, #8E44AD);\r\n            color: white;\r\n            box-shadow: 0 4px 15px rgba(155, 89, 182, 0.3);\r\n        }\r\n\r\n        .rpv-stream-audio-btn:hover {\r\n            transform: translateY(-2px);\r\n            box-shadow: 0 6px 20px rgba(155, 89, 182, 0.4);\r\n        }\r\n\r\n        .rpv-stream-audio-btn:disabled {\r\n            opacity: 0.6;\r\n            cursor: not-allowed;\r\n            transform: none;\r\n        }\r\n\r\n        .rpv-stream-audio-btn.loading {\r\n            background: linear-gradient(135deg, #95A5A6, #7F8C8D);\r\n        }\r\n\r\n        .rpv-download-btn {\r\n            background: linear-gradient(135deg, var(--rpv-success-color), var(--rpv-success-light));\r\n            color: white;\r\n            box-shadow: 0 4px 15px rgba(39, 174, 96, 0.3);\r\n        }\r\n\r\n        .rpv-download-btn:hover {\r\n            transform: translateY(-2px);\r\n            box-shadow: 0 6px 20px rgba(39, 174, 96, 0.4);\r\n        }\r\n\r\n        .rpv-download-btn:disabled {\r\n            opacity: 0.6;\r\n            cursor: not-allowed;\r\n            transform: none;\r\n        }\r\n\r\n        .rpv-download-btn.downloading {\r\n            background: linear-gradient(135deg, var(--rpv-accent-color), var(--rpv-accent-light));\r\n        }\r\n\r\n        .rpv-post-stats {\r\n            display: grid;\r\n            grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));\r\n            gap: 16px;\r\n            margin-top: 25px;\r\n            padding-top: 20px;\r\n            border-top: 2px solid var(--rpv-bg-tertiary);\r\n        }\r\n\r\n        .rpv-stat-item {\r\n            display: flex;\r\n            flex-direction: column;\r\n            align-items: center;\r\n            gap: 8px;\r\n            padding: 16px;\r\n            background: linear-gradient(135deg, var(--rpv-glass-bg), rgba(255, 255, 255, 0.15));\r\n            backdrop-filter: blur(20px);\r\n            border-radius: 16px;\r\n            text-align: center;\r\n            border: 1px solid var(--rpv-glass-border);\r\n            transition: all 0.3s ease;\r\n        }\r\n\r\n        .rpv-stat-item:hover {\r\n            transform: translateY(-2px);\r\n            box-shadow: var(--rpv-shadow-sm);\r\n        }\r\n\r\n        .rpv-stat-value {\r\n            font-weight: 800;\r\n            font-size: 1.3rem;\r\n        }\r\n\r\n        .rpv-upvotes .rpv-stat-value {\r\n            color: var(--rpv-reddit-orange);\r\n        }\r\n\r\n        .rpv-comments .rpv-stat-value {\r\n            color: var(--rpv-secondary-color);\r\n        }\r\n\r\n        .rpv-awards .rpv-stat-value {\r\n            color: #FFD700;\r\n        }\r\n\r\n        .rpv-ratio .rpv-stat-value {\r\n            color: var(--rpv-success-color);\r\n        }\r\n\r\n        .rpv-loading {\r\n            text-align: center;\r\n            padding: 50px;\r\n            color: var(--rpv-text-primary);\r\n            font-size: 1.2rem;\r\n            display: none;\r\n        }\r\n\r\n        .rpv-spinner {\r\n            border: 4px solid var(--rpv-bg-tertiary);\r\n            border-top: 4px solid var(--rpv-reddit-orange);\r\n            border-radius: 50%;\r\n            width: 50px;\r\n            height: 50px;\r\n            animation: rpv-spin 1s linear infinite;\r\n            margin: 20px auto;\r\n        }\r\n\r\n        .rpv-error-message {\r\n            background: rgba(231, 76, 60, 0.1);\r\n            border: 1px solid rgba(231, 76, 60, 0.2);\r\n            color: var(--rpv-danger-color);\r\n            padding: 20px;\r\n            border-radius: 15px;\r\n            text-align: center;\r\n            margin: 20px 0;\r\n            font-weight: 600;\r\n            display: none;\r\n        }\r\n\r\n        .rpv-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.9);\r\n            animation: rpv-fadeIn 0.3s ease;\r\n        }\r\n\r\n        .rpv-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        .rpv-modal img {\r\n            width: 100%;\r\n            height: auto;\r\n            max-width: 90vw;\r\n            max-height: 90vh;\r\n            object-fit: contain;\r\n            border-radius: 16px;\r\n        }\r\n\r\n        .rpv-close {\r\n            position: absolute;\r\n            top: 15px;\r\n            right: 35px;\r\n            color: #f1f1f1;\r\n            font-size: 40px;\r\n            font-weight: bold;\r\n            cursor: pointer;\r\n            z-index: 1001;\r\n        }\r\n\r\n        .rpv-close:hover {\r\n            color: var(--rpv-reddit-orange);\r\n        }\r\n\r\n        .rpv-download-progress {\r\n            position: fixed;\r\n            bottom: 20px;\r\n            right: 20px;\r\n            background: var(--rpv-bg-secondary);\r\n            border: 1px solid rgba(44, 62, 80, 0.1);\r\n            border-radius: 16px;\r\n            padding: 25px;\r\n            min-width: 350px;\r\n            box-shadow: var(--rpv-shadow-xl);\r\n            z-index: 1000;\r\n            display: none;\r\n            color: var(--rpv-text-primary);\r\n        }\r\n\r\n        .rpv-download-progress.rpv-show {\r\n            display: block;\r\n            animation: rpv-slideInRight 0.4s ease-out;\r\n        }\r\n\r\n        .rpv-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        .rpv-progress-text {\r\n            font-weight: 700;\r\n            font-size: 15px;\r\n            color: var(--rpv-text-primary);\r\n        }\r\n\r\n        .rpv-cancel-btn {\r\n            background: rgba(231, 76, 60, 0.1);\r\n            border: 1px solid rgba(231, 76, 60, 0.2);\r\n            color: var(--rpv-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        .rpv-cancel-btn:hover {\r\n            background: rgba(231, 76, 60, 0.15);\r\n        }\r\n\r\n        .rpv-progress-bar-container {\r\n            width: 100%;\r\n            height: 12px;\r\n            background: var(--rpv-progress-bg);\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.1);\r\n        }\r\n\r\n        .rpv-progress-bar-fill {\r\n            height: 100%;\r\n            background: linear-gradient(135deg, var(--rpv-progress-color), var(--rpv-secondary-light));\r\n            border-radius: 6px;\r\n            width: 0%;\r\n            transition: width 0.3s ease;\r\n            box-shadow: 0 2px 4px rgba(0, 212, 170, 0.4);\r\n        }\r\n\r\n        .rpv-progress-details {\r\n            display: flex;\r\n            justify-content: space-between;\r\n            font-size: 13px;\r\n            color: var(--rpv-text-secondary);\r\n            font-weight: 500;\r\n        }\r\n\r\n        .rpv-expand-btn {\r\n            background: linear-gradient(135deg, var(--rpv-primary-color), var(--rpv-primary-light));\r\n            color: white;\r\n            border: none;\r\n            padding: 10px 20px;\r\n            border-radius: 12px;\r\n            cursor: pointer;\r\n            font-size: 0.9rem;\r\n            font-weight: 600;\r\n            margin-top: 15px;\r\n            transition: all 0.3s ease;\r\n            font-family: inherit;\r\n        }\r\n\r\n        .rpv-expand-btn:hover {\r\n            transform: translateY(-2px);\r\n            box-shadow: var(--rpv-shadow-sm);\r\n        }\r\n\r\n        .rpv-gallery-container {\r\n            display: grid;\r\n            grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));\r\n            gap: 12px;\r\n            width: 100%;\r\n            height: 100%;\r\n        }\r\n\r\n        .rpv-gallery-image-wrapper {\r\n            position: relative;\r\n            border-radius: 12px;\r\n            overflow: hidden;\r\n            width: 100%;\r\n            height: 100%;\r\n        }\r\n\r\n        .rpv-gallery-image {\r\n            width: 100%;\r\n            height: 100%;\r\n            object-fit: cover;\r\n            cursor: pointer;\r\n            transition: transform 0.3s ease;\r\n            display: block;\r\n        }\r\n\r\n        .rpv-gallery-image:hover {\r\n            transform: scale(1.02);\r\n        }\r\n\r\n        .rpv-gallery-download-btn {\r\n            position: absolute;\r\n            right: 10px;\r\n            bottom: 10px;\r\n            background: linear-gradient(135deg, var(--rpv-success-color), var(--rpv-success-light));\r\n            color: white;\r\n            border: none;\r\n            border-radius: 8px;\r\n            padding: 8px 14px;\r\n            font-size: 0.95rem;\r\n            font-weight: 600;\r\n            box-shadow: 0 2px 8px rgba(39, 174, 96, 0.18);\r\n            opacity: 0;\r\n            transition: opacity 0.2s;\r\n            cursor: pointer;\r\n            z-index: 2;\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 6px;\r\n        }\r\n\r\n        .rpv-gallery-image-wrapper:hover .rpv-gallery-download-btn {\r\n            opacity: 1;\r\n        }\r\n\r\n        .rpv-custom-play-pause-btn {\r\n            position: absolute;\r\n            left: 50%;\r\n            top: 50%;\r\n            transform: translate(-50%, -50%);\r\n            background: rgba(44, 62, 80, 0.85);\r\n            color: #fff;\r\n            border: none;\r\n            border-radius: 50%;\r\n            width: 54px;\r\n            height: 54px;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            font-size: 2rem;\r\n            z-index: 3;\r\n            cursor: pointer;\r\n            box-shadow: 0 2px 8px rgba(44, 62, 80, 0.18);\r\n            transition: background 0.2s, opacity 0.2s;\r\n            opacity: 0;\r\n        }\r\n\r\n        .rpv-video-container:hover .rpv-custom-play-pause-btn,\r\n        .rpv-video-container.rpv-paused .rpv-custom-play-pause-btn {\r\n            opacity: 0.85;\r\n        }\r\n\r\n        .rpv-custom-play-pause-btn:hover {\r\n            background: rgba(44, 62, 80, 1);\r\n        }\r\n\r\n        @keyframes rpv-redditFloat {\r\n\r\n            0%,\r\n            100% {\r\n                transform: translateY(0px) scale(1);\r\n            }\r\n\r\n            50% {\r\n                transform: translateY(-6px) scale(1.02);\r\n            }\r\n        }\r\n\r\n        @keyframes rpv-fadeInDown {\r\n            from {\r\n                opacity: 0;\r\n                transform: translateY(-20px);\r\n            }\r\n\r\n            to {\r\n                opacity: 1;\r\n                transform: translateY(0);\r\n            }\r\n        }\r\n\r\n        @keyframes rpv-fadeInUp {\r\n            from {\r\n                opacity: 0;\r\n                transform: translateY(20px);\r\n            }\r\n\r\n            to {\r\n                opacity: 1;\r\n                transform: translateY(0);\r\n            }\r\n        }\r\n\r\n        @keyframes rpv-slideInDown {\r\n            from {\r\n                opacity: 0;\r\n                transform: translateY(-30px);\r\n            }\r\n\r\n            to {\r\n                opacity: 1;\r\n                transform: translateY(0);\r\n            }\r\n        }\r\n\r\n        @keyframes rpv-slideInRight {\r\n            from {\r\n                opacity: 0;\r\n                transform: translateX(100%);\r\n            }\r\n\r\n            to {\r\n                opacity: 1;\r\n                transform: translateX(0);\r\n            }\r\n        }\r\n\r\n        @keyframes rpv-slideUp {\r\n            from {\r\n                opacity: 0;\r\n                transform: translateY(30px);\r\n            }\r\n\r\n            to {\r\n                opacity: 1;\r\n                transform: translateY(0);\r\n            }\r\n        }\r\n\r\n        @keyframes rpv-spin {\r\n            0% {\r\n                transform: rotate(0deg);\r\n            }\r\n\r\n            100% {\r\n                transform: rotate(360deg);\r\n            }\r\n        }\r\n\r\n        @keyframes rpv-pulse {\r\n\r\n            0%,\r\n            100% {\r\n                transform: scale(1);\r\n            }\r\n\r\n            50% {\r\n                transform: scale(1.02);\r\n            }\r\n        }\r\n\r\n        @keyframes rpv-fadeIn {\r\n            from {\r\n                opacity: 0;\r\n            }\r\n\r\n            to {\r\n                opacity: 1;\r\n            }\r\n        }\r\n\r\n        \/* --- Responsive Design --- *\/\r\n        @media (max-width: 1200px) {\r\n            .rpv-posts-grid {\r\n                grid-template-columns: 1fr 1fr;\r\n                gap: 24px;\r\n            }\r\n\t\t\t\t\t.rpv-search-form {\r\n\tdisplay: flex;\r\n\tgap: 15px;\r\n\tmargin-bottom: 20px;\r\n\tposition: relative;\r\n\tflex-direction: column;\r\n}\r\n\t\t\t\t\t.rpv-logo {\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n\tgap: 20px;\r\n\tmargin-bottom: 20px;\r\n\tflex-wrap: wrap;\r\n\tflex-direction: column;\r\n}\r\n        }\r\n\r\n        @media (max-width: 992px) {\r\n            .rpv-posts-grid {\r\n                grid-template-columns: 1fr;\r\n                gap: 24px;\r\n            }\r\n\r\n            .rpv-post-card-inner {\r\n                padding: 24px;\r\n            }\r\n\r\n            .rpv-section-title {\r\n                font-size: 1.5rem;\r\n                padding: 16px;\r\n            }\r\n\t\t\t\t\t.rpv-search-form {\r\n\tdisplay: flex;\r\n\tgap: 15px;\r\n\tmargin-bottom: 20px;\r\n\tposition: relative;\r\n\tflex-direction: column;\r\n}\r\n\t\t\t\t\t.rpv-logo {\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n\tgap: 20px;\r\n\tmargin-bottom: 20px;\r\n\tflex-wrap: wrap;\r\n\tflex-direction: column;\r\n}\r\n        }\r\n\r\n        @media (max-width: 768px) {\r\n            .rpv-container {\r\n                padding: 15px;\r\n            }\r\n\r\n            .rpv-search-container,\r\n            .rpv-user-info {\r\n                padding: 20px;\r\n            }\r\n\r\n            .rpv-user-header {\r\n                flex-direction: column;\r\n                align-items: flex-start;\r\n                gap: 15px;\r\n            }\r\n\r\n            .rpv-user-avatar {\r\n                width: 70px;\r\n                height: 70px;\r\n                font-size: 2rem;\r\n            }\r\n\r\n            .rpv-user-details h2 {\r\n                font-size: 1.5rem;\r\n            }\r\n\r\n            .rpv-user-stats {\r\n                grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));\r\n            }\r\n\r\n            .rpv-post-card-inner {\r\n                padding: 20px;\r\n            }\r\n\r\n            .rpv-post-title {\r\n                font-size: 1.3rem;\r\n            }\r\n\r\n            .rpv-stat-value {\r\n                font-size: 1.1rem;\r\n            }\r\n\r\n            .rpv-stat-label {\r\n                font-size: 0.8rem;\r\n            }\r\n\r\n            .rpv-media-container {\r\n                height: 250px;\r\n            }\r\n        }\r\n\r\n        @media (max-width: 600px) {\r\n            .rpv-search-form {\r\n                flex-direction: column;\r\n                gap: 10px;\r\n                margin-bottom: 10px;\r\n            }\r\n\r\n            .rpv-search-input,\r\n            .rpv-search-btn {\r\n                width: 100%;\r\n                font-size: 15px;\r\n            }\r\n\r\n            .rpv-features-bar {\r\n                gap: 10px;\r\n            }\r\n\r\n            .rpv-feature-item {\r\n                padding: 10px 15px;\r\n            }\r\n\r\n            .rpv-post-card-inner {\r\n                padding: 15px;\r\n            }\r\n\r\n            .rpv-post-title {\r\n                font-size: 1.1rem;\r\n            }\r\n\r\n            .rpv-media-controls {\r\n                flex-direction: column;\r\n                align-items: stretch;\r\n                gap: 10px;\r\n            }\r\n\r\n            .rpv-control-btn {\r\n                justify-content: center;\r\n            }\r\n\r\n            .rpv-post-stats {\r\n                grid-template-columns: 1fr 1fr;\r\n                gap: 10px;\r\n            }\r\n\r\n            .rpv-stat-item {\r\n                padding: 10px;\r\n            }\r\n\r\n            .rpv-custom-play-pause-btn {\r\n                width: 44px;\r\n                height: 44px;\r\n                font-size: 1.5rem;\r\n            }\r\n\r\n            .rpv-download-progress {\r\n                min-width: auto;\r\n                width: calc(100% - 40px);\r\n            }\r\n        }\r\n\r\n        \/* Extra small devices *\/\r\n        @media (max-width: 400px) {\r\n            .rpv-logo-icon {\r\n                width: 50px;\r\n                height: 50px;\r\n                font-size: 24px;\r\n            }\r\n\r\n            .rpv-reddit-icon {\r\n                width: 36px;\r\n                height: 36px;\r\n                font-size: 16px;\r\n            }\r\n\r\n            .rpv-logo-text {\r\n                font-size: 1.8rem;\r\n            }\r\n\r\n            .rpv-subtitle {\r\n                font-size: 16px;\r\n            }\r\n\r\n            .rpv-feature-item {\r\n                padding: 8px 12px;\r\n                font-size: 12px;\r\n            }\r\n\r\n            .rpv-feature-icon {\r\n                width: 20px;\r\n                height: 20px;\r\n                font-size: 10px;\r\n            }\r\n\r\n            .rpv-search-container,\r\n            .rpv-user-info {\r\n                padding: 15px;\r\n            }\r\n\r\n            .rpv-user-avatar {\r\n                width: 60px;\r\n                height: 60px;\r\n                font-size: 1.8rem;\r\n            }\r\n\r\n            .rpv-user-details h2 {\r\n                font-size: 1.3rem;\r\n            }\r\n\r\n            .rpv-user-description {\r\n                font-size: 14px;\r\n            }\r\n\r\n            .rpv-stat-number {\r\n                font-size: 1.5rem;\r\n            }\r\n\r\n            .rpv-stat-label {\r\n                font-size: 0.8rem;\r\n            }\r\n\r\n            .rpv-section-title {\r\n                font-size: 1.3rem;\r\n                padding: 15px;\r\n            }\r\n\r\n            .rpv-post-card-inner {\r\n                padding: 12px;\r\n            }\r\n\r\n            .rpv-post-title {\r\n                font-size: 1rem;\r\n                margin-bottom: 12px;\r\n            }\r\n\r\n            .rpv-media-container {\r\n                height: 200px;\r\n            }\r\n\r\n            .rpv-control-btn {\r\n                padding: 10px 15px;\r\n                font-size: 0.8rem;\r\n            }\r\n\r\n            .rpv-stat-item {\r\n                padding: 8px;\r\n            }\r\n\r\n            .rpv-stat-value {\r\n                font-size: 1rem;\r\n            }\r\n\r\n            .rpv-download-progress {\r\n                padding: 15px;\r\n                min-width: auto;\r\n                width: calc(100% - 30px);\r\n            }\r\n        }\r\n\r\n        \/* Very small devices *\/\r\n        @media (max-width: 375px) {\r\n            .rpv-container {\r\n                padding: 10px;\r\n            }\r\n\r\n            .rpv-header {\r\n                padding: 20px 0;\r\n                margin-bottom: 20px;\r\n            }\r\n\r\n            .rpv-logo {\r\n                gap: 15px;\r\n            }\r\n\r\n            .rpv-features-bar {\r\n                gap: 8px;\r\n                margin-bottom: 20px;\r\n            }\r\n\r\n            .rpv-search-container,\r\n            .rpv-user-info {\r\n                padding: 12px;\r\n            }\r\n\r\n            .rpv-user-header {\r\n                gap: 10px;\r\n            }\r\n\r\n            .rpv-user-stats {\r\n                grid-template-columns: 1fr 1fr;\r\n                gap: 10px;\r\n            }\r\n\r\n            .rpv-section-title {\r\n                font-size: 1.2rem;\r\n                padding: 12px;\r\n                margin-bottom: 20px;\r\n            }\r\n\r\n            .rpv-posts-grid {\r\n                gap: 15px;\r\n            }\r\n\r\n            .rpv-post-card-inner {\r\n                padding: 10px;\r\n            }\r\n\r\n            .rpv-post-title {\r\n                font-size: 0.9rem;\r\n                margin-bottom: 10px;\r\n            }\r\n\r\n            .rpv-media-container {\r\n                height: 180px;\r\n            }\r\n\r\n            .rpv-post-stats {\r\n                margin-top: 15px;\r\n                padding-top: 15px;\r\n                gap: 8px;\r\n            }\r\n\r\n            .rpv-stat-item {\r\n                padding: 6px;\r\n            }\r\n\r\n            .rpv-stat-value {\r\n                font-size: 0.9rem;\r\n            }\r\n\r\n            .rpv-stat-label {\r\n                font-size: 0.7rem;\r\n            }\r\n\r\n            .rpv-control-btn {\r\n                padding: 8px 12px;\r\n                font-size: 0.75rem;\r\n            }\r\n\r\n            .rpv-download-progress {\r\n                padding: 12px;\r\n                width: calc(100% - 24px);\r\n            }\r\n\r\n            .rpv-progress-text {\r\n                font-size: 14px;\r\n            }\r\n\r\n            .rpv-cancel-btn {\r\n                padding: 6px 12px;\r\n                font-size: 11px;\r\n            }\r\n        }\r\n    <\/style>\r\n    <style id=\"vvvebjs-styles\"><\/style>\r\n\r\n\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.1242.0\"\r\n    data-gr-ext-installed=\"\" data-new-gr-c-s-loaded=\"14.1223.0\" class=\"\" style=\"\">\r\n    <div class=\"rpv-wrapper\">\r\n        <div class=\"rpv-container\">\r\n            <div class=\"rpv-header\">\r\n                <div class=\"rpv-logo\">\r\n                    <div class=\"rpv-logo-icon\">\ud83d\ude80<\/div>\r\n                    <div class=\"rpv-reddit-icon\">\ud83d\udcf1<\/div>\r\n                    <div class=\"rpv-logo-text\">Reddit Post Viewer<\/div>\r\n                <\/div>\r\n                <div class=\"rpv-subtitle\">Discover and explore Reddit posts from any user with professional insights and\r\n                    premium\r\n                    design<\/div>\r\n                <div class=\"rpv-features-bar\">\r\n                    <div class=\"rpv-feature-item\">\r\n                        <div class=\"rpv-feature-icon\">\u2713<\/div>\r\n                        <span>Premium Design<\/span>\r\n                    <\/div>\r\n                    <div class=\"rpv-feature-item\">\r\n                        <div class=\"rpv-feature-icon\">\u2713<\/div>\r\n                        <span>Audio Support<\/span>\r\n                    <\/div>\r\n                    <div class=\"rpv-feature-item\">\r\n                        <div class=\"rpv-feature-icon\">\u2713<\/div>\r\n                        <span>Auto Downloads<\/span>\r\n                    <\/div>\r\n                    <div class=\"rpv-feature-item\">\r\n                        <div class=\"rpv-feature-icon\">\u2713<\/div>\r\n                        <span>Rich Media<\/span>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <div class=\"rpv-search-container\">\r\n                <form class=\"rpv-search-form\" id=\"rpv-searchForm\">\r\n                    <input type=\"text\" class=\"rpv-search-input\" id=\"rpv-usernameInput\"\r\n                        placeholder=\"Reddit username, u\/username, or profile URL (e.g., spez, u\/spez, https:\/\/www.reddit.com\/user\/spez\/)\"\r\n                        required=\"\">\r\n                    <button type=\"submit\" class=\"rpv-search-btn\" id=\"rpv-searchBtn\">\r\n                        <span id=\"rpv-searchText\">\ud83d\udd0d Explore User<\/span>\r\n                        <div class=\"rpv-spinner\" id=\"rpv-searchSpinner\"\r\n                            style=\"display: none; width: 20px; height: 20px; margin: 0;\"><\/div>\r\n                    <\/button>\r\n                <\/form>\r\n\r\n                <div class=\"rpv-loading\" id=\"rpv-loading\">\r\n                    <div class=\"rpv-spinner\"><\/div>\r\n                    <p>Fetching user data and posts...<\/p>\r\n                <\/div>\r\n\r\n                <div class=\"rpv-error-message\" id=\"rpv-errorMessage\"><\/div>\r\n            <\/div>\r\n\r\n            <div class=\"rpv-user-info\" id=\"rpv-userInfo\">\r\n                <div class=\"rpv-user-header\">\r\n                    <div class=\"rpv-user-avatar\" id=\"rpv-userAvatar\">U<\/div>\r\n                    <div class=\"rpv-user-details\">\r\n                        <h2 id=\"rpv-userName\">Username<\/h2>\r\n                        <p class=\"rpv-user-description\" id=\"rpv-userDescription\">Reddit User Profile<\/p>\r\n                    <\/div>\r\n                <\/div>\r\n                <div class=\"rpv-user-stats\" id=\"rpv-userStats\">\r\n                    <!-- Stats will be populated dynamically -->\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <div class=\"rpv-posts-section\" id=\"rpv-postsSection\">\r\n                <h2 class=\"rpv-section-title\" id=\"rpv-sectionTitle\">Recent Posts<\/h2>\r\n                <div id=\"rpv-postsContainer\" class=\"rpv-posts-grid\"><\/div>\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <!-- Modal for image preview -->\r\n        <div id=\"rpv-imageModal\" class=\"rpv-modal\">\r\n            <span class=\"rpv-close\">\u00d7<\/span>\r\n            <div class=\"rpv-modal-content\">\r\n                <img decoding=\"async\" id=\"rpv-modalImage\" src=\"\/placeholder.svg\" alt=\"Full size image\">\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <!-- Download Progress -->\r\n        <div class=\"rpv-download-progress\" id=\"rpv-downloadProgress\">\r\n            <div class=\"rpv-progress-header\">\r\n                <span class=\"rpv-progress-text\" id=\"rpv-progressText\">Downloading...<\/span>\r\n                <button class=\"rpv-cancel-btn\" id=\"rpv-cancelDownloadBtn\">Cancel<\/button>\r\n            <\/div>\r\n            <div class=\"rpv-progress-bar-container\">\r\n                <div class=\"rpv-progress-bar-fill\" id=\"rpv-progressBarFill\"><\/div>\r\n            <\/div>\r\n            <div class=\"rpv-progress-details\">\r\n                <span id=\"rpv-progressPercent\">0%<\/span>\r\n                <span id=\"rpv-progressSize\">0 MB \/ 0 MB<\/span>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n     <script src=\"https:\/\/tools.xrespond.com\/api\/rate-limit-handler.js\"><\/script>\r\n<script src=\"https:\/\/tools.xrespond.com\/api\/js\/client-ip-detector.js\"><\/script>\r\n \r\n    <script>\r\n        class RedditPostViewer {\r\n            constructor() {\r\n                this.currentUser = null;\r\n                this.posts = [];\r\n                this.downloadController = null;\r\n                this.corsProxies = [\r\n                    'https:\/\/api.allorigins.win\/raw?url=',\r\n                    'https:\/\/corsproxy.io\/?',\r\n                    'https:\/\/api.codetabs.com\/v1\/proxy?quest='\r\n                ];\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('rpv-searchForm');\r\n                const usernameInput = document.getElementById('rpv-usernameInput');\r\n\r\n                searchForm.addEventListener('submit', (e) => {\r\n                    e.preventDefault();\r\n                    const rawInput = usernameInput.value.trim();\r\n                    const username = this.extractRedditUsername(rawInput);\r\n                    if (username) {\r\n                        this.searchUser(username);\r\n                    } else {\r\n                        this.showError('Please enter a valid Reddit username, u\/username, or profile URL (e.g., spez, u\/spez, https:\/\/www.reddit.com\/user\/spez\/)');\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                document.getElementById('rpv-cancelDownloadBtn').addEventListener('click', () => this.cancelDownload());\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(`Searching for user: ${username}`);\r\n                    const posts = await this.fetchUserPosts(username);\r\n\r\n                    if (posts && posts.length > 0) {\r\n                        this.currentUser = username;\r\n                        this.posts = posts;\r\n                        this.displayUserInfo(username, posts);\r\n                        this.displayPosts(posts);\r\n                        this.showPostsSection(true);\r\n                        console.log(`Found ${posts.length} posts for ${username}`);\r\n                    } else {\r\n                        this.showError('The username is not correct or does not exist. Please check and try another one.');\r\n                        this.showPostsSection(false);\r\n                        document.getElementById('rpv-userInfo').style.display = 'none';\r\n                    }\r\n                } catch (error) {\r\n                    console.error('Error fetching posts:', error);\r\n                    if (error && error.message && error.message.toLowerCase().includes('not found')) {\r\n                        this.showError('The username is not correct or does not exist. Please check and try another one.');\r\n                    } else {\r\n                        this.showError('Something went wrong. Please try again later.');\r\n                    }\r\n                    this.showPostsSection(false);\r\n                    document.getElementById('rpv-userInfo').style.display = 'none';\r\n                } finally {\r\n                    this.showLoading(false);\r\n                }\r\n            }\r\n\r\n            async fetchUserPosts(username) {\r\n                const redditUrl = `https:\/\/www.reddit.com\/user\/${username}\/submitted.json?limit=25`;\r\n                \/\/ No-CORS fetch might work on some environments\r\n                const directFetch = async () => {\r\n                    const response = await fetch(redditUrl, { headers: { 'User-Agent': 'RedditPostViewer\/1.0' } });\r\n                    if (!response.ok) throw new Error(`HTTP ${response.status}`);\r\n                    const data = await response.json();\r\n                    return this.parseRedditData(data);\r\n                };\r\n\r\n                const proxyFetch = async (proxy) => {\r\n                    const proxyUrl = proxy + encodeURIComponent(redditUrl);\r\n                    console.log(`Trying proxy: ${proxy.split('?')[0]}`);\r\n                    const response = await fetch(proxyUrl, { headers: { 'User-Agent': 'RedditPostViewer\/1.0' } });\r\n                    if (!response.ok) throw new Error(`Proxy failed: HTTP ${response.status}`);\r\n                    const data = await response.json();\r\n                    return this.parseRedditData(data);\r\n                };\r\n\r\n                const methods = [directFetch, ...this.corsProxies.map(p => () => proxyFetch(p))];\r\n                for (const method of methods) {\r\n                    try {\r\n                        const result = await method();\r\n                        if (result && result.length > 0) return result;\r\n                    } catch (error) {\r\n                        console.log('Fetch method failed, trying next...');\r\n                    }\r\n                }\r\n                throw new Error('not found');\r\n            }\r\n\r\n            parseRedditData(data) {\r\n                if (!data || !data.data || !data.data.children) {\r\n                    throw new Error('Invalid Reddit API response format');\r\n                }\r\n                return data.data.children.map(child => child.data);\r\n            }\r\n\r\n            displayUserInfo(username, posts) {\r\n                const userInfo = document.getElementById('rpv-userInfo');\r\n                const userAvatar = document.getElementById('rpv-userAvatar');\r\n                const userName = document.getElementById('rpv-userName');\r\n                const userDescription = document.getElementById('rpv-userDescription');\r\n                const userStats = document.getElementById('rpv-userStats');\r\n\r\n                userAvatar.textContent = username.charAt(0).toUpperCase();\r\n                userName.textContent = `u\/${username}`;\r\n                userDescription.textContent = `Reddit User \u2022 ${posts.length} recent posts loaded`;\r\n\r\n                const totalUpvotes = posts.reduce((sum, post) => sum + (post.ups || 0), 0);\r\n                const totalComments = posts.reduce((sum, post) => sum + (post.num_comments || 0), 0);\r\n                const totalAwards = posts.reduce((sum, post) => sum + (post.total_awards_received || 0), 0);\r\n                const avgUpvoteRatio = posts.length > 0 ? posts.reduce((sum, post) => sum + (post.upvote_ratio || 0), 0) \/ posts.length : 0;\r\n                const totalCrossposts = posts.reduce((sum, post) => sum + (post.num_crossposts || 0), 0);\r\n\r\n                userStats.innerHTML = `\r\n                    <div class=\"rpv-stat-card\">\r\n                        <div class=\"rpv-stat-number\">${this.formatNumber(totalUpvotes)}<\/div>\r\n                        <div class=\"rpv-stat-label\">Total Upvotes<\/div>\r\n                    <\/div>\r\n                    <div class=\"rpv-stat-card\">\r\n                        <div class=\"rpv-stat-number\">${this.formatNumber(totalComments)}<\/div>\r\n                        <div class=\"rpv-stat-label\">Total Comments<\/div>\r\n                    <\/div>\r\n                    <div class=\"rpv-stat-card\">\r\n                        <div class=\"rpv-stat-number\">${totalAwards}<\/div>\r\n                        <div class=\"rpv-stat-label\">Total Awards<\/div>\r\n                    <\/div>\r\n                    <div class=\"rpv-stat-card\">\r\n                        <div class=\"rpv-stat-number\">${Math.round(avgUpvoteRatio * 100)}%<\/div>\r\n                        <div class=\"rpv-stat-label\">Avg. Upvote Ratio<\/div>\r\n                    <\/div>\r\n                    <div class=\"rpv-stat-card\">\r\n                        <div class=\"rpv-stat-number\">${totalCrossposts}<\/div>\r\n                        <div class=\"rpv-stat-label\">Total Crossposts<\/div>\r\n                    <\/div>\r\n                `;\r\n                userInfo.style.display = 'block';\r\n            }\r\n\r\n            displayPosts(posts) {\r\n                const container = document.getElementById('rpv-postsContainer');\r\n                const sectionTitle = document.getElementById('rpv-sectionTitle');\r\n\r\n                sectionTitle.textContent = `${posts.length} Posts 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.05}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 = 'rpv-post-card';\r\n                card.dataset.postId = post.id;\r\n\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 isGallery = post.is_gallery && post.media_metadata;\r\n\r\n                let mediaContent = '';\r\n                let mediaControls = '';\r\n\r\n                if (isVideo && post.secure_media && post.secure_media.reddit_video) {\r\n                    const videoUrl = post.secure_media.reddit_video.fallback_url;\r\n                    mediaContent = `\r\n                        <div class=\"rpv-media-container\">\r\n                            <div class=\"rpv-video-container rpv-paused\" id=\"rpv-videocontainer-${post.id}\">\r\n                                <video class=\"rpv-video-player\" preload=\"metadata\" id=\"rpv-video-${post.id}\">\r\n                                    <source src=\"${videoUrl}\" type=\"video\/mp4\">\r\n                                <\/video>\r\n                                <button class=\"rpv-custom-play-pause-btn\" id=\"rpv-playpause-${post.id}\">\u25b6<\/button>\r\n                                <div class=\"rpv-video-loading-overlay\" id=\"rpv-video-loading-${post.id}\" style=\"display:none;\">\r\n                                    <div class=\"rpv-video-loading-spinner\"><\/div> Loading...\r\n                                <\/div>\r\n                            <\/div>\r\n                        <\/div>`;\r\n                    mediaControls = `\r\n                        <button class=\"rpv-control-btn rpv-stream-audio-btn\" data-url=\"https:\/\/www.reddit.com${post.permalink}\" data-postid=\"${post.id}\">\ud83d\udd0a Stream with Audio<\/button>\r\n                        <button class=\"rpv-control-btn rpv-download-btn\" data-url=\"https:\/\/www.reddit.com${post.permalink}\" data-filename=\"${this.sanitizeFilename(post.title)}.mp4\" data-postid=\"${post.id}\">\ud83d\udce5 Download Video<\/button>`;\r\n                } else if (isGallery && post.gallery_data && post.gallery_data.items) {\r\n                    const images = post.gallery_data.items.map(item => post.media_metadata[item.media_id]?.s?.u?.replace(\/&\/g, '&')).filter(Boolean);\r\n                    if (images.length > 0) {\r\n                        mediaContent = `\r\n                            <div class=\"rpv-media-container\">\r\n                                <div class=\"rpv-gallery-container\">\r\n                                    ${images.map((imgUrl, idx) => `\r\n                                        <div class='rpv-gallery-image-wrapper'>\r\n                                            <img decoding=\"async\" src=\"${imgUrl}\" alt=\"Gallery image ${idx + 1}\" class=\"rpv-gallery-image\" data-fullurl=\"${imgUrl}\">\r\n                                        <\/div>`).join('')}\r\n                                <\/div>\r\n                            <\/div>`;\r\n                        mediaControls = images.map((imgUrl, idx) => `\r\n                            <button class='rpv-control-btn rpv-download-btn' data-url=\"${imgUrl}\" data-filename=\"${this.sanitizeFilename(post.title)}_${idx + 1}.jpg\">\ud83d\udce5 Download Image ${idx + 1}<\/button>\r\n                        `).join('');\r\n                    }\r\n                } else if (hasImage) {\r\n                    const imageUrl = post.preview.images[0].source.url.replace(\/&\/g, '&');\r\n                    mediaContent = `\r\n                        <div class=\"rpv-media-container\">\r\n                            <img decoding=\"async\" src=\"${imageUrl}\" alt=\"${post.title}\" class=\"rpv-image-preview\" data-fullurl=\"${imageUrl}\">\r\n                        <\/div>`;\r\n                    mediaControls = `<button class=\"rpv-control-btn rpv-download-btn\" data-url=\"${imageUrl}\" data-filename=\"${this.sanitizeFilename(post.title)}.jpg\">\ud83d\udce5 Download Image<\/button>`;\r\n                }\r\n\r\n                const isTitleTruncated = post.title.length > 150; \/\/ Simple check, JS line clamp check is too slow for many cards\r\n\r\n                let textContent = '';\r\n                if (post.selftext && post.selftext.trim()) {\r\n                    const isLongText = post.selftext.length > 400;\r\n                    textContent = `\r\n                        <div class=\"rpv-post-text\" id=\"rpv-text-${post.id}\" style=\"white-space: pre-wrap; word-wrap: break-word;\">\r\n                            ${isLongText ? this.truncateText(post.selftext, 400) : post.selftext}\r\n                        <\/div>\r\n                        ${isLongText ? `<button class=\"rpv-expand-btn\" data-postid=\"${post.id}\">Show More<\/button>` : ''}`;\r\n                }\r\n\r\n                card.innerHTML = `\r\n                    <div class=\"rpv-post-card-inner\">\r\n                        <div class=\"rpv-post-header\">\r\n                            <span class=\"rpv-subreddit-badge\">${post.subreddit_name_prefixed}<\/span>\r\n                            <span class=\"rpv-post-meta\">${this.formatDate(post.created_utc)}<\/span>\r\n                        <\/div>\r\n                        <h2 class=\"rpv-post-title ${isTitleTruncated ? '' : 'rpv-full'}\" id=\"rpv-title-${post.id}\">${post.title}<\/h2>\r\n                        ${isTitleTruncated ? `<button class=\"rpv-show-title-btn\" data-postid=\"${post.id}\" data-state=\"collapsed\">Show More<\/button>` : ''}\r\n                        \r\n                        <div class=\"rpv-post-body-content\">\r\n                            ${textContent}\r\n                            ${mediaContent}\r\n                        <\/div>\r\n                        \r\n                        <div class=\"rpv-post-stats\">\r\n                            <div class=\"rpv-stat-item rpv-upvotes\"><div class=\"rpv-stat-value\">${this.formatNumber(post.ups || 0)}<\/div><div class=\"rpv-stat-label\">Upvotes<\/div><\/div>\r\n                            <div class=\"rpv-stat-item rpv-comments\"><div class=\"rpv-stat-value\">${this.formatNumber(post.num_comments || 0)}<\/div><div class=\"rpv-stat-label\">Comments<\/div><\/div>\r\n                            <div class=\"rpv-stat-item rpv-awards\"><div class=\"rpv-stat-value\">${post.total_awards_received || 0}<\/div><div class=\"rpv-stat-label\">Awards<\/div><\/div>\r\n                            <div class=\"rpv-stat-item rpv-ratio\"><div class=\"rpv-stat-value\">${Math.round((post.upvote_ratio || 0) * 100)}%<\/div><div class=\"rpv-stat-label\">Upvoted<\/div><\/div>\r\n                        <\/div>\r\n                        <div class=\"rpv-media-controls\">${mediaControls}<\/div>\r\n                    <\/div>\r\n                `;\r\n\r\n                \/\/ Add event listeners using delegation on the container later\r\n                setTimeout(() => {\r\n                    const video = card.querySelector(`#rpv-video-${post.id}`);\r\n                    const playBtn = card.querySelector(`#rpv-playpause-${post.id}`);\r\n                    const videoContainer = card.querySelector(`#rpv-videocontainer-${post.id}`);\r\n                    if (video && playBtn && videoContainer) {\r\n                        const togglePlay = () => this.togglePlayPause(post.id);\r\n                        playBtn.addEventListener('click', togglePlay);\r\n                        video.addEventListener('click', togglePlay);\r\n                        video.addEventListener('play', () => {\r\n                            playBtn.innerHTML = '\u2759\u2759';\r\n                            videoContainer.classList.remove('rpv-paused');\r\n                        });\r\n                        video.addEventListener('pause', () => {\r\n                            playBtn.innerHTML = '\u25b6';\r\n                            videoContainer.classList.add('rpv-paused');\r\n                        });\r\n                    }\r\n\r\n                    card.querySelectorAll('.rpv-image-preview, .rpv-gallery-image').forEach(img => {\r\n                        img.addEventListener('click', (e) => this.openImageModal(e.currentTarget.dataset.fullurl));\r\n                    });\r\n\r\n                    card.querySelectorAll('.rpv-control-btn').forEach(btn => {\r\n                        if (btn.classList.contains('rpv-stream-audio-btn')) {\r\n                            btn.addEventListener('click', (e) => this.streamWithAudio(e.currentTarget.dataset.url, e.currentTarget.dataset.postid, e.currentTarget));\r\n                        } else if (btn.classList.contains('rpv-download-btn')) {\r\n                            if (btn.dataset.url.includes('reddit.com')) {\r\n                                btn.addEventListener('click', (e) => this.downloadVideoWithAudio(e.currentTarget.dataset.url, e.currentTarget.dataset.filename, e.currentTarget));\r\n                            } else {\r\n                                btn.addEventListener('click', (e) => this.downloadImage(e.currentTarget.dataset.url, e.currentTarget.dataset.filename, e.currentTarget));\r\n                            }\r\n                        }\r\n                    });\r\n\r\n                    const showTitleBtn = card.querySelector('.rpv-show-title-btn');\r\n                    if (showTitleBtn) {\r\n                        showTitleBtn.addEventListener('click', (e) => this.toggleTitle(e.currentTarget.dataset.postid));\r\n                    }\r\n\r\n                    const expandBtn = card.querySelector('.rpv-expand-btn');\r\n                    if (expandBtn) {\r\n                        const fullText = post.selftext;\r\n                        expandBtn.addEventListener('click', (e) => this.toggleText(e.currentTarget.dataset.postid, fullText, e.currentTarget));\r\n                    }\r\n                }, 0);\r\n\r\n                return card;\r\n            }\r\n\r\n            async streamWithAudio(redditUrl, postId, button) {\r\n                const originalText = button.innerHTML;\r\n                button.disabled = true;\r\n                button.classList.add('loading');\r\n                button.innerHTML = '\u23f3 Loading Audio...';\r\n                const overlay = document.getElementById(`rpv-video-loading-${postId}`);\r\n                if (overlay) overlay.style.display = 'flex';\r\n                try {\r\n                    const response = await fetch('https:\/\/tools.xrespond.com\/api\/reddit\/video\/downloader', {\r\n                        method: 'POST',\r\n                        headers: { 'Content-Type': 'application\/x-www-form-urlencoded' },\r\n                        body: `url=${encodeURIComponent(redditUrl)}`\r\n                    });\r\n                    if (!response.ok) throw new Error('API failed');\r\n                    const data = await response.json();\r\n                    if (data.success && data.data?.data?.links?.[0]?.download_url) {\r\n                        const videoElement = document.getElementById(`rpv-video-${postId}`);\r\n                        if (videoElement) {\r\n                            videoElement.src = data.data.data.links[0].download_url;\r\n                            videoElement.load();\r\n                            videoElement.onloadeddata = () => {\r\n                                if (overlay) overlay.style.display = 'none';\r\n                                videoElement.play(); \/\/ Autoplay after loading audio\r\n                                button.innerHTML = '\ud83d\udd0a Audio Loaded!';\r\n                                setTimeout(() => { button.innerHTML = originalText; button.disabled = false; button.classList.remove('loading'); }, 3000);\r\n                            };\r\n                        }\r\n                    } else { throw new Error('Invalid API response'); }\r\n                } catch (error) {\r\n                    console.error('Error fetching audio video:', error);\r\n                    button.innerHTML = '\u274c Failed';\r\n                    setTimeout(() => { button.innerHTML = originalText; button.disabled = false; button.classList.remove('loading'); }, 3000);\r\n                } finally {\r\n                    if (overlay && overlay.style.display === 'flex') overlay.style.display = 'none';\r\n                }\r\n            }\r\n\r\n            async downloadFile(url, filename, button, type = 'video') {\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                const signal = this.downloadController.signal;\r\n\r\n                try {\r\n                    this.showDownloadProgress(`Preparing ${type}...`, 0);\r\n\r\n                    let downloadUrl = url;\r\n                    \/\/ If it's a reddit video link, get the audio-enabled version first\r\n                    if (type === 'video' && url.includes('reddit.com')) {\r\n                        const apiResponse = await fetch('https:\/\/tools.xrespond.com\/api\/reddit\/video\/downloader', {\r\n                            method: 'POST',\r\n                            headers: { 'Content-Type': 'application\/x-www-form-urlencoded' },\r\n                            body: `url=${encodeURIComponent(url)}`,\r\n                            signal\r\n                        });\r\n                        if (!apiResponse.ok) throw new Error('API fetch failed');\r\n                        const data = await apiResponse.json();\r\n                        if (!data.success || !data.data?.data?.links?.[0]?.download_url) throw new Error('Invalid API response');\r\n                        downloadUrl = data.data.data.links[0].download_url;\r\n                    }\r\n\r\n                    const response = await fetch(downloadUrl, { signal });\r\n                    if (!response.ok) throw new Error(`Download failed: ${response.statusText}`);\r\n\r\n                    const totalSize = parseInt(response.headers.get('content-length') || '0');\r\n                    const reader = response.body.getReader();\r\n                    let receivedSize = 0;\r\n                    const chunks = [];\r\n                    while (true) {\r\n                        const { done, value } = await reader.read();\r\n                        if (done) break;\r\n                        chunks.push(value);\r\n                        receivedSize += value.length;\r\n                        const progress = totalSize ? (receivedSize \/ totalSize) * 100 : 50;\r\n                        this.showDownloadProgress(`Downloading ${type}...`, progress, receivedSize, totalSize);\r\n                    }\r\n\r\n                    this.showDownloadProgress('Processing...', 99, receivedSize, totalSize);\r\n                    const blob = new Blob(chunks);\r\n                    const blobUrl = URL.createObjectURL(blob);\r\n                    const a = document.createElement('a');\r\n                    a.href = blobUrl;\r\n                    a.download = filename;\r\n                    document.body.appendChild(a);\r\n                    a.click();\r\n                    document.body.removeChild(a);\r\n                    URL.revokeObjectURL(blobUrl);\r\n\r\n                    this.showDownloadProgress('Completed!', 100, totalSize, totalSize);\r\n                    setTimeout(() => this.hideDownloadProgress(), 3000);\r\n                } catch (error) {\r\n                    if (error.name === 'AbortError') {\r\n                        this.showDownloadProgress('Download cancelled', 0);\r\n                    } else {\r\n                        console.error('Download error:', error);\r\n                        this.showError(`Could not download ${type}. Please try again.`);\r\n                        this.hideDownloadProgress();\r\n                    }\r\n                    setTimeout(() => this.hideDownloadProgress(), 2000);\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            downloadVideoWithAudio(url, filename, button) {\r\n                this.downloadFile(url, filename, button, 'video');\r\n            }\r\n\r\n            downloadImage(url, filename, button) {\r\n                this.downloadFile(url, filename, button, 'image');\r\n            }\r\n\r\n            showDownloadProgress(text, progress = 0, downloaded = 0, total = 0) {\r\n                const progressDiv = document.getElementById('rpv-downloadProgress');\r\n                document.getElementById('rpv-progressText').textContent = text;\r\n                document.getElementById('rpv-progressBarFill').style.width = `${progress}%`;\r\n                document.getElementById('rpv-progressPercent').textContent = `${Math.round(progress)}%`;\r\n                document.getElementById('rpv-progressSize').textContent = `${this.formatFileSize(downloaded)} \/ ${this.formatFileSize(total)}`;\r\n                progressDiv.classList.add('rpv-show');\r\n            }\r\n\r\n            hideDownloadProgress() {\r\n                document.getElementById('rpv-downloadProgress').classList.remove('rpv-show');\r\n            }\r\n\r\n            cancelDownload() {\r\n                if (this.downloadController) {\r\n                    this.downloadController.abort();\r\n                }\r\n            }\r\n\r\n            toggleText(postId, fullText, button) {\r\n                const textElement = document.getElementById(`rpv-text-${postId}`);\r\n                if (button.textContent === 'Show More') {\r\n                    textElement.textContent = fullText;\r\n                    button.textContent = 'Show Less';\r\n                } else {\r\n                    textElement.textContent = this.truncateText(fullText, 400);\r\n                    button.textContent = 'Show More';\r\n                }\r\n            }\r\n\r\n            toggleTitle(postId) {\r\n                const titleElem = document.getElementById(`rpv-title-${postId}`);\r\n                const btn = titleElem.nextElementSibling;\r\n                if (btn.dataset.state === 'collapsed') {\r\n                    titleElem.classList.add('rpv-full');\r\n                    btn.textContent = 'Show Less';\r\n                    btn.dataset.state = 'expanded';\r\n                } else {\r\n                    titleElem.classList.remove('rpv-full');\r\n                    btn.textContent = 'Show More';\r\n                    btn.dataset.state = 'collapsed';\r\n                }\r\n            }\r\n\r\n            togglePlayPause(postId) {\r\n                const video = document.getElementById(`rpv-video-${postId}`);\r\n                if (!video) return;\r\n                document.querySelectorAll('.rpv-video-player').forEach(v => {\r\n                    if (v !== video && !v.paused) v.pause();\r\n                });\r\n                video.paused ? video.play() : video.pause();\r\n            }\r\n\r\n            setupModal() {\r\n                const modal = document.getElementById('rpv-imageModal');\r\n                const closeBtn = modal.querySelector('.rpv-close');\r\n                closeBtn.onclick = () => modal.style.display = 'none';\r\n                modal.onclick = (event) => {\r\n                    if (event.target === modal) modal.style.display = 'none';\r\n                };\r\n            }\r\n\r\n            openImageModal(imageUrl) {\r\n                const modal = document.getElementById('rpv-imageModal');\r\n                const modalImg = document.getElementById('rpv-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('rpv-searchBtn');\r\n                document.getElementById('rpv-searchText').style.display = show ? 'none' : 'block';\r\n                document.getElementById('rpv-searchSpinner').style.display = show ? 'block' : 'none';\r\n                document.getElementById('rpv-loading').style.display = show ? 'block' : 'none';\r\n                searchBtn.disabled = show;\r\n            }\r\n\r\n            showPostsSection(show) {\r\n                document.getElementById('rpv-postsSection').style.display = show ? 'block' : 'none';\r\n            }\r\n\r\n            showError(message) {\r\n                const errorContainer = document.getElementById('rpv-errorMessage');\r\n                errorContainer.textContent = message;\r\n                errorContainer.style.display = 'block';\r\n            }\r\n\r\n            clearError() {\r\n                document.getElementById('rpv-errorMessage').style.display = 'none';\r\n            }\r\n\r\n            formatNumber(num) {\r\n                return Intl.NumberFormat('en-US', { notation: 'compact', maximumFractionDigits: 1 }).format(num);\r\n            }\r\n\r\n            formatDate(timestamp) {\r\n                return new Date(timestamp * 1000).toLocaleDateString('en-US', { year: 'numeric', month: 'short', day: 'numeric' });\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            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, '_').substring(0, 100);\r\n            }\r\n\r\n            extractRedditUsername(input) {\r\n                if (!input) return null;\r\n                const cleanedInput = input.trim();\r\n                const urlMatch = cleanedInput.match(\/reddit\\.com\\\/(?:u|user)\\\/([A-Za-z0-9_\\-]+)\/i);\r\n                if (urlMatch) return urlMatch[1];\r\n                const uMatch = cleanedInput.match(\/^(?:u\\\/)?([A-Za-z0-9_\\-]+)$\/i);\r\n                if (uMatch) return uMatch[1];\r\n                return null;\r\n            }\r\n        }\r\n\r\n        const redditViewer = new RedditPostViewer();\r\n    <\/script>\r\n<\/body>\r\n\r\n<style>\r\n        :root {\r\n            --rpv-primary: #FF4500;\r\n            --rpv-secondary: #FFD5B5;\r\n            --rpv-dark: #030303;\r\n            --rpv-light: #DAE0E6;\r\n            --rpv-white: #FFFFFF;\r\n            --rpv-gray: #878A8C;\r\n            --rpv-border: #EDEFF1;\r\n        }\r\n        \r\n        \r\n        .rpv-container {\r\n            width: 100%;\r\n            max-width: 1200px;\r\n            margin: 0 auto;\r\n            padding: 0 20px;\r\n        }\r\n        \r\n        \/* Hero Section - Orange Gradient *\/\r\n        .rpv-hero {\r\n            background: linear-gradient(135deg, var(--rpv-primary) 0%, var(--rpv-secondary) 100%);\r\n            color: var(--rpv-white);\r\n            padding: 100px 0;\r\n            position: relative;\r\n            overflow: hidden;\r\n        }\r\n        \r\n        .rpv-hero::before {\r\n            content: \"\";\r\n            position: absolute;\r\n            top: 0;\r\n            left: 0;\r\n            width: 100%;\r\n            height: 100%;\r\n            background: url('data:image\/svg+xml;utf8,<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"100\" height=\"100\" viewBox=\"0 0 100 100\"><rect width=\"100\" height=\"100\" fill=\"white\" fill-opacity=\"0.1\"\/><circle cx=\"50\" cy=\"50\" r=\"30\" fill=\"white\" fill-opacity=\"0.05\"\/><\/svg>');\r\n            opacity: 0.2;\r\n            z-index: 1;\r\n        }\r\n        \r\n        .rpv-hero-content {\r\n            position: relative;\r\n            z-index: 2;\r\n            text-align: center;\r\n        }\r\n        \r\n        .rpv-hero-heading {\r\n            font-size: 3.5rem;\r\n            font-weight: 800;\r\n            margin-bottom: 20px;\r\n            color: var(--rpv-white);\r\n        }\r\n        \r\n        .rpv-hero-subheading {\r\n            font-size: 1.3rem;\r\n            max-width: 700px;\r\n            margin: 0 auto 40px;\r\n            color: var(--rpv-white);\r\n        }\r\n        \r\n        .rpv-hero-ctas {\r\n            display: flex;\r\n            justify-content: center;\r\n            gap: 20px;\r\n            margin-bottom: 50px;\r\n        }\r\n        \r\n        .rpv-hero-cta-primary {\r\n            background: var(--rpv-dark);\r\n            color: var(--rpv-white);\r\n            border: none;\r\n            padding: 15px 30px;\r\n            font-size: 1.1rem;\r\n            font-weight: 700;\r\n            border-radius: 50px;\r\n            cursor: pointer;\r\n            transition: all 0.3s ease;\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 10px;\r\n        }\r\n        \r\n        .rpv-hero-cta-primary:hover {\r\n            background: #000;\r\n            transform: translateY(-3px);\r\n            box-shadow: 0 10px 20px rgba(0, 0, 0, 0.3);\r\n        }\r\n        \r\n        .rpv-hero-cta-secondary {\r\n            background: rgba(255, 255, 255, 0.2);\r\n            color: var(--rpv-white);\r\n            border: 2px solid var(--rpv-white);\r\n            padding: 15px 30px;\r\n            font-size: 1.1rem;\r\n            font-weight: 700;\r\n            border-radius: 50px;\r\n            cursor: pointer;\r\n            transition: all 0.3s ease;\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 10px;\r\n            backdrop-filter: blur(10px);\r\n        }\r\n        \r\n        .rpv-hero-cta-secondary:hover {\r\n            background: rgba(255, 255, 255, 0.3);\r\n            transform: translateY(-3px);\r\n        }\r\n        \r\n        .rpv-hero-visual {\r\n            max-width: 800px;\r\n            margin: 0 auto;\r\n            position: relative;\r\n        }\r\n        \r\n        .rpv-hero-mockup {\r\n            background: var(--rpv-white);\r\n            border-radius: 15px;\r\n            overflow: hidden;\r\n            box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);\r\n        }\r\n        \r\n        .rpv-hero-mockup-header {\r\n            background: var(--rpv-light);\r\n            padding: 15px 20px;\r\n            display: flex;\r\n            align-items: center;\r\n            border-bottom: 1px solid var(--rpv-border);\r\n        }\r\n        \r\n        .rpv-hero-mockup-logo {\r\n            width: 30px;\r\n            height: 30px;\r\n            background: var(--rpv-primary);\r\n            border-radius: 50%;\r\n            margin-right: 10px;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            color: white;\r\n            font-weight: bold;\r\n        }\r\n        \r\n        .rpv-hero-mockup-title {\r\n            font-weight: 700;\r\n            color: var(--rpv-dark);\r\n        }\r\n        \r\n        .rpv-hero-mockup-content {\r\n            padding: 20px;\r\n        }\r\n        \r\n        .rpv-hero-mockup-post {\r\n            background: var(--rpv-white);\r\n            border: 1px solid var(--rpv-border);\r\n            border-radius: 8px;\r\n            padding: 15px;\r\n            margin-bottom: 15px;\r\n        }\r\n        \r\n        .rpv-hero-mockup-post-header {\r\n            display: flex;\r\n            align-items: center;\r\n            margin-bottom: 15px;\r\n        }\r\n        \r\n        .rpv-hero-mockup-avatar {\r\n            width: 40px;\r\n            height: 40px;\r\n            border-radius: 50%;\r\n            background: var(--rpv-gray);\r\n            margin-right: 10px;\r\n        }\r\n        \r\n        .rpv-hero-mockup-username {\r\n            font-weight: 700;\r\n        }\r\n        \r\n        .rpv-hero-mockup-subreddit {\r\n            color: var(--rpv-gray);\r\n            font-size: 0.9rem;\r\n        }\r\n        \r\n        .rpv-hero-mockup-text {\r\n            margin-bottom: 15px;\r\n            color: var(--rpv-dark);\r\n        }\r\n        \r\n        .rpv-hero-mockup-image {\r\n            width: 100%;\r\n            height: 200px;\r\n            background: linear-gradient(45deg, #f0f0f0, #e0e0e0);\r\n            border-radius: 5px;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            color: var(--rpv-gray);\r\n            font-size: 1.5rem;\r\n            margin-bottom: 15px;\r\n        }\r\n        \r\n        .rpv-hero-mockup-actions {\r\n            display: flex;\r\n            gap: 20px;\r\n        }\r\n        \r\n        .rpv-hero-mockup-action {\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 5px;\r\n            color: var(--rpv-gray);\r\n            cursor: pointer;\r\n        }\r\n        \r\n        .rpv-hero-mockup-action:hover {\r\n            color: var(--rpv-primary);\r\n        }\r\n        \r\n        .rpv-hero-mockup-comments {\r\n            margin-top: 15px;\r\n            border-top: 1px solid var(--rpv-border);\r\n            padding-top: 15px;\r\n        }\r\n        \r\n        .rpv-hero-mockup-comment {\r\n            display: flex;\r\n            margin-bottom: 10px;\r\n        }\r\n        \r\n        .rpv-hero-mockup-comment-avatar {\r\n            width: 30px;\r\n            height: 30px;\r\n            border-radius: 50%;\r\n            background: var(--rpv-gray);\r\n            margin-right: 10px;\r\n            flex-shrink: 0;\r\n        }\r\n        \r\n        .rpv-hero-mockup-comment-content {\r\n            background: var(--rpv-light);\r\n            padding: 10px;\r\n            border-radius: 5px;\r\n            flex-grow: 1;\r\n        }\r\n        \r\n        \/* How It Works Section - Light Gray *\/\r\n        .rpv-how {\r\n            padding: 80px 0;\r\n            background: #f5f5f5;\r\n        }\r\n        \r\n        .rpv-how-heading {\r\n            text-align: center;\r\n            font-size: 2.5rem;\r\n            margin-bottom: 20px;\r\n            color: var(--rpv-dark);\r\n        }\r\n        \r\n        .rpv-how-desc {\r\n            text-align: center;\r\n            max-width: 700px;\r\n            margin: 0 auto 60px;\r\n            color: var(--rpv-gray);\r\n            font-size: 1.1rem;\r\n        }\r\n        \r\n        .rpv-how-steps {\r\n            display: flex;\r\n            justify-content: space-between;\r\n            flex-wrap: wrap;\r\n        }\r\n        \r\n        .rpv-how-step {\r\n            flex: 1;\r\n            min-width: 280px;\r\n            margin: 0 15px 30px;\r\n            text-align: center;\r\n            padding: 30px 20px;\r\n            border-radius: 15px;\r\n            background: var(--rpv-white);\r\n            box-shadow: 0 5px 15px rgba(0,0,0,0.05);\r\n            transition: transform 0.3s ease, box-shadow 0.3s ease;\r\n        }\r\n        \r\n        .rpv-how-step:hover {\r\n            transform: translateY(-10px);\r\n            box-shadow: 0 15px 30px rgba(0,0,0,0.1);\r\n        }\r\n        \r\n        .rpv-how-step-icon {\r\n            width: 80px;\r\n            height: 80px;\r\n            background: linear-gradient(135deg, var(--rpv-primary), #ff6b35);\r\n            border-radius: 50%;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            margin: 0 auto 20px;\r\n            font-size: 2rem;\r\n            color: white;\r\n        }\r\n        \r\n        .rpv-how-step-title {\r\n            font-size: 1.5rem;\r\n            margin-bottom: 15px;\r\n            color: var(--rpv-dark);\r\n        }\r\n        \r\n        .rpv-how-step-desc {\r\n            color: var(--rpv-gray);\r\n        }\r\n        \r\n        \/* Features Section - Very Light Gray *\/\r\n        .rpv-features {\r\n            padding: 80px 0;\r\n            background: #fafafa;\r\n        }\r\n        \r\n        .rpv-features-heading {\r\n            text-align: center;\r\n            font-size: 2.5rem;\r\n            margin-bottom: 20px;\r\n            color: var(--rpv-dark);\r\n        }\r\n        \r\n        .rpv-features-desc {\r\n            text-align: center;\r\n            max-width: 700px;\r\n            margin: 0 auto 60px;\r\n            color: var(--rpv-gray);\r\n            font-size: 1.1rem;\r\n        }\r\n        \r\n        .rpv-features-grid {\r\n            display: grid;\r\n            grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));\r\n            gap: 30px;\r\n        }\r\n        \r\n        .rpv-feature {\r\n            background: var(--rpv-white);\r\n            border-radius: 15px;\r\n            padding: 30px;\r\n            box-shadow: 0 5px 15px rgba(0,0,0,0.05);\r\n            transition: transform 0.3s ease;\r\n            height: 100%;\r\n            display: flex;\r\n            flex-direction: column;\r\n            align-items: center;\r\n            text-align: center;\r\n        }\r\n        \r\n        .rpv-feature:hover {\r\n            transform: translateY(-5px);\r\n            box-shadow: 0 15px 30px rgba(0,0,0,0.1);\r\n        }\r\n        \r\n        .rpv-feature-icon {\r\n            width: 70px;\r\n            height: 70px;\r\n            background: linear-gradient(135deg, var(--rpv-primary), #ff6b35);\r\n            border-radius: 15px;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            margin-bottom: 20px;\r\n            font-size: 1.8rem;\r\n            color: white;\r\n        }\r\n        \r\n        .rpv-feature-title {\r\n            font-size: 1.3rem;\r\n            margin-bottom: 15px;\r\n            color: var(--rpv-dark);\r\n        }\r\n        \r\n        .rpv-feature-desc {\r\n            color: var(--rpv-gray);\r\n        }\r\n        \r\n        \/* FAQ Section - White *\/\r\n        .rpv-faq {\r\n            padding: 80px 0;\r\n            background: var(--rpv-white);\r\n        }\r\n        \r\n        .rpv-faq-heading {\r\n            text-align: center;\r\n            font-size: 2.5rem;\r\n            margin-bottom: 20px;\r\n            color: var(--rpv-dark);\r\n        }\r\n        \r\n        .rpv-faq-desc {\r\n            text-align: center;\r\n            max-width: 700px;\r\n            margin: 0 auto 60px;\r\n            color: var(--rpv-gray);\r\n            font-size: 1.1rem;\r\n        }\r\n        \r\n        .rpv-faq-accordion {\r\n            max-width: 800px;\r\n            margin: 0 auto;\r\n        }\r\n        \r\n        .rpv-faq-item {\r\n            border: none;\r\n            margin-bottom: 15px;\r\n            border-radius: 10px;\r\n            overflow: hidden;\r\n            box-shadow: 0 5px 15px rgba(0,0,0,0.05);\r\n        }\r\n        \r\n        .rpv-faq-button {\r\n            background-color: var(--rpv-white);\r\n            color: var(--rpv-dark);\r\n            font-weight: 700;\r\n            font-size: 1.1rem;\r\n            padding: 20px 25px;\r\n            box-shadow: none;\r\n            border: none;\r\n            border-radius: 0;\r\n        }\r\n        \r\n        .rpv-faq-button:not(.collapsed) {\r\n            background-color: var(--rpv-white);\r\n            color: var(--rpv-primary);\r\n            box-shadow: none;\r\n        }\r\n        \r\n        .rpv-faq-button:focus {\r\n            box-shadow: none;\r\n            border: none;\r\n        }\r\n        \r\n        .rpv-faq-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='%23030303'%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        .rpv-faq-button:not(.collapsed)::after {\r\n            background-image: url(\"data:image\/svg+xml,%3csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 16 16' fill='%23FF4500'%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            transform: rotate(180deg);\r\n        }\r\n        \r\n        .rpv-faq-body {\r\n            background-color: var(--rpv-white);\r\n            color: var(--rpv-gray);\r\n            padding: 20px 25px;\r\n            font-size: 1rem;\r\n        }\r\n        \r\n        \/* Responsive *\/\r\n        @media (max-width: 768px) {\r\n            .rpv-hero-heading {\r\n                font-size: 2.5rem;\r\n            }\r\n            \r\n            .rpv-hero-subheading {\r\n                font-size: 1.1rem;\r\n            }\r\n            \r\n            .rpv-hero-ctas {\r\n                flex-direction: column;\r\n                align-items: center;\r\n            }\r\n            \r\n            .rpv-how-steps {\r\n                flex-direction: column;\r\n            }\r\n            \r\n            .rpv-how-step {\r\n                margin: 0 0 30px;\r\n            }\r\n        }\r\n    <\/style>\r\n <!-- Hero Section - Orange Gradient -->\r\n\r\n\r\n    <!-- How It Works Section - Light Gray -->\r\n    <section class=\"rpv-how\">\r\n        <div class=\"rpv-container\">\r\n            <h2 class=\"rpv-how-heading\">How It Works<\/h2>\r\n            <p class=\"rpv-how-desc\">Our simple three-step process lets you view Reddit posts anonymously in seconds<\/p>\r\n            <div class=\"rpv-how-steps\">\r\n                <div class=\"rpv-how-step\">\r\n                    <div class=\"rpv-how-step-icon\">\r\n                        <i class=\"fas fa-link\"><\/i>\r\n                    <\/div>\r\n                    <h3 class=\"rpv-how-step-title\">Paste Reddit Post Link<\/h3>\r\n                    <p class=\"rpv-how-step-desc\">Simple, clean input bar to enter any Reddit post URL<\/p>\r\n                <\/div>\r\n                <div class=\"rpv-how-step\">\r\n                    <div class=\"rpv-how-step-icon\">\r\n                        <i class=\"fas fa-eye\"><\/i>\r\n                    <\/div>\r\n                    <h3 class=\"rpv-how-step-title\">Preview Post & Content<\/h3>\r\n                    <p class=\"rpv-how-step-desc\">Instantly view text, images, or videos in a clean interface<\/p>\r\n                <\/div>\r\n                <div class=\"rpv-how-step\">\r\n                    <div class=\"rpv-how-step-icon\">\r\n                        <i class=\"fas fa-save\"><\/i>\r\n                    <\/div>\r\n                    <h3 class=\"rpv-how-step-title\">View Comments or Save Post<\/h3>\r\n                    <p class=\"rpv-how-step-desc\">Easy interaction options to read comments or save for later<\/p>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/section>\r\n\r\n    <!-- Features Section - Very Light Gray -->\r\n    <section class=\"rpv-features\">\r\n        <div class=\"rpv-container\">\r\n            <h2 class=\"rpv-features-heading\">What Can You Do With Our Reddit Post Viewer?<\/h2>\r\n            <p class=\"rpv-features-desc\">Discover the powerful features that make our Reddit Post Viewer the best choice<\/p>\r\n            <div class=\"rpv-features-grid\">\r\n                <div class=\"rpv-feature\">\r\n                    <div class=\"rpv-feature-icon\">\r\n                        <i class=\"fas fa-user-secret\"><\/i>\r\n                    <\/div>\r\n                    <h3 class=\"rpv-feature-title\">View Full Post Content Anonymously<\/h3>\r\n                    <p class=\"rpv-feature-desc\">Access any Reddit post without creating an account or logging in<\/p>\r\n                <\/div>\r\n                <div class=\"rpv-feature\">\r\n                    <div class=\"rpv-feature-icon\">\r\n                        <i class=\"fas fa-file-alt\"><\/i>\r\n                    <\/div>\r\n                    <h3 class=\"rpv-feature-title\">Load Text, Image, or Video Posts<\/h3>\r\n                    <p class=\"rpv-feature-desc\">Our viewer supports all types of Reddit content with fast loading<\/p>\r\n                <\/div>\r\n                <div class=\"rpv-feature\">\r\n                    <div class=\"rpv-feature-icon\">\r\n                        <i class=\"fas fa-chart-bar\"><\/i>\r\n                    <\/div>\r\n                    <h3 class=\"rpv-feature-title\">View Post Stats<\/h3>\r\n                    <p class=\"rpv-feature-desc\">See upvotes, comments, and subreddit information at a glance<\/p>\r\n                <\/div>\r\n                <div class=\"rpv-feature\">\r\n                    <div class=\"rpv-feature-icon\">\r\n                        <i class=\"fas fa-moon\"><\/i>\r\n                    <\/div>\r\n                    <h3 class=\"rpv-feature-title\">Night Mode<\/h3>\r\n                    <p class=\"rpv-feature-desc\">Reader-friendly UI with dark mode for comfortable viewing<\/p>\r\n                <\/div>\r\n                <div class=\"rpv-feature\">\r\n                    <div class=\"rpv-feature-icon\">\r\n                        <i class=\"fas fa-ban\"><\/i>\r\n                    <\/div>\r\n                    <h3 class=\"rpv-feature-title\">No Account Required<\/h3>\r\n                    <p class=\"rpv-feature-desc\">Browse Reddit without any login or personal information<\/p>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/section>\r\n\r\n    <!-- FAQ Section - White -->\r\n    <section class=\"rpv-faq\">\r\n        <div class=\"rpv-container\">\r\n            <h2 class=\"rpv-faq-heading\">Frequently Asked Questions<\/h2>\r\n            <p class=\"rpv-faq-desc\">Find answers to common questions about our Reddit Post Viewer<\/p>\r\n            \r\n            <div class=\"accordion rpv-faq-accordion\" id=\"redditPostFaqAccordion\">\r\n                <!-- FAQ Item 1 -->\r\n                <div class=\"accordion-item rpv-faq-item\">\r\n                    <h2 class=\"accordion-header rpv-faq-header\" id=\"redditPostFaqHeading1\">\r\n                        <button class=\"accordion-button rpv-faq-button collapsed\" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#redditPostFaqCollapse1\" aria-expanded=\"false\" aria-controls=\"redditPostFaqCollapse1\">\r\n                            Can I use this without a Reddit account?\r\n                        <\/button>\r\n                    <\/h2>\r\n                    <div id=\"redditPostFaqCollapse1\" class=\"accordion-collapse collapse\" aria-labelledby=\"redditPostFaqHeading1\" data-bs-parent=\"#redditPostFaqAccordion\">\r\n                        <div class=\"accordion-body rpv-faq-body\">\r\n                            Yes, absolutely! Our Reddit Post Viewer requires no account creation or login. You can view any public Reddit post anonymously without providing any personal information.\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n                \r\n                <!-- FAQ Item 2 -->\r\n                <div class=\"accordion-item rpv-faq-item\">\r\n                    <h2 class=\"accordion-header rpv-faq-header\" id=\"redditPostFaqHeading2\">\r\n                        <button class=\"accordion-button rpv-faq-button collapsed\" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#redditPostFaqCollapse2\" aria-expanded=\"false\" aria-controls=\"redditPostFaqCollapse2\">\r\n                            Does it work with private posts?\r\n                        <\/button>\r\n                    <\/h2>\r\n                    <div id=\"redditPostFaqCollapse2\" class=\"accordion-collapse collapse\" aria-labelledby=\"redditPostFaqHeading2\" data-bs-parent=\"#redditPostFaqAccordion\">\r\n                        <div class=\"accordion-body rpv-faq-body\">\r\n                            No, our viewer only works with public Reddit posts. Private posts, restricted subreddits, or content requiring membership cannot be accessed through our tool, as this would require authentication.\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n                \r\n                <!-- FAQ Item 3 -->\r\n                <div class=\"accordion-item rpv-faq-item\">\r\n                    <h2 class=\"accordion-header rpv-faq-header\" id=\"redditPostFaqHeading3\">\r\n                        <button class=\"accordion-button rpv-faq-button collapsed\" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#redditPostFaqCollapse3\" aria-expanded=\"false\" aria-controls=\"redditPostFaqCollapse3\">\r\n                            Is Reddit post viewing legal?\r\n                        <\/button>\r\n                    <\/h2>\r\n                    <div id=\"redditPostFaqCollapse3\" class=\"accordion-collapse collapse\" aria-labelledby=\"redditPostFaqHeading3\" data-bs-parent=\"#redditPostFaqAccordion\">\r\n                        <div class=\"accordion-body rpv-faq-body\">\r\n                            Yes, viewing public Reddit posts is completely legal. Our tool simply provides a clean interface to access content that is already publicly available on Reddit. We respect Reddit's terms of service and content policies.\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n                \r\n                <!-- FAQ Item 4 -->\r\n                <div class=\"accordion-item rpv-faq-item\">\r\n                    <h2 class=\"accordion-header rpv-faq-header\" id=\"redditPostFaqHeading4\">\r\n                        <button class=\"accordion-button rpv-faq-button collapsed\" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#redditPostFaqCollapse4\" aria-expanded=\"false\" aria-controls=\"redditPostFaqCollapse4\">\r\n                            Are my views tracked?\r\n                        <\/button>\r\n                    <\/h2>\r\n                    <div id=\"redditPostFaqCollapse4\" class=\"accordion-collapse collapse\" aria-labelledby=\"redditPostFaqHeading4\" data-bs-parent=\"#redditPostFaqAccordion\">\r\n                        <div class=\"accordion-body rpv-faq-body\">\r\n                            No, we do not track your viewing activity. Our tool is designed for privacy and anonymity. We don't store your browsing history, IP addresses, or any personal information. Your use of our viewer is completely confidential.\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/section><\/p>\n","protected":false},"author":3,"featured_media":0,"parent":162,"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-297","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/viewri.com\/wp-json\/wp\/v2\/pages\/297","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/viewri.com\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/viewri.com\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/viewri.com\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/viewri.com\/wp-json\/wp\/v2\/comments?post=297"}],"version-history":[{"count":4,"href":"https:\/\/viewri.com\/wp-json\/wp\/v2\/pages\/297\/revisions"}],"predecessor-version":[{"id":1259,"href":"https:\/\/viewri.com\/wp-json\/wp\/v2\/pages\/297\/revisions\/1259"}],"up":[{"embeddable":true,"href":"https:\/\/viewri.com\/wp-json\/wp\/v2\/pages\/162"}],"wp:attachment":[{"href":"https:\/\/viewri.com\/wp-json\/wp\/v2\/media?parent=297"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}