{"id":591,"date":"2025-10-16T03:59:41","date_gmt":"2025-10-16T03:59:41","guid":{"rendered":"https:\/\/viewri.com\/?page_id=591"},"modified":"2025-12-29T07:00:25","modified_gmt":"2025-12-29T07:00:25","slug":"reddit-page","status":"publish","type":"page","link":"https:\/\/viewri.com\/reddit\/reddit-page\/","title":{"rendered":"Reddit Page 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=Poppins:wght@300;400;500;600;700;800;900&display=swap');\r\n\r\n    .reddit-explorer-wrapper * {\r\n        margin: 0;\r\n        padding: 0;\r\n        box-sizing: border-box;\r\n    }\r\n\r\n    .reddit-explorer-wrapper {\r\n        font-family: 'Poppins', sans-serif;\r\n        background: linear-gradient(135deg, #0f3443 0%, #34e89e 100%);\r\n        min-height: 100vh;\r\n        line-height: 1.6;\r\n        color: #e2e8f0;\r\n        overflow-x: hidden;\r\n        position: relative;\r\n    }\r\n\r\n    .reddit-explorer-wrapper::before {\r\n        content: '';\r\n        position: absolute;\r\n        top: 0;\r\n        left: 0;\r\n        right: 0;\r\n        bottom: 0;\r\n        background-image: \r\n            radial-gradient(circle at 20% 30%, rgba(52, 232, 158, 0.12) 0%, transparent 25%),\r\n            radial-gradient(circle at 80% 70%, rgba(33, 150, 243, 0.12) 0%, transparent 25%),\r\n            radial-gradient(circle at 50% 50%, rgba(52, 232, 158, 0.08) 0%, transparent 40%);\r\n        z-index: 0;\r\n    }\r\n\r\n    :root {\r\n        --primary-color: #34e89e;\r\n        --primary-light: #5ef5b9;\r\n        --primary-dark: #1dd086;\r\n        --secondary-color: #0f3443;\r\n        --secondary-light: #1a4a5c;\r\n        --secondary-dark: #0a2833;\r\n        --accent-color: #2196F3;\r\n        --accent-light: #42a5f5;\r\n        --accent-dark: #1e88e5;\r\n        --success-color: #4caf50;\r\n        --success-light: #81c784;\r\n        --danger-color: #f44336;\r\n        --danger-light: #ef5350;\r\n        --warning-color: #ff9800;\r\n        --warning-light: #ffb74d;\r\n        --bg-primary: #0a2833;\r\n        --bg-secondary: #0f3443;\r\n        --bg-tertiary: #1a4a5c;\r\n        --bg-card: #0f3443;\r\n        --glass-bg: rgba(15, 52, 67, 0.7);\r\n        --glass-border: rgba(52, 232, 158, 0.3);\r\n        --text-primary: #f1f5f9;\r\n        --text-secondary: #b3e5fc;\r\n        --text-muted: #81d4fa;\r\n        --text-accent: #5ef5b9;\r\n        --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.2);\r\n        --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.3);\r\n        --shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.4);\r\n        --shadow-xl: 0 16px 48px rgba(0, 0, 0, 0.5);\r\n        --gradient-primary: linear-gradient(135deg, #34e89e, #2196F3);\r\n        --gradient-secondary: linear-gradient(135deg, #2196F3, #34e89e);\r\n        --gradient-accent: linear-gradient(135deg, #4caf50, #2196F3);\r\n    }\r\n\r\n    .reddit-explorer-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    .reddit-explorer-header {\r\n        text-align: center;\r\n        margin-bottom: 40px;\r\n        padding: 40px 0;\r\n        animation: slideInDown 1s ease-out;\r\n    }\r\n\r\n    .reddit-explorer-logo {\r\n        display: flex;\r\n        align-items: center;\r\n        justify-content: center;\r\n        gap: 20px;\r\n        margin-bottom: 25px;\r\n        flex-wrap: wrap;\r\n    }\r\n\r\n    .reddit-explorer-logo-icon {\r\n        width: 80px;\r\n        height: 80px;\r\n        background: var(--gradient-primary);\r\n        border-radius: 20px;\r\n        display: flex;\r\n        align-items: center;\r\n        justify-content: center;\r\n        color: white;\r\n        font-size: 36px;\r\n        font-weight: 800;\r\n        box-shadow: var(--shadow-lg);\r\n        animation: float 3s ease-in-out infinite;\r\n        position: relative;\r\n        overflow: hidden;\r\n    }\r\n\r\n    .reddit-explorer-logo-icon::before {\r\n        content: '';\r\n        position: absolute;\r\n        top: -50%;\r\n        left: -50%;\r\n        width: 200%;\r\n        height: 200%;\r\n        background: linear-gradient(45deg, transparent, rgba(255, 255, 255, 0.1), transparent);\r\n        transform: rotate(45deg);\r\n        animation: shine 3s infinite;\r\n    }\r\n\r\n    .reddit-explorer-badge {\r\n        background: var(--gradient-secondary);\r\n        color: white;\r\n        padding: 8px 16px;\r\n        border-radius: 25px;\r\n        font-size: 14px;\r\n        font-weight: 700;\r\n        box-shadow: var(--shadow-md);\r\n        animation: pulse 2s infinite;\r\n    }\r\n\r\n    .reddit-explorer-logo-text {\r\n        font-size: clamp(2.5rem, 6vw, 4rem);\r\n        font-weight: 900;\r\n        background: var(--gradient-primary);\r\n        -webkit-background-clip: text;\r\n        -webkit-text-fill-color: transparent;\r\n        background-clip: text;\r\n        letter-spacing: -1px;\r\n        text-shadow: 0 0 30px rgba(52, 232, 158, 0.5);\r\n    }\r\n\r\n    .reddit-explorer-subtitle {\r\n        color: var(--text-secondary);\r\n        font-size: 18px;\r\n        font-weight: 600;\r\n        margin-bottom: 30px;\r\n        max-width: 700px;\r\n        margin-left: auto;\r\n        margin-right: auto;\r\n    }\r\n\r\n    .reddit-explorer-features-grid {\r\n        display: grid;\r\n        grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\r\n        gap: 20px;\r\n        margin-bottom: 40px;\r\n    }\r\n\r\n    .reddit-explorer-feature-card {\r\n        background: var(--glass-bg);\r\n        border: 1px solid var(--glass-border);\r\n        backdrop-filter: blur(10px);\r\n        padding: 15px;\r\n        border-radius: 16px;\r\n        text-align: center;\r\n        transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\r\n        position: relative;\r\n        overflow: hidden;\r\n    }\r\n\r\n    .reddit-explorer-feature-card::before {\r\n        content: '';\r\n        position: absolute;\r\n        top: 0;\r\n        left: -100%;\r\n        width: 100%;\r\n        height: 100%;\r\n        background: linear-gradient(90deg, transparent, rgba(52, 232, 158, 0.1), transparent);\r\n        transition: left 0.5s;\r\n    }\r\n\r\n    .reddit-explorer-feature-card:hover::before {\r\n        left: 100%;\r\n    }\r\n\r\n    .reddit-explorer-feature-card:hover {\r\n        transform: translateY(-5px);\r\n        box-shadow: var(--shadow-lg);\r\n        border-color: var(--primary-color);\r\n    }\r\n\r\n    .reddit-explorer-feature-icon {\r\n        width: 40px;\r\n        height: 40px;\r\n        background: var(--gradient-primary);\r\n        border-radius: 50%;\r\n        display: flex;\r\n        align-items: center;\r\n        justify-content: center;\r\n        margin: 0 auto 10px;\r\n        font-size: 20px;\r\n        color: white;\r\n    }\r\n\r\n    .reddit-explorer-feature-title {\r\n        font-weight: 700;\r\n        color: var(--text-primary);\r\n        margin-bottom: 8px;\r\n        font-size: 14px;\r\n    }\r\n\r\n    .reddit-explorer-search-container {\r\n        background: var(--glass-bg);\r\n        border: 1px solid var(--glass-border);\r\n        backdrop-filter: blur(10px);\r\n        padding: 30px;\r\n        border-radius: 24px;\r\n        box-shadow: var(--shadow-xl);\r\n        margin-bottom: 40px;\r\n        animation: slideInUp 1s ease-out 0.2s both;\r\n        position: relative;\r\n        overflow: hidden;\r\n    }\r\n\r\n    .reddit-explorer-search-container::before {\r\n        content: '';\r\n        position: absolute;\r\n        top: 0;\r\n        left: 0;\r\n        right: 0;\r\n        height: 4px;\r\n        background: var(--gradient-primary);\r\n    }\r\n\r\n    .reddit-explorer-search-form {\r\n        display: flex;\r\n        gap: 15px;\r\n        margin-bottom: 20px;\r\n        position: relative;\r\n        flex-direction: row;\r\n    }\r\n\r\n    .reddit-explorer-search-input {\r\n        flex: 1 !important;\r\n        padding: 15px 20px !important;\r\n        border: 2px solid var(--glass-border) !important;\r\n        border-radius: 16px !important;\r\n        font-size: 14px !important;\r\n        font-weight: 500 !important;\r\n        background: var(--bg-tertiary) !important;\r\n        transition: all 0.3s ease !important;\r\n        outline: none !important;\r\n        color: var(--text-primary) !important;\r\n        font-family: inherit !important;\r\n        box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.2);\r\n    }\r\n\r\n    .reddit-explorer-search-input:focus {\r\n        border-color: var(--primary-color) !important;\r\n        box-shadow: 0 0 0 4px rgba(52, 232, 158, 0.15), inset 0 2px 4px rgba(0, 0, 0, 0.2) !important;\r\n        transform: translateY(-2px);\r\n    }\r\n\r\n    .reddit-explorer-search-input::placeholder {\r\n        color: var(--text-muted);\r\n        font-weight: 400;\r\n    }\r\n\r\n    .reddit-explorer-search-btn {\r\n        padding: 15px 30px;\r\n        background: var(--gradient-primary);\r\n        color: white;\r\n        border: none;\r\n        border-radius: 16px;\r\n        font-size: 14px;\r\n        font-weight: 700;\r\n        cursor: pointer;\r\n        transition: all 0.3s ease;\r\n        min-width: 150px;\r\n        position: relative;\r\n        overflow: hidden;\r\n        box-shadow: var(--shadow-md);\r\n        font-family: inherit;\r\n    }\r\n\r\n    .reddit-explorer-search-btn::before {\r\n        content: '';\r\n        position: absolute;\r\n        top: 0;\r\n        left: -100%;\r\n        width: 100%;\r\n        height: 100%;\r\n        background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);\r\n        transition: left 0.5s;\r\n    }\r\n\r\n    .reddit-explorer-search-btn:hover::before {\r\n        left: 100%;\r\n    }\r\n\r\n    .reddit-explorer-search-btn:hover:not(:disabled) {\r\n        transform: translateY(-3px);\r\n        box-shadow: var(--shadow-lg);\r\n    }\r\n\r\n    .reddit-explorer-search-btn:disabled {\r\n        opacity: 0.6;\r\n        cursor: not-allowed;\r\n        transform: none;\r\n    }\r\n\r\n    .reddit-explorer-user-info {\r\n        background: var(--glass-bg);\r\n        border: 1px solid var(--glass-border);\r\n        backdrop-filter: blur(10px);\r\n        padding: 30px;\r\n        border-radius: 24px;\r\n        box-shadow: var(--shadow-xl);\r\n        margin-bottom: 40px;\r\n        display: none;\r\n        animation: slideInDown 0.8s ease-out;\r\n        position: relative;\r\n        overflow: hidden;\r\n    }\r\n\r\n    .reddit-explorer-user-info::before {\r\n        content: '';\r\n        position: absolute;\r\n        top: 0;\r\n        left: 0;\r\n        right: 0;\r\n        height: 4px;\r\n        background: var(--gradient-secondary);\r\n    }\r\n\r\n    .reddit-explorer-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    .reddit-explorer-user-avatar {\r\n        width: 80px;\r\n        height: 80px;\r\n        border-radius: 50%;\r\n        background: var(--gradient-primary);\r\n        display: flex;\r\n        align-items: center;\r\n        justify-content: center;\r\n        font-size: 2.5rem;\r\n        color: white;\r\n        font-weight: 900;\r\n        box-shadow: var(--shadow-lg);\r\n        position: relative;\r\n        overflow: hidden;\r\n    }\r\n\r\n    .reddit-explorer-user-avatar::before {\r\n        content: '';\r\n        position: absolute;\r\n        top: -50%;\r\n        left: -50%;\r\n        width: 200%;\r\n        height: 200%;\r\n        background: linear-gradient(45deg, transparent, rgba(255, 255, 255, 0.1), transparent);\r\n        transform: rotate(45deg);\r\n        animation: shine 4s infinite;\r\n    }\r\n\r\n    .reddit-explorer-user-details h2 {\r\n        font-size: 2rem;\r\n        color: var(--text-primary);\r\n        margin-bottom: 8px;\r\n        font-weight: 900;\r\n    }\r\n\r\n    .reddit-explorer-user-description {\r\n        color: var(--text-secondary);\r\n        font-size: 16px;\r\n        font-weight: 500;\r\n    }\r\n\r\n    .reddit-explorer-user-stats {\r\n        display: grid;\r\n        grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));\r\n        gap: 20px;\r\n        margin-top: 25px;\r\n    }\r\n\r\n    .reddit-explorer-stat-card {\r\n        background: var(--glass-bg);\r\n        border: 1px solid var(--glass-border);\r\n        backdrop-filter: blur(10px);\r\n        padding: 20px;\r\n        border-radius: 20px;\r\n        text-align: center;\r\n        transition: all 0.3s ease;\r\n        position: relative;\r\n        overflow: hidden;\r\n    }\r\n\r\n    .reddit-explorer-stat-card::before {\r\n        content: '';\r\n        position: absolute;\r\n        top: 0;\r\n        left: 0;\r\n        right: 0;\r\n        height: 3px;\r\n        background: var(--gradient-accent);\r\n    }\r\n\r\n    .reddit-explorer-stat-card:hover {\r\n        transform: translateY(-5px);\r\n        box-shadow: var(--shadow-md);\r\n    }\r\n\r\n    .reddit-explorer-stat-number {\r\n        font-size: 1.8rem;\r\n        font-weight: 900;\r\n        color: var(--primary-color);\r\n        margin-bottom: 6px;\r\n    }\r\n\r\n    .reddit-explorer-stat-label {\r\n        font-size: 0.9rem;\r\n        color: var(--text-secondary);\r\n        font-weight: 600;\r\n    }\r\n\r\n    .reddit-explorer-posts-section {\r\n        display: none;\r\n    }\r\n\r\n    .reddit-explorer-section-title {\r\n        color: var(--text-primary);\r\n        font-size: 2rem;\r\n        font-weight: 900;\r\n        margin-bottom: 30px;\r\n        text-align: center;\r\n        background: var(--glass-bg);\r\n        border: 1px solid var(--glass-border);\r\n        backdrop-filter: blur(10px);\r\n        padding: 20px;\r\n        border-radius: 20px;\r\n        position: relative;\r\n        overflow: hidden;\r\n    }\r\n\r\n    .reddit-explorer-section-title::before {\r\n        content: '';\r\n        position: absolute;\r\n        top: 0;\r\n        left: 0;\r\n        right: 0;\r\n        height: 4px;\r\n        background: var(--gradient-accent);\r\n    }\r\n\r\n    .reddit-explorer-posts-grid {\r\n        display: grid;\r\n        grid-template-columns: repeat(auto-fit, minmax(450px, 1fr));\r\n        gap: 25px;\r\n    }\r\n\r\n    .reddit-explorer-post-card {\r\n        background: var(--glass-bg);\r\n        border: 1px solid var(--glass-border);\r\n        backdrop-filter: blur(10px);\r\n        border-radius: 20px;\r\n        padding: 20px;\r\n        box-shadow: var(--shadow-xl);\r\n        transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);\r\n        position: relative;\r\n        overflow: hidden;\r\n        animation: slideUp 0.6s ease forwards;\r\n        display: flex;\r\n        flex-direction: column;\r\n        height: 100%;\r\n    }\r\n\r\n    .reddit-explorer-post-card::before {\r\n        content: '';\r\n        position: absolute;\r\n        top: 0;\r\n        left: 0;\r\n        right: 0;\r\n        height: 4px;\r\n        background: var(--gradient-primary);\r\n        border-radius: 20px 20px 0 0;\r\n    }\r\n\r\n    .reddit-explorer-post-card:hover {\r\n        transform: translateY(-10px);\r\n        box-shadow: 0 20px 40px rgba(0, 0, 0, 0.5);\r\n        border-color: var(--primary-color);\r\n    }\r\n\r\n    .reddit-explorer-post-header {\r\n        display: flex;\r\n        align-items: center;\r\n        justify-content: space-between;\r\n        margin-bottom: 15px;\r\n        padding-bottom: 15px;\r\n        border-bottom: 2px solid var(--bg-tertiary);\r\n    }\r\n\r\n    .reddit-explorer-subreddit-info {\r\n        display: flex;\r\n        align-items: center;\r\n        gap: 10px;\r\n        flex-wrap: wrap;\r\n    }\r\n\r\n    .reddit-explorer-subreddit-badge {\r\n        background: var(--gradient-primary);\r\n        color: white;\r\n        padding: 6px 12px;\r\n        border-radius: 20px;\r\n        font-size: 0.8rem;\r\n        font-weight: 700;\r\n        box-shadow: var(--shadow-sm);\r\n    }\r\n\r\n    .reddit-explorer-post-type {\r\n        background: var(--gradient-secondary);\r\n        color: white;\r\n        padding: 4px 10px;\r\n        border-radius: 15px;\r\n        font-size: 0.7rem;\r\n        font-weight: 600;\r\n        text-transform: capitalize;\r\n    }\r\n\r\n    .reddit-explorer-post-meta {\r\n        font-size: 0.8rem;\r\n        color: var(--text-muted);\r\n        font-weight: 500;\r\n        text-align: right;\r\n    }\r\n\r\n    .reddit-explorer-post-badges {\r\n        display: flex;\r\n        flex-wrap: wrap;\r\n        gap: 8px;\r\n        margin-bottom: 15px;\r\n    }\r\n\r\n    .reddit-explorer-badge {\r\n        padding: 4px 10px;\r\n        border-radius: 12px;\r\n        font-size: 0.7rem;\r\n        font-weight: 600;\r\n        color: white;\r\n        text-transform: uppercase;\r\n        letter-spacing: 0.5px;\r\n    }\r\n\r\n    .reddit-explorer-badge.admin {\r\n        background: var(--gradient-accent);\r\n    }\r\n\r\n    .reddit-explorer-badge.stickied {\r\n        background: var(--gradient-secondary);\r\n    }\r\n\r\n    .reddit-explorer-badge.archived {\r\n        background: linear-gradient(135deg, #64748b, #475569);\r\n    }\r\n\r\n    .reddit-explorer-badge.locked {\r\n        background: var(--gradient-accent);\r\n    }\r\n\r\n    .reddit-explorer-badge.nsfw {\r\n        background: linear-gradient(135deg, #8b5cf6, #7c3aed);\r\n    }\r\n\r\n    .reddit-explorer-post-title {\r\n        font-size: 1.4rem;\r\n        font-weight: 700;\r\n        margin-bottom: 15px;\r\n        color: var(--text-primary);\r\n        line-height: 1.4;\r\n    }\r\n\r\n    .reddit-explorer-post-content {\r\n        margin-bottom: 20px;\r\n        flex-grow: 1;\r\n    }\r\n\r\n    .reddit-explorer-post-text {\r\n        color: var(--text-secondary);\r\n        line-height: 1.6;\r\n        margin-bottom: 15px;\r\n        font-weight: 400;\r\n        font-size: 14px;\r\n    }\r\n\r\n    .reddit-explorer-media-container {\r\n        margin: 15px 0;\r\n        border-radius: 16px;\r\n        overflow: hidden;\r\n        position: relative;\r\n        box-shadow: var(--shadow-md);\r\n        background: #000;\r\n    }\r\n\r\n    .reddit-explorer-image-preview {\r\n        width: 100%;\r\n        max-height: 300px;\r\n        object-fit: cover;\r\n        cursor: pointer;\r\n        transition: transform 0.3s ease;\r\n    }\r\n\r\n    .reddit-explorer-image-preview:hover {\r\n        transform: scale(1.02);\r\n    }\r\n\r\n    .reddit-explorer-video-container {\r\n        position: relative;\r\n        width: 100%;\r\n        background: #000;\r\n        border-radius: 16px;\r\n        overflow: hidden;\r\n    }\r\n\r\n    .reddit-explorer-video-player {\r\n        width: 100%;\r\n        height: 250px;\r\n        border-radius: 16px;\r\n    }\r\n\r\n    .reddit-explorer-media-controls {\r\n        display: flex;\r\n        gap: 10px;\r\n        margin-top: 15px;\r\n        flex-wrap: wrap;\r\n        align-items: center;\r\n    }\r\n\r\n    .reddit-explorer-control-btn {\r\n        display: flex;\r\n        align-items: center;\r\n        gap: 8px;\r\n        padding: 10px 18px;\r\n        border: none;\r\n        border-radius: 12px;\r\n        cursor: pointer;\r\n        font-size: 0.9rem;\r\n        font-weight: 600;\r\n        transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\r\n        font-family: inherit;\r\n        position: relative;\r\n        overflow: hidden;\r\n    }\r\n\r\n    .reddit-explorer-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    .reddit-explorer-control-btn:hover::before {\r\n        left: 100%;\r\n    }\r\n\r\n    .reddit-explorer-stream-audio-btn {\r\n        background: var(--gradient-secondary);\r\n        color: white;\r\n        box-shadow: var(--shadow-md);\r\n    }\r\n\r\n    .reddit-explorer-stream-audio-btn:hover {\r\n        transform: translateY(-3px);\r\n        box-shadow: var(--shadow-lg);\r\n    }\r\n\r\n    .reddit-explorer-stream-audio-btn:disabled {\r\n        opacity: 0.6;\r\n        cursor: not-allowed;\r\n        transform: none;\r\n    }\r\n\r\n    .reddit-explorer-stream-audio-btn.loading {\r\n        background: linear-gradient(135deg, #64748b, #475569);\r\n    }\r\n\r\n    .reddit-explorer-download-btn {\r\n        background: var(--gradient-accent);\r\n        color: white;\r\n        box-shadow: var(--shadow-md);\r\n    }\r\n\r\n    .reddit-explorer-download-btn:hover {\r\n        transform: translateY(-3px);\r\n        box-shadow: var(--shadow-lg);\r\n    }\r\n\r\n    .reddit-explorer-download-btn:disabled {\r\n        opacity: 0.6;\r\n        cursor: not-allowed;\r\n        transform: none;\r\n    }\r\n\r\n    .reddit-explorer-download-btn.downloading {\r\n        background: var(--gradient-primary);\r\n    }\r\n\r\n    .reddit-explorer-external-link {\r\n        display: inline-flex;\r\n        align-items: center;\r\n        gap: 8px;\r\n        background: var(--gradient-primary);\r\n        color: white;\r\n        padding: 10px 18px;\r\n        border-radius: 12px;\r\n        text-decoration: none;\r\n        margin-top: 15px;\r\n        transition: all 0.3s ease;\r\n        font-weight: 600;\r\n        box-shadow: var(--shadow-sm);\r\n        font-size: 0.9rem;\r\n    }\r\n\r\n    .reddit-explorer-external-link:hover {\r\n        transform: translateY(-3px);\r\n        box-shadow: var(--shadow-md);\r\n    }\r\n\r\n    .reddit-explorer-post-stats {\r\n        display: grid;\r\n        grid-template-columns: repeat(2, 1fr);\r\n        gap: 10px;\r\n        margin-top: auto;\r\n        padding-top: 15px;\r\n        border-top: 2px solid var(--bg-tertiary);\r\n    }\r\n\r\n    .reddit-explorer-stat-item {\r\n        display: flex;\r\n        flex-direction: column;\r\n        align-items: center;\r\n        gap: 6px;\r\n        padding: 12px;\r\n        background: var(--glass-bg);\r\n        border: 1px solid var(--glass-border);\r\n        backdrop-filter: blur(10px);\r\n        border-radius: 15px;\r\n        text-align: center;\r\n        transition: all 0.3s ease;\r\n        position: relative;\r\n        overflow: hidden;\r\n    }\r\n\r\n    .reddit-explorer-stat-item::before {\r\n        content: '';\r\n        position: absolute;\r\n        top: 0;\r\n        left: 0;\r\n        right: 0;\r\n        height: 2px;\r\n        background: var(--gradient-accent);\r\n    }\r\n\r\n    .reddit-explorer-stat-item:hover {\r\n        transform: translateY(-3px);\r\n        box-shadow: var(--shadow-sm);\r\n    }\r\n\r\n    .reddit-explorer-stat-value {\r\n        font-weight: 900;\r\n        font-size: 1.2rem;\r\n    }\r\n\r\n    .reddit-explorer-stat-label {\r\n        font-size: 0.8rem;\r\n        color: var(--text-muted);\r\n        font-weight: 600;\r\n        text-transform: capitalize;\r\n    }\r\n\r\n    .reddit-explorer-upvotes .reddit-explorer-stat-value {\r\n        color: var(--primary-color);\r\n    }\r\n\r\n    .reddit-explorer-comments .reddit-explorer-stat-value {\r\n        color: var(--secondary-color);\r\n    }\r\n\r\n    .reddit-explorer-loading {\r\n        text-align: center;\r\n        padding: 40px;\r\n        color: var(--text-primary);\r\n        font-size: 1.1rem;\r\n        display: none;\r\n    }\r\n\r\n    .reddit-explorer-spinner {\r\n        border: 4px solid var(--bg-tertiary);\r\n        border-top: 4px solid var(--primary-color);\r\n        border-radius: 50%;\r\n        width: 50px;\r\n        height: 50px;\r\n        animation: spin 1s linear infinite;\r\n        margin: 20px auto;\r\n    }\r\n\r\n    .reddit-explorer-error-message {\r\n        background: rgba(244, 67, 54, 0.1);\r\n        border: 1px solid rgba(244, 67, 54, 0.2);\r\n        color: var(--danger-color);\r\n        padding: 20px;\r\n        border-radius: 16px;\r\n        text-align: center;\r\n        margin: 20px 0;\r\n        font-weight: 600;\r\n        display: none;\r\n        font-size: 14px;\r\n    }\r\n\r\n    .reddit-explorer-modal {\r\n        display: none;\r\n        position: fixed;\r\n        z-index: 1000;\r\n        left: 0;\r\n        top: 0;\r\n        width: 100%;\r\n        height: 100%;\r\n        background-color: rgba(0, 0, 0, 0.95);\r\n        animation: fadeIn 0.3s ease;\r\n    }\r\n\r\n    .reddit-explorer-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    .reddit-explorer-modal img {\r\n        width: 100%;\r\n        height: auto;\r\n        border-radius: 20px;\r\n    }\r\n\r\n    .reddit-explorer-close {\r\n        position: absolute;\r\n        top: 20px;\r\n        right: 40px;\r\n        color: #f1f1f1;\r\n        font-size: 45px;\r\n        font-weight: bold;\r\n        cursor: pointer;\r\n        z-index: 1001;\r\n    }\r\n\r\n    .reddit-explorer-close:hover {\r\n        color: var(--primary-color);\r\n    }\r\n\r\n    .reddit-explorer-download-progress {\r\n        position: fixed;\r\n        bottom: 25px;\r\n        right: 25px;\r\n        background: var(--glass-bg);\r\n        border: 1px solid var(--glass-border);\r\n        backdrop-filter: blur(10px);\r\n        border-radius: 20px;\r\n        padding: 25px;\r\n        min-width: 350px;\r\n        box-shadow: var(--shadow-xl);\r\n        z-index: 1000;\r\n        display: none;\r\n        color: var(--text-primary);\r\n    }\r\n\r\n    .reddit-explorer-download-progress.show {\r\n        display: block;\r\n        animation: slideInRight 0.4s ease-out;\r\n    }\r\n\r\n    .reddit-explorer-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    .reddit-explorer-progress-text {\r\n        font-weight: 700;\r\n        font-size: 14px;\r\n        color: var(--text-primary);\r\n    }\r\n\r\n    .reddit-explorer-cancel-btn {\r\n        background: rgba(244, 67, 54, 0.1);\r\n        border: 1px solid rgba(244, 67, 54, 0.2);\r\n        color: var(--danger-color);\r\n        padding: 8px 16px;\r\n        border-radius: 8px;\r\n        font-size: 12px;\r\n        cursor: pointer;\r\n        transition: all 0.3s ease;\r\n        font-weight: 600;\r\n    }\r\n\r\n    .reddit-explorer-cancel-btn:hover {\r\n        background: rgba(244, 67, 54, 0.15);\r\n    }\r\n\r\n    .reddit-explorer-progress-bar-container {\r\n        width: 100%;\r\n        height: 12px;\r\n        background: var(--bg-tertiary);\r\n        border-radius: 6px;\r\n        overflow: hidden;\r\n        margin-bottom: 12px;\r\n        box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.2);\r\n    }\r\n\r\n    .reddit-explorer-progress-bar-fill {\r\n        height: 100%;\r\n        background: var(--gradient-primary);\r\n        border-radius: 6px;\r\n        width: 0%;\r\n        transition: width 0.3s ease;\r\n        box-shadow: 0 2px 8px rgba(52, 232, 158, 0.4);\r\n    }\r\n\r\n    .reddit-explorer-progress-details {\r\n        display: flex;\r\n        justify-content: space-between;\r\n        font-size: 12px;\r\n        color: var(--text-secondary);\r\n        font-weight: 500;\r\n    }\r\n\r\n    .reddit-explorer-expand-btn {\r\n        background: var(--gradient-primary);\r\n        color: white;\r\n        border: none;\r\n        padding: 8px 16px;\r\n        border-radius: 12px;\r\n        cursor: pointer;\r\n        font-size: 0.8rem;\r\n        font-weight: 600;\r\n        margin-top: 10px;\r\n        transition: all 0.3s ease;\r\n        font-family: inherit;\r\n    }\r\n\r\n    .reddit-explorer-expand-btn:hover {\r\n        transform: translateY(-2px);\r\n        box-shadow: var(--shadow-sm);\r\n    }\r\n\r\n    .reddit-explorer-video-play-overlay {\r\n        position: absolute;\r\n        top: 50%;\r\n        left: 50%;\r\n        transform: translate(-50%, -50%);\r\n        background: rgba(0, 0, 0, 0.7);\r\n        border: none;\r\n        border-radius: 50%;\r\n        width: 50px;\r\n        height: 50px;\r\n        color: white;\r\n        font-size: 20px;\r\n        cursor: pointer;\r\n        display: flex;\r\n        align-items: center;\r\n        justify-content: center;\r\n        transition: all 0.3s ease;\r\n        z-index: 5;\r\n    }\r\n\r\n    .reddit-explorer-video-play-overlay:hover {\r\n        background: rgba(0, 0, 0, 0.9);\r\n        transform: translate(-50%, -50%) scale(1.1);\r\n    }\r\n\r\n    .reddit-explorer-video-play-overlay.hidden {\r\n        display: none;\r\n    }\r\n\r\n    .reddit-explorer-new-search-btn {\r\n        background: var(--gradient-accent) !important;\r\n        min-width: 130px;\r\n    }\r\n\r\n    @keyframes float {\r\n        0%, 100% {\r\n            transform: translateY(0px) scale(1);\r\n        }\r\n        50% {\r\n            transform: translateY(-10px) scale(1.02);\r\n        }\r\n    }\r\n\r\n    @keyframes shine {\r\n        0% {\r\n            transform: translateX(-100%) translateY(-100%) rotate(45deg);\r\n        }\r\n        100% {\r\n            transform: translateX(100%) translateY(100%) rotate(45deg);\r\n        }\r\n    }\r\n\r\n    @keyframes slideInDown {\r\n        from {\r\n            opacity: 0;\r\n            transform: translateY(-30px);\r\n        }\r\n        to {\r\n            opacity: 1;\r\n            transform: translateY(0);\r\n        }\r\n    }\r\n\r\n    @keyframes slideInUp {\r\n        from {\r\n            opacity: 0;\r\n            transform: translateY(30px);\r\n        }\r\n        to {\r\n            opacity: 1;\r\n            transform: translateY(0);\r\n        }\r\n    }\r\n\r\n    @keyframes slideInRight {\r\n        from {\r\n            opacity: 0;\r\n            transform: translateX(100%);\r\n        }\r\n        to {\r\n            opacity: 1;\r\n            transform: translateX(0);\r\n        }\r\n    }\r\n\r\n    @keyframes slideUp {\r\n        from {\r\n            opacity: 0;\r\n            transform: translateY(40px);\r\n        }\r\n        to {\r\n            opacity: 1;\r\n            transform: translateY(0);\r\n        }\r\n    }\r\n\r\n    @keyframes spin {\r\n        0% {\r\n            transform: rotate(0deg);\r\n        }\r\n        100% {\r\n            transform: rotate(360deg);\r\n        }\r\n    }\r\n\r\n    @keyframes pulse {\r\n        0%, 100% {\r\n            transform: scale(1);\r\n        }\r\n        50% {\r\n            transform: scale(1.05);\r\n        }\r\n    }\r\n\r\n    @keyframes fadeIn {\r\n        from {\r\n            opacity: 0;\r\n        }\r\n        to {\r\n            opacity: 1;\r\n        }\r\n    }\r\n\r\n    .reddit-explorer-video-loading-overlay {\r\n        position: absolute;\r\n        top: 0;\r\n        left: 0;\r\n        right: 0;\r\n        bottom: 0;\r\n        background: rgba(0, 0, 0, 0.8);\r\n        display: flex;\r\n        align-items: center;\r\n        justify-content: center;\r\n        flex-direction: column;\r\n        color: white;\r\n        font-weight: 600;\r\n        z-index: 10;\r\n    }\r\n\r\n    .reddit-explorer-video-loading-spinner {\r\n        width: 30px;\r\n        height: 30px;\r\n        border: 3px solid rgba(255, 255, 255, 0.3);\r\n        border-top: 3px solid white;\r\n        border-radius: 50%;\r\n        animation: spin 1s linear infinite;\r\n        margin-bottom: 10px;\r\n    }\r\n\r\n    \/* Responsive Design *\/\r\n    @media (max-width: 1200px) {\r\n        .reddit-explorer-posts-grid {\r\n            grid-template-columns: 1fr;\r\n        }\r\n\r\n        .reddit-explorer-features-grid {\r\n            grid-template-columns: repeat(2, 1fr);\r\n        }\r\n    }\r\n\r\n    @media (max-width: 992px) {\r\n        .reddit-explorer-logo-text {\r\n            font-size: 2.5rem;\r\n        }\r\n        \r\n        .reddit-explorer-section-title {\r\n            font-size: 1.8rem;\r\n        }\r\n        \r\n        .reddit-explorer-post-title {\r\n            font-size: 1.2rem;\r\n        }\r\n    }\r\n\r\n    @media (max-width: 768px) {\r\n        .reddit-explorer-features-grid {\r\n            grid-template-columns: 1fr;\r\n        }\r\n\r\n        .reddit-explorer-user-stats {\r\n            grid-template-columns: repeat(2, 1fr);\r\n        }\r\n\r\n        .reddit-explorer-post-stats {\r\n            grid-template-columns: repeat(2, 1fr);\r\n            gap: 8px;\r\n        }\r\n\r\n        .reddit-explorer-media-controls {\r\n            flex-direction: column;\r\n        }\r\n\r\n        .reddit-explorer-control-btn {\r\n            width: 100%;\r\n            justify-content: center;\r\n        }\r\n\r\n        .reddit-explorer-search-form {\r\n            flex-direction: column;\r\n        }\r\n        \r\n        .reddit-explorer-logo-text {\r\n            font-size: 2rem;\r\n        }\r\n        \r\n        .reddit-explorer-subtitle {\r\n            font-size: 16px;\r\n        }\r\n        \r\n        .reddit-explorer-section-title {\r\n            font-size: 1.6rem;\r\n        }\r\n        \r\n        .reddit-explorer-post-title {\r\n            font-size: 1.1rem;\r\n        }\r\n    }\r\n\r\n    @media (max-width: 600px) {\r\n        .reddit-explorer-container {\r\n            padding: 15px;\r\n        }\r\n\r\n        .reddit-explorer-search-container,\r\n        .reddit-explorer-user-info,\r\n        .reddit-explorer-post-card {\r\n            padding: 20px;\r\n        }\r\n\r\n        .reddit-explorer-posts-grid {\r\n            grid-template-columns: 1fr;\r\n        }\r\n        \r\n        .reddit-explorer-logo-icon {\r\n            width: 60px;\r\n            height: 60px;\r\n            font-size: 28px;\r\n        }\r\n        \r\n        .reddit-explorer-user-avatar {\r\n            width: 60px;\r\n            height: 60px;\r\n            font-size: 2rem;\r\n        }\r\n        \r\n        .reddit-explorer-logo-text {\r\n            font-size: 1.8rem;\r\n        }\r\n        \r\n        .reddit-explorer-subtitle {\r\n            font-size: 14px;\r\n        }\r\n        \r\n        .reddit-explorer-section-title {\r\n            font-size: 1.4rem;\r\n        }\r\n        \r\n        .reddit-explorer-post-title {\r\n            font-size: 1rem;\r\n        }\r\n    }\r\n\r\n    @media (max-width: 480px) {\r\n        .reddit-explorer-post-stats {\r\n            grid-template-columns: 1fr;\r\n        }\r\n\r\n        .reddit-explorer-user-stats {\r\n            grid-template-columns: 1fr;\r\n        }\r\n\r\n        .reddit-explorer-container {\r\n            padding: 10px;\r\n        }\r\n\r\n        .reddit-explorer-search-container,\r\n        .reddit-explorer-user-info,\r\n        .reddit-explorer-post-card {\r\n            padding: 15px;\r\n        }\r\n        \r\n        .reddit-explorer-logo-icon {\r\n            width: 50px;\r\n            height: 50px;\r\n            font-size: 24px;\r\n        }\r\n        \r\n        .reddit-explorer-user-avatar {\r\n            width: 50px;\r\n            height: 50px;\r\n            font-size: 1.8rem;\r\n        }\r\n        \r\n        .reddit-explorer-logo-text {\r\n            font-size: 1.6rem;\r\n        }\r\n        \r\n        .reddit-explorer-subtitle {\r\n            font-size: 13px;\r\n        }\r\n        \r\n        .reddit-explorer-section-title {\r\n            font-size: 1.2rem;\r\n        }\r\n        \r\n        .reddit-explorer-post-title {\r\n            font-size: 0.9rem;\r\n        }\r\n    }\r\n\r\n    @media (max-width: 400px) {\r\n        .reddit-explorer-container {\r\n            padding: 8px;\r\n        }\r\n\r\n        .reddit-explorer-search-container,\r\n        .reddit-explorer-user-info,\r\n        .reddit-explorer-post-card {\r\n            padding: 12px;\r\n        }\r\n        \r\n        .reddit-explorer-logo-icon {\r\n            width: 45px;\r\n            height: 45px;\r\n            font-size: 22px;\r\n        }\r\n        \r\n        .reddit-explorer-user-avatar {\r\n            width: 45px;\r\n            height: 45px;\r\n            font-size: 1.6rem;\r\n        }\r\n        \r\n        .reddit-explorer-logo-text {\r\n            font-size: 1.4rem;\r\n        }\r\n        \r\n        .reddit-explorer-subtitle {\r\n            font-size: 12px;\r\n        }\r\n        \r\n        .reddit-explorer-section-title {\r\n            font-size: 1.1rem;\r\n        }\r\n        \r\n        .reddit-explorer-post-title {\r\n            font-size: 0.85rem;\r\n        }\r\n    }\r\n\r\n    @media (max-width: 375px) {\r\n        .reddit-explorer-container {\r\n            padding: 5px;\r\n        }\r\n\r\n        .reddit-explorer-search-container,\r\n        .reddit-explorer-user-info,\r\n        .reddit-explorer-post-card {\r\n            padding: 10px;\r\n        }\r\n        \r\n        .reddit-explorer-logo-icon {\r\n            width: 40px;\r\n            height: 40px;\r\n            font-size: 20px;\r\n        }\r\n        \r\n        .reddit-explorer-user-avatar {\r\n            width: 40px;\r\n            height: 40px;\r\n            font-size: 1.4rem;\r\n        }\r\n        \r\n        .reddit-explorer-logo-text {\r\n            font-size: 1.2rem;\r\n        }\r\n        \r\n        .reddit-explorer-subtitle {\r\n            font-size: 11px;\r\n        }\r\n        \r\n        .reddit-explorer-section-title {\r\n            font-size: 1rem;\r\n        }\r\n        \r\n        .reddit-explorer-post-title {\r\n            font-size: 0.8rem;\r\n        }\r\n    }\r\n<\/style>\r\n\r\n<div class=\"reddit-explorer-wrapper\">\r\n    <div class=\"reddit-explorer-container\">\r\n        <div class=\"reddit-explorer-header\">\r\n            <div class=\"reddit-explorer-logo\">\r\n                <div class=\"reddit-explorer-logo-icon\">\ud83d\ude80<\/div>\r\n                <h1 class=\"reddit-explorer-logo-text\">Reddit Page Viewer<\/h1>\r\n            <\/div>\r\n            <div class=\"reddit-explorer-subtitle\">Advanced Reddit user analysis with premium insights and enhanced media capabilities<\/div>\r\n            <div class=\"reddit-explorer-features-grid\">\r\n                <div class=\"reddit-explorer-feature-card\">\r\n                    <div class=\"reddit-explorer-feature-icon\">\ud83c\udfa8<\/div>\r\n                    <div class=\"reddit-explorer-feature-title\">Premium Design<\/div>\r\n                <\/div>\r\n                <div class=\"reddit-explorer-feature-card\">\r\n                    <div class=\"reddit-explorer-feature-icon\">\ud83d\udd0a<\/div>\r\n                    <div class=\"reddit-explorer-feature-title\">Audio Support<\/div>\r\n                <\/div>\r\n                <div class=\"reddit-explorer-feature-card\">\r\n                    <div class=\"reddit-explorer-feature-icon\">\ud83d\udce5<\/div>\r\n                    <div class=\"reddit-explorer-feature-title\">Smart Downloads<\/div>\r\n                <\/div>\r\n                <div class=\"reddit-explorer-feature-card\">\r\n                    <div class=\"reddit-explorer-feature-icon\">\ud83d\udcca<\/div>\r\n                    <div class=\"reddit-explorer-feature-title\">Rich Analytics<\/div>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"reddit-explorer-search-container\">\r\n            <form class=\"reddit-explorer-search-form\" id=\"searchForm\">\r\n                <input type=\"text\" class=\"reddit-explorer-search-input\" id=\"usernameInput\" placeholder=\"Enter Reddit username (e.g., kn0thing, spez, gallowboob)\" required>\r\n                <button type=\"submit\" class=\"reddit-explorer-search-btn\" id=\"searchBtn\">\r\n                    <span id=\"searchText\">\ud83d\udd0d Explore User<\/span>\r\n                    <div class=\"reddit-explorer-spinner\" id=\"searchSpinner\" style=\"display: none; width: 20px; height: 20px; margin: 0;\"><\/div>\r\n                <\/button>\r\n                <button type=\"button\" class=\"reddit-explorer-search-btn reddit-explorer-new-search-btn\" id=\"newSearchBtn\" onclick=\"redditExplorer.newSearch()\">\r\n                    \ud83d\udd04 New Search\r\n                <\/button>\r\n            <\/form>\r\n\r\n            <div class=\"reddit-explorer-loading\" id=\"loading\">\r\n                <div class=\"reddit-explorer-spinner\"><\/div>\r\n                <p>Analyzing user data and posts...<\/p>\r\n            <\/div>\r\n\r\n            <div class=\"reddit-explorer-error-message\" id=\"errorMessage\"><\/div>\r\n        <\/div>\r\n\r\n        <div class=\"reddit-explorer-user-info\" id=\"userInfo\">\r\n            <div class=\"reddit-explorer-user-header\">\r\n                <div class=\"reddit-explorer-user-avatar\" id=\"userAvatar\">U<\/div>\r\n                <div class=\"reddit-explorer-user-details\">\r\n                    <h2 id=\"userName\">Username<\/h2>\r\n                    <p class=\"reddit-explorer-user-description\" id=\"userDescription\">Reddit User Profile<\/p>\r\n                <\/div>\r\n            <\/div>\r\n            <div class=\"reddit-explorer-user-stats\" id=\"userStats\">\r\n                <!-- Stats will be populated dynamically -->\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"reddit-explorer-posts-section\" id=\"postsSection\">\r\n            <h2 class=\"reddit-explorer-section-title\" id=\"sectionTitle\">Recent Posts & Activity<\/h2>\r\n            <div id=\"postsContainer\" class=\"reddit-explorer-posts-grid\"><\/div>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <!-- Modal for image preview -->\r\n    <div id=\"imageModal\" class=\"reddit-explorer-modal\">\r\n        <span class=\"reddit-explorer-close\">\u00d7<\/span>\r\n        <div class=\"reddit-explorer-modal-content\">\r\n            <img decoding=\"async\" id=\"modalImage\" src=\"\/placeholder.svg\" alt=\"Full size image\">\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <!-- Download Progress -->\r\n    <div class=\"reddit-explorer-download-progress\" id=\"downloadProgress\">\r\n        <div class=\"reddit-explorer-progress-header\">\r\n            <span class=\"reddit-explorer-progress-text\" id=\"progressText\">Downloading...<\/span>\r\n            <button class=\"reddit-explorer-cancel-btn\" onclick=\"cancelDownload()\">Cancel<\/button>\r\n        <\/div>\r\n        <div class=\"reddit-explorer-progress-bar-container\">\r\n            <div class=\"reddit-explorer-progress-bar-fill\" id=\"progressBarFill\"><\/div>\r\n        <\/div>\r\n        <div class=\"reddit-explorer-progress-details\">\r\n            <span id=\"progressPercent\">0%<\/span>\r\n            <span id=\"progressSize\">0 MB \/ 0 MB<\/span>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>\r\n\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 RedditUserExplorerPro {\r\n        constructor() {\r\n            this.currentUser = null;\r\n            this.posts = [];\r\n            this.downloadController = null;\r\n            this.apiEndpoint = 'https:\/\/tools.xrespond.com\/api\/reddit\/users';\r\n            this.init();\r\n        }\r\n\r\n        init() {\r\n            this.bindEvents();\r\n            this.setupModal();\r\n        }\r\n\r\n        bindEvents() {\r\n            const searchForm = document.getElementById('searchForm');\r\n            const usernameInput = document.getElementById('usernameInput');\r\n\r\n            searchForm.addEventListener('submit', async (e) => {\r\n                e.preventDefault();\r\n                const username = usernameInput.value.trim();\r\n                if (!username) return;\r\n                try {\r\n                    await this.searchUser(username);\r\n                } catch (err) {\r\n                    this.showError(err && err.message ? err.message : 'Search failed');\r\n                }\r\n            });\r\n\r\n            usernameInput.addEventListener('keypress', (e) => {\r\n                if (e.key === 'Enter') {\r\n                    e.preventDefault();\r\n                    searchForm.dispatchEvent(new Event('submit'));\r\n                }\r\n            });\r\n        }\r\n\r\n        async searchUser(username) {\r\n            this.showLoading(true);\r\n            this.clearError();\r\n\r\n            try {\r\n                console.log(`\ud83d\udd0d Searching for user: ${username}`);\r\n                const userData = await this.fetchUserData(username);\r\n\r\n                if (userData && userData.data && userData.data.body && userData.data.body.length > 0) {\r\n                    this.currentUser = username;\r\n                    this.posts = userData.data.body;\r\n                    this.displayUserInfo(username, userData.data);\r\n                    this.displayPosts(userData.data.body);\r\n                    this.showPostsSection(true);\r\n                    console.log(`\u2705 Success! Found ${userData.data.body.length} posts for ${username}`);\r\n                } else {\r\n                    this.showError(`No posts found for user \"${username}\". The user might not exist, have no posts, or their profile might be private.`);\r\n                    this.showPostsSection(false);\r\n                }\r\n            } catch (error) {\r\n                console.error('\u274c Error details:', error);\r\n                this.showError(`Failed to fetch posts for \"${username}\". Error: ${error.message}`);\r\n                this.showPostsSection(false);\r\n            } finally {\r\n                this.showLoading(false);\r\n            }\r\n        }\r\n\r\n        async fetchUserData(username) {\r\n            try {\r\n                const response = await fetch(this.apiEndpoint, {\r\n                    method: 'POST',\r\n                    headers: {\r\n                        'Content-Type': 'application\/x-www-form-urlencoded',\r\n                    },\r\n                    body: `username=${encodeURIComponent(username)}`\r\n                });\r\n\r\n                if (!response.ok) {\r\n                    throw new Error(`API request failed: ${response.status} ${response.statusText}`);\r\n                }\r\n\r\n                const data = await response.json();\r\n\r\n                if (data.status !== 'success') {\r\n                    throw new Error('API returned unsuccessful status');\r\n                }\r\n\r\n                return data;\r\n            } catch (error) {\r\n                console.error('API Error:', error);\r\n                throw error;\r\n            }\r\n        }\r\n\r\n        displayUserInfo(username, userData) {\r\n            const userInfo = document.getElementById('userInfo');\r\n            const userAvatar = document.getElementById('userAvatar');\r\n            const userName = document.getElementById('userName');\r\n            const userDescription = document.getElementById('userDescription');\r\n            const userStats = document.getElementById('userStats');\r\n\r\n            userAvatar.textContent = username.charAt(0).toUpperCase();\r\n            userName.textContent = `u\/${username}`;\r\n            userDescription.textContent = `Reddit User \u2022 ${userData.body.length} posts analyzed`;\r\n\r\n            \/\/ Calculate comprehensive stats from the posts\r\n            const posts = userData.body.filter(item => item.title); \/\/ Filter actual posts\r\n            const comments = userData.body.filter(item => item.body && !item.title); \/\/ Filter comments\r\n\r\n            const totalUpvotes = userData.body.reduce((sum, item) => sum + (item.ups || 0), 0);\r\n            const totalComments = posts.reduce((sum, post) => sum + (post.num_comments || 0), 0);\r\n            const totalAwards = userData.body.reduce((sum, item) => sum + (item.total_awards_received || 0), 0);\r\n            const avgUpvoteRatio = posts.length > 0 ?\r\n                posts.reduce((sum, post) => sum + (post.upvote_ratio || 0), 0) \/ posts.length : 0;\r\n\r\n            userStats.innerHTML = `\r\n                <div class=\"reddit-explorer-stat-card\">\r\n                    <div class=\"reddit-explorer-stat-number\">${this.formatNumber(totalUpvotes)}<\/div>\r\n                    <div class=\"reddit-explorer-stat-label\">Total Upvotes<\/div>\r\n                <\/div>\r\n                <div class=\"reddit-explorer-stat-card\">\r\n                    <div class=\"reddit-explorer-stat-number\">${posts.length}<\/div>\r\n                    <div class=\"reddit-explorer-stat-label\">Posts Created<\/div>\r\n                <\/div>\r\n                <div class=\"reddit-explorer-stat-card\">\r\n                    <div class=\"reddit-explorer-stat-number\">${comments.length}<\/div>\r\n                    <div class=\"reddit-explorer-stat-label\">Comments Made<\/div>\r\n                <\/div>\r\n                <div class=\"reddit-explorer-stat-card\">\r\n                    <div class=\"reddit-explorer-stat-number\">${totalAwards}<\/div>\r\n                    <div class=\"reddit-explorer-stat-label\">Awards Received<\/div>\r\n                <\/div>\r\n                <div class=\"reddit-explorer-stat-card\">\r\n                    <div class=\"reddit-explorer-stat-number\">${Math.round(avgUpvoteRatio * 100)}%<\/div>\r\n                    <div class=\"reddit-explorer-stat-label\">Avg. Upvote Ratio<\/div>\r\n                <\/div>\r\n            `;\r\n\r\n            userInfo.style.display = 'block';\r\n        }\r\n\r\n        displayPosts(posts) {\r\n            const container = document.getElementById('postsContainer');\r\n            const sectionTitle = document.getElementById('sectionTitle');\r\n\r\n            sectionTitle.textContent = `${posts.length} Posts & Comments from u\/${this.currentUser}`;\r\n            container.innerHTML = '';\r\n\r\n            posts.forEach((post, index) => {\r\n                const postCard = this.createPostCard(post);\r\n                postCard.style.animationDelay = `${index * 0.1}s`;\r\n                container.appendChild(postCard);\r\n            });\r\n        }\r\n\r\n        createPostCard(post) {\r\n            const card = document.createElement('div');\r\n            card.className = 'reddit-explorer-post-card';\r\n\r\n            \/\/ Determine if this is a post or comment\r\n            const isPost = !!post.title;\r\n            const isComment = !!post.body && !post.title;\r\n            const isVideo = post.is_video || (post.secure_media && post.secure_media.reddit_video);\r\n            const hasImage = post.preview && post.preview.images && post.preview.images.length > 0;\r\n            const isExternalLink = isPost && post.url && !post.url.includes('reddit.com') && !isVideo && !hasImage;\r\n\r\n            let mediaContent = '';\r\n            let postType = isComment ? 'Comment' : isPost ? 'Post' : 'Activity';\r\n\r\n            if (isVideo && post.secure_media && post.secure_media.reddit_video) {\r\n                postType = 'Video';\r\n                const video = post.secure_media.reddit_video;\r\n                const videoUrl = video.fallback_url;\r\n                const redditPostUrl = `https:\/\/www.reddit.com${post.permalink}`;\r\n\r\n                mediaContent = `\r\n                    <div class=\"reddit-explorer-media-container\">\r\n                        <div class=\"reddit-explorer-video-container\">\r\n                            <video class=\"reddit-explorer-video-player\" controls preload=\"metadata\" id=\"video-${post.id}\" onclick=\"redditExplorer.toggleVideoPlayPause('${post.id}')\">\r\n                                <source src=\"${videoUrl}\" type=\"video\/mp4\">\r\n                                Your browser does not support the video tag.\r\n                            <\/video>\r\n                            <button class=\"reddit-explorer-video-play-overlay\" id=\"play-overlay-${post.id}\" onclick=\"redditExplorer.toggleVideoPlayPause('${post.id}')\">\u25b6<\/button>\r\n                        <\/div>\r\n                        <div class=\"reddit-explorer-media-controls\">\r\n                            ${video.has_audio ? `\r\n                                <button class=\"reddit-explorer-control-btn reddit-explorer-stream-audio-btn\" onclick=\"redditExplorer.streamWithAudio(event, '${redditPostUrl}', '${post.id}')\">\r\n                                    \ud83d\udd0a Stream with Audio\r\n                                <\/button>\r\n                            ` : ''}\r\n                            <button class=\"reddit-explorer-control-btn reddit-explorer-download-btn\" onclick=\"redditExplorer.downloadVideoWithAudio(event, '${redditPostUrl}', '${this.sanitizeFilename(post.title || 'video')}.mp4', '${post.id}')\">\r\n                                \ud83d\udce5 Download Video\r\n                            <\/button>\r\n                        <\/div>\r\n                    <\/div>\r\n                `;\r\n            } else if (hasImage) {\r\n                postType = 'Image';\r\n                const image = post.preview.images[0];\r\n                const imageUrl = image.source.url.replace(\/&\/g, '&');\r\n                mediaContent = `\r\n                    <div class=\"reddit-explorer-media-container\">\r\n                        <img decoding=\"async\" src=\"${imageUrl}\" alt=\"${post.title || 'Image'}\" class=\"reddit-explorer-image-preview\" onclick=\"redditExplorer.openImageModal('${imageUrl}')\">\r\n                        <div class=\"reddit-explorer-media-controls\">\r\n                            <button class=\"reddit-explorer-control-btn reddit-explorer-download-btn\" onclick=\"redditExplorer.downloadImage(event, '${imageUrl}', '${this.sanitizeFilename(post.title || 'image')}.jpg')\">\r\n                                \ud83d\udce5 Download Image\r\n                            <\/button>\r\n                        <\/div>\r\n                    <\/div>\r\n                `;\r\n            } else if (isExternalLink) {\r\n                postType = 'Link';\r\n            }\r\n\r\n            let externalLinkContent = '';\r\n            if (isExternalLink && post.url) {\r\n                externalLinkContent = `\r\n                    <a href=\"${post.url}\" target=\"_blank\" class=\"reddit-explorer-external-link\">\r\n                        \ud83d\udd17 Visit ${post.domain || 'External Link'}\r\n                    <\/a>\r\n                `;\r\n            }\r\n\r\n            \/\/ Enhanced post badges\r\n            let badges = '';\r\n            if (post.distinguished === 'admin') badges += '<span class=\"reddit-explorer-badge admin\">\ud83d\udc51 Admin<\/span>';\r\n            if (post.distinguished === 'moderator') badges += '<span class=\"reddit-explorer-badge admin\">\ud83d\udee1\ufe0f Mod<\/span>';\r\n            if (post.stickied) badges += '<span class=\"reddit-explorer-badge stickied\">\ud83d\udccc Stickied<\/span>';\r\n            if (post.archived) badges += '<span class=\"reddit-explorer-badge archived\">\ud83d\uddc3\ufe0f Archived<\/span>';\r\n            if (post.locked) badges += '<span class=\"reddit-explorer-badge locked\">\ud83d\udd12 Locked<\/span>';\r\n            if (post.over_18) badges += '<span class=\"reddit-explorer-badge nsfw\">\ud83d\udd1e NSFW<\/span>';\r\n\r\n            \/\/ Content handling for both posts and comments\r\n            let contentText = '';\r\n            if (isComment && post.body) {\r\n                const isLongText = post.body.length > 300;\r\n                const truncatedText = isLongText ? this.truncateText(post.body, 300) : post.body;\r\n                contentText = `\r\n                    <div class=\"reddit-explorer-post-text\" id=\"text-${post.id}\">${truncatedText}<\/div>\r\n                    ${isLongText ? `\r\n                        <button class=\"reddit-explorer-expand-btn\" data-post-id=\"${post.id}\" data-full-text=\"${this.escapeHtml(post.body)}\" onclick=\"redditExplorer.toggleText(this)\">\r\n                            Show More\r\n                        <\/button>\r\n                    ` : ''}\r\n                `;\r\n            } else if (isPost && post.selftext) {\r\n                const isLongText = post.selftext.length > 300;\r\n                const truncatedText = isLongText ? this.truncateText(post.selftext, 300) : post.selftext;\r\n                contentText = `\r\n                    <div class=\"reddit-explorer-post-text\" id=\"text-${post.id}\">${truncatedText}<\/div>\r\n                    ${isLongText ? `\r\n                        <button class=\"reddit-explorer-expand-btn\" data-post-id=\"${post.id}\" data-full-text=\"${this.escapeHtml(post.selftext)}\" onclick=\"redditExplorer.toggleText(this)\">\r\n                            Show More\r\n                        <\/button>\r\n                    ` : ''}\r\n                `;\r\n            }\r\n\r\n            \/\/ Title handling\r\n            const title = post.title || (isComment ? `Comment in: ${post.link_title || 'Discussion'}` : 'Reddit Activity');\r\n\r\n            card.innerHTML = `\r\n                <div class=\"reddit-explorer-post-header\">\r\n                    <div class=\"reddit-explorer-subreddit-info\">\r\n                        <div class=\"reddit-explorer-subreddit-badge\">${post.subreddit_name_prefixed || 'r\/unknown'}<\/div>\r\n                        <div class=\"reddit-explorer-post-type\">${postType}<\/div>\r\n                    <\/div>\r\n                    <div class=\"reddit-explorer-post-meta\">\r\n                        ${this.formatDate(post.created_utc)}\r\n                        ${post.edited ? ` \u2022 Edited` : ''}\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                ${badges ? `<div class=\"reddit-explorer-post-badges\">${badges}<\/div>` : ''}\r\n\r\n                <h2 class=\"reddit-explorer-post-title\">${title}<\/h2>\r\n\r\n                <div class=\"reddit-explorer-post-content\">\r\n                    ${contentText}\r\n                    ${mediaContent}\r\n                    ${externalLinkContent}\r\n                <\/div>\r\n\r\n                <div class=\"reddit-explorer-post-stats\">\r\n                    <div class=\"reddit-explorer-stat-item reddit-explorer-upvotes\">\r\n                        <div class=\"reddit-explorer-stat-value\">${this.formatNumber(post.ups || 0)}<\/div>\r\n                        <div class=\"reddit-explorer-stat-label\">Upvotes<\/div>\r\n                    <\/div>\r\n                    <div class=\"reddit-explorer-stat-item reddit-explorer-comments\">\r\n                        <div class=\"reddit-explorer-stat-value\">${this.formatNumber(post.num_comments || 0)}<\/div>\r\n                        <div class=\"reddit-explorer-stat-label\">Comments<\/div>\r\n                    <\/div>\r\n                <\/div>\r\n            `;\r\n\r\n            return card;\r\n        }\r\n\r\n        toggleText(button) {\r\n            const postId = button.getAttribute('data-post-id');\r\n            const fullText = button.getAttribute('data-full-text');\r\n            const textElement = document.getElementById(`text-${postId}`);\r\n\r\n            if (button.textContent.trim() === 'Show More') {\r\n                textElement.innerHTML = fullText;\r\n                button.textContent = 'Show Less';\r\n            } else {\r\n                textElement.innerHTML = this.truncateText(fullText, 300);\r\n                button.textContent = 'Show More';\r\n            }\r\n        }\r\n\r\n        escapeHtml(text) {\r\n            const div = document.createElement('div');\r\n            div.textContent = text;\r\n            return div.innerHTML;\r\n        }\r\n\r\n        playVideo(postId) {\r\n            const video = document.getElementById(`video-${postId}`);\r\n            const overlay = document.getElementById(`play-overlay-${postId}`);\r\n\r\n            if (video.paused) {\r\n                video.play();\r\n                overlay.innerHTML = '\u23f8\ufe0f';\r\n                overlay.style.display = 'flex';\r\n            } else {\r\n                video.pause();\r\n                overlay.innerHTML = '\u25b6';\r\n                overlay.style.display = 'flex';\r\n            }\r\n\r\n            \/\/ Update overlay when video ends\r\n            video.addEventListener('ended', () => {\r\n                overlay.innerHTML = '\u25b6';\r\n                overlay.style.display = 'flex';\r\n            });\r\n        }\r\n\r\n        toggleVideoPlayPause(postId) {\r\n            const video = document.getElementById(`video-${postId}`);\r\n            const overlay = document.getElementById(`play-overlay-${postId}`);\r\n\r\n            if (video.paused) {\r\n                video.play();\r\n                overlay.innerHTML = '\u23f8\ufe0f';\r\n                overlay.style.display = 'flex';\r\n            } else {\r\n                video.pause();\r\n                overlay.innerHTML = '\u25b6';\r\n                overlay.style.display = 'flex';\r\n            }\r\n        }\r\n\r\n        async streamWithAudio(event, redditUrl, postId) {\r\n            const button = event.target;\r\n            const originalText = button.innerHTML;\r\n            const videoContainer = document.querySelector(`#video-${postId}`).parentElement;\r\n\r\n            \/\/ Show loading overlay\r\n            const loadingOverlay = document.createElement('div');\r\n            loadingOverlay.className = 'reddit-explorer-video-loading-overlay';\r\n            loadingOverlay.innerHTML = `\r\n                <div class=\"reddit-explorer-video-loading-spinner\"><\/div>\r\n                <div>Loading audio-enabled video...<\/div>\r\n            `;\r\n            videoContainer.appendChild(loadingOverlay);\r\n\r\n            button.disabled = true;\r\n            button.classList.add('loading');\r\n            button.innerHTML = '\u23f3 Loading Audio...';\r\n\r\n            try {\r\n                console.log('Fetching audio-enabled video for:', redditUrl);\r\n\r\n                const response = await fetch('https:\/\/tools.xrespond.com\/api\/reddit\/video\/downloader', {\r\n                    method: 'POST',\r\n                    headers: {\r\n                        'Content-Type': 'application\/x-www-form-urlencoded',\r\n                    },\r\n                    body: `url=${encodeURIComponent(redditUrl)}`\r\n                });\r\n\r\n                if (!response.ok) {\r\n                    throw new Error(`API request failed: ${response.status}`);\r\n                }\r\n\r\n                const data = await response.json();\r\n\r\n                if (data.success && data.data && data.data.data && data.data.data.links && data.data.data.links.length > 0) {\r\n                    const downloadUrl = data.data.data.links[0].download_url;\r\n\r\n                    const videoElement = document.getElementById(`video-${postId}`);\r\n                    if (videoElement) {\r\n                        videoElement.src = downloadUrl;\r\n                        videoElement.load();\r\n\r\n                        button.innerHTML = '\ud83d\udd0a Audio Loaded!';\r\n                        button.style.background = 'var(--gradient-accent)';\r\n\r\n                        setTimeout(() => {\r\n                            button.innerHTML = '\ud83d\udd0a Stream with Audio';\r\n                            button.style.background = '';\r\n                            button.disabled = false;\r\n                            button.classList.remove('loading');\r\n                        }, 2000);\r\n                    }\r\n                } else {\r\n                    throw new Error('Invalid API response format');\r\n                }\r\n            } catch (error) {\r\n                console.error('Error fetching audio video:', error);\r\n                button.innerHTML = '\u274c Audio Failed';\r\n                button.style.background = 'var(--gradient-accent)';\r\n\r\n                setTimeout(() => {\r\n                    button.innerHTML = originalText;\r\n                    button.style.background = '';\r\n                    button.disabled = false;\r\n                    button.classList.remove('loading');\r\n                }, 3000);\r\n            } finally {\r\n                \/\/ Remove loading overlay\r\n                if (loadingOverlay && loadingOverlay.parentElement) {\r\n                    loadingOverlay.parentElement.removeChild(loadingOverlay);\r\n                }\r\n            }\r\n        }\r\n\r\n        async downloadVideoWithAudio(event, redditUrl, filename, postId) {\r\n            const button = event.target;\r\n            const originalText = button.innerHTML;\r\n            button.disabled = true;\r\n            button.classList.add('downloading');\r\n            button.innerHTML = '\u23f3 Preparing...';\r\n\r\n            this.downloadController = new AbortController();\r\n\r\n            try {\r\n                this.showDownloadProgress('Fetching audio-enabled video...', 0);\r\n\r\n                const response = await fetch('https:\/\/tools.xrespond.com\/api\/reddit\/video\/downloader', {\r\n                    method: 'POST',\r\n                    headers: {\r\n                        'Content-Type': 'application\/x-www-form-urlencoded',\r\n                    },\r\n                    body: `url=${encodeURIComponent(redditUrl)}`,\r\n                    signal: this.downloadController.signal\r\n                });\r\n\r\n                if (!response.ok) {\r\n                    throw new Error(`API request failed: ${response.status}`);\r\n                }\r\n\r\n                const data = await response.json();\r\n\r\n                if (data.success && data.data && data.data.data && data.data.data.links && data.data.data.links.length > 0) {\r\n                    const downloadUrl = data.data.data.links[0].download_url;\r\n\r\n                    this.showDownloadProgress('Starting video download...', 10);\r\n\r\n                    const videoResponse = await fetch(downloadUrl, {\r\n                        signal: this.downloadController.signal\r\n                    });\r\n\r\n                    if (!videoResponse.ok) {\r\n                        throw new Error(`Download failed: ${videoResponse.status}`);\r\n                    }\r\n\r\n                    const totalSize = parseInt(videoResponse.headers.get('content-length') || '0');\r\n                    const reader = videoResponse.body.getReader();\r\n                    let receivedSize = 0;\r\n                    const chunks = [];\r\n\r\n                    while (true) {\r\n                        const { done, value } = await reader.read();\r\n                        if (done) break;\r\n\r\n                        chunks.push(value);\r\n                        receivedSize += value.length;\r\n\r\n                        const progress = totalSize ? 10 + (receivedSize \/ totalSize) * 80 : 50;\r\n                        this.showDownloadProgress('Downloading video with audio...', progress, receivedSize, totalSize);\r\n                    }\r\n\r\n                    this.showDownloadProgress('Processing download...', 95, receivedSize, totalSize);\r\n\r\n                    const blob = new Blob(chunks, { type: 'video\/mp4' });\r\n                    const downloadBlobUrl = URL.createObjectURL(blob);\r\n\r\n                    const a = document.createElement('a');\r\n                    a.href = downloadBlobUrl;\r\n                    a.download = filename;\r\n                    a.style.display = 'none';\r\n                    document.body.appendChild(a);\r\n                    a.click();\r\n                    document.body.removeChild(a);\r\n\r\n                    setTimeout(() => URL.revokeObjectURL(downloadBlobUrl), 1000);\r\n\r\n                    this.showDownloadProgress('Download completed!', 100, receivedSize, totalSize);\r\n                    setTimeout(() => this.hideDownloadProgress(), 3000);\r\n                } else {\r\n                    throw new Error('Invalid API response format');\r\n                }\r\n            } catch (error) {\r\n                if (error.name === 'AbortError') {\r\n                    this.showDownloadProgress('Download cancelled', 0);\r\n                    setTimeout(() => this.hideDownloadProgress(), 2000);\r\n                } else {\r\n                    console.error('Download error:', error);\r\n                    this.showError(`Download failed: ${error.message}`);\r\n                    this.hideDownloadProgress();\r\n                }\r\n            } finally {\r\n                button.disabled = false;\r\n                button.classList.remove('downloading');\r\n                button.innerHTML = originalText;\r\n                this.downloadController = null;\r\n            }\r\n        }\r\n\r\n        async downloadImage(event, url, filename) {\r\n            const downloadBtn = event.target;\r\n            const originalText = downloadBtn.innerHTML;\r\n            downloadBtn.disabled = true;\r\n            downloadBtn.classList.add('downloading');\r\n            downloadBtn.innerHTML = '\u23f3 Preparing...';\r\n\r\n            this.downloadController = new AbortController();\r\n\r\n            try {\r\n                this.showDownloadProgress(`Starting image download...`, 0);\r\n\r\n                const response = await fetch(url, {\r\n                    signal: this.downloadController.signal\r\n                });\r\n\r\n                if (!response.ok) {\r\n                    throw new Error(`HTTP error! status: ${response.status}`);\r\n                }\r\n\r\n                const totalSize = parseInt(response.headers.get('content-length') || '0');\r\n                const reader = response.body.getReader();\r\n                let receivedSize = 0;\r\n                const chunks = [];\r\n\r\n                while (true) {\r\n                    const { done, value } = await reader.read();\r\n                    if (done) break;\r\n\r\n                    chunks.push(value);\r\n                    receivedSize += value.length;\r\n\r\n                    const progress = totalSize ? (receivedSize \/ totalSize) * 100 : 0;\r\n                    this.showDownloadProgress(`Downloading image...`, progress, receivedSize, totalSize);\r\n                }\r\n\r\n                this.showDownloadProgress('Processing download...', 95, receivedSize, totalSize);\r\n\r\n                const blob = new Blob(chunks, { type: 'image\/jpeg' });\r\n                const downloadUrl = URL.createObjectURL(blob);\r\n\r\n                const a = document.createElement('a');\r\n                a.href = downloadUrl;\r\n                a.download = filename;\r\n                a.style.display = 'none';\r\n                document.body.appendChild(a);\r\n                a.click();\r\n                document.body.removeChild(a);\r\n\r\n                setTimeout(() => URL.revokeObjectURL(downloadUrl), 1000);\r\n\r\n                this.showDownloadProgress('Download completed!', 100, receivedSize, totalSize);\r\n                setTimeout(() => this.hideDownloadProgress(), 3000);\r\n\r\n            } catch (error) {\r\n                if (error.name === 'AbortError') {\r\n                    this.showDownloadProgress('Download cancelled', 0);\r\n                    setTimeout(() => this.hideDownloadProgress(), 2000);\r\n                } else {\r\n                    this.showError(`Download failed: ${error.message}`);\r\n                    this.hideDownloadProgress();\r\n                }\r\n            } finally {\r\n                downloadBtn.disabled = false;\r\n                downloadBtn.classList.remove('downloading');\r\n                downloadBtn.innerHTML = originalText;\r\n                this.downloadController = null;\r\n            }\r\n        }\r\n\r\n        showDownloadProgress(text, progress = 0, downloaded = 0, total = 0) {\r\n            const progressDiv = document.getElementById('downloadProgress');\r\n            const progressText = document.getElementById('progressText');\r\n            const progressFill = document.getElementById('progressBarFill');\r\n            const progressPercent = document.getElementById('progressPercent');\r\n            const progressSize = document.getElementById('progressSize');\r\n\r\n            progressText.textContent = text;\r\n            progressFill.style.width = `${progress}%`;\r\n            progressPercent.textContent = `${Math.round(progress)}%`;\r\n            progressSize.textContent = `${this.formatFileSize(downloaded)} \/ ${this.formatFileSize(total)}`;\r\n\r\n            progressDiv.classList.add('show');\r\n        }\r\n\r\n        hideDownloadProgress() {\r\n            document.getElementById('downloadProgress').classList.remove('show');\r\n        }\r\n\r\n        cancelDownload() {\r\n            if (this.downloadController) {\r\n                this.downloadController.abort();\r\n                this.downloadController = null;\r\n            }\r\n        }\r\n\r\n        formatFileSize(bytes) {\r\n            if (bytes === 0) return '0 Bytes';\r\n            const k = 1024;\r\n            const sizes = ['Bytes', 'KB', 'MB', 'GB'];\r\n            const i = Math.floor(Math.log(bytes) \/ Math.log(k));\r\n            return parseFloat((bytes \/ Math.pow(k, i)).toFixed(2)) + ' ' + sizes[i];\r\n        }\r\n\r\n        async newSearch() {\r\n            const usernameEl = document.getElementById('usernameInput');\r\n            const username = usernameEl.value.trim();\r\n            \/\/ If a username is present, treat New Search as \"search now with captcha\"\r\n            if (username) {\r\n                try {\r\n                    const token = await this.requestCaptchaToken('hello', 'Please verify to search');\r\n                    await this.searchUser(username, token);\r\n                } catch (err) {\r\n                    this.showError(err && err.message ? err.message : 'Captcha verification required');\r\n                }\r\n                return;\r\n            }\r\n\r\n            \/\/ Otherwise, behave as a reset\r\n            usernameEl.value = '';\r\n            document.getElementById('userInfo').style.display = 'none';\r\n            document.getElementById('postsSection').style.display = 'none';\r\n            this.clearError();\r\n            usernameEl.focus();\r\n        }\r\n\r\n        setupModal() {\r\n            const modal = document.getElementById('imageModal');\r\n            const closeBtn = document.querySelector('.reddit-explorer-close');\r\n\r\n            closeBtn.onclick = () => {\r\n                modal.style.display = 'none';\r\n            }\r\n\r\n            window.onclick = (event) => {\r\n                if (event.target === modal) {\r\n                    modal.style.display = 'none';\r\n                }\r\n            }\r\n        }\r\n\r\n        openImageModal(imageUrl) {\r\n            const modal = document.getElementById('imageModal');\r\n            const modalImg = document.getElementById('modalImage');\r\n            modal.style.display = 'block';\r\n            modalImg.src = imageUrl;\r\n        }\r\n\r\n        showLoading(show) {\r\n            const searchBtn = document.getElementById('searchBtn');\r\n            const searchText = document.getElementById('searchText');\r\n            const searchSpinner = document.getElementById('searchSpinner');\r\n            const loading = document.getElementById('loading');\r\n\r\n            if (show) {\r\n                searchBtn.disabled = true;\r\n                searchText.style.display = 'none';\r\n                searchSpinner.style.display = 'block';\r\n                loading.style.display = 'block';\r\n            } else {\r\n                searchBtn.disabled = false;\r\n                searchText.style.display = 'block';\r\n                searchSpinner.style.display = 'none';\r\n                loading.style.display = 'none';\r\n            }\r\n        }\r\n\r\n        showPostsSection(show) {\r\n            const postsSection = document.getElementById('postsSection');\r\n            postsSection.style.display = show ? 'block' : 'none';\r\n        }\r\n\r\n        showError(message) {\r\n            const errorContainer = document.getElementById('errorMessage');\r\n            errorContainer.textContent = message;\r\n            errorContainer.style.display = 'block';\r\n            setTimeout(() => {\r\n                errorContainer.style.display = 'none';\r\n            }, 8000);\r\n        }\r\n\r\n        clearError() {\r\n            document.getElementById('errorMessage').style.display = 'none';\r\n        }\r\n\r\n        formatNumber(num) {\r\n            if (num >= 1000000) {\r\n                return (num \/ 1000000).toFixed(1) + 'M';\r\n            } else if (num >= 1000) {\r\n                return (num \/ 1000).toFixed(1) + 'K';\r\n            }\r\n            return num.toString();\r\n        }\r\n\r\n        formatDate(timestamp) {\r\n            return new Date(timestamp * 1000).toLocaleDateString('en-US', {\r\n                year: 'numeric',\r\n                month: 'short',\r\n                day: 'numeric'\r\n            });\r\n        }\r\n\r\n        formatDuration(seconds) {\r\n            const mins = Math.floor(seconds \/ 60);\r\n            const secs = seconds % 60;\r\n            return `${mins}:${secs.toString().padStart(2, '0')}`;\r\n        }\r\n\r\n        truncateText(text, maxLength) {\r\n            if (text.length <= maxLength) return text;\r\n            return text.substring(0, maxLength) + '...';\r\n        }\r\n\r\n        sanitizeFilename(filename) {\r\n            return filename.replace(\/[^a-z0-9]\/gi, '_').toLowerCase();\r\n        }\r\n    }\r\n\r\n    \/\/ Global function for cancel download\r\n    function cancelDownload() {\r\n        redditExplorer.cancelDownload();\r\n    }\r\n\r\n    \/\/ Initialize the app\r\n    const redditExplorer = new RedditUserExplorerPro();\r\n<\/script>[\/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    --grad: linear-gradient(45deg,#FF4500 0%,#FF5700 50%,#FF6347 100%);\r\n    --brand:#FF4500;\r\n    --ink:#333;\r\n    --muted:#666;\r\n    --muted-2:#9498a1;\r\n    --light:#f8f9fa;\r\n    --card:#fff;\r\n    --radius:15px;\r\n    --sh:0 4px 12px rgba(0,0,0,.08);\r\n    --sh-lg:0 8px 24px rgba(0,0,0,.12);\r\n    --t:.3s ease;\r\n  }\r\n\r\n  \/* ---------- Titles ---------- *\/\r\n  .rd-pv-section-title{text-align:center; margin-bottom:60px;}\r\n  .rd-pv-section-title h2{font-weight:700; font-size:2.5rem; color:var(--brand); margin:0 0 12px;}\r\n  .rd-pv-section-title p{color:var(--muted); max-width:700px; margin:0 auto; font-size:1.05rem;}\r\n \r\n  \/* ---------- Cards ---------- *\/\r\n  .cv-card{\r\n    background:var(--card); border-radius:var(--radius); box-shadow:var(--sh);\r\n    height:100%; transition:var(--t); padding:30px;\r\n  }\r\n  .cv-card:hover{transform:translateY(-10px); box-shadow:var(--sh-lg);}\r\n\r\n  \/* Steps *\/\r\n  .rd-pv-step{ position:relative; text-align:center; }\r\n  .rd-pv-step .rd-pv-step-icon{\r\n    width:80px; height:80px; margin:0 auto 22px; border-radius:50%; display:flex; align-items:center; justify-content:center;\r\n    background:var(--grad); color:#fff; font-size:2rem; box-shadow:0 5px 15px rgba(0,0,0,.1); transition:var(--t);\r\n  }\r\n  .rd-pv-step:hover .rd-pv-step-icon{ transform:scale(1.08); }\r\n  .rd-pv-step h3{font-size:1.25rem; font-weight:700; color:var(--brand); margin:0 0 10px;}\r\n  .rd-pv-step p{color:var(--muted); margin:0;}\r\n\r\n  \/* Features *\/\r\n  .rd-pv-feature-card .rd-pv-feature-icon{font-size:2rem; display:block; margin-bottom:14px;}\r\n  .rd-pv-feature-card h3{font-size:1.2rem; font-weight:700; color:var(--brand); margin:0 0 10px;}\r\n  .rd-pv-feature-card p{color:var(--muted); margin:0;}\r\n\r\n  \/* FAQ *\/\r\n  .vr-tool-faq{ margin: 30px auto; }\r\n  .rd-pv-faq-item{ border-radius:12px; overflow:hidden; box-shadow:var(--sh); transition:var(--t); background:#fff; }\r\n  .rd-pv-faq-item:hover{ box-shadow:var(--sh-lg); }\r\n  .rd-pv-faq-question{\r\n    width:100%; padding:20px 24px; display:flex; justify-content:space-between; align-items:center;\r\n    background:#fff; border:none; text-align:left; font-weight:700; font-size:1.05rem; color:var(--brand); transition:var(--t);\r\n  }\r\n  .rd-pv-faq-question:hover{ background:rgba(255,69,0,.05); }\r\n  .rd-pv-faq-question:not(.collapsed){ background:rgba(255,69,0,.1); }\r\n  .rd-pv-faq-question:not(.collapsed)::after{ transform:rotate(180deg); }\r\n  .rd-pv-faq-answer{ padding:0 24px 22px; color:var(--muted); line-height:1.7; }\r\n\r\n  \/* CTA *\/\r\n  .vr-tool-cta{\r\n    background:var(--grad);\r\n    color:#fff;\r\n    text-align:center;\r\n    padding:50px 0;\r\n  }\r\n  .vr-tool-cta .rd-pv-cta-title{\r\n    font-size:2.4rem;\r\n    font-weight:700;\r\n    margin:0 0 20px;\r\n    line-height:1.2;\r\n  }\r\n  .vr-tool-cta .rd-pv-cta-sub{\r\n    max-width:800px;\r\n    margin:0 auto 30px;\r\n    font-size:1.1rem;\r\n    color:rgba(255,255,255,.92);\r\n  }\r\n  .vr-tool-cta .rd-pv-cta-group .btn{\r\n    background:#fff;\r\n    color:var(--brand);\r\n    font-weight:600;\r\n    padding:14px 32px;\r\n    border-radius:50px;\r\n    box-shadow:var(--sh);\r\n    transition:var(--t);\r\n    text-decoration:none;\r\n    display:inline-block;\r\n  }\r\n  .vr-tool-cta .rd-pv-cta-group .btn:hover{\r\n    transform:translateY(-3px);\r\n    box-shadow:var(--sh-lg);\r\n  }\r\n  .vr-tool-cta .rd-pv-cta-note{\r\n    margin-top:14px;\r\n    font-size:.95rem;\r\n    color:rgba(255,255,255,.85);\r\n  }\r\n\r\n  @keyframes fadeUp{ from{opacity:0; transform:translateY(14px)} to{opacity:1; transform:none} }\r\n  .animate-in{ animation: fadeUp .6s ease both; }\r\n\r\n  @media (max-width:991px){\r\n    .rd-pv-section-title h2{font-size:2.1rem}\r\n    .vr-tool-cta .rd-pv-cta-title{font-size:2.1rem}\r\n  }\r\n  @media (max-width:767px){\r\n    .rd-pv-section-title h2{font-size:1.8rem}\r\n    .cv-card{margin-bottom:20px}\r\n    .vr-tool-cta{padding:60px 0}\r\n    .vr-tool-cta .rd-pv-cta-title{font-size:1.8rem}\r\n    .vr-tool-cta .rd-pv-cta-sub{font-size:1rem}\r\n  }\r\n<\/style>\r\n\r\n<!-- How It Works -->\r\n<section class=\"vr-tool-how\">\r\n  <div class=\"container\">\r\n    <div class=\"rd-pv-section-title\">\r\n      <h2>How to Use the Reddit Page Viewer<\/h2>\r\n      <p>Follow these steps to browse Reddit pages anonymously.<\/p>\r\n    <\/div>\r\n\r\n    <div class=\"row g-4\">\r\n      <div class=\"col-md-3\">\r\n        <div class=\"cv-card rd-pv-step\">\r\n          <div class=\"rd-pv-step-icon\"><i class=\"fas fa-link\"><\/i><\/div>\r\n          <h3>Enter Page URL<\/h3>\r\n          <p>Copy the Reddit page or post URL to view.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"col-md-3\">\r\n        <div class=\"cv-card rd-pv-step\">\r\n          <div class=\"rd-pv-step-icon\"><i class=\"fas fa-search\"><\/i><\/div>\r\n          <h3>Load Content<\/h3>\r\n          <p>Click \u201cView Now\u201d to access public Reddit pages.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"col-md-3\">\r\n        <div class=\"cv-card rd-pv-step\">\r\n          <div class=\"rd-pv-step-icon\"><i class=\"fas fa-eye\"><\/i><\/div>\r\n          <h3>Browse Anonymously<\/h3>\r\n          <p>View public pages, posts, and comments privately.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"col-md-3\">\r\n        <div class=\"cv-card rd-pv-step\">\r\n          <div class=\"rd-pv-step-icon\"><i class=\"fas fa-user-secret\"><\/i><\/div>\r\n          <h3>No Login Required<\/h3>\r\n          <p>Access pages without a Reddit account.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<!-- Features -->\r\n<section class=\"vr-tool-features\">\r\n  <div class=\"container\">\r\n    <div class=\"rd-pv-section-title\">\r\n      <h2>Reddit Page Viewer Features<\/h2>\r\n      <p>Tools for seamless and private browsing of Reddit pages.<\/p>\r\n    <\/div>\r\n\r\n    <div class=\"row g-4\">\r\n      <div class=\"col-md-4\">\r\n        <div class=\"cv-card rd-pv-feature-card\">\r\n          <span class=\"rd-pv-feature-icon\">\ud83d\udd12<\/span>\r\n          <h3>Anonymous Browsing<\/h3>\r\n          <p>Browse Reddit pages without revealing your identity.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"col-md-4\">\r\n        <div class=\"cv-card rd-pv-feature-card\">\r\n          <span class=\"rd-pv-feature-icon\">\ud83d\udcc4<\/span>\r\n          <h3>Public Page Access<\/h3>\r\n          <p>View public pages, posts, and comments effortlessly.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"col-md-4\">\r\n        <div class=\"cv-card rd-pv-feature-card\">\r\n          <span class=\"rd-pv-feature-icon\">\ud83d\udcd1<\/span>\r\n          <h3>Multiple Content Types<\/h3>\r\n          <p>Supports posts, comments, and subreddit pages.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"col-md-4\">\r\n        <div class=\"cv-card rd-pv-feature-card\">\r\n          <span class=\"rd-pv-feature-icon\">\ud83d\udcf1<\/span>\r\n          <h3>Multi-Device Support<\/h3>\r\n          <p>Optimized for phones, tablets, and desktops.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"col-md-4\">\r\n        <div class=\"cv-card rd-pv-feature-card\">\r\n          <span class=\"rd-pv-feature-icon\">\ud83d\udd11<\/span>\r\n          <h3>No Login Needed<\/h3>\r\n          <p>Browse without Reddit credentials.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"col-md-4\">\r\n        <div class=\"cv-card rd-pv-feature-card\">\r\n          <span class=\"rd-pv-feature-icon\">\u26a1<\/span>\r\n          <h3>Fast Access<\/h3>\r\n          <p>Quickly load Reddit page content anonymously.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<!-- FAQ -->\r\n<section class=\"vr-tool-faq\">\r\n  <div class=\"container\">\r\n    <div class=\"rd-pv-section-title\">\r\n      <h2>Frequently Asked Questions<\/h2>\r\n      <p>Learn how to use the Reddit Page Viewer effectively.<\/p>\r\n    <\/div>\r\n\r\n    <div class=\"row justify-content-center\">\r\n      <div class=\"col-lg-8\">\r\n        <div class=\"accordion\" id=\"faqAccordion\">\r\n          <div class=\"rd-pv-faq-item accordion-item mb-3\">\r\n            <h2 class=\"accordion-header\">\r\n              <button class=\"rd-pv-faq-question accordion-button collapsed\" data-bs-toggle=\"collapse\" data-bs-target=\"#faqCollapse1\">\r\n                Can I view private Reddit pages?\r\n              <\/button>\r\n            <\/h2>\r\n            <div id=\"faqCollapse1\" class=\"accordion-collapse collapse\" data-bs-parent=\"#faqAccordion\">\r\n              <div class=\"rd-pv-faq-answer accordion-body\">\r\n                No. The Reddit Page Viewer only shows public content, respecting privacy settings.\r\n              <\/div>\r\n            <\/div>\r\n          <\/div>\r\n          <div class=\"rd-pv-faq-item accordion-item mb-3\">\r\n            <h2 class=\"accordion-header\">\r\n              <button class=\"rd-pv-faq-question accordion-button collapsed\" data-bs-toggle=\"collapse\" data-bs-target=\"#faqCollapse2\">\r\n                Do I need a Reddit account to browse pages?\r\n              <\/button>\r\n            <\/h2>\r\n            <div id=\"faqCollapse2\" class=\"accordion-collapse collapse\" data-bs-parent=\"#faqAccordion\">\r\n              <div class=\"rd-pv-faq-answer accordion-body\">\r\n                No. The Reddit Page Viewer works without a login.\r\n              <\/div>\r\n            <\/div>\r\n          <\/div>\r\n          <div class=\"rd-pv-faq-item accordion-item mb-3\">\r\n            <h2 class=\"accordion-header\">\r\n              <button class=\"rd-pv-faq-question accordion-button collapsed\" data-bs-toggle=\"collapse\" data-bs-target=\"#faqCollapse3\">\r\n                Is the Reddit Page Viewer free to use?\r\n              <\/button>\r\n            <\/h2>\r\n            <div id=\"faqCollapse3\" class=\"accordion-collapse collapse\" data-bs-parent=\"#faqAccordion\">\r\n              <div class=\"rd-pv-faq-answer accordion-body\">\r\n                Yes. It\u2019s a free tool with no charges or subscriptions.\r\n              <\/div>\r\n            <\/div>\r\n          <\/div>\r\n          <div class=\"rd-pv-faq-item accordion-item mb-3\">\r\n            <h2 class=\"accordion-header\">\r\n              <button class=\"rd-pv-faq-question accordion-button collapsed\" data-bs-toggle=\"collapse\" data-bs-target=\"#faqCollapse4\">\r\n                Is this tool affiliated with Reddit?\r\n              <\/button>\r\n            <\/h2>\r\n            <div id=\"faqCollapse4\" class=\"accordion-collapse collapse\" data-bs-parent=\"#faqAccordion\">\r\n              <div class=\"rd-pv-faq-answer accordion-body\">\r\n                No. This is an independent Reddit Page Viewer, and browsing is anonymous with no user alerts.\r\n              <\/div>\r\n            <\/div>\r\n          <\/div>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<!-- CTA Section -->\r\n<section class=\"vr-tool-cta\">\r\n  <div class=\"container\" style=\"text-align: center;\">\r\n    <h2 class=\"rd-pv-cta-title text-white\">Try the Reddit Page Viewer Now<\/h2>\r\n    <p class=\"rd-pv-cta-sub\">\r\n      Browse public Reddit pages anonymously without login. Safe, private, and easy to use.\r\n    <\/p>\r\n    <div class=\"rd-pv-cta-group\">\r\n      <a href=\"#\" class=\"btn btn-lg\">Try It Now<\/a>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<script>\r\n  document.querySelectorAll('.rd-pv-faq-question').forEach(btn=>{\r\n    btn.addEventListener('click', ()=>{\r\n      document.querySelectorAll('.rd-pv-faq-question').forEach(b=>{ if(b!==btn) b.classList.add('collapsed'); });\r\n      btn.classList.toggle('collapsed');\r\n    });\r\n  });\r\n<\/script>[\/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=Poppins:wght@300;400;500;600;700;800;900&display=swap');\r\n\r\n    .reddit-explorer-wrapper * {\r\n        margin: 0;\r\n        padding: 0;\r\n        box-sizing: border-box;\r\n    }\r\n\r\n    .reddit-explorer-wrapper {\r\n        font-family: 'Poppins', sans-serif;\r\n        background: linear-gradient(135deg, #0f3443 0%, #34e89e 100%);\r\n        min-height: 100vh;\r\n        line-height: 1.6;\r\n        color: #e2e8f0;\r\n        overflow-x: hidden;\r\n        position: relative;\r\n    }\r\n\r\n    .reddit-explorer-wrapper::before {\r\n        content: '';\r\n        position: absolute;\r\n        top: 0;\r\n        left: 0;\r\n        right: 0;\r\n        bottom: 0;\r\n        background-image: \r\n            radial-gradient(circle at 20% 30%, rgba(52, 232, 158, 0.12) 0%, transparent 25%),\r\n            radial-gradient(circle at 80% 70%, rgba(33, 150, 243, 0.12) 0%, transparent 25%),\r\n            radial-gradient(circle at 50% 50%, rgba(52, 232, 158, 0.08) 0%, transparent 40%);\r\n        z-index: 0;\r\n    }\r\n\r\n    :root {\r\n        --primary-color: #34e89e;\r\n        --primary-light: #5ef5b9;\r\n        --primary-dark: #1dd086;\r\n        --secondary-color: #0f3443;\r\n        --secondary-light: #1a4a5c;\r\n        --secondary-dark: #0a2833;\r\n        --accent-color: #2196F3;\r\n        --accent-light: #42a5f5;\r\n        --accent-dark: #1e88e5;\r\n        --success-color: #4caf50;\r\n        --success-light: #81c784;\r\n        --danger-color: #f44336;\r\n        --danger-light: #ef5350;\r\n        --warning-color: #ff9800;\r\n        --warning-light: #ffb74d;\r\n        --bg-primary: #0a2833;\r\n        --bg-secondary: #0f3443;\r\n        --bg-tertiary: #1a4a5c;\r\n        --bg-card: #0f3443;\r\n        --glass-bg: rgba(15, 52, 67, 0.7);\r\n        --glass-border: rgba(52, 232, 158, 0.3);\r\n        --text-primary: #f1f5f9;\r\n        --text-secondary: #b3e5fc;\r\n        --text-muted: #81d4fa;\r\n        --text-accent: #5ef5b9;\r\n        --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.2);\r\n        --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.3);\r\n        --shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.4);\r\n        --shadow-xl: 0 16px 48px rgba(0, 0, 0, 0.5);\r\n        --gradient-primary: linear-gradient(135deg, #34e89e, #2196F3);\r\n        --gradient-secondary: linear-gradient(135deg, #2196F3, #34e89e);\r\n        --gradient-accent: linear-gradient(135deg, #4caf50, #2196F3);\r\n    }\r\n\r\n    .reddit-explorer-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    .reddit-explorer-header {\r\n        text-align: center;\r\n        margin-bottom: 40px;\r\n        padding: 40px 0;\r\n        animation: slideInDown 1s ease-out;\r\n    }\r\n\r\n    .reddit-explorer-logo {\r\n        display: flex;\r\n        align-items: center;\r\n        justify-content: center;\r\n        gap: 20px;\r\n        margin-bottom: 25px;\r\n        flex-wrap: wrap;\r\n    }\r\n\r\n    .reddit-explorer-logo-icon {\r\n        width: 80px;\r\n        height: 80px;\r\n        background: var(--gradient-primary);\r\n        border-radius: 20px;\r\n        display: flex;\r\n        align-items: center;\r\n        justify-content: center;\r\n        color: white;\r\n        font-size: 36px;\r\n        font-weight: 800;\r\n        box-shadow: var(--shadow-lg);\r\n        animation: float 3s ease-in-out infinite;\r\n        position: relative;\r\n        overflow: hidden;\r\n    }\r\n\r\n    .reddit-explorer-logo-icon::before {\r\n        content: '';\r\n        position: absolute;\r\n        top: -50%;\r\n        left: -50%;\r\n        width: 200%;\r\n        height: 200%;\r\n        background: linear-gradient(45deg, transparent, rgba(255, 255, 255, 0.1), transparent);\r\n        transform: rotate(45deg);\r\n        animation: shine 3s infinite;\r\n    }\r\n\r\n    .reddit-explorer-badge {\r\n        background: var(--gradient-secondary);\r\n        color: white;\r\n        padding: 8px 16px;\r\n        border-radius: 25px;\r\n        font-size: 14px;\r\n        font-weight: 700;\r\n        box-shadow: var(--shadow-md);\r\n        animation: pulse 2s infinite;\r\n    }\r\n\r\n    .reddit-explorer-logo-text {\r\n        font-size: clamp(2.5rem, 6vw, 4rem);\r\n        font-weight: 900;\r\n        background: var(--gradient-primary);\r\n        -webkit-background-clip: text;\r\n        -webkit-text-fill-color: transparent;\r\n        background-clip: text;\r\n        letter-spacing: -1px;\r\n        text-shadow: 0 0 30px rgba(52, 232, 158, 0.5);\r\n    }\r\n\r\n    .reddit-explorer-subtitle {\r\n        color: var(--text-secondary);\r\n        font-size: 18px;\r\n        font-weight: 600;\r\n        margin-bottom: 30px;\r\n        max-width: 700px;\r\n        margin-left: auto;\r\n        margin-right: auto;\r\n    }\r\n\r\n    .reddit-explorer-features-grid {\r\n        display: grid;\r\n        grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\r\n        gap: 20px;\r\n        margin-bottom: 40px;\r\n    }\r\n\r\n    .reddit-explorer-feature-card {\r\n        background: var(--glass-bg);\r\n        border: 1px solid var(--glass-border);\r\n        backdrop-filter: blur(10px);\r\n        padding: 15px;\r\n        border-radius: 16px;\r\n        text-align: center;\r\n        transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\r\n        position: relative;\r\n        overflow: hidden;\r\n    }\r\n\r\n    .reddit-explorer-feature-card::before {\r\n        content: '';\r\n        position: absolute;\r\n        top: 0;\r\n        left: -100%;\r\n        width: 100%;\r\n        height: 100%;\r\n        background: linear-gradient(90deg, transparent, rgba(52, 232, 158, 0.1), transparent);\r\n        transition: left 0.5s;\r\n    }\r\n\r\n    .reddit-explorer-feature-card:hover::before {\r\n        left: 100%;\r\n    }\r\n\r\n    .reddit-explorer-feature-card:hover {\r\n        transform: translateY(-5px);\r\n        box-shadow: var(--shadow-lg);\r\n        border-color: var(--primary-color);\r\n    }\r\n\r\n    .reddit-explorer-feature-icon {\r\n        width: 40px;\r\n        height: 40px;\r\n        background: var(--gradient-primary);\r\n        border-radius: 50%;\r\n        display: flex;\r\n        align-items: center;\r\n        justify-content: center;\r\n        margin: 0 auto 10px;\r\n        font-size: 20px;\r\n        color: white;\r\n    }\r\n\r\n    .reddit-explorer-feature-title {\r\n        font-weight: 700;\r\n        color: var(--text-primary);\r\n        margin-bottom: 8px;\r\n        font-size: 14px;\r\n    }\r\n\r\n    .reddit-explorer-search-container {\r\n        background: var(--glass-bg);\r\n        border: 1px solid var(--glass-border);\r\n        backdrop-filter: blur(10px);\r\n        padding: 30px;\r\n        border-radius: 24px;\r\n        box-shadow: var(--shadow-xl);\r\n        margin-bottom: 40px;\r\n        animation: slideInUp 1s ease-out 0.2s both;\r\n        position: relative;\r\n        overflow: hidden;\r\n    }\r\n\r\n    .reddit-explorer-search-container::before {\r\n        content: '';\r\n        position: absolute;\r\n        top: 0;\r\n        left: 0;\r\n        right: 0;\r\n        height: 4px;\r\n        background: var(--gradient-primary);\r\n    }\r\n\r\n    .reddit-explorer-search-form {\r\n        display: flex;\r\n        gap: 15px;\r\n        margin-bottom: 20px;\r\n        position: relative;\r\n        flex-direction: row;\r\n    }\r\n\r\n    .reddit-explorer-search-input {\r\n        flex: 1 !important;\r\n        padding: 15px 20px !important;\r\n        border: 2px solid var(--glass-border) !important;\r\n        border-radius: 16px !important;\r\n        font-size: 14px !important;\r\n        font-weight: 500 !important;\r\n        background: var(--bg-tertiary) !important;\r\n        transition: all 0.3s ease !important;\r\n        outline: none !important;\r\n        color: var(--text-primary) !important;\r\n        font-family: inherit !important;\r\n        box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.2);\r\n    }\r\n\r\n    .reddit-explorer-search-input:focus {\r\n        border-color: var(--primary-color) !important;\r\n        box-shadow: 0 0 0 4px rgba(52, 232, 158, 0.15), inset 0 2px 4px rgba(0, 0, 0, 0.2) !important;\r\n        transform: translateY(-2px);\r\n    }\r\n\r\n    .reddit-explorer-search-input::placeholder {\r\n        color: var(--text-muted);\r\n        font-weight: 400;\r\n    }\r\n\r\n    .reddit-explorer-search-btn {\r\n        padding: 15px 30px;\r\n        background: var(--gradient-primary);\r\n        color: white;\r\n        border: none;\r\n        border-radius: 16px;\r\n        font-size: 14px;\r\n        font-weight: 700;\r\n        cursor: pointer;\r\n        transition: all 0.3s ease;\r\n        min-width: 150px;\r\n        position: relative;\r\n        overflow: hidden;\r\n        box-shadow: var(--shadow-md);\r\n        font-family: inherit;\r\n    }\r\n\r\n    .reddit-explorer-search-btn::before {\r\n        content: '';\r\n        position: absolute;\r\n        top: 0;\r\n        left: -100%;\r\n        width: 100%;\r\n        height: 100%;\r\n        background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);\r\n        transition: left 0.5s;\r\n    }\r\n\r\n    .reddit-explorer-search-btn:hover::before {\r\n        left: 100%;\r\n    }\r\n\r\n    .reddit-explorer-search-btn:hover:not(:disabled) {\r\n        transform: translateY(-3px);\r\n        box-shadow: var(--shadow-lg);\r\n    }\r\n\r\n    .reddit-explorer-search-btn:disabled {\r\n        opacity: 0.6;\r\n        cursor: not-allowed;\r\n        transform: none;\r\n    }\r\n\r\n    .reddit-explorer-user-info {\r\n        background: var(--glass-bg);\r\n        border: 1px solid var(--glass-border);\r\n        backdrop-filter: blur(10px);\r\n        padding: 30px;\r\n        border-radius: 24px;\r\n        box-shadow: var(--shadow-xl);\r\n        margin-bottom: 40px;\r\n        display: none;\r\n        animation: slideInDown 0.8s ease-out;\r\n        position: relative;\r\n        overflow: hidden;\r\n    }\r\n\r\n    .reddit-explorer-user-info::before {\r\n        content: '';\r\n        position: absolute;\r\n        top: 0;\r\n        left: 0;\r\n        right: 0;\r\n        height: 4px;\r\n        background: var(--gradient-secondary);\r\n    }\r\n\r\n    .reddit-explorer-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    .reddit-explorer-user-avatar {\r\n        width: 80px;\r\n        height: 80px;\r\n        border-radius: 50%;\r\n        background: var(--gradient-primary);\r\n        display: flex;\r\n        align-items: center;\r\n        justify-content: center;\r\n        font-size: 2.5rem;\r\n        color: white;\r\n        font-weight: 900;\r\n        box-shadow: var(--shadow-lg);\r\n        position: relative;\r\n        overflow: hidden;\r\n    }\r\n\r\n    .reddit-explorer-user-avatar::before {\r\n        content: '';\r\n        position: absolute;\r\n        top: -50%;\r\n        left: -50%;\r\n        width: 200%;\r\n        height: 200%;\r\n        background: linear-gradient(45deg, transparent, rgba(255, 255, 255, 0.1), transparent);\r\n        transform: rotate(45deg);\r\n        animation: shine 4s infinite;\r\n    }\r\n\r\n    .reddit-explorer-user-details h2 {\r\n        font-size: 2rem;\r\n        color: var(--text-primary);\r\n        margin-bottom: 8px;\r\n        font-weight: 900;\r\n    }\r\n\r\n    .reddit-explorer-user-description {\r\n        color: var(--text-secondary);\r\n        font-size: 16px;\r\n        font-weight: 500;\r\n    }\r\n\r\n    .reddit-explorer-user-stats {\r\n        display: grid;\r\n        grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));\r\n        gap: 20px;\r\n        margin-top: 25px;\r\n    }\r\n\r\n    .reddit-explorer-stat-card {\r\n        background: var(--glass-bg);\r\n        border: 1px solid var(--glass-border);\r\n        backdrop-filter: blur(10px);\r\n        padding: 20px;\r\n        border-radius: 20px;\r\n        text-align: center;\r\n        transition: all 0.3s ease;\r\n        position: relative;\r\n        overflow: hidden;\r\n    }\r\n\r\n    .reddit-explorer-stat-card::before {\r\n        content: '';\r\n        position: absolute;\r\n        top: 0;\r\n        left: 0;\r\n        right: 0;\r\n        height: 3px;\r\n        background: var(--gradient-accent);\r\n    }\r\n\r\n    .reddit-explorer-stat-card:hover {\r\n        transform: translateY(-5px);\r\n        box-shadow: var(--shadow-md);\r\n    }\r\n\r\n    .reddit-explorer-stat-number {\r\n        font-size: 1.8rem;\r\n        font-weight: 900;\r\n        color: var(--primary-color);\r\n        margin-bottom: 6px;\r\n    }\r\n\r\n    .reddit-explorer-stat-label {\r\n        font-size: 0.9rem;\r\n        color: var(--text-secondary);\r\n        font-weight: 600;\r\n    }\r\n\r\n    .reddit-explorer-posts-section {\r\n        display: none;\r\n    }\r\n\r\n    .reddit-explorer-section-title {\r\n        color: var(--text-primary);\r\n        font-size: 2rem;\r\n        font-weight: 900;\r\n        margin-bottom: 30px;\r\n        text-align: center;\r\n        background: var(--glass-bg);\r\n        border: 1px solid var(--glass-border);\r\n        backdrop-filter: blur(10px);\r\n        padding: 20px;\r\n        border-radius: 20px;\r\n        position: relative;\r\n        overflow: hidden;\r\n    }\r\n\r\n    .reddit-explorer-section-title::before {\r\n        content: '';\r\n        position: absolute;\r\n        top: 0;\r\n        left: 0;\r\n        right: 0;\r\n        height: 4px;\r\n        background: var(--gradient-accent);\r\n    }\r\n\r\n    .reddit-explorer-posts-grid {\r\n        display: grid;\r\n        grid-template-columns: repeat(auto-fit, minmax(450px, 1fr));\r\n        gap: 25px;\r\n    }\r\n\r\n    .reddit-explorer-post-card {\r\n        background: var(--glass-bg);\r\n        border: 1px solid var(--glass-border);\r\n        backdrop-filter: blur(10px);\r\n        border-radius: 20px;\r\n        padding: 20px;\r\n        box-shadow: var(--shadow-xl);\r\n        transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);\r\n        position: relative;\r\n        overflow: hidden;\r\n        animation: slideUp 0.6s ease forwards;\r\n        display: flex;\r\n        flex-direction: column;\r\n        height: 100%;\r\n    }\r\n\r\n    .reddit-explorer-post-card::before {\r\n        content: '';\r\n        position: absolute;\r\n        top: 0;\r\n        left: 0;\r\n        right: 0;\r\n        height: 4px;\r\n        background: var(--gradient-primary);\r\n        border-radius: 20px 20px 0 0;\r\n    }\r\n\r\n    .reddit-explorer-post-card:hover {\r\n        transform: translateY(-10px);\r\n        box-shadow: 0 20px 40px rgba(0, 0, 0, 0.5);\r\n        border-color: var(--primary-color);\r\n    }\r\n\r\n    .reddit-explorer-post-header {\r\n        display: flex;\r\n        align-items: center;\r\n        justify-content: space-between;\r\n        margin-bottom: 15px;\r\n        padding-bottom: 15px;\r\n        border-bottom: 2px solid var(--bg-tertiary);\r\n    }\r\n\r\n    .reddit-explorer-subreddit-info {\r\n        display: flex;\r\n        align-items: center;\r\n        gap: 10px;\r\n        flex-wrap: wrap;\r\n    }\r\n\r\n    .reddit-explorer-subreddit-badge {\r\n        background: var(--gradient-primary);\r\n        color: white;\r\n        padding: 6px 12px;\r\n        border-radius: 20px;\r\n        font-size: 0.8rem;\r\n        font-weight: 700;\r\n        box-shadow: var(--shadow-sm);\r\n    }\r\n\r\n    .reddit-explorer-post-type {\r\n        background: var(--gradient-secondary);\r\n        color: white;\r\n        padding: 4px 10px;\r\n        border-radius: 15px;\r\n        font-size: 0.7rem;\r\n        font-weight: 600;\r\n        text-transform: capitalize;\r\n    }\r\n\r\n    .reddit-explorer-post-meta {\r\n        font-size: 0.8rem;\r\n        color: var(--text-muted);\r\n        font-weight: 500;\r\n        text-align: right;\r\n    }\r\n\r\n    .reddit-explorer-post-badges {\r\n        display: flex;\r\n        flex-wrap: wrap;\r\n        gap: 8px;\r\n        margin-bottom: 15px;\r\n    }\r\n\r\n    .reddit-explorer-badge {\r\n        padding: 4px 10px;\r\n        border-radius: 12px;\r\n        font-size: 0.7rem;\r\n        font-weight: 600;\r\n        color: white;\r\n        text-transform: uppercase;\r\n        letter-spacing: 0.5px;\r\n    }\r\n\r\n    .reddit-explorer-badge.admin {\r\n        background: var(--gradient-accent);\r\n    }\r\n\r\n    .reddit-explorer-badge.stickied {\r\n        background: var(--gradient-secondary);\r\n    }\r\n\r\n    .reddit-explorer-badge.archived {\r\n        background: linear-gradient(135deg, #64748b, #475569);\r\n    }\r\n\r\n    .reddit-explorer-badge.locked {\r\n        background: var(--gradient-accent);\r\n    }\r\n\r\n    .reddit-explorer-badge.nsfw {\r\n        background: linear-gradient(135deg, #8b5cf6, #7c3aed);\r\n    }\r\n\r\n    .reddit-explorer-post-title {\r\n        font-size: 1.4rem;\r\n        font-weight: 700;\r\n        margin-bottom: 15px;\r\n        color: var(--text-primary);\r\n        line-height: 1.4;\r\n    }\r\n\r\n    .reddit-explorer-post-content {\r\n        margin-bottom: 20px;\r\n        flex-grow: 1;\r\n    }\r\n\r\n    .reddit-explorer-post-text {\r\n        color: var(--text-secondary);\r\n        line-height: 1.6;\r\n        margin-bottom: 15px;\r\n        font-weight: 400;\r\n        font-size: 14px;\r\n    }\r\n\r\n    .reddit-explorer-media-container {\r\n        margin: 15px 0;\r\n        border-radius: 16px;\r\n        overflow: hidden;\r\n        position: relative;\r\n        box-shadow: var(--shadow-md);\r\n        background: #000;\r\n    }\r\n\r\n    .reddit-explorer-image-preview {\r\n        width: 100%;\r\n        max-height: 300px;\r\n        object-fit: cover;\r\n        cursor: pointer;\r\n        transition: transform 0.3s ease;\r\n    }\r\n\r\n    .reddit-explorer-image-preview:hover {\r\n        transform: scale(1.02);\r\n    }\r\n\r\n    .reddit-explorer-video-container {\r\n        position: relative;\r\n        width: 100%;\r\n        background: #000;\r\n        border-radius: 16px;\r\n        overflow: hidden;\r\n    }\r\n\r\n    .reddit-explorer-video-player {\r\n        width: 100%;\r\n        height: 250px;\r\n        border-radius: 16px;\r\n    }\r\n\r\n    .reddit-explorer-media-controls {\r\n        display: flex;\r\n        gap: 10px;\r\n        margin-top: 15px;\r\n        flex-wrap: wrap;\r\n        align-items: center;\r\n    }\r\n\r\n    .reddit-explorer-control-btn {\r\n        display: flex;\r\n        align-items: center;\r\n        gap: 8px;\r\n        padding: 10px 18px;\r\n        border: none;\r\n        border-radius: 12px;\r\n        cursor: pointer;\r\n        font-size: 0.9rem;\r\n        font-weight: 600;\r\n        transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\r\n        font-family: inherit;\r\n        position: relative;\r\n        overflow: hidden;\r\n    }\r\n\r\n    .reddit-explorer-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    .reddit-explorer-control-btn:hover::before {\r\n        left: 100%;\r\n    }\r\n\r\n    .reddit-explorer-stream-audio-btn {\r\n        background: var(--gradient-secondary);\r\n        color: white;\r\n        box-shadow: var(--shadow-md);\r\n    }\r\n\r\n    .reddit-explorer-stream-audio-btn:hover {\r\n        transform: translateY(-3px);\r\n        box-shadow: var(--shadow-lg);\r\n    }\r\n\r\n    .reddit-explorer-stream-audio-btn:disabled {\r\n        opacity: 0.6;\r\n        cursor: not-allowed;\r\n        transform: none;\r\n    }\r\n\r\n    .reddit-explorer-stream-audio-btn.loading {\r\n        background: linear-gradient(135deg, #64748b, #475569);\r\n    }\r\n\r\n    .reddit-explorer-download-btn {\r\n        background: var(--gradient-accent);\r\n        color: white;\r\n        box-shadow: var(--shadow-md);\r\n    }\r\n\r\n    .reddit-explorer-download-btn:hover {\r\n        transform: translateY(-3px);\r\n        box-shadow: var(--shadow-lg);\r\n    }\r\n\r\n    .reddit-explorer-download-btn:disabled {\r\n        opacity: 0.6;\r\n        cursor: not-allowed;\r\n        transform: none;\r\n    }\r\n\r\n    .reddit-explorer-download-btn.downloading {\r\n        background: var(--gradient-primary);\r\n    }\r\n\r\n    .reddit-explorer-external-link {\r\n        display: inline-flex;\r\n        align-items: center;\r\n        gap: 8px;\r\n        background: var(--gradient-primary);\r\n        color: white;\r\n        padding: 10px 18px;\r\n        border-radius: 12px;\r\n        text-decoration: none;\r\n        margin-top: 15px;\r\n        transition: all 0.3s ease;\r\n        font-weight: 600;\r\n        box-shadow: var(--shadow-sm);\r\n        font-size: 0.9rem;\r\n    }\r\n\r\n    .reddit-explorer-external-link:hover {\r\n        transform: translateY(-3px);\r\n        box-shadow: var(--shadow-md);\r\n    }\r\n\r\n    .reddit-explorer-post-stats {\r\n        display: grid;\r\n        grid-template-columns: repeat(2, 1fr);\r\n        gap: 10px;\r\n        margin-top: auto;\r\n        padding-top: 15px;\r\n        border-top: 2px solid var(--bg-tertiary);\r\n    }\r\n\r\n    .reddit-explorer-stat-item {\r\n        display: flex;\r\n        flex-direction: column;\r\n        align-items: center;\r\n        gap: 6px;\r\n        padding: 12px;\r\n        background: var(--glass-bg);\r\n        border: 1px solid var(--glass-border);\r\n        backdrop-filter: blur(10px);\r\n        border-radius: 15px;\r\n        text-align: center;\r\n        transition: all 0.3s ease;\r\n        position: relative;\r\n        overflow: hidden;\r\n    }\r\n\r\n    .reddit-explorer-stat-item::before {\r\n        content: '';\r\n        position: absolute;\r\n        top: 0;\r\n        left: 0;\r\n        right: 0;\r\n        height: 2px;\r\n        background: var(--gradient-accent);\r\n    }\r\n\r\n    .reddit-explorer-stat-item:hover {\r\n        transform: translateY(-3px);\r\n        box-shadow: var(--shadow-sm);\r\n    }\r\n\r\n    .reddit-explorer-stat-value {\r\n        font-weight: 900;\r\n        font-size: 1.2rem;\r\n    }\r\n\r\n    .reddit-explorer-stat-label {\r\n        font-size: 0.8rem;\r\n        color: var(--text-muted);\r\n        font-weight: 600;\r\n        text-transform: capitalize;\r\n    }\r\n\r\n    .reddit-explorer-upvotes .reddit-explorer-stat-value {\r\n        color: var(--primary-color);\r\n    }\r\n\r\n    .reddit-explorer-comments .reddit-explorer-stat-value {\r\n        color: var(--secondary-color);\r\n    }\r\n\r\n    .reddit-explorer-loading {\r\n        text-align: center;\r\n        padding: 40px;\r\n        color: var(--text-primary);\r\n        font-size: 1.1rem;\r\n        display: none;\r\n    }\r\n\r\n    .reddit-explorer-spinner {\r\n        border: 4px solid var(--bg-tertiary);\r\n        border-top: 4px solid var(--primary-color);\r\n        border-radius: 50%;\r\n        width: 50px;\r\n        height: 50px;\r\n        animation: spin 1s linear infinite;\r\n        margin: 20px auto;\r\n    }\r\n\r\n    .reddit-explorer-error-message {\r\n        background: rgba(244, 67, 54, 0.1);\r\n        border: 1px solid rgba(244, 67, 54, 0.2);\r\n        color: var(--danger-color);\r\n        padding: 20px;\r\n        border-radius: 16px;\r\n        text-align: center;\r\n        margin: 20px 0;\r\n        font-weight: 600;\r\n        display: none;\r\n        font-size: 14px;\r\n    }\r\n\r\n    .reddit-explorer-modal {\r\n        display: none;\r\n        position: fixed;\r\n        z-index: 1000;\r\n        left: 0;\r\n        top: 0;\r\n        width: 100%;\r\n        height: 100%;\r\n        background-color: rgba(0, 0, 0, 0.95);\r\n        animation: fadeIn 0.3s ease;\r\n    }\r\n\r\n    .reddit-explorer-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    .reddit-explorer-modal img {\r\n        width: 100%;\r\n        height: auto;\r\n        border-radius: 20px;\r\n    }\r\n\r\n    .reddit-explorer-close {\r\n        position: absolute;\r\n        top: 20px;\r\n        right: 40px;\r\n        color: #f1f1f1;\r\n        font-size: 45px;\r\n        font-weight: bold;\r\n        cursor: pointer;\r\n        z-index: 1001;\r\n    }\r\n\r\n    .reddit-explorer-close:hover {\r\n        color: var(--primary-color);\r\n    }\r\n\r\n    .reddit-explorer-download-progress {\r\n        position: fixed;\r\n        bottom: 25px;\r\n        right: 25px;\r\n        background: var(--glass-bg);\r\n        border: 1px solid var(--glass-border);\r\n        backdrop-filter: blur(10px);\r\n        border-radius: 20px;\r\n        padding: 25px;\r\n        min-width: 350px;\r\n        box-shadow: var(--shadow-xl);\r\n        z-index: 1000;\r\n        display: none;\r\n        color: var(--text-primary);\r\n    }\r\n\r\n    .reddit-explorer-download-progress.show {\r\n        display: block;\r\n        animation: slideInRight 0.4s ease-out;\r\n    }\r\n\r\n    .reddit-explorer-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    .reddit-explorer-progress-text {\r\n        font-weight: 700;\r\n        font-size: 14px;\r\n        color: var(--text-primary);\r\n    }\r\n\r\n    .reddit-explorer-cancel-btn {\r\n        background: rgba(244, 67, 54, 0.1);\r\n        border: 1px solid rgba(244, 67, 54, 0.2);\r\n        color: var(--danger-color);\r\n        padding: 8px 16px;\r\n        border-radius: 8px;\r\n        font-size: 12px;\r\n        cursor: pointer;\r\n        transition: all 0.3s ease;\r\n        font-weight: 600;\r\n    }\r\n\r\n    .reddit-explorer-cancel-btn:hover {\r\n        background: rgba(244, 67, 54, 0.15);\r\n    }\r\n\r\n    .reddit-explorer-progress-bar-container {\r\n        width: 100%;\r\n        height: 12px;\r\n        background: var(--bg-tertiary);\r\n        border-radius: 6px;\r\n        overflow: hidden;\r\n        margin-bottom: 12px;\r\n        box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.2);\r\n    }\r\n\r\n    .reddit-explorer-progress-bar-fill {\r\n        height: 100%;\r\n        background: var(--gradient-primary);\r\n        border-radius: 6px;\r\n        width: 0%;\r\n        transition: width 0.3s ease;\r\n        box-shadow: 0 2px 8px rgba(52, 232, 158, 0.4);\r\n    }\r\n\r\n    .reddit-explorer-progress-details {\r\n        display: flex;\r\n        justify-content: space-between;\r\n        font-size: 12px;\r\n        color: var(--text-secondary);\r\n        font-weight: 500;\r\n    }\r\n\r\n    .reddit-explorer-expand-btn {\r\n        background: var(--gradient-primary);\r\n        color: white;\r\n        border: none;\r\n        padding: 8px 16px;\r\n        border-radius: 12px;\r\n        cursor: pointer;\r\n        font-size: 0.8rem;\r\n        font-weight: 600;\r\n        margin-top: 10px;\r\n        transition: all 0.3s ease;\r\n        font-family: inherit;\r\n    }\r\n\r\n    .reddit-explorer-expand-btn:hover {\r\n        transform: translateY(-2px);\r\n        box-shadow: var(--shadow-sm);\r\n    }\r\n\r\n    .reddit-explorer-video-play-overlay {\r\n        position: absolute;\r\n        top: 50%;\r\n        left: 50%;\r\n        transform: translate(-50%, -50%);\r\n        background: rgba(0, 0, 0, 0.7);\r\n        border: none;\r\n        border-radius: 50%;\r\n        width: 50px;\r\n        height: 50px;\r\n        color: white;\r\n        font-size: 20px;\r\n        cursor: pointer;\r\n        display: flex;\r\n        align-items: center;\r\n        justify-content: center;\r\n        transition: all 0.3s ease;\r\n        z-index: 5;\r\n    }\r\n\r\n    .reddit-explorer-video-play-overlay:hover {\r\n        background: rgba(0, 0, 0, 0.9);\r\n        transform: translate(-50%, -50%) scale(1.1);\r\n    }\r\n\r\n    .reddit-explorer-video-play-overlay.hidden {\r\n        display: none;\r\n    }\r\n\r\n    .reddit-explorer-new-search-btn {\r\n        background: var(--gradient-accent) !important;\r\n        min-width: 130px;\r\n    }\r\n\r\n    @keyframes float {\r\n        0%, 100% {\r\n            transform: translateY(0px) scale(1);\r\n        }\r\n        50% {\r\n            transform: translateY(-10px) scale(1.02);\r\n        }\r\n    }\r\n\r\n    @keyframes shine {\r\n        0% {\r\n            transform: translateX(-100%) translateY(-100%) rotate(45deg);\r\n        }\r\n        100% {\r\n            transform: translateX(100%) translateY(100%) rotate(45deg);\r\n        }\r\n    }\r\n\r\n    @keyframes slideInDown {\r\n        from {\r\n            opacity: 0;\r\n            transform: translateY(-30px);\r\n        }\r\n        to {\r\n            opacity: 1;\r\n            transform: translateY(0);\r\n        }\r\n    }\r\n\r\n    @keyframes slideInUp {\r\n        from {\r\n            opacity: 0;\r\n            transform: translateY(30px);\r\n        }\r\n        to {\r\n            opacity: 1;\r\n            transform: translateY(0);\r\n        }\r\n    }\r\n\r\n    @keyframes slideInRight {\r\n        from {\r\n            opacity: 0;\r\n            transform: translateX(100%);\r\n        }\r\n        to {\r\n            opacity: 1;\r\n            transform: translateX(0);\r\n        }\r\n    }\r\n\r\n    @keyframes slideUp {\r\n        from {\r\n            opacity: 0;\r\n            transform: translateY(40px);\r\n        }\r\n        to {\r\n            opacity: 1;\r\n            transform: translateY(0);\r\n        }\r\n    }\r\n\r\n    @keyframes spin {\r\n        0% {\r\n            transform: rotate(0deg);\r\n        }\r\n        100% {\r\n            transform: rotate(360deg);\r\n        }\r\n    }\r\n\r\n    @keyframes pulse {\r\n        0%, 100% {\r\n            transform: scale(1);\r\n        }\r\n        50% {\r\n            transform: scale(1.05);\r\n        }\r\n    }\r\n\r\n    @keyframes fadeIn {\r\n        from {\r\n            opacity: 0;\r\n        }\r\n        to {\r\n            opacity: 1;\r\n        }\r\n    }\r\n\r\n    .reddit-explorer-video-loading-overlay {\r\n        position: absolute;\r\n        top: 0;\r\n        left: 0;\r\n        right: 0;\r\n        bottom: 0;\r\n        background: rgba(0, 0, 0, 0.8);\r\n        display: flex;\r\n        align-items: center;\r\n        justify-content: center;\r\n        flex-direction: column;\r\n        color: white;\r\n        font-weight: 600;\r\n        z-index: 10;\r\n    }\r\n\r\n    .reddit-explorer-video-loading-spinner {\r\n        width: 30px;\r\n        height: 30px;\r\n        border: 3px solid rgba(255, 255, 255, 0.3);\r\n        border-top: 3px solid white;\r\n        border-radius: 50%;\r\n        animation: spin 1s linear infinite;\r\n        margin-bottom: 10px;\r\n    }\r\n\r\n    \/* Responsive Design *\/\r\n    @media (max-width: 1200px) {\r\n        .reddit-explorer-posts-grid {\r\n            grid-template-columns: 1fr;\r\n        }\r\n\r\n        .reddit-explorer-features-grid {\r\n            grid-template-columns: repeat(2, 1fr);\r\n        }\r\n    }\r\n\r\n    @media (max-width: 992px) {\r\n        .reddit-explorer-logo-text {\r\n            font-size: 2.5rem;\r\n        }\r\n        \r\n        .reddit-explorer-section-title {\r\n            font-size: 1.8rem;\r\n        }\r\n        \r\n        .reddit-explorer-post-title {\r\n            font-size: 1.2rem;\r\n        }\r\n    }\r\n\r\n    @media (max-width: 768px) {\r\n        .reddit-explorer-features-grid {\r\n            grid-template-columns: 1fr;\r\n        }\r\n\r\n        .reddit-explorer-user-stats {\r\n            grid-template-columns: repeat(2, 1fr);\r\n        }\r\n\r\n        .reddit-explorer-post-stats {\r\n            grid-template-columns: repeat(2, 1fr);\r\n            gap: 8px;\r\n        }\r\n\r\n        .reddit-explorer-media-controls {\r\n            flex-direction: column;\r\n        }\r\n\r\n        .reddit-explorer-control-btn {\r\n            width: 100%;\r\n            justify-content: center;\r\n        }\r\n\r\n        .reddit-explorer-search-form {\r\n            flex-direction: column;\r\n        }\r\n        \r\n        .reddit-explorer-logo-text {\r\n            font-size: 2rem;\r\n        }\r\n        \r\n        .reddit-explorer-subtitle {\r\n            font-size: 16px;\r\n        }\r\n        \r\n        .reddit-explorer-section-title {\r\n            font-size: 1.6rem;\r\n        }\r\n        \r\n        .reddit-explorer-post-title {\r\n            font-size: 1.1rem;\r\n        }\r\n    }\r\n\r\n    @media (max-width: 600px) {\r\n        .reddit-explorer-container {\r\n            padding: 15px;\r\n        }\r\n\r\n        .reddit-explorer-search-container,\r\n        .reddit-explorer-user-info,\r\n        .reddit-explorer-post-card {\r\n            padding: 20px;\r\n        }\r\n\r\n        .reddit-explorer-posts-grid {\r\n            grid-template-columns: 1fr;\r\n        }\r\n        \r\n        .reddit-explorer-logo-icon {\r\n            width: 60px;\r\n            height: 60px;\r\n            font-size: 28px;\r\n        }\r\n        \r\n        .reddit-explorer-user-avatar {\r\n            width: 60px;\r\n            height: 60px;\r\n            font-size: 2rem;\r\n        }\r\n        \r\n        .reddit-explorer-logo-text {\r\n            font-size: 1.8rem;\r\n        }\r\n        \r\n        .reddit-explorer-subtitle {\r\n            font-size: 14px;\r\n        }\r\n        \r\n        .reddit-explorer-section-title {\r\n            font-size: 1.4rem;\r\n        }\r\n        \r\n        .reddit-explorer-post-title {\r\n            font-size: 1rem;\r\n        }\r\n    }\r\n\r\n    @media (max-width: 480px) {\r\n        .reddit-explorer-post-stats {\r\n            grid-template-columns: 1fr;\r\n        }\r\n\r\n        .reddit-explorer-user-stats {\r\n            grid-template-columns: 1fr;\r\n        }\r\n\r\n        .reddit-explorer-container {\r\n            padding: 10px;\r\n        }\r\n\r\n        .reddit-explorer-search-container,\r\n        .reddit-explorer-user-info,\r\n        .reddit-explorer-post-card {\r\n            padding: 15px;\r\n        }\r\n        \r\n        .reddit-explorer-logo-icon {\r\n            width: 50px;\r\n            height: 50px;\r\n            font-size: 24px;\r\n        }\r\n        \r\n        .reddit-explorer-user-avatar {\r\n            width: 50px;\r\n            height: 50px;\r\n            font-size: 1.8rem;\r\n        }\r\n        \r\n        .reddit-explorer-logo-text {\r\n            font-size: 1.6rem;\r\n        }\r\n        \r\n        .reddit-explorer-subtitle {\r\n            font-size: 13px;\r\n        }\r\n        \r\n        .reddit-explorer-section-title {\r\n            font-size: 1.2rem;\r\n        }\r\n        \r\n        .reddit-explorer-post-title {\r\n            font-size: 0.9rem;\r\n        }\r\n    }\r\n\r\n    @media (max-width: 400px) {\r\n        .reddit-explorer-container {\r\n            padding: 8px;\r\n        }\r\n\r\n        .reddit-explorer-search-container,\r\n        .reddit-explorer-user-info,\r\n        .reddit-explorer-post-card {\r\n            padding: 12px;\r\n        }\r\n        \r\n        .reddit-explorer-logo-icon {\r\n            width: 45px;\r\n            height: 45px;\r\n            font-size: 22px;\r\n        }\r\n        \r\n        .reddit-explorer-user-avatar {\r\n            width: 45px;\r\n            height: 45px;\r\n            font-size: 1.6rem;\r\n        }\r\n        \r\n        .reddit-explorer-logo-text {\r\n            font-size: 1.4rem;\r\n        }\r\n        \r\n        .reddit-explorer-subtitle {\r\n            font-size: 12px;\r\n        }\r\n        \r\n        .reddit-explorer-section-title {\r\n            font-size: 1.1rem;\r\n        }\r\n        \r\n        .reddit-explorer-post-title {\r\n            font-size: 0.85rem;\r\n        }\r\n    }\r\n\r\n    @media (max-width: 375px) {\r\n        .reddit-explorer-container {\r\n            padding: 5px;\r\n        }\r\n\r\n        .reddit-explorer-search-container,\r\n        .reddit-explorer-user-info,\r\n        .reddit-explorer-post-card {\r\n            padding: 10px;\r\n        }\r\n        \r\n        .reddit-explorer-logo-icon {\r\n            width: 40px;\r\n            height: 40px;\r\n            font-size: 20px;\r\n        }\r\n        \r\n        .reddit-explorer-user-avatar {\r\n            width: 40px;\r\n            height: 40px;\r\n            font-size: 1.4rem;\r\n        }\r\n        \r\n        .reddit-explorer-logo-text {\r\n            font-size: 1.2rem;\r\n        }\r\n        \r\n        .reddit-explorer-subtitle {\r\n            font-size: 11px;\r\n        }\r\n        \r\n        .reddit-explorer-section-title {\r\n            font-size: 1rem;\r\n        }\r\n        \r\n        .reddit-explorer-post-title {\r\n            font-size: 0.8rem;\r\n        }\r\n    }\r\n<\/style>\r\n\r\n<div class=\"reddit-explorer-wrapper\">\r\n    <div class=\"reddit-explorer-container\">\r\n        <div class=\"reddit-explorer-header\">\r\n            <div class=\"reddit-explorer-logo\">\r\n                <div class=\"reddit-explorer-logo-icon\">\ud83d\ude80<\/div>\r\n                <h1 class=\"reddit-explorer-logo-text\">Reddit Page Viewer<\/h1>\r\n            <\/div>\r\n            <div class=\"reddit-explorer-subtitle\">Advanced Reddit user analysis with premium insights and enhanced media capabilities<\/div>\r\n            <div class=\"reddit-explorer-features-grid\">\r\n                <div class=\"reddit-explorer-feature-card\">\r\n                    <div class=\"reddit-explorer-feature-icon\">\ud83c\udfa8<\/div>\r\n                    <div class=\"reddit-explorer-feature-title\">Premium Design<\/div>\r\n                <\/div>\r\n                <div class=\"reddit-explorer-feature-card\">\r\n                    <div class=\"reddit-explorer-feature-icon\">\ud83d\udd0a<\/div>\r\n                    <div class=\"reddit-explorer-feature-title\">Audio Support<\/div>\r\n                <\/div>\r\n                <div class=\"reddit-explorer-feature-card\">\r\n                    <div class=\"reddit-explorer-feature-icon\">\ud83d\udce5<\/div>\r\n                    <div class=\"reddit-explorer-feature-title\">Smart Downloads<\/div>\r\n                <\/div>\r\n                <div class=\"reddit-explorer-feature-card\">\r\n                    <div class=\"reddit-explorer-feature-icon\">\ud83d\udcca<\/div>\r\n                    <div class=\"reddit-explorer-feature-title\">Rich Analytics<\/div>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"reddit-explorer-search-container\">\r\n            <form class=\"reddit-explorer-search-form\" id=\"searchForm\">\r\n                <input type=\"text\" class=\"reddit-explorer-search-input\" id=\"usernameInput\" placeholder=\"Enter Reddit username (e.g., kn0thing, spez, gallowboob)\" required>\r\n                <button type=\"submit\" class=\"reddit-explorer-search-btn\" id=\"searchBtn\">\r\n                    <span id=\"searchText\">\ud83d\udd0d Explore User<\/span>\r\n                    <div class=\"reddit-explorer-spinner\" id=\"searchSpinner\" style=\"display: none; width: 20px; height: 20px; margin: 0;\"><\/div>\r\n                <\/button>\r\n                <button type=\"button\" class=\"reddit-explorer-search-btn reddit-explorer-new-search-btn\" id=\"newSearchBtn\" onclick=\"redditExplorer.newSearch()\">\r\n                    \ud83d\udd04 New Search\r\n                <\/button>\r\n            <\/form>\r\n\r\n            <div class=\"reddit-explorer-loading\" id=\"loading\">\r\n                <div class=\"reddit-explorer-spinner\"><\/div>\r\n                <p>Analyzing user data and posts...<\/p>\r\n            <\/div>\r\n\r\n            <div class=\"reddit-explorer-error-message\" id=\"errorMessage\"><\/div>\r\n        <\/div>\r\n\r\n        <div class=\"reddit-explorer-user-info\" id=\"userInfo\">\r\n            <div class=\"reddit-explorer-user-header\">\r\n                <div class=\"reddit-explorer-user-avatar\" id=\"userAvatar\">U<\/div>\r\n                <div class=\"reddit-explorer-user-details\">\r\n                    <h2 id=\"userName\">Username<\/h2>\r\n                    <p class=\"reddit-explorer-user-description\" id=\"userDescription\">Reddit User Profile<\/p>\r\n                <\/div>\r\n            <\/div>\r\n            <div class=\"reddit-explorer-user-stats\" id=\"userStats\">\r\n                <!-- Stats will be populated dynamically -->\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"reddit-explorer-posts-section\" id=\"postsSection\">\r\n            <h2 class=\"reddit-explorer-section-title\" id=\"sectionTitle\">Recent Posts & Activity<\/h2>\r\n            <div id=\"postsContainer\" class=\"reddit-explorer-posts-grid\"><\/div>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <!-- Modal for image preview -->\r\n    <div id=\"imageModal\" class=\"reddit-explorer-modal\">\r\n        <span class=\"reddit-explorer-close\">\u00d7<\/span>\r\n        <div class=\"reddit-explorer-modal-content\">\r\n            <img decoding=\"async\" id=\"modalImage\" src=\"\/placeholder.svg\" alt=\"Full size image\">\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <!-- Download Progress -->\r\n    <div class=\"reddit-explorer-download-progress\" id=\"downloadProgress\">\r\n        <div class=\"reddit-explorer-progress-header\">\r\n            <span class=\"reddit-explorer-progress-text\" id=\"progressText\">Downloading...<\/span>\r\n            <button class=\"reddit-explorer-cancel-btn\" onclick=\"cancelDownload()\">Cancel<\/button>\r\n        <\/div>\r\n        <div class=\"reddit-explorer-progress-bar-container\">\r\n            <div class=\"reddit-explorer-progress-bar-fill\" id=\"progressBarFill\"><\/div>\r\n        <\/div>\r\n        <div class=\"reddit-explorer-progress-details\">\r\n            <span id=\"progressPercent\">0%<\/span>\r\n            <span id=\"progressSize\">0 MB \/ 0 MB<\/span>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>\r\n\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 RedditUserExplorerPro {\r\n        constructor() {\r\n            this.currentUser = null;\r\n            this.posts = [];\r\n            this.downloadController = null;\r\n            this.apiEndpoint = 'https:\/\/tools.xrespond.com\/api\/reddit\/users';\r\n            this.init();\r\n        }\r\n\r\n        init() {\r\n            this.bindEvents();\r\n            this.setupModal();\r\n        }\r\n\r\n        bindEvents() {\r\n            const searchForm = document.getElementById('searchForm');\r\n            const usernameInput = document.getElementById('usernameInput');\r\n\r\n            searchForm.addEventListener('submit', async (e) => {\r\n                e.preventDefault();\r\n                const username = usernameInput.value.trim();\r\n                if (!username) return;\r\n                try {\r\n                    await this.searchUser(username);\r\n                } catch (err) {\r\n                    this.showError(err && err.message ? err.message : 'Search failed');\r\n                }\r\n            });\r\n\r\n            usernameInput.addEventListener('keypress', (e) => {\r\n                if (e.key === 'Enter') {\r\n                    e.preventDefault();\r\n                    searchForm.dispatchEvent(new Event('submit'));\r\n                }\r\n            });\r\n        }\r\n\r\n        async searchUser(username) {\r\n            this.showLoading(true);\r\n            this.clearError();\r\n\r\n            try {\r\n                console.log(`\ud83d\udd0d Searching for user: ${username}`);\r\n                const userData = await this.fetchUserData(username);\r\n\r\n                if (userData && userData.data && userData.data.body && userData.data.body.length > 0) {\r\n                    this.currentUser = username;\r\n                    this.posts = userData.data.body;\r\n                    this.displayUserInfo(username, userData.data);\r\n                    this.displayPosts(userData.data.body);\r\n                    this.showPostsSection(true);\r\n                    console.log(`\u2705 Success! Found ${userData.data.body.length} posts for ${username}`);\r\n                } else {\r\n                    this.showError(`No posts found for user \"${username}\". The user might not exist, have no posts, or their profile might be private.`);\r\n                    this.showPostsSection(false);\r\n                }\r\n            } catch (error) {\r\n                console.error('\u274c Error details:', error);\r\n                this.showError(`Failed to fetch posts for \"${username}\". Error: ${error.message}`);\r\n                this.showPostsSection(false);\r\n            } finally {\r\n                this.showLoading(false);\r\n            }\r\n        }\r\n\r\n        async fetchUserData(username) {\r\n            try {\r\n                const response = await fetch(this.apiEndpoint, {\r\n                    method: 'POST',\r\n                    headers: {\r\n                        'Content-Type': 'application\/x-www-form-urlencoded',\r\n                    },\r\n                    body: `username=${encodeURIComponent(username)}`\r\n                });\r\n\r\n                if (!response.ok) {\r\n                    throw new Error(`API request failed: ${response.status} ${response.statusText}`);\r\n                }\r\n\r\n                const data = await response.json();\r\n\r\n                if (data.status !== 'success') {\r\n                    throw new Error('API returned unsuccessful status');\r\n                }\r\n\r\n                return data;\r\n            } catch (error) {\r\n                console.error('API Error:', error);\r\n                throw error;\r\n            }\r\n        }\r\n\r\n        displayUserInfo(username, userData) {\r\n            const userInfo = document.getElementById('userInfo');\r\n            const userAvatar = document.getElementById('userAvatar');\r\n            const userName = document.getElementById('userName');\r\n            const userDescription = document.getElementById('userDescription');\r\n            const userStats = document.getElementById('userStats');\r\n\r\n            userAvatar.textContent = username.charAt(0).toUpperCase();\r\n            userName.textContent = `u\/${username}`;\r\n            userDescription.textContent = `Reddit User \u2022 ${userData.body.length} posts analyzed`;\r\n\r\n            \/\/ Calculate comprehensive stats from the posts\r\n            const posts = userData.body.filter(item => item.title); \/\/ Filter actual posts\r\n            const comments = userData.body.filter(item => item.body && !item.title); \/\/ Filter comments\r\n\r\n            const totalUpvotes = userData.body.reduce((sum, item) => sum + (item.ups || 0), 0);\r\n            const totalComments = posts.reduce((sum, post) => sum + (post.num_comments || 0), 0);\r\n            const totalAwards = userData.body.reduce((sum, item) => sum + (item.total_awards_received || 0), 0);\r\n            const avgUpvoteRatio = posts.length > 0 ?\r\n                posts.reduce((sum, post) => sum + (post.upvote_ratio || 0), 0) \/ posts.length : 0;\r\n\r\n            userStats.innerHTML = `\r\n                <div class=\"reddit-explorer-stat-card\">\r\n                    <div class=\"reddit-explorer-stat-number\">${this.formatNumber(totalUpvotes)}<\/div>\r\n                    <div class=\"reddit-explorer-stat-label\">Total Upvotes<\/div>\r\n                <\/div>\r\n                <div class=\"reddit-explorer-stat-card\">\r\n                    <div class=\"reddit-explorer-stat-number\">${posts.length}<\/div>\r\n                    <div class=\"reddit-explorer-stat-label\">Posts Created<\/div>\r\n                <\/div>\r\n                <div class=\"reddit-explorer-stat-card\">\r\n                    <div class=\"reddit-explorer-stat-number\">${comments.length}<\/div>\r\n                    <div class=\"reddit-explorer-stat-label\">Comments Made<\/div>\r\n                <\/div>\r\n                <div class=\"reddit-explorer-stat-card\">\r\n                    <div class=\"reddit-explorer-stat-number\">${totalAwards}<\/div>\r\n                    <div class=\"reddit-explorer-stat-label\">Awards Received<\/div>\r\n                <\/div>\r\n                <div class=\"reddit-explorer-stat-card\">\r\n                    <div class=\"reddit-explorer-stat-number\">${Math.round(avgUpvoteRatio * 100)}%<\/div>\r\n                    <div class=\"reddit-explorer-stat-label\">Avg. Upvote Ratio<\/div>\r\n                <\/div>\r\n            `;\r\n\r\n            userInfo.style.display = 'block';\r\n        }\r\n\r\n        displayPosts(posts) {\r\n            const container = document.getElementById('postsContainer');\r\n            const sectionTitle = document.getElementById('sectionTitle');\r\n\r\n            sectionTitle.textContent = `${posts.length} Posts & Comments from u\/${this.currentUser}`;\r\n            container.innerHTML = '';\r\n\r\n            posts.forEach((post, index) => {\r\n                const postCard = this.createPostCard(post);\r\n                postCard.style.animationDelay = `${index * 0.1}s`;\r\n                container.appendChild(postCard);\r\n            });\r\n        }\r\n\r\n        createPostCard(post) {\r\n            const card = document.createElement('div');\r\n            card.className = 'reddit-explorer-post-card';\r\n\r\n            \/\/ Determine if this is a post or comment\r\n            const isPost = !!post.title;\r\n            const isComment = !!post.body && !post.title;\r\n            const isVideo = post.is_video || (post.secure_media && post.secure_media.reddit_video);\r\n            const hasImage = post.preview && post.preview.images && post.preview.images.length > 0;\r\n            const isExternalLink = isPost && post.url && !post.url.includes('reddit.com') && !isVideo && !hasImage;\r\n\r\n            let mediaContent = '';\r\n            let postType = isComment ? 'Comment' : isPost ? 'Post' : 'Activity';\r\n\r\n            if (isVideo && post.secure_media && post.secure_media.reddit_video) {\r\n                postType = 'Video';\r\n                const video = post.secure_media.reddit_video;\r\n                const videoUrl = video.fallback_url;\r\n                const redditPostUrl = `https:\/\/www.reddit.com${post.permalink}`;\r\n\r\n                mediaContent = `\r\n                    <div class=\"reddit-explorer-media-container\">\r\n                        <div class=\"reddit-explorer-video-container\">\r\n                            <video class=\"reddit-explorer-video-player\" controls preload=\"metadata\" id=\"video-${post.id}\" onclick=\"redditExplorer.toggleVideoPlayPause('${post.id}')\">\r\n                                <source src=\"${videoUrl}\" type=\"video\/mp4\">\r\n                                Your browser does not support the video tag.\r\n                            <\/video>\r\n                            <button class=\"reddit-explorer-video-play-overlay\" id=\"play-overlay-${post.id}\" onclick=\"redditExplorer.toggleVideoPlayPause('${post.id}')\">\u25b6<\/button>\r\n                        <\/div>\r\n                        <div class=\"reddit-explorer-media-controls\">\r\n                            ${video.has_audio ? `\r\n                                <button class=\"reddit-explorer-control-btn reddit-explorer-stream-audio-btn\" onclick=\"redditExplorer.streamWithAudio(event, '${redditPostUrl}', '${post.id}')\">\r\n                                    \ud83d\udd0a Stream with Audio\r\n                                <\/button>\r\n                            ` : ''}\r\n                            <button class=\"reddit-explorer-control-btn reddit-explorer-download-btn\" onclick=\"redditExplorer.downloadVideoWithAudio(event, '${redditPostUrl}', '${this.sanitizeFilename(post.title || 'video')}.mp4', '${post.id}')\">\r\n                                \ud83d\udce5 Download Video\r\n                            <\/button>\r\n                        <\/div>\r\n                    <\/div>\r\n                `;\r\n            } else if (hasImage) {\r\n                postType = 'Image';\r\n                const image = post.preview.images[0];\r\n                const imageUrl = image.source.url.replace(\/&\/g, '&');\r\n                mediaContent = `\r\n                    <div class=\"reddit-explorer-media-container\">\r\n                        <img decoding=\"async\" src=\"${imageUrl}\" alt=\"${post.title || 'Image'}\" class=\"reddit-explorer-image-preview\" onclick=\"redditExplorer.openImageModal('${imageUrl}')\">\r\n                        <div class=\"reddit-explorer-media-controls\">\r\n                            <button class=\"reddit-explorer-control-btn reddit-explorer-download-btn\" onclick=\"redditExplorer.downloadImage(event, '${imageUrl}', '${this.sanitizeFilename(post.title || 'image')}.jpg')\">\r\n                                \ud83d\udce5 Download Image\r\n                            <\/button>\r\n                        <\/div>\r\n                    <\/div>\r\n                `;\r\n            } else if (isExternalLink) {\r\n                postType = 'Link';\r\n            }\r\n\r\n            let externalLinkContent = '';\r\n            if (isExternalLink && post.url) {\r\n                externalLinkContent = `\r\n                    <a href=\"${post.url}\" target=\"_blank\" class=\"reddit-explorer-external-link\">\r\n                        \ud83d\udd17 Visit ${post.domain || 'External Link'}\r\n                    <\/a>\r\n                `;\r\n            }\r\n\r\n            \/\/ Enhanced post badges\r\n            let badges = '';\r\n            if (post.distinguished === 'admin') badges += '<span class=\"reddit-explorer-badge admin\">\ud83d\udc51 Admin<\/span>';\r\n            if (post.distinguished === 'moderator') badges += '<span class=\"reddit-explorer-badge admin\">\ud83d\udee1\ufe0f Mod<\/span>';\r\n            if (post.stickied) badges += '<span class=\"reddit-explorer-badge stickied\">\ud83d\udccc Stickied<\/span>';\r\n            if (post.archived) badges += '<span class=\"reddit-explorer-badge archived\">\ud83d\uddc3\ufe0f Archived<\/span>';\r\n            if (post.locked) badges += '<span class=\"reddit-explorer-badge locked\">\ud83d\udd12 Locked<\/span>';\r\n            if (post.over_18) badges += '<span class=\"reddit-explorer-badge nsfw\">\ud83d\udd1e NSFW<\/span>';\r\n\r\n            \/\/ Content handling for both posts and comments\r\n            let contentText = '';\r\n            if (isComment && post.body) {\r\n                const isLongText = post.body.length > 300;\r\n                const truncatedText = isLongText ? this.truncateText(post.body, 300) : post.body;\r\n                contentText = `\r\n                    <div class=\"reddit-explorer-post-text\" id=\"text-${post.id}\">${truncatedText}<\/div>\r\n                    ${isLongText ? `\r\n                        <button class=\"reddit-explorer-expand-btn\" data-post-id=\"${post.id}\" data-full-text=\"${this.escapeHtml(post.body)}\" onclick=\"redditExplorer.toggleText(this)\">\r\n                            Show More\r\n                        <\/button>\r\n                    ` : ''}\r\n                `;\r\n            } else if (isPost && post.selftext) {\r\n                const isLongText = post.selftext.length > 300;\r\n                const truncatedText = isLongText ? this.truncateText(post.selftext, 300) : post.selftext;\r\n                contentText = `\r\n                    <div class=\"reddit-explorer-post-text\" id=\"text-${post.id}\">${truncatedText}<\/div>\r\n                    ${isLongText ? `\r\n                        <button class=\"reddit-explorer-expand-btn\" data-post-id=\"${post.id}\" data-full-text=\"${this.escapeHtml(post.selftext)}\" onclick=\"redditExplorer.toggleText(this)\">\r\n                            Show More\r\n                        <\/button>\r\n                    ` : ''}\r\n                `;\r\n            }\r\n\r\n            \/\/ Title handling\r\n            const title = post.title || (isComment ? `Comment in: ${post.link_title || 'Discussion'}` : 'Reddit Activity');\r\n\r\n            card.innerHTML = `\r\n                <div class=\"reddit-explorer-post-header\">\r\n                    <div class=\"reddit-explorer-subreddit-info\">\r\n                        <div class=\"reddit-explorer-subreddit-badge\">${post.subreddit_name_prefixed || 'r\/unknown'}<\/div>\r\n                        <div class=\"reddit-explorer-post-type\">${postType}<\/div>\r\n                    <\/div>\r\n                    <div class=\"reddit-explorer-post-meta\">\r\n                        ${this.formatDate(post.created_utc)}\r\n                        ${post.edited ? ` \u2022 Edited` : ''}\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                ${badges ? `<div class=\"reddit-explorer-post-badges\">${badges}<\/div>` : ''}\r\n\r\n                <h2 class=\"reddit-explorer-post-title\">${title}<\/h2>\r\n\r\n                <div class=\"reddit-explorer-post-content\">\r\n                    ${contentText}\r\n                    ${mediaContent}\r\n                    ${externalLinkContent}\r\n                <\/div>\r\n\r\n                <div class=\"reddit-explorer-post-stats\">\r\n                    <div class=\"reddit-explorer-stat-item reddit-explorer-upvotes\">\r\n                        <div class=\"reddit-explorer-stat-value\">${this.formatNumber(post.ups || 0)}<\/div>\r\n                        <div class=\"reddit-explorer-stat-label\">Upvotes<\/div>\r\n                    <\/div>\r\n                    <div class=\"reddit-explorer-stat-item reddit-explorer-comments\">\r\n                        <div class=\"reddit-explorer-stat-value\">${this.formatNumber(post.num_comments || 0)}<\/div>\r\n                        <div class=\"reddit-explorer-stat-label\">Comments<\/div>\r\n                    <\/div>\r\n                <\/div>\r\n            `;\r\n\r\n            return card;\r\n        }\r\n\r\n        toggleText(button) {\r\n            const postId = button.getAttribute('data-post-id');\r\n            const fullText = button.getAttribute('data-full-text');\r\n            const textElement = document.getElementById(`text-${postId}`);\r\n\r\n            if (button.textContent.trim() === 'Show More') {\r\n                textElement.innerHTML = fullText;\r\n                button.textContent = 'Show Less';\r\n            } else {\r\n                textElement.innerHTML = this.truncateText(fullText, 300);\r\n                button.textContent = 'Show More';\r\n            }\r\n        }\r\n\r\n        escapeHtml(text) {\r\n            const div = document.createElement('div');\r\n            div.textContent = text;\r\n            return div.innerHTML;\r\n        }\r\n\r\n        playVideo(postId) {\r\n            const video = document.getElementById(`video-${postId}`);\r\n            const overlay = document.getElementById(`play-overlay-${postId}`);\r\n\r\n            if (video.paused) {\r\n                video.play();\r\n                overlay.innerHTML = '\u23f8\ufe0f';\r\n                overlay.style.display = 'flex';\r\n            } else {\r\n                video.pause();\r\n                overlay.innerHTML = '\u25b6';\r\n                overlay.style.display = 'flex';\r\n            }\r\n\r\n            \/\/ Update overlay when video ends\r\n            video.addEventListener('ended', () => {\r\n                overlay.innerHTML = '\u25b6';\r\n                overlay.style.display = 'flex';\r\n            });\r\n        }\r\n\r\n        toggleVideoPlayPause(postId) {\r\n            const video = document.getElementById(`video-${postId}`);\r\n            const overlay = document.getElementById(`play-overlay-${postId}`);\r\n\r\n            if (video.paused) {\r\n                video.play();\r\n                overlay.innerHTML = '\u23f8\ufe0f';\r\n                overlay.style.display = 'flex';\r\n            } else {\r\n                video.pause();\r\n                overlay.innerHTML = '\u25b6';\r\n                overlay.style.display = 'flex';\r\n            }\r\n        }\r\n\r\n        async streamWithAudio(event, redditUrl, postId) {\r\n            const button = event.target;\r\n            const originalText = button.innerHTML;\r\n            const videoContainer = document.querySelector(`#video-${postId}`).parentElement;\r\n\r\n            \/\/ Show loading overlay\r\n            const loadingOverlay = document.createElement('div');\r\n            loadingOverlay.className = 'reddit-explorer-video-loading-overlay';\r\n            loadingOverlay.innerHTML = `\r\n                <div class=\"reddit-explorer-video-loading-spinner\"><\/div>\r\n                <div>Loading audio-enabled video...<\/div>\r\n            `;\r\n            videoContainer.appendChild(loadingOverlay);\r\n\r\n            button.disabled = true;\r\n            button.classList.add('loading');\r\n            button.innerHTML = '\u23f3 Loading Audio...';\r\n\r\n            try {\r\n                console.log('Fetching audio-enabled video for:', redditUrl);\r\n\r\n                const response = await fetch('https:\/\/tools.xrespond.com\/api\/reddit\/video\/downloader', {\r\n                    method: 'POST',\r\n                    headers: {\r\n                        'Content-Type': 'application\/x-www-form-urlencoded',\r\n                    },\r\n                    body: `url=${encodeURIComponent(redditUrl)}`\r\n                });\r\n\r\n                if (!response.ok) {\r\n                    throw new Error(`API request failed: ${response.status}`);\r\n                }\r\n\r\n                const data = await response.json();\r\n\r\n                if (data.success && data.data && data.data.data && data.data.data.links && data.data.data.links.length > 0) {\r\n                    const downloadUrl = data.data.data.links[0].download_url;\r\n\r\n                    const videoElement = document.getElementById(`video-${postId}`);\r\n                    if (videoElement) {\r\n                        videoElement.src = downloadUrl;\r\n                        videoElement.load();\r\n\r\n                        button.innerHTML = '\ud83d\udd0a Audio Loaded!';\r\n                        button.style.background = 'var(--gradient-accent)';\r\n\r\n                        setTimeout(() => {\r\n                            button.innerHTML = '\ud83d\udd0a Stream with Audio';\r\n                            button.style.background = '';\r\n                            button.disabled = false;\r\n                            button.classList.remove('loading');\r\n                        }, 2000);\r\n                    }\r\n                } else {\r\n                    throw new Error('Invalid API response format');\r\n                }\r\n            } catch (error) {\r\n                console.error('Error fetching audio video:', error);\r\n                button.innerHTML = '\u274c Audio Failed';\r\n                button.style.background = 'var(--gradient-accent)';\r\n\r\n                setTimeout(() => {\r\n                    button.innerHTML = originalText;\r\n                    button.style.background = '';\r\n                    button.disabled = false;\r\n                    button.classList.remove('loading');\r\n                }, 3000);\r\n            } finally {\r\n                \/\/ Remove loading overlay\r\n                if (loadingOverlay && loadingOverlay.parentElement) {\r\n                    loadingOverlay.parentElement.removeChild(loadingOverlay);\r\n                }\r\n            }\r\n        }\r\n\r\n        async downloadVideoWithAudio(event, redditUrl, filename, postId) {\r\n            const button = event.target;\r\n            const originalText = button.innerHTML;\r\n            button.disabled = true;\r\n            button.classList.add('downloading');\r\n            button.innerHTML = '\u23f3 Preparing...';\r\n\r\n            this.downloadController = new AbortController();\r\n\r\n            try {\r\n                this.showDownloadProgress('Fetching audio-enabled video...', 0);\r\n\r\n                const response = await fetch('https:\/\/tools.xrespond.com\/api\/reddit\/video\/downloader', {\r\n                    method: 'POST',\r\n                    headers: {\r\n                        'Content-Type': 'application\/x-www-form-urlencoded',\r\n                    },\r\n                    body: `url=${encodeURIComponent(redditUrl)}`,\r\n                    signal: this.downloadController.signal\r\n                });\r\n\r\n                if (!response.ok) {\r\n                    throw new Error(`API request failed: ${response.status}`);\r\n                }\r\n\r\n                const data = await response.json();\r\n\r\n                if (data.success && data.data && data.data.data && data.data.data.links && data.data.data.links.length > 0) {\r\n                    const downloadUrl = data.data.data.links[0].download_url;\r\n\r\n                    this.showDownloadProgress('Starting video download...', 10);\r\n\r\n                    const videoResponse = await fetch(downloadUrl, {\r\n                        signal: this.downloadController.signal\r\n                    });\r\n\r\n                    if (!videoResponse.ok) {\r\n                        throw new Error(`Download failed: ${videoResponse.status}`);\r\n                    }\r\n\r\n                    const totalSize = parseInt(videoResponse.headers.get('content-length') || '0');\r\n                    const reader = videoResponse.body.getReader();\r\n                    let receivedSize = 0;\r\n                    const chunks = [];\r\n\r\n                    while (true) {\r\n                        const { done, value } = await reader.read();\r\n                        if (done) break;\r\n\r\n                        chunks.push(value);\r\n                        receivedSize += value.length;\r\n\r\n                        const progress = totalSize ? 10 + (receivedSize \/ totalSize) * 80 : 50;\r\n                        this.showDownloadProgress('Downloading video with audio...', progress, receivedSize, totalSize);\r\n                    }\r\n\r\n                    this.showDownloadProgress('Processing download...', 95, receivedSize, totalSize);\r\n\r\n                    const blob = new Blob(chunks, { type: 'video\/mp4' });\r\n                    const downloadBlobUrl = URL.createObjectURL(blob);\r\n\r\n                    const a = document.createElement('a');\r\n                    a.href = downloadBlobUrl;\r\n                    a.download = filename;\r\n                    a.style.display = 'none';\r\n                    document.body.appendChild(a);\r\n                    a.click();\r\n                    document.body.removeChild(a);\r\n\r\n                    setTimeout(() => URL.revokeObjectURL(downloadBlobUrl), 1000);\r\n\r\n                    this.showDownloadProgress('Download completed!', 100, receivedSize, totalSize);\r\n                    setTimeout(() => this.hideDownloadProgress(), 3000);\r\n                } else {\r\n                    throw new Error('Invalid API response format');\r\n                }\r\n            } catch (error) {\r\n                if (error.name === 'AbortError') {\r\n                    this.showDownloadProgress('Download cancelled', 0);\r\n                    setTimeout(() => this.hideDownloadProgress(), 2000);\r\n                } else {\r\n                    console.error('Download error:', error);\r\n                    this.showError(`Download failed: ${error.message}`);\r\n                    this.hideDownloadProgress();\r\n                }\r\n            } finally {\r\n                button.disabled = false;\r\n                button.classList.remove('downloading');\r\n                button.innerHTML = originalText;\r\n                this.downloadController = null;\r\n            }\r\n        }\r\n\r\n        async downloadImage(event, url, filename) {\r\n            const downloadBtn = event.target;\r\n            const originalText = downloadBtn.innerHTML;\r\n            downloadBtn.disabled = true;\r\n            downloadBtn.classList.add('downloading');\r\n            downloadBtn.innerHTML = '\u23f3 Preparing...';\r\n\r\n            this.downloadController = new AbortController();\r\n\r\n            try {\r\n                this.showDownloadProgress(`Starting image download...`, 0);\r\n\r\n                const response = await fetch(url, {\r\n                    signal: this.downloadController.signal\r\n                });\r\n\r\n                if (!response.ok) {\r\n                    throw new Error(`HTTP error! status: ${response.status}`);\r\n                }\r\n\r\n                const totalSize = parseInt(response.headers.get('content-length') || '0');\r\n                const reader = response.body.getReader();\r\n                let receivedSize = 0;\r\n                const chunks = [];\r\n\r\n                while (true) {\r\n                    const { done, value } = await reader.read();\r\n                    if (done) break;\r\n\r\n                    chunks.push(value);\r\n                    receivedSize += value.length;\r\n\r\n                    const progress = totalSize ? (receivedSize \/ totalSize) * 100 : 0;\r\n                    this.showDownloadProgress(`Downloading image...`, progress, receivedSize, totalSize);\r\n                }\r\n\r\n                this.showDownloadProgress('Processing download...', 95, receivedSize, totalSize);\r\n\r\n                const blob = new Blob(chunks, { type: 'image\/jpeg' });\r\n                const downloadUrl = URL.createObjectURL(blob);\r\n\r\n                const a = document.createElement('a');\r\n                a.href = downloadUrl;\r\n                a.download = filename;\r\n                a.style.display = 'none';\r\n                document.body.appendChild(a);\r\n                a.click();\r\n                document.body.removeChild(a);\r\n\r\n                setTimeout(() => URL.revokeObjectURL(downloadUrl), 1000);\r\n\r\n                this.showDownloadProgress('Download completed!', 100, receivedSize, totalSize);\r\n                setTimeout(() => this.hideDownloadProgress(), 3000);\r\n\r\n            } catch (error) {\r\n                if (error.name === 'AbortError') {\r\n                    this.showDownloadProgress('Download cancelled', 0);\r\n                    setTimeout(() => this.hideDownloadProgress(), 2000);\r\n                } else {\r\n                    this.showError(`Download failed: ${error.message}`);\r\n                    this.hideDownloadProgress();\r\n                }\r\n            } finally {\r\n                downloadBtn.disabled = false;\r\n                downloadBtn.classList.remove('downloading');\r\n                downloadBtn.innerHTML = originalText;\r\n                this.downloadController = null;\r\n            }\r\n        }\r\n\r\n        showDownloadProgress(text, progress = 0, downloaded = 0, total = 0) {\r\n            const progressDiv = document.getElementById('downloadProgress');\r\n            const progressText = document.getElementById('progressText');\r\n            const progressFill = document.getElementById('progressBarFill');\r\n            const progressPercent = document.getElementById('progressPercent');\r\n            const progressSize = document.getElementById('progressSize');\r\n\r\n            progressText.textContent = text;\r\n            progressFill.style.width = `${progress}%`;\r\n            progressPercent.textContent = `${Math.round(progress)}%`;\r\n            progressSize.textContent = `${this.formatFileSize(downloaded)} \/ ${this.formatFileSize(total)}`;\r\n\r\n            progressDiv.classList.add('show');\r\n        }\r\n\r\n        hideDownloadProgress() {\r\n            document.getElementById('downloadProgress').classList.remove('show');\r\n        }\r\n\r\n        cancelDownload() {\r\n            if (this.downloadController) {\r\n                this.downloadController.abort();\r\n                this.downloadController = null;\r\n            }\r\n        }\r\n\r\n        formatFileSize(bytes) {\r\n            if (bytes === 0) return '0 Bytes';\r\n            const k = 1024;\r\n            const sizes = ['Bytes', 'KB', 'MB', 'GB'];\r\n            const i = Math.floor(Math.log(bytes) \/ Math.log(k));\r\n            return parseFloat((bytes \/ Math.pow(k, i)).toFixed(2)) + ' ' + sizes[i];\r\n        }\r\n\r\n        async newSearch() {\r\n            const usernameEl = document.getElementById('usernameInput');\r\n            const username = usernameEl.value.trim();\r\n            \/\/ If a username is present, treat New Search as \"search now with captcha\"\r\n            if (username) {\r\n                try {\r\n                    const token = await this.requestCaptchaToken('hello', 'Please verify to search');\r\n                    await this.searchUser(username, token);\r\n                } catch (err) {\r\n                    this.showError(err && err.message ? err.message : 'Captcha verification required');\r\n                }\r\n                return;\r\n            }\r\n\r\n            \/\/ Otherwise, behave as a reset\r\n            usernameEl.value = '';\r\n            document.getElementById('userInfo').style.display = 'none';\r\n            document.getElementById('postsSection').style.display = 'none';\r\n            this.clearError();\r\n            usernameEl.focus();\r\n        }\r\n\r\n        setupModal() {\r\n            const modal = document.getElementById('imageModal');\r\n            const closeBtn = document.querySelector('.reddit-explorer-close');\r\n\r\n            closeBtn.onclick = () => {\r\n                modal.style.display = 'none';\r\n            }\r\n\r\n            window.onclick = (event) => {\r\n                if (event.target === modal) {\r\n                    modal.style.display = 'none';\r\n                }\r\n            }\r\n        }\r\n\r\n        openImageModal(imageUrl) {\r\n            const modal = document.getElementById('imageModal');\r\n            const modalImg = document.getElementById('modalImage');\r\n            modal.style.display = 'block';\r\n            modalImg.src = imageUrl;\r\n        }\r\n\r\n        showLoading(show) {\r\n            const searchBtn = document.getElementById('searchBtn');\r\n            const searchText = document.getElementById('searchText');\r\n            const searchSpinner = document.getElementById('searchSpinner');\r\n            const loading = document.getElementById('loading');\r\n\r\n            if (show) {\r\n                searchBtn.disabled = true;\r\n                searchText.style.display = 'none';\r\n                searchSpinner.style.display = 'block';\r\n                loading.style.display = 'block';\r\n            } else {\r\n                searchBtn.disabled = false;\r\n                searchText.style.display = 'block';\r\n                searchSpinner.style.display = 'none';\r\n                loading.style.display = 'none';\r\n            }\r\n        }\r\n\r\n        showPostsSection(show) {\r\n            const postsSection = document.getElementById('postsSection');\r\n            postsSection.style.display = show ? 'block' : 'none';\r\n        }\r\n\r\n        showError(message) {\r\n            const errorContainer = document.getElementById('errorMessage');\r\n            errorContainer.textContent = message;\r\n            errorContainer.style.display = 'block';\r\n            setTimeout(() => {\r\n                errorContainer.style.display = 'none';\r\n            }, 8000);\r\n        }\r\n\r\n        clearError() {\r\n            document.getElementById('errorMessage').style.display = 'none';\r\n        }\r\n\r\n        formatNumber(num) {\r\n            if (num >= 1000000) {\r\n                return (num \/ 1000000).toFixed(1) + 'M';\r\n            } else if (num >= 1000) {\r\n                return (num \/ 1000).toFixed(1) + 'K';\r\n            }\r\n            return num.toString();\r\n        }\r\n\r\n        formatDate(timestamp) {\r\n            return new Date(timestamp * 1000).toLocaleDateString('en-US', {\r\n                year: 'numeric',\r\n                month: 'short',\r\n                day: 'numeric'\r\n            });\r\n        }\r\n\r\n        formatDuration(seconds) {\r\n            const mins = Math.floor(seconds \/ 60);\r\n            const secs = seconds % 60;\r\n            return `${mins}:${secs.toString().padStart(2, '0')}`;\r\n        }\r\n\r\n        truncateText(text, maxLength) {\r\n            if (text.length <= maxLength) return text;\r\n            return text.substring(0, maxLength) + '...';\r\n        }\r\n\r\n        sanitizeFilename(filename) {\r\n            return filename.replace(\/[^a-z0-9]\/gi, '_').toLowerCase();\r\n        }\r\n    }\r\n\r\n    \/\/ Global function for cancel download\r\n    function cancelDownload() {\r\n        redditExplorer.cancelDownload();\r\n    }\r\n\r\n    \/\/ Initialize the app\r\n    const redditExplorer = new RedditUserExplorerPro();\r\n<\/script><style>       \r\n  :root{\r\n    --grad: linear-gradient(45deg,#FF4500 0%,#FF5700 50%,#FF6347 100%);\r\n    --brand:#FF4500;\r\n    --ink:#333;\r\n    --muted:#666;\r\n    --muted-2:#9498a1;\r\n    --light:#f8f9fa;\r\n    --card:#fff;\r\n    --radius:15px;\r\n    --sh:0 4px 12px rgba(0,0,0,.08);\r\n    --sh-lg:0 8px 24px rgba(0,0,0,.12);\r\n    --t:.3s ease;\r\n  }\r\n\r\n  \/* ---------- Titles ---------- *\/\r\n  .rd-pv-section-title{text-align:center; margin-bottom:60px;}\r\n  .rd-pv-section-title h2{font-weight:700; font-size:2.5rem; color:var(--brand); margin:0 0 12px;}\r\n  .rd-pv-section-title p{color:var(--muted); max-width:700px; margin:0 auto; font-size:1.05rem;}\r\n \r\n  \/* ---------- Cards ---------- *\/\r\n  .cv-card{\r\n    background:var(--card); border-radius:var(--radius); box-shadow:var(--sh);\r\n    height:100%; transition:var(--t); padding:30px;\r\n  }\r\n  .cv-card:hover{transform:translateY(-10px); box-shadow:var(--sh-lg);}\r\n\r\n  \/* Steps *\/\r\n  .rd-pv-step{ position:relative; text-align:center; }\r\n  .rd-pv-step .rd-pv-step-icon{\r\n    width:80px; height:80px; margin:0 auto 22px; border-radius:50%; display:flex; align-items:center; justify-content:center;\r\n    background:var(--grad); color:#fff; font-size:2rem; box-shadow:0 5px 15px rgba(0,0,0,.1); transition:var(--t);\r\n  }\r\n  .rd-pv-step:hover .rd-pv-step-icon{ transform:scale(1.08); }\r\n  .rd-pv-step h3{font-size:1.25rem; font-weight:700; color:var(--brand); margin:0 0 10px;}\r\n  .rd-pv-step p{color:var(--muted); margin:0;}\r\n\r\n  \/* Features *\/\r\n  .rd-pv-feature-card .rd-pv-feature-icon{font-size:2rem; display:block; margin-bottom:14px;}\r\n  .rd-pv-feature-card h3{font-size:1.2rem; font-weight:700; color:var(--brand); margin:0 0 10px;}\r\n  .rd-pv-feature-card p{color:var(--muted); margin:0;}\r\n\r\n  \/* FAQ *\/\r\n  .vr-tool-faq{ margin: 30px auto; }\r\n  .rd-pv-faq-item{ border-radius:12px; overflow:hidden; box-shadow:var(--sh); transition:var(--t); background:#fff; }\r\n  .rd-pv-faq-item:hover{ box-shadow:var(--sh-lg); }\r\n  .rd-pv-faq-question{\r\n    width:100%; padding:20px 24px; display:flex; justify-content:space-between; align-items:center;\r\n    background:#fff; border:none; text-align:left; font-weight:700; font-size:1.05rem; color:var(--brand); transition:var(--t);\r\n  }\r\n  .rd-pv-faq-question:hover{ background:rgba(255,69,0,.05); }\r\n  .rd-pv-faq-question:not(.collapsed){ background:rgba(255,69,0,.1); }\r\n  .rd-pv-faq-question:not(.collapsed)::after{ transform:rotate(180deg); }\r\n  .rd-pv-faq-answer{ padding:0 24px 22px; color:var(--muted); line-height:1.7; }\r\n\r\n  \/* CTA *\/\r\n  .vr-tool-cta{\r\n    background:var(--grad);\r\n    color:#fff;\r\n    text-align:center;\r\n    padding:50px 0;\r\n  }\r\n  .vr-tool-cta .rd-pv-cta-title{\r\n    font-size:2.4rem;\r\n    font-weight:700;\r\n    margin:0 0 20px;\r\n    line-height:1.2;\r\n  }\r\n  .vr-tool-cta .rd-pv-cta-sub{\r\n    max-width:800px;\r\n    margin:0 auto 30px;\r\n    font-size:1.1rem;\r\n    color:rgba(255,255,255,.92);\r\n  }\r\n  .vr-tool-cta .rd-pv-cta-group .btn{\r\n    background:#fff;\r\n    color:var(--brand);\r\n    font-weight:600;\r\n    padding:14px 32px;\r\n    border-radius:50px;\r\n    box-shadow:var(--sh);\r\n    transition:var(--t);\r\n    text-decoration:none;\r\n    display:inline-block;\r\n  }\r\n  .vr-tool-cta .rd-pv-cta-group .btn:hover{\r\n    transform:translateY(-3px);\r\n    box-shadow:var(--sh-lg);\r\n  }\r\n  .vr-tool-cta .rd-pv-cta-note{\r\n    margin-top:14px;\r\n    font-size:.95rem;\r\n    color:rgba(255,255,255,.85);\r\n  }\r\n\r\n  @keyframes fadeUp{ from{opacity:0; transform:translateY(14px)} to{opacity:1; transform:none} }\r\n  .animate-in{ animation: fadeUp .6s ease both; }\r\n\r\n  @media (max-width:991px){\r\n    .rd-pv-section-title h2{font-size:2.1rem}\r\n    .vr-tool-cta .rd-pv-cta-title{font-size:2.1rem}\r\n  }\r\n  @media (max-width:767px){\r\n    .rd-pv-section-title h2{font-size:1.8rem}\r\n    .cv-card{margin-bottom:20px}\r\n    .vr-tool-cta{padding:60px 0}\r\n    .vr-tool-cta .rd-pv-cta-title{font-size:1.8rem}\r\n    .vr-tool-cta .rd-pv-cta-sub{font-size:1rem}\r\n  }\r\n<\/style>\r\n\r\n<!-- How It Works -->\r\n<section class=\"vr-tool-how\">\r\n  <div class=\"container\">\r\n    <div class=\"rd-pv-section-title\">\r\n      <h2>How to Use the Reddit Page Viewer<\/h2>\r\n      <p>Follow these steps to browse Reddit pages anonymously.<\/p>\r\n    <\/div>\r\n\r\n    <div class=\"row g-4\">\r\n      <div class=\"col-md-3\">\r\n        <div class=\"cv-card rd-pv-step\">\r\n          <div class=\"rd-pv-step-icon\"><i class=\"fas fa-link\"><\/i><\/div>\r\n          <h3>Enter Page URL<\/h3>\r\n          <p>Copy the Reddit page or post URL to view.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"col-md-3\">\r\n        <div class=\"cv-card rd-pv-step\">\r\n          <div class=\"rd-pv-step-icon\"><i class=\"fas fa-search\"><\/i><\/div>\r\n          <h3>Load Content<\/h3>\r\n          <p>Click \u201cView Now\u201d to access public Reddit pages.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"col-md-3\">\r\n        <div class=\"cv-card rd-pv-step\">\r\n          <div class=\"rd-pv-step-icon\"><i class=\"fas fa-eye\"><\/i><\/div>\r\n          <h3>Browse Anonymously<\/h3>\r\n          <p>View public pages, posts, and comments privately.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"col-md-3\">\r\n        <div class=\"cv-card rd-pv-step\">\r\n          <div class=\"rd-pv-step-icon\"><i class=\"fas fa-user-secret\"><\/i><\/div>\r\n          <h3>No Login Required<\/h3>\r\n          <p>Access pages without a Reddit account.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<!-- Features -->\r\n<section class=\"vr-tool-features\">\r\n  <div class=\"container\">\r\n    <div class=\"rd-pv-section-title\">\r\n      <h2>Reddit Page Viewer Features<\/h2>\r\n      <p>Tools for seamless and private browsing of Reddit pages.<\/p>\r\n    <\/div>\r\n\r\n    <div class=\"row g-4\">\r\n      <div class=\"col-md-4\">\r\n        <div class=\"cv-card rd-pv-feature-card\">\r\n          <span class=\"rd-pv-feature-icon\">\ud83d\udd12<\/span>\r\n          <h3>Anonymous Browsing<\/h3>\r\n          <p>Browse Reddit pages without revealing your identity.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"col-md-4\">\r\n        <div class=\"cv-card rd-pv-feature-card\">\r\n          <span class=\"rd-pv-feature-icon\">\ud83d\udcc4<\/span>\r\n          <h3>Public Page Access<\/h3>\r\n          <p>View public pages, posts, and comments effortlessly.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"col-md-4\">\r\n        <div class=\"cv-card rd-pv-feature-card\">\r\n          <span class=\"rd-pv-feature-icon\">\ud83d\udcd1<\/span>\r\n          <h3>Multiple Content Types<\/h3>\r\n          <p>Supports posts, comments, and subreddit pages.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"col-md-4\">\r\n        <div class=\"cv-card rd-pv-feature-card\">\r\n          <span class=\"rd-pv-feature-icon\">\ud83d\udcf1<\/span>\r\n          <h3>Multi-Device Support<\/h3>\r\n          <p>Optimized for phones, tablets, and desktops.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"col-md-4\">\r\n        <div class=\"cv-card rd-pv-feature-card\">\r\n          <span class=\"rd-pv-feature-icon\">\ud83d\udd11<\/span>\r\n          <h3>No Login Needed<\/h3>\r\n          <p>Browse without Reddit credentials.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"col-md-4\">\r\n        <div class=\"cv-card rd-pv-feature-card\">\r\n          <span class=\"rd-pv-feature-icon\">\u26a1<\/span>\r\n          <h3>Fast Access<\/h3>\r\n          <p>Quickly load Reddit page content anonymously.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<!-- FAQ -->\r\n<section class=\"vr-tool-faq\">\r\n  <div class=\"container\">\r\n    <div class=\"rd-pv-section-title\">\r\n      <h2>Frequently Asked Questions<\/h2>\r\n      <p>Learn how to use the Reddit Page Viewer effectively.<\/p>\r\n    <\/div>\r\n\r\n    <div class=\"row justify-content-center\">\r\n      <div class=\"col-lg-8\">\r\n        <div class=\"accordion\" id=\"faqAccordion\">\r\n          <div class=\"rd-pv-faq-item accordion-item mb-3\">\r\n            <h2 class=\"accordion-header\">\r\n              <button class=\"rd-pv-faq-question accordion-button collapsed\" data-bs-toggle=\"collapse\" data-bs-target=\"#faqCollapse1\">\r\n                Can I view private Reddit pages?\r\n              <\/button>\r\n            <\/h2>\r\n            <div id=\"faqCollapse1\" class=\"accordion-collapse collapse\" data-bs-parent=\"#faqAccordion\">\r\n              <div class=\"rd-pv-faq-answer accordion-body\">\r\n                No. The Reddit Page Viewer only shows public content, respecting privacy settings.\r\n              <\/div>\r\n            <\/div>\r\n          <\/div>\r\n          <div class=\"rd-pv-faq-item accordion-item mb-3\">\r\n            <h2 class=\"accordion-header\">\r\n              <button class=\"rd-pv-faq-question accordion-button collapsed\" data-bs-toggle=\"collapse\" data-bs-target=\"#faqCollapse2\">\r\n                Do I need a Reddit account to browse pages?\r\n              <\/button>\r\n            <\/h2>\r\n            <div id=\"faqCollapse2\" class=\"accordion-collapse collapse\" data-bs-parent=\"#faqAccordion\">\r\n              <div class=\"rd-pv-faq-answer accordion-body\">\r\n                No. The Reddit Page Viewer works without a login.\r\n              <\/div>\r\n            <\/div>\r\n          <\/div>\r\n          <div class=\"rd-pv-faq-item accordion-item mb-3\">\r\n            <h2 class=\"accordion-header\">\r\n              <button class=\"rd-pv-faq-question accordion-button collapsed\" data-bs-toggle=\"collapse\" data-bs-target=\"#faqCollapse3\">\r\n                Is the Reddit Page Viewer free to use?\r\n              <\/button>\r\n            <\/h2>\r\n            <div id=\"faqCollapse3\" class=\"accordion-collapse collapse\" data-bs-parent=\"#faqAccordion\">\r\n              <div class=\"rd-pv-faq-answer accordion-body\">\r\n                Yes. It\u2019s a free tool with no charges or subscriptions.\r\n              <\/div>\r\n            <\/div>\r\n          <\/div>\r\n          <div class=\"rd-pv-faq-item accordion-item mb-3\">\r\n            <h2 class=\"accordion-header\">\r\n              <button class=\"rd-pv-faq-question accordion-button collapsed\" data-bs-toggle=\"collapse\" data-bs-target=\"#faqCollapse4\">\r\n                Is this tool affiliated with Reddit?\r\n              <\/button>\r\n            <\/h2>\r\n            <div id=\"faqCollapse4\" class=\"accordion-collapse collapse\" data-bs-parent=\"#faqAccordion\">\r\n              <div class=\"rd-pv-faq-answer accordion-body\">\r\n                No. This is an independent Reddit Page Viewer, and browsing is anonymous with no user alerts.\r\n              <\/div>\r\n            <\/div>\r\n          <\/div>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<!-- CTA Section -->\r\n<section class=\"vr-tool-cta\">\r\n  <div class=\"container\" style=\"text-align: center;\">\r\n    <h2 class=\"rd-pv-cta-title text-white\">Try the Reddit Page Viewer Now<\/h2>\r\n    <p class=\"rd-pv-cta-sub\">\r\n      Browse public Reddit pages anonymously without login. Safe, private, and easy to use.\r\n    <\/p>\r\n    <div class=\"rd-pv-cta-group\">\r\n      <a href=\"#\" class=\"btn btn-lg\">Try It Now<\/a>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<script>\r\n  document.querySelectorAll('.rd-pv-faq-question').forEach(btn=>{\r\n    btn.addEventListener('click', ()=>{\r\n      document.querySelectorAll('.rd-pv-faq-question').forEach(b=>{ if(b!==btn) b.classList.add('collapsed'); });\r\n      btn.classList.toggle('collapsed');\r\n    });\r\n  });\r\n<\/script><\/p>\n","protected":false},"author":4,"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":"1300","footnotes":""},"class_list":["post-591","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/viewri.com\/wp-json\/wp\/v2\/pages\/591","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\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/viewri.com\/wp-json\/wp\/v2\/comments?post=591"}],"version-history":[{"count":7,"href":"https:\/\/viewri.com\/wp-json\/wp\/v2\/pages\/591\/revisions"}],"predecessor-version":[{"id":1258,"href":"https:\/\/viewri.com\/wp-json\/wp\/v2\/pages\/591\/revisions\/1258"}],"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=591"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}