{"id":5239,"date":"2026-04-17T00:00:05","date_gmt":"2026-04-17T00:00:05","guid":{"rendered":"https:\/\/gramiewer.com\/?page_id=5239"},"modified":"2026-04-26T08:13:52","modified_gmt":"2026-04-26T08:13:52","slug":"instagram-story-viewer","status":"publish","type":"page","link":"https:\/\/gramiewer.com\/tools\/instagram-story-viewer\/","title":{"rendered":"Instagram Story Viewer \u2013 Watch &amp; View Freely"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"5239\" class=\"elementor elementor-5239\">\n\t\t\t\t<div class=\"elementor-element elementor-element-39f160cb e-con-full e-flex e-con e-parent\" data-id=\"39f160cb\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-ea231e7 elementor-widget elementor-widget-shortcode\" data-id=\"ea231e7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><link href=\"https:\/\/fonts.googleapis.com\/css2?family=Outfit:wght@300;400;500;600;700;800&display=swap\" rel=\"stylesheet\">\r\n<style>\r\n    \/* Instagram Story Viewer Download Styles *\/\r\n    * {\r\n        margin: 0;\r\n        padding: 0;\r\n        box-sizing: border-box;\r\n    }\r\n\r\n    :root {\r\n        \/* Professional Color Palette *\/\r\n        --bg-gradient-1: #f8f9fa;\r\n        --bg-gradient-2: #e9ecef;\r\n        --bg-gradient-3: #dee2e6;\r\n        --surface-dark: #ffffff;\r\n        --surface-light: #ffffff;\r\n        --glass-bg-dark: rgba(255, 255, 255, 0.95);\r\n\r\n        \/* Professional Colors *\/\r\n        --primary: #0d6efd;\r\n        --secondary: #6c757d;\r\n        --accent: #198754;\r\n        --accent-secondary: #0dcaf0;\r\n        --success: #198754;\r\n        --warning: #ffc107;\r\n        --error: #dc3545;\r\n\r\n        \/* Text Colors *\/\r\n        --text-primary-light: #212529;\r\n        --text-secondary-light: #495057;\r\n        --text-muted-light: #6c757d;\r\n\r\n        \/* Shadows *\/\r\n        --shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.05);\r\n        --shadow-md: 0 4px 8px rgba(0, 0, 0, 0.08);\r\n        --shadow-lg: 0 8px 16px rgba(0, 0, 0, 0.1);\r\n        --shadow-glow-primary: 0 0 15px rgba(13, 110, 253, 0.3);\r\n        --shadow-glow-accent: 0 0 15px rgba(25, 135, 84, 0.3);\r\n\r\n        \/* Misc *\/\r\n        --border-radius-sm: 8px;\r\n        --border-radius-md: 12px;\r\n        --border-radius-lg: 16px;\r\n        --border-line-light: 1px solid rgba(0, 0, 0, 0.1);\r\n        --transition-normal: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);\r\n        --backdrop-blur: blur(10px);\r\n    }\r\n\r\n    \/* Wrapper to avoid conflicts *\/\r\n \r\n  .instagram-story-viewer-wrapper {\r\nfont-family: 'Outfit', sans-serif;\r\nbackground: linear-gradient(135deg, #f99a9a, #af79e6, #dd7bc4);\r\ncolor: var(--text-primary-light);\r\nline-height: 1.5;\r\nmin-height: 100vh;\r\noverflow-x: hidden;\r\noverflow-y: auto;\r\nmargin:0 auto;\r\npadding:20px;\r\n}\r\n\r\n    .hidden {\r\n        display: none !important;\r\n    }\r\n\r\n    \/* Layout *\/\r\n    .app-container {\r\n        display: flex;\r\n        min-height: 100vh;\r\n        max-width: 1400px;\r\n        margin: 40px auto;\r\n        position: relative;\r\n        overflow: hidden;\r\n        border-radius: 8px;\r\n        height: 100vh;\r\n    }\r\n\r\n    .app-container::before {\r\n        content: '';\r\n        position: absolute;\r\n        top: -50%;\r\n        left: -50%;\r\n        width: 200%;\r\n        height: 200%;\r\n        background: radial-gradient(circle at center, transparent 30%, rgba(25, 135, 84, 0.03) 60%, rgba(32, 201, 151, 0.05) 100%);\r\n        animation: rotate 60s linear infinite;\r\n        z-index: -1;\r\n    }\r\n\r\n    @keyframes rotate {\r\n        from {\r\n            transform: rotate(0deg);\r\n        }\r\n\r\n        to {\r\n            transform: rotate(360deg);\r\n        }\r\n    }\r\n\r\n    \/* Side Panel *\/\r\n    .side-panel {\r\n        width: 420px;\r\n        background: var(--glass-bg-dark);\r\n        backdrop-filter: var(--backdrop-blur);\r\n        -webkit-backdrop-filter: var(--backdrop-blur);\r\n        border-right: var(--border-line-light);\r\n        display: flex;\r\n        flex-direction: column;\r\n        z-index: 10;\r\n        position: relative;\r\n        overflow: hidden;\r\n        max-height: 100vh;\r\n    }\r\n\r\n    .side-panel::before {\r\n        content: '';\r\n        position: absolute;\r\n        top: 0;\r\n        left: 0;\r\n        right: 0;\r\n        height: 100px;\r\n        background: linear-gradient(to bottom, rgba(25, 135, 84, 0.1), transparent);\r\n        z-index: -1;\r\n    }\r\n\r\n    .side-panel::after {\r\n        content: '';\r\n        position: absolute;\r\n        bottom: 0;\r\n        left: 0;\r\n        right: 0;\r\n        height: 100px;\r\n        background: linear-gradient(to top, rgba(25, 135, 84, 0.1), transparent);\r\n        z-index: -1;\r\n    }\r\n\r\n    .app-header {\r\n        padding: 0.75rem;\r\n        border-bottom: var(--border-line-light);\r\n        position: relative;\r\n        overflow: hidden;\r\n        flex-shrink: 0;\r\n    }\r\n\r\n    .app-header::before {\r\n        content: '';\r\n        position: absolute;\r\n        top: -50%;\r\n        left: -50%;\r\n        width: 200%;\r\n        height: 200%;\r\n        background: radial-gradient(circle at top left, rgba(25, 135, 84, 0.1), transparent 70%);\r\n        z-index: -1;\r\n    }\r\n\r\n    .app-logo {\r\n        display: flex;\r\n        align-items: center;\r\n        gap: 1rem;\r\n        margin-bottom: 1.5rem;\r\n        position: relative;\r\n    }\r\n\r\n    .logo-icon {\r\n        width: 50px;\r\n        height: 50px;\r\n        background: linear-gradient(45deg, var(--accent), var(--accent-secondary), var(--warning));\r\n        border-radius: 14px;\r\n        display: flex;\r\n        align-items: center;\r\n        justify-content: center;\r\n        color: white;\r\n        font-weight: bold;\r\n        font-size: 20px;\r\n        box-shadow: 0 8px 20px rgba(25, 135, 84, 0.2);\r\n        position: relative;\r\n        overflow: hidden;\r\n        animation: pulse 3s infinite;\r\n    }\r\n\r\n    @keyframes pulse {\r\n        0% {\r\n            box-shadow: 0 8px 20px rgba(25, 135, 84, 0.2);\r\n        }\r\n\r\n        50% {\r\n            box-shadow: 0 8px 25px rgba(255, 193, 7, 0.3);\r\n        }\r\n\r\n        100% {\r\n            box-shadow: 0 8px 20px rgba(25, 135, 84, 0.2);\r\n        }\r\n    }\r\n\r\n    .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: radial-gradient(circle at center, rgba(255, 255, 255, 0.3), transparent 70%);\r\n        animation: rotate 10s linear infinite;\r\n    }\r\n\r\n    .logo-icon::after {\r\n        content: '';\r\n        position: absolute;\r\n        inset: 0;\r\n        background: linear-gradient(135deg, rgba(255, 255, 255, 0.4) 0%, rgba(255, 255, 255, 0) 50%);\r\n    }\r\n\r\n    .app-title {\r\n        font-size: 1.6rem;\r\n        font-weight: 800;\r\n        background: linear-gradient(to right, var(--primary), var(--accent-secondary), var(--accent));\r\n        -webkit-background-clip: text;\r\n        background-clip: text;\r\n        -webkit-text-fill-color: transparent;\r\n        letter-spacing: -0.5px;\r\n        position: relative;\r\n    }\r\n\r\n    \/* Search Container *\/\r\n    .search-container {\r\n        padding: 2rem;\r\n        position: relative;\r\n        flex-shrink: 0;\r\n    }\r\n\r\n    .search-container::before {\r\n        content: '';\r\n        position: absolute;\r\n        top: 0;\r\n        right: 0;\r\n        width: 100px;\r\n        height: 100px;\r\n        background: radial-gradient(circle at top right, rgba(25, 135, 84, 0.1), transparent 70%);\r\n        z-index: -1;\r\n    }\r\n\r\n    #search-form {\r\n        display: flex;\r\n        flex-direction: column;\r\n        gap: 1.5rem;\r\n    }\r\n\r\n    .form-label {\r\n        font-size: 1rem;\r\n        font-weight: 600;\r\n        color: var(--text-secondary-light);\r\n        margin-bottom: 0.5rem;\r\n        letter-spacing: 0.5px;\r\n        display: flex;\r\n        align-items: center;\r\n        gap: 0.5rem;\r\n    }\r\n\r\n    .form-label svg {\r\n        width: 18px;\r\n        height: 18px;\r\n        stroke: var(--accent);\r\n    }\r\n\r\n    .input-group {\r\n        position: relative;\r\n    }\r\n\r\n    #username-input {\r\n        width: 100%;\r\n        padding: 1.2rem 1.5rem;\r\n        background: rgba(255, 255, 255, 0.7);\r\n        border: 1px solid rgba(0, 0, 0, 0.1);\r\n        border-radius: var(--border-radius-lg);\r\n        color: var(--text-primary-light);\r\n        font-family: 'Outfit', sans-serif;\r\n        font-size: 1rem;\r\n        transition: var(--transition-normal);\r\n    }\r\n\r\n    #username-input:focus {\r\n        outline: none;\r\n        border-color: var(--accent);\r\n        box-shadow: 0 0 0 4px rgba(25, 135, 84, 0.15);\r\n        background: rgba(255, 255, 255, 0.9);\r\n    }\r\n\r\n    #username-input::placeholder {\r\n        color: var(--text-muted-light);\r\n    }\r\n\r\n    .input-icon {\r\n        position: absolute;\r\n        right: 1.5rem;\r\n        top: 50%;\r\n        transform: translateY(-50%);\r\n        color: var(--text-muted-light);\r\n    }\r\n\r\n    #search-btn {\r\n        background: linear-gradient(45deg, var(--accent), var(--accent-secondary), var(--warning));\r\n        color: white;\r\n        border: none;\r\n        border-radius: var(--border-radius-lg);\r\n        padding: 1.2rem 1.5rem;\r\n        font-family: 'Outfit', sans-serif;\r\n        font-size: 1rem;\r\n        font-weight: 600;\r\n        cursor: pointer;\r\n        display: flex;\r\n        justify-content: center;\r\n        align-items: center;\r\n        gap: 0.8rem;\r\n        transition: var(--transition-normal);\r\n        box-shadow: 0 8px 20px rgba(25, 135, 84, 0.2);\r\n        position: relative;\r\n        overflow: hidden;\r\n        letter-spacing: 0.5px;\r\n    }\r\n\r\n    #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: var(--transition-normal);\r\n    }\r\n\r\n    #search-btn:hover {\r\n        transform: translateY(-5px);\r\n        box-shadow: 0 12px 25px rgba(25, 135, 84, 0.3);\r\n    }\r\n\r\n    #search-btn:hover::before {\r\n        left: 100%;\r\n        transition: 0.7s;\r\n    }\r\n\r\n    #search-btn:active {\r\n        transform: translateY(-2px);\r\n        box-shadow: 0 8px 15px rgba(25, 135, 84, 0.2);\r\n    }\r\n\r\n    \/* Profile Section *\/\r\n    .profile-section {\r\n        flex: 1;\r\n        overflow-y: auto;\r\n        padding: 2rem;\r\n        position: relative;\r\n        max-height: calc(100vh - 200px);\r\n    }\r\n\r\n    .profile-section::-webkit-scrollbar {\r\n        width: 6px;\r\n    }\r\n\r\n    .profile-section::-webkit-scrollbar-track {\r\n        background: rgba(0, 0, 0, 0.05);\r\n        border-radius: 10px;\r\n    }\r\n\r\n    .profile-section::-webkit-scrollbar-thumb {\r\n        background: linear-gradient(to bottom, var(--primary), var(--accent));\r\n        border-radius: 10px;\r\n    }\r\n\r\n    \/* Loading State *\/\r\n    .loading-state {\r\n        display: flex;\r\n        flex-direction: column;\r\n        align-items: center;\r\n        justify-content: center;\r\n        padding: 4rem 0;\r\n    }\r\n\r\n    .spinner {\r\n        width: 60px;\r\n        height: 60px;\r\n        position: relative;\r\n        margin-bottom: 2rem;\r\n    }\r\n\r\n    .spinner::before,\r\n    .spinner::after {\r\n        content: '';\r\n        position: absolute;\r\n        border-radius: 50%;\r\n    }\r\n\r\n    .spinner::before {\r\n        width: 100%;\r\n        height: 100%;\r\n        background-image: linear-gradient(var(--primary), var(--accent-secondary), var(--accent));\r\n        animation: spin 1s linear infinite;\r\n    }\r\n\r\n    .spinner::after {\r\n        top: 10%;\r\n        left: 10%;\r\n        right: 10%;\r\n        bottom: 10%;\r\n        background: var(--surface-dark);\r\n        border-radius: 50%;\r\n    }\r\n\r\n    @keyframes spin {\r\n        to {\r\n            transform: rotate(360deg);\r\n        }\r\n    }\r\n\r\n    .loading-text {\r\n        color: var(--text-secondary-light);\r\n        font-size: 1.1rem;\r\n        font-weight: 500;\r\n        background: linear-gradient(to right, var(--primary), var(--accent));\r\n        -webkit-background-clip: text;\r\n        background-clip: text;\r\n        -webkit-text-fill-color: transparent;\r\n        animation: shimmer 2s infinite;\r\n        background-size: 200% 100%;\r\n    }\r\n\r\n    @keyframes shimmer {\r\n        0% {\r\n            background-position: -100% 0;\r\n        }\r\n\r\n        100% {\r\n            background-position: 100% 0;\r\n        }\r\n    }\r\n\r\n    \/* Profile Data *\/\r\n    .profile-data {\r\n        display: flex;\r\n        flex-direction: column;\r\n        gap: 2rem;\r\n    }\r\n\r\n    .profile-header {\r\n        display: flex;\r\n        align-items: center;\r\n        gap: 1.5rem;\r\n        padding: 1.8rem;\r\n        background: rgba(255, 255, 255, 0.7);\r\n        border-radius: var(--border-radius-lg);\r\n        box-shadow: var(--shadow-md);\r\n        transition: var(--transition-normal);\r\n        border: 1px solid rgba(0, 0, 0, 0.1);\r\n        position: relative;\r\n        overflow: hidden;\r\n    }\r\n\r\n    .profile-header:hover {\r\n        transform: translateY(-5px) scale(1.02);\r\n        box-shadow: var(--shadow-lg);\r\n    }\r\n\r\n    .profile-header::before {\r\n        content: '';\r\n        position: absolute;\r\n        top: -100%;\r\n        left: -100%;\r\n        width: 300%;\r\n        height: 300%;\r\n        background: radial-gradient(circle at center, rgba(255, 255, 255, 0.05), transparent 70%);\r\n        animation: rotate 20s linear infinite;\r\n        z-index: -1;\r\n    }\r\n\r\n    .profile-image-container {\r\n        position: relative;\r\n    }\r\n\r\n    .profile-image {\r\n        width: 80px;\r\n        height: 80px;\r\n        border-radius: 50%;\r\n        object-fit: cover;\r\n        border: 3px solid transparent;\r\n        background:\r\n            linear-gradient(var(--surface-dark), var(--surface-dark)) padding-box,\r\n            linear-gradient(45deg, var(--primary), var(--accent-secondary), var(--accent)) border-box;\r\n        box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);\r\n        transition: var(--transition-normal);\r\n        animation: float 6s ease-in-out infinite;\r\n    }\r\n\r\n    @keyframes float {\r\n\r\n        0%,\r\n        100% {\r\n            transform: translateY(0);\r\n        }\r\n\r\n        50% {\r\n            transform: translateY(-8px);\r\n        }\r\n    }\r\n\r\n    .profile-image:hover {\r\n        transform: scale(1.1);\r\n        box-shadow: 0 12px 30px rgba(0, 0, 0, 0.15), var(--shadow-glow-primary);\r\n    }\r\n\r\n    .profile-image-aura {\r\n        position: absolute;\r\n        top: -10px;\r\n        left: -10px;\r\n        right: -10px;\r\n        bottom: -10px;\r\n        border-radius: 50%;\r\n        background: linear-gradient(45deg, var(--primary), var(--accent-secondary), var(--accent));\r\n        opacity: 0.15;\r\n        filter: blur(10px);\r\n        z-index: -1;\r\n        animation: pulse-aura 3s ease-in-out infinite alternate;\r\n    }\r\n\r\n    @keyframes pulse-aura {\r\n        0% {\r\n            opacity: 0.1;\r\n            transform: scale(1);\r\n        }\r\n\r\n        100% {\r\n            opacity: 0.2;\r\n            transform: scale(1.1);\r\n        }\r\n    }\r\n\r\n    .verified-indicator {\r\n        position: absolute;\r\n        bottom: 0;\r\n        right: 0;\r\n        width: 24px;\r\n        height: 24px;\r\n        background: linear-gradient(to right, var(--accent-secondary), var(--primary));\r\n        border-radius: 50%;\r\n        display: flex;\r\n        align-items: center;\r\n        justify-content: center;\r\n        color: white;\r\n        font-size: 12px;\r\n        border: 2px solid var(--surface-dark);\r\n        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);\r\n    }\r\n\r\n    .profile-info {\r\n        flex: 1;\r\n    }\r\n\r\n    .profile-username {\r\n        font-size: 1.3rem;\r\n        font-weight: 700;\r\n        margin-bottom: 0.5rem;\r\n        color: var(--text-primary-light);\r\n        display: flex;\r\n        align-items: center;\r\n        gap: 0.5rem;\r\n        letter-spacing: 0.5px;\r\n    }\r\n\r\n    .profile-fullname {\r\n        font-size: 1rem;\r\n        color: var(--text-secondary-light);\r\n        font-weight: 500;\r\n    }\r\n\r\n    \/* Stories Grid *\/\r\n    .stories-section-header {\r\n        display: flex;\r\n        justify-content: space-between;\r\n        align-items: center;\r\n        margin-bottom: 1.5rem;\r\n    }\r\n\r\n    .stories-section-title {\r\n        font-size: 1.2rem;\r\n        font-weight: 700;\r\n        color: var(--text-primary-light);\r\n        display: flex;\r\n        align-items: center;\r\n        gap: 0.8rem;\r\n        letter-spacing: 0.5px;\r\n        position: relative;\r\n    }\r\n\r\n    .stories-section-title svg {\r\n        width: 20px;\r\n        height: 20px;\r\n        stroke: var(--accent);\r\n    }\r\n\r\n    .stories-section-title::after {\r\n        content: '';\r\n        position: absolute;\r\n        bottom: -8px;\r\n        left: 0;\r\n        width: 40px;\r\n        height: 3px;\r\n        background: linear-gradient(to right, var(--primary), var(--accent));\r\n        border-radius: 3px;\r\n    }\r\n\r\n    .stories-count {\r\n        font-size: 0.9rem;\r\n        font-weight: 600;\r\n        color: var(--text-secondary-light);\r\n        background: rgba(0, 0, 0, 0.05);\r\n        padding: 0.4rem 0.8rem;\r\n        border-radius: 20px;\r\n    }\r\n\r\n    .stories-grid {\r\n        display: grid;\r\n        grid-template-columns: repeat(2, 1fr);\r\n        gap: 1.5rem;\r\n    }\r\n\r\n    .story-card {\r\n        background: rgba(255, 255, 255, 0.7);\r\n        border-radius: var(--border-radius-md);\r\n        overflow: hidden;\r\n        box-shadow: var(--shadow-md);\r\n        cursor: pointer;\r\n        transition: var(--transition-normal);\r\n        border: 1px solid rgba(0, 0, 0, 0.1);\r\n        position: relative;\r\n        transform-style: preserve-3d;\r\n        perspective: 1000px;\r\n        user-select: none;\r\n        -webkit-user-select: none;\r\n        -moz-user-select: none;\r\n        -ms-user-select: none;\r\n    }\r\n    \r\n    .story-card:active {\r\n        transform: translateY(-4px) rotateX(3deg) rotateY(3deg);\r\n    }\r\n\r\n    .story-card:hover {\r\n        transform: translateY(-8px) rotateX(5deg) rotateY(5deg);\r\n        box-shadow: var(--shadow-lg);\r\n        border-color: rgba(0, 0, 0, 0.15);\r\n    }\r\n\r\n    .story-card::before {\r\n        content: '';\r\n        position: absolute;\r\n        inset: -2px;\r\n        background: linear-gradient(45deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.05));\r\n        border-radius: calc(var(--border-radius-md) + 2px);\r\n        z-index: -1;\r\n        opacity: 0;\r\n        transition: var(--transition-normal);\r\n    }\r\n\r\n    .story-card:hover::before {\r\n        opacity: 0;\r\n    }\r\n\r\n    .story-preview {\r\n        width: 100%;\r\n        height: 220px;\r\n        overflow: hidden;\r\n        position: relative;\r\n    }\r\n\r\n    .story-preview img {\r\n        width: 100%;\r\n        height: 100%;\r\n        object-fit: cover;\r\n        transition: all 0.7s cubic-bezier(0.25, 0.8, 0.25, 1);\r\n    }\r\n\r\n    .story-card:hover .story-preview img {\r\n        transform: scale(1.1);\r\n    }\r\n\r\n    .story-preview::after {\r\n        content: '';\r\n        position: absolute;\r\n        inset: 0;\r\n        background: linear-gradient(to bottom, transparent 50%, rgba(0, 0, 0, 0.7));\r\n        z-index: 1;\r\n    }\r\n\r\n    .story-type-overlay {\r\n        position: absolute;\r\n        top: 15px;\r\n        right: 15px;\r\n        background: rgba(0, 0, 0, 0.5);\r\n        backdrop-filter: blur(8px);\r\n        -webkit-backdrop-filter: blur(8px);\r\n        border-radius: 30px;\r\n        padding: 0.5rem 1rem;\r\n        color: white;\r\n        font-size: 0.8rem;\r\n        font-weight: 600;\r\n        text-transform: uppercase;\r\n        letter-spacing: 1px;\r\n        display: flex;\r\n        align-items: center;\r\n        gap: 6px;\r\n        z-index: 2;\r\n        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);\r\n        border: 1px solid rgba(255, 255, 255, 0.1);\r\n    }\r\n\r\n    .story-type-overlay.video {\r\n        background: rgba(25, 135, 84, 0.7);\r\n    }\r\n\r\n    .story-type-overlay.image {\r\n        background: rgba(25, 135, 84, 0.7);\r\n    }\r\n\r\n    .story-timestamp-overlay {\r\n        position: absolute;\r\n        bottom: 15px;\r\n        left: 15px;\r\n        background: rgba(0, 0, 0, 0.5);\r\n        backdrop-filter: blur(8px);\r\n        -webkit-backdrop-filter: blur(8px);\r\n        border-radius: 30px;\r\n        padding: 0.5rem 1rem;\r\n        color: white;\r\n        font-size: 0.8rem;\r\n        font-weight: 500;\r\n        z-index: 2;\r\n        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);\r\n        border: 1px solid rgba(255, 255, 255, 0.1);\r\n    }\r\n\r\n    .story-meta {\r\n        padding: 1.2rem;\r\n        display: flex;\r\n        justify-content: space-between;\r\n        align-items: center;\r\n        background: rgba(0, 0, 0, 0.05);\r\n        border-top: 1px solid rgba(0, 0, 0, 0.05);\r\n        position: relative;\r\n        overflow: hidden;\r\n    }\r\n\r\n    .story-meta::before {\r\n        content: '';\r\n        position: absolute;\r\n        top: -100%;\r\n        left: -100%;\r\n        width: 300%;\r\n        height: 300%;\r\n        background: radial-gradient(circle at center, rgba(255, 255, 255, 0.05), transparent 70%);\r\n        animation: rotate 20s linear infinite;\r\n        z-index: -1;\r\n    }\r\n\r\n    .story-info {\r\n        display: flex;\r\n        align-items: center;\r\n        gap: 0.5rem;\r\n    }\r\n\r\n    .story-info svg {\r\n        width: 18px;\r\n        height: 18px;\r\n        stroke: var(--accent);\r\n    }\r\n\r\n    .story-time {\r\n        font-size: 0.9rem;\r\n        color: var(--text-secondary-light);\r\n        font-weight: 500;\r\n    }\r\n\r\n    \/* Error Panel *\/\r\n    .error-panel {\r\n        padding: 3rem;\r\n        text-align: center;\r\n        display: flex;\r\n        flex-direction: column;\r\n        align-items: center;\r\n        margin-top: 2rem;\r\n        background: rgba(255, 255, 255, 0.7);\r\n        backdrop-filter: var(--backdrop-blur);\r\n        -webkit-backdrop-filter: var(--backdrop-blur);\r\n        border-radius: var(--border-radius-lg);\r\n        box-shadow: var(--shadow-md);\r\n        border: 1px solid rgba(0, 0, 0, 0.1);\r\n        position: relative;\r\n        overflow: hidden;\r\n    }\r\n\r\n    .error-panel::before {\r\n        content: '';\r\n        position: absolute;\r\n        top: -100%;\r\n        left: -100%;\r\n        width: 300%;\r\n        height: 300%;\r\n        background: radial-gradient(circle at center, rgba(220, 53, 69, 0.05), transparent 70%);\r\n        animation: rotate 20s linear infinite;\r\n        z-index: -1;\r\n    }\r\n\r\n    .error-icon {\r\n        width: 80px;\r\n        height: 80px;\r\n        background: rgba(220, 53, 69, 0.1);\r\n        border-radius: 50%;\r\n        display: flex;\r\n        align-items: center;\r\n        justify-content: center;\r\n        font-size: 2.5rem;\r\n        color: var(--error);\r\n        margin-bottom: 2rem;\r\n        position: relative;\r\n    }\r\n\r\n    .error-icon::after {\r\n        content: '';\r\n        position: absolute;\r\n        inset: -8px;\r\n        border-radius: 50%;\r\n        border: 2px solid rgba(220, 53, 69, 0.2);\r\n        animation: pulse-error 2s infinite;\r\n    }\r\n\r\n    @keyframes pulse-error {\r\n        0% {\r\n            transform: scale(1);\r\n            opacity: 1;\r\n        }\r\n\r\n        100% {\r\n            transform: scale(1.5);\r\n            opacity: 0;\r\n        }\r\n    }\r\n\r\n    .error-message {\r\n        color: var(--text-secondary-light);\r\n        font-size: 1.1rem;\r\n        max-width: 300px;\r\n        line-height: 1.6;\r\n        font-weight: 500;\r\n    }\r\n\r\n    .error-action {\r\n        margin-top: 2rem;\r\n        padding: 0.8rem 1.5rem;\r\n        background: linear-gradient(to right, var(--accent), var(--accent-secondary));\r\n        color: white;\r\n        border: none;\r\n        border-radius: var(--border-radius-md);\r\n        font-family: 'Outfit', sans-serif;\r\n        font-size: 0.9rem;\r\n        font-weight: 600;\r\n        cursor: pointer;\r\n        transition: var(--transition-normal);\r\n        box-shadow: 0 4px 15px rgba(25, 135, 84, 0.2);\r\n    }\r\n\r\n    .error-action:hover {\r\n        transform: translateY(-3px);\r\n        box-shadow: 0 8px 20px rgba(25, 135, 84, 0.3);\r\n    }\r\n\r\n    \/* Main Content *\/\r\n    .main-content {\r\n        flex: 1;\r\n        position: relative;\r\n        background-color: var(--surface-dark);\r\n        overflow: hidden;\r\n        max-height: 100vh;\r\n    }\r\n\r\n    .main-content::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:\r\n            radial-gradient(circle at 20% 20%, rgba(25, 135, 84, 0.05) 0%, transparent 40%),\r\n            radial-gradient(circle at 80% 80%, rgba(32, 201, 151, 0.05) 0%, transparent 40%),\r\n            radial-gradient(circle at 50% 50%, rgba(255, 193, 7, 0.03) 0%, transparent 60%);\r\n        z-index: 0;\r\n    }\r\n\r\n    \/* Welcome Panel *\/\r\n    .welcome-panel {\r\n        height: 100%;\r\n        display: flex;\r\n        flex-direction: column;\r\n        align-items: center;\r\n        justify-content: center;\r\n        padding: 2rem;\r\n        text-align: center;\r\n        position: relative;\r\n        z-index: 1;\r\n        overflow-y: auto;\r\n        max-height: 100vh;\r\n    }\r\n\r\n    .welcome-illustration {\r\n        width: 320px;\r\n        height: 320px;\r\n        margin-bottom: 3rem;\r\n        position: relative;\r\n        flex-shrink: 0;\r\n    }\r\n\r\n    .welcome-illustration::before {\r\n        content: '';\r\n        position: absolute;\r\n        width: 400px;\r\n        height: 400px;\r\n        top: 50%;\r\n        left: 50%;\r\n        transform: translate(-50%, -50%);\r\n        background: radial-gradient(circle, rgba(25, 135, 84, 0.1) 0%, rgba(32, 201, 151, 0.05) 50%, transparent 70%);\r\n        border-radius: 50%;\r\n        z-index: -1;\r\n        animation: pulse-illustration 5s ease-in-out infinite alternate;\r\n    }\r\n\r\n    @keyframes pulse-illustration {\r\n        0% {\r\n            opacity: 0.5;\r\n            transform: translate(-50%, -50%) scale(0.9);\r\n        }\r\n\r\n        100% {\r\n            opacity: 0.8;\r\n            transform: translate(-50%, -50%) scale(1.1);\r\n        }\r\n    }\r\n\r\n    .circle-1,\r\n    .circle-2,\r\n    .circle-3 {\r\n        position: absolute;\r\n        border-radius: 50%;\r\n        opacity: 0.8;\r\n        top: 50%;\r\n        left: 50%;\r\n        transform: translate(-50%, -50%);\r\n        filter: blur(30px);\r\n    }\r\n\r\n    .circle-1 {\r\n        width: 200px;\r\n        height: 200px;\r\n        background: linear-gradient(45deg, var(--accent), var(--accent-secondary));\r\n        animation: pulse-circle 8s ease-in-out infinite alternate;\r\n    }\r\n\r\n    .circle-2 {\r\n        width: 150px;\r\n        height: 150px;\r\n        background: linear-gradient(45deg, var(--accent-secondary), var(--accent));\r\n        animation: pulse-circle 6s ease-in-out infinite alternate-reverse;\r\n    }\r\n\r\n    .circle-3 {\r\n        width: 100px;\r\n        height: 100px;\r\n        background: linear-gradient(45deg, var(--accent), var(--warning));\r\n        animation: pulse-circle 4s ease-in-out infinite alternate;\r\n    }\r\n\r\n    @keyframes pulse-circle {\r\n        0% {\r\n            opacity: 0.4;\r\n            transform: translate(-50%, -50%) scale(0.8);\r\n        }\r\n\r\n        100% {\r\n            opacity: 0.7;\r\n            transform: translate(-50%, -50%) scale(1.2);\r\n        }\r\n    }\r\n\r\n    .illustration-icon {\r\n        position: absolute;\r\n        top: 50%;\r\n        left: 50%;\r\n        transform: translate(-50%, -50%);\r\n        width: 100px;\r\n        height: 100px;\r\n        z-index: 2;\r\n        filter: drop-shadow(0 0 10px rgba(255, 255, 255, 0.5));\r\n    }\r\n\r\n    .welcome-title {\r\n        font-size: 3rem;\r\n        font-weight: 800;\r\n        margin-bottom: 1.5rem;\r\n        background: linear-gradient(to right, var(--primary), var(--accent-secondary), var(--accent));\r\n        -webkit-background-clip: text;\r\n        background-clip: text;\r\n        -webkit-text-fill-color: transparent;\r\n        letter-spacing: -1px;\r\n        position: relative;\r\n    }\r\n\r\n    .welcome-title::after {\r\n        content: '';\r\n        position: absolute;\r\n        bottom: -10px;\r\n        left: 50%;\r\n        transform: translateX(-50%);\r\n        width: 80px;\r\n        height: 4px;\r\n        background: linear-gradient(to right, var(--primary), var(--accent));\r\n        border-radius: 4px;\r\n    }\r\n\r\n    .welcome-description {\r\n        color: var(--text-secondary-light);\r\n        font-size: 1.2rem;\r\n        max-width: 600px;\r\n        margin-bottom: 4rem;\r\n        line-height: 1.8;\r\n        font-weight: 500;\r\n    }\r\n\r\n    .instashot-features-list {\r\n        display: flex;\r\n        flex-wrap: wrap;\r\n        justify-content: center;\r\n        gap: 2rem;\r\n        margin-top: 2rem;\r\n        flex-shrink: 0;\r\n    }\r\n\r\n    .instashot-feature-item {\r\n        display: flex;\r\n        flex-direction: column;\r\n        align-items: center;\r\n        gap: 1rem;\r\n        position: relative;\r\n        padding: 2rem;\r\n        border-radius: var(--border-radius-lg);\r\n        background: rgba(255, 255, 255, 0.7);\r\n        backdrop-filter: var(--backdrop-blur);\r\n        -webkit-backdrop-filter: var(--backdrop-blur);\r\n        box-shadow: var(--shadow-md);\r\n        transition: var(--transition-normal);\r\n        border: 1px solid rgba(0, 0, 0, 0.05);\r\n        width: 180px;\r\n        height: 180px;\r\n        overflow: hidden;\r\n    }\r\n\r\n    .instashot-feature-item:hover {\r\n        transform: translateY(-10px) scale(1.05);\r\n        box-shadow: var(--shadow-lg);\r\n        border-color: rgba(0, 0, 0, 0.1);\r\n    }\r\n\r\n    .instashot-feature-icon {\r\n        width: 60px;\r\n        height: 60px;\r\n        border-radius: 20px;\r\n        display: flex;\r\n        align-items: center;\r\n        justify-content: center;\r\n        font-size: 1.5rem;\r\n        color: white;\r\n        position: relative;\r\n        z-index: 1;\r\n        box-shadow: 0 8px 20px rgba(25, 135, 84, 0.2);\r\n    }\r\n\r\n    .instashot-feature-icon-1 {\r\n        background: linear-gradient(45deg, var(--accent), var(--accent-secondary));\r\n    }\r\n\r\n    .instashot-feature-icon-2 {\r\n        background: linear-gradient(45deg, var(--accent-secondary), var(--accent));\r\n    }\r\n\r\n    .instashot-feature-icon-3 {\r\n        background: linear-gradient(45deg, var(--accent), var(--warning));\r\n    }\r\n\r\n    .instashot-feature-icon::before {\r\n        content: '';\r\n        position: absolute;\r\n        inset: -5px;\r\n        background: inherit;\r\n        border-radius: inherit;\r\n        filter: blur(10px);\r\n        opacity: 0.5;\r\n        z-index: -1;\r\n    }\r\n\r\n    .instashot-feature-text {\r\n        font-size: 1rem;\r\n        color: var(--text-primary-light);\r\n        font-weight: 600;\r\n        text-align: center;\r\n    }\r\n\r\n    \/* Story Player *\/\r\n    .story-player {\r\n        position: absolute;\r\n        top: 0;\r\n        left: 0;\r\n        width: 100%;\r\n        height: 100%;\r\n        background-color: #000;\r\n        z-index: 5;\r\n    }\r\n\r\n    .story-control-bar {\r\n        position: absolute;\r\n        top: 0;\r\n        left: 0;\r\n        right: 0;\r\n        padding: 1.5rem;\r\n        display: flex !important;\r\n        justify-content: space-between;\r\n        align-items: center;\r\n        background: linear-gradient(to bottom, rgba(0, 0, 0, 0.8), transparent);\r\n        z-index: 15;\r\n        backdrop-filter: blur(10px);\r\n        -webkit-backdrop-filter: blur(10px);\r\n        visibility: visible !important;\r\n        opacity: 1 !important;\r\n    }\r\n\r\n    .story-user-data {\r\n        display: flex;\r\n        align-items: center;\r\n        gap: 1rem;\r\n    }\r\n\r\n    .story-user-image {\r\n        width: 48px;\r\n        height: 48px;\r\n        border-radius: 50%;\r\n        border: 2px solid rgba(255, 255, 255, 0.8);\r\n        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);\r\n    }\r\n\r\n    .story-username {\r\n        font-size: 1.1rem;\r\n        color: white;\r\n        font-weight: 600;\r\n        text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);\r\n    }\r\n\r\n    .story-timestamp {\r\n        font-size: 0.9rem;\r\n        color: rgba(255, 255, 255, 0.8);\r\n        text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);\r\n    }\r\n\r\n    .story-actions {\r\n        display: flex !important;\r\n        gap: 1rem;\r\n        visibility: visible !important;\r\n        opacity: 1 !important;\r\n    }\r\n    \r\n    .story-actions button {\r\n        display: flex !important;\r\n        visibility: visible !important;\r\n        opacity: 1 !important;\r\n    }\r\n    \r\n    .story-actions button svg {\r\n        display: block !important;\r\n        visibility: visible !important;\r\n        opacity: 1 !important;\r\n        width: 20px !important;\r\n        height: 20px !important;\r\n    }\r\n    \r\n    .btn-icon {\r\n        display: block !important;\r\n        visibility: visible !important;\r\n        opacity: 1 !important;\r\n        width: 20px !important;\r\n        height: 20px !important;\r\n        min-width: 20px !important;\r\n        min-height: 20px !important;\r\n        max-width: 20px !important;\r\n        max-height: 20px !important;\r\n        color: #ffffff !important;\r\n        fill: none !important;\r\n        stroke: #ffffff !important;\r\n        position: relative !important;\r\n        z-index: 10 !important;\r\n    }\r\n    \r\n    .btn-icon path {\r\n        stroke: #ffffff !important;\r\n        fill: none !important;\r\n        stroke-width: 2.5 !important;\r\n        stroke-linecap: round !important;\r\n        stroke-linejoin: round !important;\r\n        opacity: 1 !important;\r\n        visibility: visible !important;\r\n        display: block !important;\r\n    }\r\n    \r\n    \/* Universal selector for all SVG in buttons *\/\r\n    button svg,\r\n    .control-btn svg,\r\n    .story-actions button svg {\r\n        display: block !important;\r\n        visibility: visible !important;\r\n        opacity: 1 !important;\r\n        width: 20px !important;\r\n        height: 20px !important;\r\n    }\r\n    \r\n    button svg path,\r\n    .control-btn svg path,\r\n    .story-actions button svg path {\r\n        stroke: #ffffff !important;\r\n        fill: none !important;\r\n        stroke-width: 2.5 !important;\r\n        opacity: 1 !important;\r\n        visibility: visible !important;\r\n    }\r\n\r\n    .control-btn {\r\n        width: 44px;\r\n        height: 44px;\r\n        background: rgba(255, 255, 255, 0.15);\r\n        backdrop-filter: blur(10px);\r\n        -webkit-backdrop-filter: blur(10px);\r\n        border: 1px solid rgba(255, 255, 255, 0.2);\r\n        border-radius: 50%;\r\n        display: flex !important;\r\n        align-items: center;\r\n        justify-content: center;\r\n        cursor: pointer;\r\n        transition: var(--transition-normal);\r\n        color: white !important;\r\n        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);\r\n        visibility: visible !important;\r\n        opacity: 1 !important;\r\n    }\r\n    \r\n    .control-btn svg {\r\n        display: block !important;\r\n        visibility: visible !important;\r\n        opacity: 1 !important;\r\n        width: 20px !important;\r\n        height: 20px !important;\r\n        min-width: 20px !important;\r\n        min-height: 20px !important;\r\n        max-width: 20px !important;\r\n        max-height: 20px !important;\r\n        color: #ffffff !important;\r\n        fill: none !important;\r\n        stroke: #ffffff !important;\r\n        stroke-width: 2.5 !important;\r\n        pointer-events: none !important;\r\n        position: relative !important;\r\n        z-index: 10 !important;\r\n    }\r\n    \r\n    .control-btn svg path {\r\n        stroke: #ffffff !important;\r\n        fill: none !important;\r\n        stroke-width: 2.5 !important;\r\n        stroke-linecap: round !important;\r\n        stroke-linejoin: round !important;\r\n        opacity: 1 !important;\r\n        visibility: visible !important;\r\n        display: block !important;\r\n    }\r\n    \r\n    \/* Ensure all button icons are visible *\/\r\n    .play-pause-btn svg,\r\n    .mute-btn svg,\r\n    .download-btn svg,\r\n    .close-btn svg {\r\n        display: block !important;\r\n        visibility: visible !important;\r\n        opacity: 1 !important;\r\n        width: 20px !important;\r\n        height: 20px !important;\r\n        min-width: 20px !important;\r\n        min-height: 20px !important;\r\n        max-width: 20px !important;\r\n        max-height: 20px !important;\r\n        color: #ffffff !important;\r\n        fill: none !important;\r\n        stroke: #ffffff !important;\r\n        stroke-width: 2.5 !important;\r\n        pointer-events: none !important;\r\n        position: relative !important;\r\n        z-index: 10 !important;\r\n    }\r\n    \r\n    .play-pause-btn svg path,\r\n    .mute-btn svg path,\r\n    .download-btn svg path,\r\n    .close-btn svg path {\r\n        stroke: #ffffff !important;\r\n        fill: none !important;\r\n        stroke-width: 2.5 !important;\r\n        stroke-linecap: round !important;\r\n        stroke-linejoin: round !important;\r\n        opacity: 1 !important;\r\n        visibility: visible !important;\r\n        display: block !important;\r\n    }\r\n    \r\n    \/* Force all SVG elements in story-actions to be visible *\/\r\n    .story-actions svg,\r\n    .story-actions svg * {\r\n        display: block !important;\r\n        visibility: visible !important;\r\n        opacity: 1 !important;\r\n    }\r\n    \r\n    .story-actions svg path {\r\n        stroke: #ffffff !important;\r\n        fill: none !important;\r\n        stroke-width: 2.5 !important;\r\n        opacity: 1 !important;\r\n        visibility: visible !important;\r\n    }\r\n\r\n    .control-btn:hover {\r\n        background-color: rgba(255, 255, 255, 0.25);\r\n        transform: translateY(-3px) scale(1.1);\r\n        box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);\r\n    }\r\n    \r\n    .control-btn:active,\r\n    .control-btn:focus {\r\n        background-color: rgba(255, 255, 255, 0.25) !important;\r\n        outline: none !important;\r\n    }\r\n\r\n    \/* Progress Track *\/\r\n    .progress-track {\r\n        position: absolute;\r\n        top: 90px;\r\n        left: 0;\r\n        right: 0;\r\n        padding: 0 1.5rem;\r\n        display: flex;\r\n        gap: 8px;\r\n        z-index: 10;\r\n    }\r\n\r\n    .progress-indicator {\r\n        height: 4px;\r\n        flex: 1;\r\n        background-color: rgba(255, 255, 255, 0.2);\r\n        border-radius: 4px;\r\n        overflow: hidden;\r\n        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\r\n    }\r\n.app-logo {\r\ndisplay: flex;\r\nalign-items: center;\r\ngap: 1rem;\r\nmargin-bottom: 1.5rem;\r\nposition: relative;\r\nflex-direction: column !important;\r\n}\r\n  .app-title {\r\nfont-size: 1.6rem;\r\nfont-weight: 800;\r\nbackground: linear-gradient(to right, var(--primary), var(--accent-secondary), var(--accent));\r\n-webkit-background-clip: text;\r\nbackground-clip: text;\r\n-webkit-text-fill-color: transparent;\r\nletter-spacing: -0.5px;\r\nposition: relative;\r\ntext-align: center;\r\n}\r\n\r\n    .progress-fill {\r\n        height: 100%;\r\n        width: 0;\r\n        background: linear-gradient(to right, var(--accent), var(--accent-secondary), var(--warning));\r\n        border-radius: 4px;\r\n        transition: width 0.1s linear;\r\n    }\r\n\r\n    .progress-indicator.completed .progress-fill {\r\n        width: 100%;\r\n        background: white;\r\n    }\r\n\r\n    \/* Media Container *\/\r\n    .media-container {\r\n        position: absolute;\r\n        top: 0;\r\n        left: 0;\r\n        width: 100%;\r\n        height: 100%;\r\n        display: flex;\r\n        align-items: center;\r\n        justify-content: center;\r\n        background-color: #000;\r\n    }\r\n\r\n    .media-container img,\r\n    .media-container video {\r\n        max-width: 100%;\r\n        max-height: 100%;\r\n        object-fit: contain;\r\n    }\r\n\r\n    \/* Navigation *\/\r\n    .navigation-overlay {\r\n        position: absolute;\r\n        top: 0;\r\n        left: 0;\r\n        right: 0;\r\n        bottom: 0;\r\n        display: flex;\r\n        z-index: 5;\r\n    }\r\n\r\n    .nav-area {\r\n        flex: 1;\r\n        background: transparent !important;\r\n        border: none;\r\n        cursor: pointer;\r\n        position: relative;\r\n    }\r\n    \r\n    .nav-area:hover {\r\n        background: transparent !important;\r\n    }\r\n    \r\n    .nav-area:focus {\r\n        background: transparent !important;\r\n        outline: none;\r\n    }\r\n\r\n    .nav-indicator {\r\n        position: absolute;\r\n        top: 50%;\r\n        width: 50px;\r\n        height: 50px;\r\n        border-radius: 50%;\r\n        background: rgba(255, 255, 255, 0.15);\r\n        backdrop-filter: blur(10px);\r\n        -webkit-backdrop-filter: blur(10px);\r\n        display: flex;\r\n        align-items: center;\r\n        justify-content: center;\r\n        transform: translateY(-50%);\r\n        opacity: 0;\r\n        transition: var(--transition-normal);\r\n        border: 1px solid rgba(255, 255, 255, 0.2);\r\n        color: white;\r\n        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);\r\n    }\r\n    \r\n    .nav-indicator svg {\r\n        display: block !important;\r\n        visibility: visible !important;\r\n        opacity: 1 !important;\r\n        width: 24px !important;\r\n        height: 24px !important;\r\n        color: white !important;\r\n        fill: none !important;\r\n        stroke: currentColor !important;\r\n    }\r\n\r\n    .prev-area .nav-indicator {\r\n        left: 30px;\r\n    }\r\n\r\n    .next-area .nav-indicator {\r\n        right: 30px;\r\n    }\r\n\r\n    .nav-area:hover .nav-indicator {\r\n        opacity: 1;\r\n        transform: translateY(-50%) scale(1.1);\r\n    }\r\n\r\n    \/* Animations *\/\r\n    @keyframes fadeInUp {\r\n        from {\r\n            opacity: 0;\r\n            transform: translateY(30px);\r\n        }\r\n\r\n        to {\r\n            opacity: 1;\r\n            transform: translateY(0);\r\n        }\r\n    }\r\n\r\n    .animate-fade-in-up {\r\n        animation: fadeInUp 0.6s ease forwards;\r\n    }\r\n\r\n    .story-card:nth-child(1) {\r\n        animation-delay: 0.1s;\r\n    }\r\n\r\n    .story-card:nth-child(2) {\r\n        animation-delay: 0.2s;\r\n    }\r\n\r\n    .story-card:nth-child(3) {\r\n        animation-delay: 0.3s;\r\n    }\r\n\r\n    .story-card:nth-child(4) {\r\n        animation-delay: 0.4s;\r\n    }\r\n\r\n    \/* Responsive Styles *\/\r\n    @media (max-width: 1200px) {\r\n        .instagram-story-viewer-wrapper {\r\n            margin: 0;\r\n            padding: 10px;\r\n        }\r\n        \r\n        .app-container {\r\n            margin: 0;\r\n            height: 100vh;\r\n            border-radius: 0;\r\n        }\r\n    }\r\n\r\n    \/* Tablet and below - 992px *\/\r\n    @media (max-width: 992px) {\r\n        .instagram-story-viewer-wrapper {\r\n            margin: 0;\r\n            padding: 10px;\r\n        }\r\n        \r\n        .app-container {\r\n            flex-direction: column;\r\n            height: 100vh;\r\n            overflow: hidden;\r\n            margin: 0;\r\n            border-radius: 0;\r\n        }\r\n\r\n        .side-panel {\r\n            width: 100%;\r\n            max-height: 45vh;\r\n            border-right: none;\r\n            border-bottom: 1px solid rgba(0, 0, 0, 0.1);\r\n            overflow: hidden;\r\n        }\r\n\r\n        .app-header {\r\n            padding: 1rem;\r\n        }\r\n        \r\n        .app-logo {\r\n            margin-bottom: 1rem;\r\n        }\r\n        \r\n        .app-title {\r\n            font-size: 1.4rem;\r\n        }\r\n        \r\n        .logo-icon {\r\n            width: 45px;\r\n            height: 45px;\r\n            font-size: 18px;\r\n        }\r\n\r\n        .search-container {\r\n            padding: 1.5rem;\r\n        }\r\n        \r\n        #username-input {\r\n            padding: 1rem 1.2rem;\r\n            font-size: 0.95rem;\r\n        }\r\n        \r\n        #search-btn {\r\n            padding: 1rem 1.2rem;\r\n            font-size: 0.95rem;\r\n        }\r\n\r\n        .profile-section {\r\n            padding: 1.5rem;\r\n            max-height: calc(45vh - 180px);\r\n            overflow-y: auto;\r\n        }\r\n        \r\n        .profile-header {\r\n            padding: 1.5rem;\r\n            gap: 1.2rem;\r\n        }\r\n        \r\n        .profile-image {\r\n            width: 70px;\r\n            height: 70px;\r\n        }\r\n        \r\n        .profile-username {\r\n            font-size: 1.2rem;\r\n        }\r\n        \r\n        .profile-fullname {\r\n            font-size: 0.95rem;\r\n        }\r\n        \r\n        .stories-section-title {\r\n            font-size: 1.1rem;\r\n        }\r\n        \r\n        .stories-grid {\r\n            grid-template-columns: repeat(2, 1fr);\r\n            gap: 1.2rem;\r\n        }\r\n        \r\n        .story-preview {\r\n            height: 200px;\r\n        }\r\n\r\n        .main-content {\r\n            max-height: 55vh;\r\n            overflow: hidden;\r\n        }\r\n\r\n        .welcome-panel {\r\n            max-height: 55vh;\r\n            overflow-y: auto;\r\n            padding: 1.5rem;\r\n        }\r\n\r\n        .welcome-illustration {\r\n            width: 220px;\r\n            height: 220px;\r\n            margin-bottom: 2rem;\r\n        }\r\n\r\n        .welcome-title {\r\n            font-size: 2.2rem;\r\n        }\r\n\r\n        .welcome-description {\r\n            font-size: 1rem;\r\n            margin-bottom: 2rem;\r\n        }\r\n\r\n        .instashot-features-list {\r\n            gap: 1.2rem;\r\n            margin-top: 1rem;\r\n        }\r\n\r\n        .instashot-feature-item {\r\n            width: 150px;\r\n            height: 150px;\r\n            padding: 1.5rem;\r\n        }\r\n        \r\n        .instashot-feature-icon {\r\n            width: 55px;\r\n            height: 55px;\r\n        }\r\n        \r\n        .story-control-bar {\r\n            padding: 1.2rem;\r\n        }\r\n        \r\n        .story-user-image {\r\n            width: 42px;\r\n            height: 42px;\r\n        }\r\n        \r\n        .story-username {\r\n            font-size: 1rem;\r\n        }\r\n        \r\n        .story-timestamp {\r\n            font-size: 0.85rem;\r\n        }\r\n        \r\n        .control-btn {\r\n            width: 40px;\r\n            height: 40px;\r\n        }\r\n        \r\n        .control-btn svg {\r\n            width: 18px !important;\r\n            height: 18px !important;\r\n        }\r\n        \r\n        .progress-track {\r\n            top: 85px;\r\n            padding: 0 1.2rem;\r\n        }\r\n        \r\n        .nav-indicator {\r\n            width: 45px;\r\n            height: 45px;\r\n        }\r\n        \r\n        .prev-area .nav-indicator {\r\n            left: 20px;\r\n        }\r\n        \r\n        .next-area .nav-indicator {\r\n            right: 20px;\r\n        }\r\n    }\r\n\r\n    \/* Mobile Large - 768px *\/\r\n    @media (max-width: 768px) {\r\n        .instagram-story-viewer-wrapper {\r\n            margin: 0;\r\n            padding: 8px;\r\n        }\r\n        \r\n        .app-container {\r\n            height: 100vh;\r\n        }\r\n        \r\n        .side-panel {\r\n            max-height: 50vh;\r\n        }\r\n        \r\n        .app-header {\r\n            padding: 0.8rem;\r\n        }\r\n        \r\n        .app-logo {\r\n            margin-bottom: 0.8rem;\r\n        }\r\n\r\n        .app-title {\r\n            font-size: 1.3rem;\r\n        }\r\n        \r\n        .logo-icon {\r\n            width: 40px;\r\n            height: 40px;\r\n            font-size: 16px;\r\n        }\r\n\r\n        .search-container {\r\n            padding: 1.2rem;\r\n        }\r\n        \r\n        .form-label {\r\n            font-size: 0.95rem;\r\n        }\r\n        \r\n        #username-input {\r\n            padding: 0.9rem 1rem;\r\n            font-size: 0.9rem;\r\n        }\r\n        \r\n        #search-btn {\r\n            padding: 0.9rem 1rem;\r\n            font-size: 0.9rem;\r\n        }\r\n\r\n        .profile-section {\r\n            padding: 1.2rem;\r\n            max-height: calc(50vh - 160px);\r\n        }\r\n        \r\n        .profile-header {\r\n            padding: 1.2rem;\r\n            gap: 1rem;\r\n        }\r\n        \r\n        .profile-image {\r\n            width: 60px;\r\n            height: 60px;\r\n        }\r\n        \r\n        .profile-username {\r\n            font-size: 1.1rem;\r\n        }\r\n        \r\n        .profile-fullname {\r\n            font-size: 0.9rem;\r\n        }\r\n        \r\n        .stories-section-header {\r\n            margin-bottom: 1.2rem;\r\n        }\r\n        \r\n        .stories-section-title {\r\n            font-size: 1rem;\r\n        }\r\n        \r\n        .stories-count {\r\n            font-size: 0.85rem;\r\n            padding: 0.3rem 0.7rem;\r\n        }\r\n        \r\n        .stories-grid {\r\n            grid-template-columns: repeat(2, 1fr);\r\n            gap: 1rem;\r\n        }\r\n        \r\n        .story-preview {\r\n            height: 180px;\r\n        }\r\n        \r\n        .story-meta {\r\n            padding: 1rem;\r\n        }\r\n        \r\n        .story-time {\r\n            font-size: 0.85rem;\r\n        }\r\n\r\n        .main-content {\r\n            max-height: 50vh;\r\n        }\r\n\r\n        .welcome-panel {\r\n            padding: 1.2rem;\r\n            max-height: 50vh;\r\n        }\r\n\r\n        .welcome-illustration {\r\n            width: 180px;\r\n            height: 180px;\r\n            margin-bottom: 1.5rem;\r\n        }\r\n\r\n        .welcome-title {\r\n            font-size: 1.8rem;\r\n        }\r\n\r\n        .welcome-description {\r\n            font-size: 0.95rem;\r\n            margin-bottom: 1.5rem;\r\n        }\r\n\r\n        .instashot-features-list {\r\n            flex-direction: row;\r\n            flex-wrap: wrap;\r\n            gap: 1rem;\r\n            margin-top: 1rem;\r\n        }\r\n\r\n        .instashot-feature-item {\r\n            width: 130px;\r\n            height: 130px;\r\n            padding: 1.2rem;\r\n        }\r\n        \r\n        .instashot-feature-icon {\r\n            width: 50px;\r\n            height: 50px;\r\n        }\r\n        \r\n        .instashot-feature-text {\r\n            font-size: 0.9rem;\r\n        }\r\n        \r\n        .story-control-bar {\r\n            padding: 1rem;\r\n        }\r\n        \r\n        .story-user-data {\r\n            gap: 0.8rem;\r\n        }\r\n        \r\n        .story-user-image {\r\n            width: 40px;\r\n            height: 40px;\r\n        }\r\n        \r\n        .story-username {\r\n            font-size: 0.95rem;\r\n        }\r\n        \r\n        .story-timestamp {\r\n            font-size: 0.8rem;\r\n        }\r\n        \r\n        .story-actions {\r\n            gap: 0.8rem;\r\n        }\r\n        \r\n        .control-btn {\r\n            width: 38px;\r\n            height: 38px;\r\n        }\r\n        \r\n        .control-btn svg {\r\n            width: 16px !important;\r\n            height: 16px !important;\r\n        }\r\n        \r\n        .progress-track {\r\n            top: 75px;\r\n            padding: 0 1rem;\r\n            gap: 6px;\r\n        }\r\n        \r\n        .progress-indicator {\r\n            height: 3px;\r\n        }\r\n        \r\n        .nav-indicator {\r\n            width: 40px;\r\n            height: 40px;\r\n        }\r\n        \r\n        .nav-indicator svg {\r\n            width: 20px !important;\r\n            height: 20px !important;\r\n        }\r\n        \r\n        .prev-area .nav-indicator {\r\n            left: 15px;\r\n        }\r\n        \r\n        .next-area .nav-indicator {\r\n            right: 15px;\r\n        }\r\n    }\r\n\r\n    \/* Mobile Medium - 600px *\/\r\n    @media (max-width: 600px) {\r\n        .instagram-story-viewer-wrapper {\r\n            margin: 0;\r\n            padding: 5px;\r\n        }\r\n        \r\n        .side-panel {\r\n            max-height: 55vh;\r\n        }\r\n        \r\n        .app-header {\r\n            padding: 0.7rem;\r\n        }\r\n        \r\n        .app-title {\r\n            font-size: 1.2rem;\r\n        }\r\n        \r\n        .logo-icon {\r\n            width: 38px;\r\n            height: 38px;\r\n            font-size: 15px;\r\n        }\r\n\r\n        .search-container {\r\n            padding: 1rem;\r\n        }\r\n        \r\n        .form-label {\r\n            font-size: 0.9rem;\r\n            margin-bottom: 0.4rem;\r\n        }\r\n        \r\n        #username-input {\r\n            padding: 0.8rem 1rem;\r\n            font-size: 0.85rem;\r\n        }\r\n        \r\n        #search-btn {\r\n            padding: 0.8rem 1rem;\r\n            font-size: 0.85rem;\r\n        }\r\n\r\n        .profile-section {\r\n            padding: 1rem;\r\n            max-height: calc(55vh - 150px);\r\n        }\r\n        \r\n        .profile-header {\r\n            padding: 1rem;\r\n            gap: 0.8rem;\r\n        }\r\n        \r\n        .profile-image {\r\n            width: 55px;\r\n            height: 55px;\r\n        }\r\n        \r\n        .profile-username {\r\n            font-size: 1rem;\r\n        }\r\n        \r\n        .profile-fullname {\r\n            font-size: 0.85rem;\r\n        }\r\n        \r\n        .stories-section-title {\r\n            font-size: 0.95rem;\r\n        }\r\n        \r\n        .stories-count {\r\n            font-size: 0.8rem;\r\n            padding: 0.25rem 0.6rem;\r\n        }\r\n        \r\n        .stories-grid {\r\n            grid-template-columns: 1fr;\r\n            gap: 1rem;\r\n        }\r\n        \r\n        .story-preview {\r\n            height: 250px;\r\n        }\r\n        \r\n        .story-meta {\r\n            padding: 0.9rem;\r\n        }\r\n        \r\n        .story-time {\r\n            font-size: 0.85rem;\r\n        }\r\n\r\n        .main-content {\r\n            max-height: 45vh;\r\n        }\r\n\r\n        .welcome-panel {\r\n            padding: 1rem;\r\n            max-height: 45vh;\r\n        }\r\n\r\n        .welcome-illustration {\r\n            width: 160px;\r\n            height: 160px;\r\n            margin-bottom: 1.2rem;\r\n        }\r\n\r\n        .welcome-title {\r\n            font-size: 1.6rem;\r\n        }\r\n\r\n        .welcome-description {\r\n            font-size: 0.9rem;\r\n            margin-bottom: 1.2rem;\r\n        }\r\n\r\n        .instashot-features-list {\r\n            flex-direction: column;\r\n            align-items: center;\r\n            gap: 1rem;\r\n        }\r\n\r\n        .instashot-feature-item {\r\n            width: 140px;\r\n            height: 140px;\r\n            padding: 1rem;\r\n        }\r\n        \r\n        .story-control-bar {\r\n            padding: 0.9rem;\r\n        }\r\n        \r\n        .story-user-image {\r\n            width: 38px;\r\n            height: 38px;\r\n        }\r\n        \r\n        .story-username {\r\n            font-size: 0.9rem;\r\n        }\r\n        \r\n        .story-timestamp {\r\n            font-size: 0.75rem;\r\n        }\r\n        \r\n        .story-actions {\r\n            gap: 0.6rem;\r\n        }\r\n        \r\n        .control-btn {\r\n            width: 36px;\r\n            height: 36px;\r\n        }\r\n        \r\n        .control-btn svg {\r\n            width: 15px !important;\r\n            height: 15px !important;\r\n        }\r\n        \r\n        .progress-track {\r\n            top: 70px;\r\n            padding: 0 0.9rem;\r\n            gap: 5px;\r\n        }\r\n        \r\n        .nav-indicator {\r\n            width: 38px;\r\n            height: 38px;\r\n        }\r\n        \r\n        .nav-indicator svg {\r\n            width: 18px !important;\r\n            height: 18px !important;\r\n        }\r\n    }\r\n\r\n    \/* Mobile Small - 400px *\/\r\n    @media (max-width: 400px) {\r\n        .instagram-story-viewer-wrapper {\r\n            margin: 0;\r\n            padding: 3px;\r\n        }\r\n\r\n        .side-panel {\r\n            max-height: 60vh;\r\n        }\r\n        \r\n        .app-header {\r\n            padding: 0.6rem;\r\n        }\r\n        \r\n        .app-title {\r\n            font-size: 1.1rem;\r\n        }\r\n        \r\n        .logo-icon {\r\n            width: 35px;\r\n            height: 35px;\r\n            font-size: 14px;\r\n        }\r\n\r\n        .search-container {\r\n            padding: 0.9rem;\r\n        }\r\n        \r\n        .form-label {\r\n            font-size: 0.85rem;\r\n        }\r\n        \r\n        #username-input {\r\n            padding: 0.7rem 0.9rem;\r\n            font-size: 0.8rem;\r\n        }\r\n        \r\n        #search-btn {\r\n            padding: 0.7rem 0.9rem;\r\n            font-size: 0.8rem;\r\n        }\r\n\r\n        .profile-section {\r\n            padding: 0.9rem;\r\n            max-height: calc(60vh - 140px);\r\n        }\r\n        \r\n        .profile-header {\r\n            padding: 0.9rem;\r\n            gap: 0.7rem;\r\n        }\r\n        \r\n        .profile-image {\r\n            width: 50px;\r\n            height: 50px;\r\n        }\r\n        \r\n        .profile-username {\r\n            font-size: 0.95rem;\r\n        }\r\n        \r\n        .profile-fullname {\r\n            font-size: 0.8rem;\r\n        }\r\n        \r\n        .stories-section-title {\r\n            font-size: 0.9rem;\r\n        }\r\n        \r\n        .stories-count {\r\n            font-size: 0.75rem;\r\n            padding: 0.2rem 0.5rem;\r\n        }\r\n        \r\n        .stories-grid {\r\n            gap: 0.8rem;\r\n        }\r\n        \r\n        .story-preview {\r\n            height: 220px;\r\n        }\r\n        \r\n        .story-meta {\r\n            padding: 0.8rem;\r\n        }\r\n        \r\n        .story-time {\r\n            font-size: 0.8rem;\r\n        }\r\n\r\n        .main-content {\r\n            max-height: 40vh;\r\n        }\r\n\r\n        .welcome-panel {\r\n            padding: 0.9rem;\r\n            max-height: 40vh;\r\n        }\r\n\r\n        .welcome-illustration {\r\n            width: 140px;\r\n            height: 140px;\r\n            margin-bottom: 1rem;\r\n        }\r\n\r\n        .welcome-title {\r\n            font-size: 1.4rem;\r\n        }\r\n\r\n        .welcome-description {\r\n            font-size: 0.85rem;\r\n            margin-bottom: 1rem;\r\n        }\r\n\r\n        .instashot-features-list {\r\n            gap: 0.8rem;\r\n        }\r\n\r\n        .instashot-feature-item {\r\n            width: 120px;\r\n            height: 120px;\r\n            padding: 0.9rem;\r\n        }\r\n        \r\n        .instashot-feature-icon {\r\n            width: 45px;\r\n            height: 45px;\r\n        }\r\n        \r\n        .instashot-feature-text {\r\n            font-size: 0.85rem;\r\n        }\r\n        \r\n        .story-control-bar {\r\n            padding: 0.8rem;\r\n        }\r\n        \r\n        .story-user-image {\r\n            width: 35px;\r\n            height: 35px;\r\n        }\r\n        \r\n        .story-username {\r\n            font-size: 0.85rem;\r\n        }\r\n        \r\n        .story-timestamp {\r\n            font-size: 0.7rem;\r\n        }\r\n        \r\n        .story-actions {\r\n            gap: 0.5rem;\r\n        }\r\n        \r\n        .control-btn {\r\n            width: 34px;\r\n            height: 34px;\r\n        }\r\n        \r\n        .control-btn svg {\r\n            width: 14px !important;\r\n            height: 14px !important;\r\n        }\r\n        \r\n        .progress-track {\r\n            top: 65px;\r\n            padding: 0 0.8rem;\r\n            gap: 4px;\r\n        }\r\n        \r\n        .nav-indicator {\r\n            width: 35px;\r\n            height: 35px;\r\n        }\r\n        \r\n        .nav-indicator svg {\r\n            width: 16px !important;\r\n            height: 16px !important;\r\n        }\r\n    }\r\n\r\n    \/* Mobile Extra Small - 375px *\/\r\n    @media (max-width: 375px) {\r\n        .instagram-story-viewer-wrapper {\r\n            margin: 0;\r\n            padding: 2px;\r\n        }\r\n\r\n        .side-panel {\r\n            max-height: 65vh;\r\n        }\r\n        \r\n        .app-header {\r\n            padding: 0.5rem;\r\n        }\r\n        \r\n        .app-title {\r\n            font-size: 1rem;\r\n        }\r\n        \r\n        .logo-icon {\r\n            width: 32px;\r\n            height: 32px;\r\n            font-size: 13px;\r\n        }\r\n\r\n        .search-container {\r\n            padding: 0.8rem;\r\n        }\r\n        \r\n        .form-label {\r\n            font-size: 0.8rem;\r\n        }\r\n        \r\n        #username-input {\r\n            padding: 0.65rem 0.8rem;\r\n            font-size: 0.75rem;\r\n        }\r\n        \r\n        #search-btn {\r\n            padding: 0.65rem 0.8rem;\r\n            font-size: 0.75rem;\r\n        }\r\n\r\n        .profile-section {\r\n            padding: 0.8rem;\r\n            max-height: calc(65vh - 130px);\r\n        }\r\n        \r\n        .profile-header {\r\n            padding: 0.8rem;\r\n            gap: 0.6rem;\r\n        }\r\n        \r\n        .profile-image {\r\n            width: 45px;\r\n            height: 45px;\r\n        }\r\n        \r\n        .profile-username {\r\n            font-size: 0.9rem;\r\n        }\r\n        \r\n        .profile-fullname {\r\n            font-size: 0.75rem;\r\n        }\r\n        \r\n        .stories-section-title {\r\n            font-size: 0.85rem;\r\n        }\r\n        \r\n        .stories-count {\r\n            font-size: 0.7rem;\r\n            padding: 0.2rem 0.4rem;\r\n        }\r\n        \r\n        .stories-grid {\r\n            gap: 0.7rem;\r\n        }\r\n        \r\n        .story-preview {\r\n            height: 200px;\r\n        }\r\n        \r\n        .story-meta {\r\n            padding: 0.7rem;\r\n        }\r\n        \r\n        .story-time {\r\n            font-size: 0.75rem;\r\n        }\r\n\r\n        .main-content {\r\n            max-height: 35vh;\r\n        }\r\n\r\n        .welcome-panel {\r\n            padding: 0.8rem;\r\n            max-height: 35vh;\r\n        }\r\n\r\n        .welcome-illustration {\r\n            width: 120px;\r\n            height: 120px;\r\n            margin-bottom: 0.8rem;\r\n        }\r\n\r\n        .welcome-title {\r\n            font-size: 1.2rem;\r\n        }\r\n\r\n        .welcome-description {\r\n            font-size: 0.8rem;\r\n            margin-bottom: 0.8rem;\r\n        }\r\n\r\n        .instashot-features-list {\r\n            gap: 0.7rem;\r\n        }\r\n\r\n        .instashot-feature-item {\r\n            width: 110px;\r\n            height: 110px;\r\n            padding: 0.8rem;\r\n        }\r\n        \r\n        .instashot-feature-icon {\r\n            width: 40px;\r\n            height: 40px;\r\n        }\r\n        \r\n        .instashot-feature-text {\r\n            font-size: 0.8rem;\r\n        }\r\n        \r\n        .story-control-bar {\r\n            padding: 0.7rem;\r\n        }\r\n        \r\n        .story-user-image {\r\n            width: 32px;\r\n            height: 32px;\r\n        }\r\n        \r\n        .story-username {\r\n            font-size: 0.8rem;\r\n        }\r\n        \r\n        .story-timestamp {\r\n            font-size: 0.65rem;\r\n        }\r\n        \r\n        .story-actions {\r\n            gap: 0.4rem;\r\n        }\r\n        \r\n        .control-btn {\r\n            width: 32px;\r\n            height: 32px;\r\n        }\r\n        \r\n        .control-btn svg {\r\n            width: 13px !important;\r\n            height: 13px !important;\r\n        }\r\n        \r\n        .progress-track {\r\n            top: 60px;\r\n            padding: 0 0.7rem;\r\n            gap: 3px;\r\n        }\r\n        \r\n        .progress-indicator {\r\n            height: 2.5px;\r\n        }\r\n        \r\n        .nav-indicator {\r\n            width: 32px;\r\n            height: 32px;\r\n        }\r\n        \r\n        .nav-indicator svg {\r\n            width: 14px !important;\r\n            height: 14px !important;\r\n        }\r\n        \r\n        .prev-area .nav-indicator {\r\n            left: 8px;\r\n        }\r\n        \r\n        .next-area .nav-indicator {\r\n            right: 8px;\r\n        }\r\n        \r\n        .toast-container {\r\n            top: 10px;\r\n            right: 10px;\r\n            left: 10px;\r\n        }\r\n        \r\n        .toast {\r\n            min-width: auto;\r\n            width: 100%;\r\n            padding: 0.8rem 1rem;\r\n            font-size: 0.8rem;\r\n        }\r\n    }\r\n\r\n    \/* Toast Notifications *\/\r\n    .toast-container {\r\n        position: fixed;\r\n        top: 20px;\r\n        right: 20px;\r\n        z-index: 1000;\r\n        display: flex;\r\n        flex-direction: column;\r\n        gap: 10px;\r\n    }\r\n\r\n    .toast {\r\n        background: rgba(255, 255, 255, 0.95);\r\n        backdrop-filter: blur(20px);\r\n        -webkit-backdrop-filter: blur(20px);\r\n        border: 1px solid rgba(0, 0, 0, 0.1);\r\n        border-radius: var(--border-radius-md);\r\n        padding: 1rem 1.5rem;\r\n        color: var(--text-primary-light);\r\n        font-size: 0.9rem;\r\n        font-weight: 500;\r\n        box-shadow: var(--shadow-lg);\r\n        transform: translateX(100%);\r\n        opacity: 0;\r\n        transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);\r\n        display: flex;\r\n        align-items: center;\r\n        gap: 0.8rem;\r\n        min-width: 300px;\r\n    }\r\n\r\n    .toast.show {\r\n        transform: translateX(0);\r\n        opacity: 1;\r\n    }\r\n\r\n    .toast.success {\r\n        border-left: 4px solid var(--success);\r\n    }\r\n\r\n    .toast.error {\r\n        border-left: 4px solid var(--error);\r\n    }\r\n\r\n    .toast.info {\r\n        border-left: 4px solid var(--accent-secondary);\r\n    }\r\n\r\n    .toast-icon {\r\n        width: 20px;\r\n        height: 20px;\r\n        flex-shrink: 0;\r\n    }\r\n\r\n    .toast-message {\r\n        flex: 1;\r\n    }\r\n\r\n    .toast-close {\r\n        background: none;\r\n        border: none;\r\n        color: var(--text-muted-light);\r\n        cursor: pointer;\r\n        padding: 0;\r\n        width: 20px;\r\n        height: 20px;\r\n        display: flex;\r\n        align-items: center;\r\n        justify-content: center;\r\n        transition: var(--transition-normal);\r\n    }\r\n\r\n    .toast-close:hover {\r\n        color: var(--text-primary-light);\r\n    }\r\n\r\n    \/* No Stories Message *\/\r\n    .no-stories-message {\r\n        padding: 3rem;\r\n        text-align: center;\r\n        display: flex;\r\n        flex-direction: column;\r\n        align-items: center;\r\n        margin-top: 2rem;\r\n        background: rgba(255, 255, 255, 0.7);\r\n        backdrop-filter: var(--backdrop-blur);\r\n        -webkit-backdrop-filter: var(--backdrop-blur);\r\n        border-radius: var(--border-radius-lg);\r\n        box-shadow: var(--shadow-md);\r\n        border: 1px solid rgba(0, 0, 0, 0.1);\r\n        position: relative;\r\n        overflow: hidden;\r\n    }\r\n\r\n    .no-stories-message::before {\r\n        content: '';\r\n        position: absolute;\r\n        top: -100%;\r\n        left: -100%;\r\n        width: 300%;\r\n        height: 300%;\r\n        background: radial-gradient(circle at center, rgba(255, 193, 7, 0.1), transparent 70%);\r\n        animation: rotate 20s linear infinite;\r\n        z-index: -1;\r\n    }\r\n\r\n    .no-stories-icon {\r\n        width: 80px;\r\n        height: 80px;\r\n        background: rgba(255, 193, 7, 0.1);\r\n        border-radius: 50%;\r\n        display: flex;\r\n        align-items: center;\r\n        justify-content: center;\r\n        font-size: 2.5rem;\r\n        color: var(--warning);\r\n        margin-bottom: 2rem;\r\n        position: relative;\r\n    }\r\n\r\n    .no-stories-icon::after {\r\n        content: '';\r\n        position: absolute;\r\n        inset: -8px;\r\n        border-radius: 50%;\r\n        border: 2px solid rgba(255, 193, 7, 0.2);\r\n        animation: pulse-accent 2s infinite;\r\n    }\r\n\r\n    @keyframes pulse-accent {\r\n        0% {\r\n            transform: scale(1);\r\n            opacity: 1;\r\n        }\r\n\r\n        100% {\r\n            transform: scale(1.5);\r\n            opacity: 0;\r\n        }\r\n    }\r\n\r\n    .no-stories-title {\r\n        font-size: 1.3rem;\r\n        font-weight: 700;\r\n        color: var(--text-primary-light);\r\n        margin-bottom: 1rem;\r\n    }\r\n\r\n    .no-stories-description {\r\n        color: var(--text-secondary-light);\r\n        font-size: 1rem;\r\n        max-width: 400px;\r\n        line-height: 1.6;\r\n        font-weight: 500;\r\n    }\r\n\r\n    \/* Play\/Pause Button *\/\r\n    .play-pause-btn {\r\n        width: 44px;\r\n        height: 44px;\r\n        background: rgba(255, 255, 255, 0.15);\r\n        backdrop-filter: blur(10px);\r\n        -webkit-backdrop-filter: blur(10px);\r\n        border: 1px solid rgba(255, 255, 255, 0.2);\r\n        border-radius: 50%;\r\n        display: flex !important;\r\n        align-items: center;\r\n        justify-content: center;\r\n        cursor: pointer;\r\n        transition: var(--transition-normal);\r\n        color: white !important;\r\n        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);\r\n        visibility: visible !important;\r\n        opacity: 1 !important;\r\n    }\r\n    \r\n    .play-pause-btn svg {\r\n        display: block !important;\r\n        visibility: visible !important;\r\n        opacity: 1 !important;\r\n        width: 20px !important;\r\n        height: 20px !important;\r\n        color: white !important;\r\n        fill: none !important;\r\n        stroke: white !important;\r\n        stroke-width: 2 !important;\r\n        pointer-events: none;\r\n    }\r\n    \r\n    .play-pause-btn svg path {\r\n        stroke: white !important;\r\n        fill: none !important;\r\n        stroke-width: 2 !important;\r\n    }\r\n\r\n    .play-pause-btn:hover {\r\n        background-color: rgba(255, 255, 255, 0.25);\r\n        transform: translateY(-3px) scale(1.1);\r\n        box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);\r\n    }\r\n\r\n    \/* Download Button *\/\r\n    .download-btn {\r\n        width: 44px;\r\n        height: 44px;\r\n        background: rgba(255, 255, 255, 0.15);\r\n        backdrop-filter: blur(10px);\r\n        -webkit-backdrop-filter: blur(10px);\r\n        border: 1px solid rgba(255, 255, 255, 0.2);\r\n        border-radius: 50%;\r\n        display: flex !important;\r\n        align-items: center;\r\n        justify-content: center;\r\n        cursor: pointer;\r\n        transition: var(--transition-normal);\r\n        color: white !important;\r\n        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);\r\n        visibility: visible !important;\r\n        opacity: 1 !important;\r\n    }\r\n    \r\n    .download-btn svg,\r\n    .mute-btn svg,\r\n    .close-btn svg {\r\n        display: block !important;\r\n        visibility: visible !important;\r\n        opacity: 1 !important;\r\n        width: 20px !important;\r\n        height: 20px !important;\r\n        color: white !important;\r\n        fill: none !important;\r\n        stroke: white !important;\r\n        stroke-width: 2 !important;\r\n        pointer-events: none;\r\n    }\r\n    \r\n    .download-btn svg path,\r\n    .mute-btn svg path,\r\n    .close-btn svg path {\r\n        stroke: white !important;\r\n        fill: none !important;\r\n        stroke-width: 2 !important;\r\n    }\r\n\r\n    .download-btn:hover {\r\n        background-color: rgba(255, 255, 255, 0.25);\r\n        transform: translateY(-3px) scale(1.1);\r\n        box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);\r\n    }\r\n\r\n    .download-btn:active {\r\n        transform: translateY(-1px) scale(0.95);\r\n    }\r\n    \r\n    .mute-btn,\r\n    .close-btn {\r\n        width: 44px;\r\n        height: 44px;\r\n        background: rgba(255, 255, 255, 0.15);\r\n        backdrop-filter: blur(10px);\r\n        -webkit-backdrop-filter: blur(10px);\r\n        border: 1px solid rgba(255, 255, 255, 0.2);\r\n        border-radius: 50%;\r\n        display: flex !important;\r\n        align-items: center;\r\n        justify-content: center;\r\n        cursor: pointer;\r\n        transition: var(--transition-normal);\r\n        color: white !important;\r\n        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);\r\n        visibility: visible !important;\r\n        opacity: 1 !important;\r\n    }\r\n    \r\n    .mute-btn:hover,\r\n    .close-btn:hover {\r\n        background-color: rgba(255, 255, 255, 0.25);\r\n        transform: translateY(-3px) scale(1.1);\r\n        box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);\r\n    }\r\n<\/style>\r\n\r\n<div class=\"instagram-story-viewer-wrapper\">\r\n    <!-- Toast Container -->\r\n    <div class=\"toast-container\" id=\"toast-container\"><\/div>\r\n\r\n    <!-- Side Panel -->\r\n    <div class=\"app-container\">\r\n        <div class=\"side-panel\">\r\n            <div class=\"app-header\">\r\n                <div class=\"app-logo\">\r\n                    <div class=\"logo-icon\">IG<\/div>\r\n                    <h1 class=\"app-title\">Instagram Story Viewer Download - Watch & View Freely<\/h1>\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <div class=\"search-container\">\r\n                <form id=\"search-form\">\r\n                    <div>\r\n                        <label for=\"username-input\" class=\"form-label\">\r\n                            <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\r\n                                <path d=\"M20 21V19C20 17.9391 19.5786 16.9217 18.8284 16.1716C18.0783 15.4214 17.0609 15 16 15H8C6.93913 15 5.92172 15.4214 5.17157 16.1716C4.42143 16.9217 4 17.9391 4 19V21\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><\/path>\r\n                                <path d=\"M12 11C14.2091 11 16 9.20914 16 7C16 4.79086 14.2091 3 12 3C9.79086 3 8 4.79086 8 7C8 9.20914 9.79086 11 12 11Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><\/path>\r\n                            <\/svg>\r\n                            Enter Instagram Username\r\n                        <\/label>\r\n                        <div class=\"input-group\">\r\n                            <input type=\"text\" id=\"username-input\" placeholder=\"e.g. neymarjr\" required=\"\">\r\n                            <div class=\"input-icon\">\r\n                                <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\r\n                                    <path d=\"M21 21L15 15M17 10C17 13.866 13.866 17 10 17C6.13401 17 3 13.866 3 10C3 6.13401 6.13401 3 10 3C13.866 3 17 6.13401 17 10Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><\/path>\r\n                                <\/svg>\r\n                            <\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n                    <button type=\"submit\" id=\"search-btn\">\r\n                        <span>View Stories<\/span>\r\n                        <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\r\n                            <path d=\"M15 10L20 15M20 15L15 20M20 15H8C6.93913 15 5.92172 14.5786 5.17157 13.8284C4.42143 13.0783 4 12.0609 4 11C4 9.93913 4.42143 8.92172 5.17157 8.17157C5.92172 7.42143 6.93913 7 8 7H9\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><\/path>\r\n                        <\/svg>\r\n                    <\/button>\r\n                <\/form>\r\n            <\/div>\r\n\r\n            <!-- Profile Section -->\r\n            <div class=\"profile-section\">\r\n                <div class=\"loading-state hidden\">\r\n                    <div class=\"spinner\"><\/div>\r\n                    <p class=\"loading-text\">Fetching stories...<\/p>\r\n                <\/div>\r\n\r\n                <div class=\"profile-data hidden\">\r\n                    <div class=\"profile-header\">\r\n                        <div class=\"profile-image-container\">\r\n                            <div class=\"profile-image-aura\"><\/div>\r\n                            <img decoding=\"async\" src=\"\/placeholder.svg\" alt=\"Profile\" class=\"profile-image\">\r\n                            <div class=\"verified-indicator hidden\">\u2713<\/div>\r\n                        <\/div>\r\n\r\n                        <div class=\"profile-info\">\r\n                            <h2 class=\"profile-username\"><\/h2>\r\n                            <p class=\"profile-fullname\"><\/p>\r\n                        <\/div>\r\n                    <\/div>\r\n\r\n                    <div class=\"stories-section-header\">\r\n                        <div class=\"stories-section-title\">\r\n                            <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\r\n                                <path d=\"M19 3H5C3.89543 3 3 3.89543 3 5V19C3 20.1046 3.89543 21 5 21H19C20.1046 21 21 20.1046 21 19V5C21 3.89543 20.1046 3 19 3Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><\/path>\r\n                                <path d=\"M9 8H7V16H9V8Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><\/path>\r\n                                <path d=\"M17 8H15V16H17V8Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><\/path>\r\n                                <path d=\"M13 8H11V16H13V8Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><\/path>\r\n                            <\/svg>\r\n                            Recent Stories\r\n                        <\/div>\r\n                        <div class=\"stories-count\">0 stories<\/div>\r\n                    <\/div>\r\n                    <div class=\"stories-grid\">\r\n                        <!-- Stories will be added here dynamically -->\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <div class=\"error-panel hidden\">\r\n                    <div class=\"error-icon\">!<\/div>\r\n                    <p class=\"error-message\">Connection failed. Profile not found or no stories available.<\/p>\r\n                    <button class=\"error-action\" onclick=\"document.getElementById('search-form').reset();\">Try\r\n                        Again<\/button>\r\n                <\/div>\r\n\r\n                <div class=\"no-stories-message hidden\">\r\n                    <div class=\"no-stories-icon\">\r\n                        <svg width=\"40\" height=\"40\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\r\n                            <path d=\"M19 3H5C3.89543 3 3 3.89543 3 5V19C3 20.1046 3.89543 21 5 21H19C20.1046 21 21 20.1046 21 19V5C21 3.89543 20.1046 3 19 3Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><\/path>\r\n                            <path d=\"M9 8H7V16H9V8Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><\/path>\r\n                            <path d=\"M17 8H15V16H17V8Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><\/path>\r\n                            <path d=\"M13 8H11V16H13V8Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><\/path>\r\n                        <\/svg>\r\n                    <\/div>\r\n                    <h3 class=\"no-stories-title\">No Stories Found<\/h3>\r\n                    <p class=\"no-stories-description\">This profile doesn't have any active stories at the moment. Try\r\n                        searching for another username or check back later.<\/p>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <!-- Main Content -->\r\n        <div class=\"main-content\">\r\n            <div class=\"welcome-panel\">\r\n                <div class=\"welcome-illustration\">\r\n                    <div class=\"circle-1\"><\/div>\r\n                    <div class=\"circle-2\"><\/div>\r\n                    <div class=\"circle-3\"><\/div>\r\n                    <div class=\"illustration-icon\">\r\n                        <svg width=\"100\" height=\"100\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\r\n                            <rect x=\"2\" y=\"2\" width=\"20\" height=\"20\" rx=\"5\" stroke=\"white\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><\/rect>\r\n                            <circle cx=\"12\" cy=\"12\" r=\"4\" stroke=\"white\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><\/circle>\r\n                            <circle cx=\"18\" cy=\"6\" r=\"1\" fill=\"white\"><\/circle>\r\n                        <\/svg>\r\n                    <\/div>\r\n                <\/div>\r\n                <h2 class=\"welcome-title\">Instagram Story Viewer Download<\/h2>\r\n                <p class=\"welcome-description\">Experience Instagram stories in a stunning, immersive interface. Enter\r\n                    any username to view their stories with premium quality playback and download capabilities.<\/p>\r\n\r\n                <div class=\"instashot-features-list\">\r\n                    <div class=\"instashot-feature-item\">\r\n                        <div class=\"instashot-feature-icon instashot-feature-icon-1\">\r\n                            <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\r\n                                <path d=\"M15 10L20 15M20 15L15 20M20 15H8C6.93913 15 5.92172 14.5786 5.17157 13.8284C4.42143 13.0783 4 12.0609 4 11C4 9.93913 4.42143 8.92172 5.17157 8.17157C5.92172 7.42143 6.93913 7 8 7H9\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><\/path>\r\n                            <\/svg>\r\n                        <\/div>\r\n                        <p class=\"instashot-feature-text\">HD Playback<\/p>\r\n                    <\/div>\r\n                    <div class=\"instashot-feature-item\">\r\n                        <div class=\"instashot-feature-icon instashot-feature-icon-2\">\r\n                            <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\r\n                                <path d=\"M12 15C13.6569 15 15 13.6569 15 12C15 10.3431 13.6569 9 12 9C10.3431 9 9 10.3431 9 12C9 13.6569 10.3431 15 12 15Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><\/path>\r\n                                <path d=\"M12 5V3M5.63607 7.05026L4.22183 5.63604M7.05026 18.364L5.63604 19.7782M18.364 7.05026L19.7782 5.63604M19.0713 12H21.0011M17.0569 16.9497L18.4712 18.364M12 19.0704V21.0001M7.05026 5.63604L5.63604 7.05026\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><\/path>\r\n                            <\/svg>\r\n                        <\/div>\r\n                        <p class=\"instashot-feature-text\">Immersive Experience<\/p>\r\n                    <\/div>\r\n                    <div class=\"instashot-feature-item\">\r\n                        <div class=\"instashot-feature-icon instashot-feature-icon-3\">\r\n                            <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\r\n                                <path d=\"M21 15V19C21 19.5304 20.7893 20.0391 20.4142 20.4142C20.0391 20.7893 19.5304 21 19 21H5C4.46957 21 3.96086 20.7893 3.58579 20.4142C3.21071 20.0391 3 19.5304 3 19V15\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><\/path>\r\n                                <path d=\"M7 10L12 15L17 10\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><\/path>\r\n                                <path d=\"M12 15V3\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><\/path>\r\n                            <\/svg>\r\n                        <\/div>\r\n                        <p class=\"instashot-feature-text\">Download Stories<\/p>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <div class=\"story-player hidden\">\r\n                <div class=\"story-control-bar\">\r\n                    <div class=\"story-user-data\">\r\n                        <img decoding=\"async\" src=\"\/placeholder.svg\" alt=\"\" class=\"story-user-image\">\r\n                        <div>\r\n                            <p class=\"story-username\"><\/p>\r\n                            <p class=\"story-timestamp\"><\/p>\r\n                        <\/div>\r\n                    <\/div>\r\n\r\n                    <div class=\"story-actions\">\r\n                        <button class=\"control-btn play-pause-btn\" title=\"Play\/Pause\" id=\"play-pause-btn\">\r\n                            <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"btn-icon\">\r\n                                <path d=\"M8 5V19L19 12L8 5Z\" stroke=\"#ffffff\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" fill=\"none\"><\/path>\r\n                            <\/svg>\r\n                        <\/button>\r\n                        <button class=\"control-btn mute-btn\" title=\"Toggle audio\" id=\"mute-btn\">\r\n                            <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"btn-icon\">\r\n                                <path d=\"M11 5L6 9H2V15H6L11 19V5Z\" stroke=\"#ffffff\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" fill=\"none\"><\/path>\r\n                                <path d=\"M15.54 8.46C16.4774 9.39764 17.004 10.6692 17.004 11.995C17.004 13.3208 16.4774 14.5924 15.54 15.53\" stroke=\"#ffffff\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" fill=\"none\"><\/path>\r\n                                <path d=\"M19.07 4.93C20.9447 6.80528 21.9979 9.34836 21.9979 12C21.9979 14.6516 20.9447 17.1947 19.07 19.07\" stroke=\"#ffffff\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" fill=\"none\"><\/path>\r\n                            <\/svg>\r\n                        <\/button>\r\n                        <button class=\"control-btn download-btn\" title=\"Download story\" id=\"download-btn\">\r\n                            <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"btn-icon\">\r\n                                <path d=\"M21 15V19C21 19.5304 20.7893 20.0391 20.4142 20.4142C20.0391 20.7893 19.5304 21 19 21H5C4.46957 21 3.96086 20.7893 3.58579 20.4142C3.21071 20.0391 3 19.5304 3 19V15\" stroke=\"#ffffff\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" fill=\"none\"><\/path>\r\n                                <path d=\"M7 10L12 15L17 10\" stroke=\"#ffffff\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" fill=\"none\"><\/path>\r\n                                <path d=\"M12 15V3\" stroke=\"#ffffff\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" fill=\"none\"><\/path>\r\n                            <\/svg>\r\n                        <\/button>\r\n                        <button class=\"control-btn close-btn\" title=\"Close viewer\" id=\"close-btn\">\r\n                            <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"btn-icon\">\r\n                                <path d=\"M18 6L6 18M6 6L18 18\" stroke=\"#ffffff\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" fill=\"none\"><\/path>\r\n                            <\/svg>\r\n                        <\/button>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <div class=\"progress-track\">\r\n                    <!-- Progress indicators will be added dynamically -->\r\n                <\/div>\r\n\r\n                <div class=\"media-container\">\r\n                    <!-- Story content (image\/video) will be added here dynamically -->\r\n                <\/div>\r\n\r\n                <div class=\"navigation-overlay\">\r\n                    <button class=\"nav-area prev-area\" title=\"Previous story\">\r\n                        <div class=\"nav-indicator\">\r\n                            <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\r\n                                <path d=\"M15 18L9 12L15 6\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><\/path>\r\n                            <\/svg>\r\n                        <\/div>\r\n                    <\/button>\r\n                    <button class=\"nav-area next-area\" title=\"Next story\">\r\n                        <div class=\"nav-indicator\">\r\n                            <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\r\n                                <path d=\"M9 6L15 12L9 18\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><\/path>\r\n                            <\/svg>\r\n                        <\/div>\r\n                    <\/button>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>\r\n<script src=\"https:\/\/tools.xrespond.com\/api\/rate-limit-handler.js\"><\/script>\r\n<script src=\"https:\/\/tools.xrespond.com\/api\/js\/client-ip-detector.js\"><\/script>\r\n<script>\r\n    document.addEventListener('DOMContentLoaded', function () {\r\n        \/\/ Initialize variables\r\n        let currentStories = [];\r\n        let currentStoryIndex = 0;\r\n        let storyTimeout;\r\n        let progressInterval;\r\n        let isMuted = false;\r\n        let isPaused = false;\r\n        let currentVideo = null;\r\n\r\n        \/\/ Toast notification system\r\n        function showToast(message, type = 'info', duration = 3000) {\r\n            const toastContainer = document.getElementById('toast-container');\r\n            if (!toastContainer) return;\r\n\r\n            const toast = document.createElement('div');\r\n            toast.className = `toast ${type}`;\r\n\r\n            const iconMap = {\r\n                success: '<svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M22 11.08V12C21.9988 14.1564 21.3005 16.2547 20.0093 17.9818C18.7182 19.7088 16.9033 20.9725 14.8354 21.5839C12.7674 22.1953 10.5573 22.1219 8.53447 21.3746C6.51168 20.6273 4.78465 19.2461 3.61096 17.4371C2.43727 15.628 1.87979 13.4881 2.02168 11.3363C2.16356 9.18455 2.99721 7.13631 4.39828 5.49706C5.79935 3.85781 7.69279 2.71537 9.79619 2.24013C11.8996 1.76488 14.1003 1.98232 16.07 2.85999\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><path d=\"M22 4L12 14.01L9 11.01\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg>',\r\n                error: '<svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><circle cx=\"12\" cy=\"12\" r=\"10\" stroke=\"currentColor\" stroke-width=\"2\"\/><path d=\"M15 9L9 15\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><path d=\"M9 9L15 15\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg>',\r\n                info: '<svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><circle cx=\"12\" cy=\"12\" r=\"10\" stroke=\"currentColor\" stroke-width=\"2\"\/><path d=\"M12 16V12\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><path d=\"M12 8H12.01\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg>'\r\n            };\r\n\r\n            toast.innerHTML = `\r\n                <div class=\"toast-icon\">${iconMap[type] || iconMap.info}<\/div>\r\n                <div class=\"toast-message\">${message}<\/div>\r\n                <button class=\"toast-close\">\r\n                    <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\r\n                        <path d=\"M18 6L6 18M6 6L18 18\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\r\n                    <\/svg>\r\n                <\/button>\r\n            `;\r\n\r\n            toastContainer.appendChild(toast);\r\n\r\n            \/\/ Show toast\r\n            setTimeout(() => toast.classList.add('show'), 100);\r\n\r\n            \/\/ Auto remove toast\r\n            setTimeout(() => {\r\n                toast.classList.remove('show');\r\n                setTimeout(() => {\r\n                    if (toast.parentNode) {\r\n                        toast.parentNode.removeChild(toast);\r\n                    }\r\n                }, 300);\r\n            }, duration);\r\n\r\n            \/\/ Manual close\r\n            const closeBtn = toast.querySelector('.toast-close');\r\n            if (closeBtn) {\r\n                closeBtn.addEventListener('click', () => {\r\n                    toast.classList.remove('show');\r\n                    setTimeout(() => {\r\n                        if (toast.parentNode) {\r\n                            toast.parentNode.removeChild(toast);\r\n                        }\r\n                    }, 300);\r\n                });\r\n            }\r\n        }\r\n\r\n        \/\/ Download story function\r\n        function downloadStory(story) {\r\n            const url = story.is_video ? story.video_url : story.thumbnail_url;\r\n            const filename = 'story_' + story.user.username + '_' + story.taken_at + '.' + (story.is_video ? 'mp4' : 'jpg');\r\n\r\n            fetch(url)\r\n                .then(response => response.blob())\r\n                .then(blob => {\r\n                    const downloadUrl = window.URL.createObjectURL(blob);\r\n                    const link = document.createElement('a');\r\n                    link.href = downloadUrl;\r\n                    link.download = filename;\r\n                    document.body.appendChild(link);\r\n                    link.click();\r\n                    document.body.removeChild(link);\r\n                    window.URL.revokeObjectURL(downloadUrl);\r\n                    showToast('Story downloaded successfully!', 'success');\r\n                })\r\n                .catch(error => {\r\n                    console.error('Download error:', error);\r\n                    showToast('Download failed. Please try again.', 'error');\r\n                });\r\n        }\r\n\r\n        \/\/ Format timestamp to relative time\r\n        function formatTimestamp(timestamp) {\r\n            const now = Math.floor(Date.now() \/ 1000);\r\n            const secondsAgo = now - timestamp;\r\n\r\n            if (secondsAgo < 60) {\r\n                return `${secondsAgo} seconds ago`;\r\n            } else if (secondsAgo < 3600) {\r\n                const minutes = Math.floor(secondsAgo \/ 60);\r\n                return `${minutes} minute${minutes > 1 ? 's' : ''} ago`;\r\n            } else if (secondsAgo < 86400) {\r\n                const hours = Math.floor(secondsAgo \/ 3600);\r\n                return `${hours} hour${hours > 1 ? 's' : ''} ago`;\r\n            } else {\r\n                const days = Math.floor(secondsAgo \/ 86400);\r\n                return `${days} day${days > 1 ? 's' : ''} ago`;\r\n            }\r\n        }\r\n\r\n        \/\/ Handle form submission\r\n        const searchForm = document.getElementById(\"search-form\");\r\n        if (searchForm) {\r\n            searchForm.addEventListener(\"submit\", function (e) {\r\n                e.preventDefault();\r\n                const usernameInput = document.getElementById(\"username-input\");\r\n                if (usernameInput instanceof HTMLInputElement) {\r\n                    const username = usernameInput.value.trim();\r\n\r\n                    if (!username) return;\r\n\r\n                    \/\/ Display loading state\r\n                    document.querySelector(\".loading-state\")?.classList.remove(\"hidden\");\r\n                    document.querySelector(\".profile-data\")?.classList.add(\"hidden\");\r\n                    document.querySelector(\".error-panel\")?.classList.add(\"hidden\");\r\n                    document.querySelector(\".no-stories-message\")?.classList.add(\"hidden\");\r\n                    document.querySelector(\".welcome-panel\")?.classList.add(\"hidden\");\r\n                    document.querySelector(\".story-player\")?.classList.add(\"hidden\");\r\n\r\n                    \/\/ API request\r\n                    fetch('https:\/\/tools.xrespond.com\/api\/instagram\/media\/stories', {\r\n                        method: 'POST',\r\n                        headers: {\r\n                            'Content-Type': 'application\/x-www-form-urlencoded',\r\n                        },\r\n                        body: `profile=${encodeURIComponent(username)}`\r\n                    })\r\n                        .then(response => response.json())\r\n                        .then(response => {\r\n                            console.log(response, 'response');\r\n                            \/\/ Process successful response\r\n                            if (response && response.status === \"success\" && response.data && response.data.data) {\r\n                                const stories = response.data.data.items;\r\n                                if (stories && stories.length > 0) {\r\n                                    displayUserProfile(response.data.data);\r\n                                    showStory(0);\r\n                                } else {\r\n                                    \/\/ Show no stories message\r\n                                    document.querySelector(\".loading-state\")?.classList.add(\"hidden\");\r\n                                    document.querySelector(\".no-stories-message\")?.classList.remove(\"hidden\");\r\n                                    showToast('Profile found but no active stories available.', 'info');\r\n                                }\r\n                            } else {\r\n                                \/\/ Show error message\r\n                                document.querySelector(\".loading-state\")?.classList.add(\"hidden\");\r\n                                document.querySelector(\".error-panel\")?.classList.remove(\"hidden\");\r\n                                const errorMessage = document.querySelector(\".error-message\");\r\n                                if (errorMessage) errorMessage.textContent = \"Connection failed. Profile not found or no stories available.\";\r\n                            }\r\n                        })\r\n                        .catch(error => {\r\n                            \/\/ Handle error\r\n                            document.querySelector(\".loading-state\")?.classList.add(\"hidden\");\r\n                            document.querySelector(\".error-panel\")?.classList.remove(\"hidden\");\r\n                            const errorMessage = document.querySelector(\".error-message\");\r\n                            if (errorMessage) errorMessage.textContent = \"Connection error. Please try again.\";\r\n                            console.error(\"API Error:\", error);\r\n                        });\r\n                }\r\n            });\r\n        }\r\n\r\n        \/\/ Display user profile and stories\r\n        function displayUserProfile(data) {\r\n            const user = data.additional_data.user;\r\n            currentStories = data.items;\r\n\r\n            \/\/ Update profile information\r\n            const profileImage = document.querySelector(\".profile-image\");\r\n            if (profileImage instanceof HTMLImageElement) profileImage.src = user.profile_pic_url;\r\n\r\n            const profileUsername = document.querySelector(\".profile-username\");\r\n            if (profileUsername) profileUsername.textContent = '@' + user.username;\r\n\r\n            const profileFullname = document.querySelector(\".profile-fullname\");\r\n            if (profileFullname) profileFullname.textContent = user.full_name;\r\n\r\n            \/\/ Show verification badge if verified\r\n            const verifiedIndicator = document.querySelector(\".verified-indicator\");\r\n            if (verifiedIndicator) {\r\n                if (user.is_verified) {\r\n                    verifiedIndicator.classList.remove(\"hidden\");\r\n                } else {\r\n                    verifiedIndicator.classList.add(\"hidden\");\r\n                }\r\n            }\r\n\r\n            \/\/ Update stories count\r\n            const storiesCount = document.querySelector(\".stories-count\");\r\n            if (storiesCount) storiesCount.textContent = `${data.items.length} stories`;\r\n\r\n            \/\/ Create story items\r\n            const storiesGrid = document.querySelector(\".stories-grid\");\r\n            if (storiesGrid && data.items && data.items.length > 0) {\r\n                \/\/ Clear only when we have new data to display\r\n                storiesGrid.innerHTML = '';\r\n\r\n                data.items.forEach((story, index) => {\r\n                    const storyCard = document.createElement(\"div\");\r\n                    storyCard.className = \"story-card animate-fade-in-up\";\r\n                    storyCard.dataset.index = index.toString();\r\n\r\n                    storyCard.innerHTML = `\r\n                      <div class=\"story-preview\">\r\n                          <img decoding=\"async\" src=\"${story.thumbnail_url || story.user.profile_pic_url}\" alt=\"\">\r\n                          <div class=\"story-type-overlay ${story.is_video ? 'video' : 'image'}\">\r\n                              ${story.is_video ?\r\n                            '<svg width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M5 3L19 12L5 21V3Z\" fill=\"white\"\/><\/svg> Video' :\r\n                            '<svg width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M3 9C3 7.89543 3.89543 7 5 7H7L8 5H16L17 7H19C20.1046 7 21 7.89543 21 9V18C21 19.1046 20.1046 20 19 20H5C3.89543 20 3 19.1046 3 18V9Z\" stroke=\"white\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><path d=\"M12 16C13.6569 16 15 14.6569 15 13C15 11.3431 13.6569 10 12 10C10.3431 10 9 11.3431 9 13C9 14.6569 10.3431 16 12 16Z\" stroke=\"white\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg> Photo'}\r\n                          <\/div>\r\n                          <div class=\"story-timestamp-overlay\">${formatTimestamp(story.taken_at)}<\/div>\r\n                      <\/div>\r\n                      <div class=\"story-meta\">\r\n                          <div class=\"story-info\">\r\n                              <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\r\n                                  <circle cx=\"12\" cy=\"12\" r=\"10\" stroke=\"currentColor\" stroke-width=\"2\"\/>\r\n                                  <path d=\"M12 8V12L15 15\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\r\n                              <\/svg>\r\n                              <span class=\"story-time\">${formatTimestamp(story.taken_at)}<\/span>\r\n                          <\/div>\r\n                      <\/div>\r\n                  `;\r\n\r\n                    storiesGrid.appendChild(storyCard);\r\n\r\n                    \/\/ Add click event to story items\r\n                    storyCard.addEventListener(\"click\", function (e) {\r\n                        e.preventDefault();\r\n                        e.stopPropagation();\r\n                        const index = parseInt(this.dataset.index || \"0\");\r\n                        showStory(index);\r\n                    });\r\n                });\r\n            }\r\n\r\n            \/\/ Show user profile\r\n            document.querySelector(\".loading-state\")?.classList.add(\"hidden\");\r\n            document.querySelector(\".profile-data\")?.classList.remove(\"hidden\");\r\n        }\r\n\r\n        \/\/ Show a story in the viewer\r\n        function showStory(index) {\r\n            if (index < 0 || index >= currentStories.length) return;\r\n\r\n            currentStoryIndex = index;\r\n            const story = currentStories[index];\r\n\r\n            \/\/ Reset any existing timers\/intervals\r\n            clearTimeout(storyTimeout);\r\n            clearInterval(progressInterval);\r\n            isPaused = false;\r\n\r\n            \/\/ Hide welcome panel, show story player\r\n            \/\/ But keep profile data visible\r\n            document.querySelector(\".welcome-panel\")?.classList.add(\"hidden\");\r\n            \r\n            \/\/ Ensure profile data stays visible\r\n            const profileData = document.querySelector(\".profile-data\");\r\n            if (profileData) {\r\n                profileData.classList.remove(\"hidden\");\r\n            }\r\n            \r\n            const storyPlayer = document.querySelector(\".story-player\");\r\n            if (storyPlayer) {\r\n                storyPlayer.classList.remove(\"hidden\");\r\n                storyPlayer.style.display = \"block\";\r\n                storyPlayer.style.visibility = \"visible\";\r\n                storyPlayer.style.opacity = \"1\";\r\n            }\r\n            \r\n            \/\/ Ensure all control buttons are visible\r\n            const playPauseBtn = document.querySelector(\".play-pause-btn\");\r\n            if (playPauseBtn) {\r\n                playPauseBtn.style.display = \"flex\";\r\n                playPauseBtn.style.visibility = \"visible\";\r\n                playPauseBtn.style.opacity = \"1\";\r\n            }\r\n            \r\n            const storyActions = document.querySelector(\".story-actions\");\r\n            if (storyActions) {\r\n                storyActions.style.display = \"flex\";\r\n                storyActions.style.visibility = \"visible\";\r\n                storyActions.style.opacity = \"1\";\r\n            }\r\n            \r\n            const controlBtns = document.querySelectorAll(\".control-btn\");\r\n            controlBtns.forEach(btn => {\r\n                if (btn instanceof HTMLElement) {\r\n                    btn.style.display = \"flex\";\r\n                    btn.style.visibility = \"visible\";\r\n                    btn.style.opacity = \"1\";\r\n                    btn.style.color = \"white\";\r\n                    \r\n                    \/\/ Ensure SVG icons inside buttons are visible\r\n                    const svgs = btn.querySelectorAll(\"svg\");\r\n                    svgs.forEach(svg => {\r\n                        if (svg instanceof SVGElement) {\r\n                            svg.style.display = \"block\";\r\n                            svg.style.visibility = \"visible\";\r\n                            svg.style.opacity = \"1\";\r\n                            svg.style.color = \"white\";\r\n                            svg.style.width = \"20px\";\r\n                            svg.style.height = \"20px\";\r\n                            svg.style.stroke = \"#ffffff\";\r\n                            svg.style.fill = \"none\";\r\n                            \r\n                            \/\/ Ensure all paths inside SVG are visible\r\n                            const paths = svg.querySelectorAll(\"path\");\r\n                            paths.forEach(path => {\r\n                                if (path instanceof SVGPathElement) {\r\n                                    path.style.stroke = \"#ffffff\";\r\n                                    path.style.fill = \"none\";\r\n                                    path.setAttribute(\"stroke\", \"#ffffff\");\r\n                                    path.setAttribute(\"fill\", \"none\");\r\n                                    path.setAttribute(\"stroke-width\", \"2.5\");\r\n                                }\r\n                            });\r\n                        }\r\n                    });\r\n                }\r\n            });\r\n            \r\n            \/\/ Ensure all icons are visible - call multiple times\r\n            if (typeof ensureIconsVisible === 'function') {\r\n                ensureIconsVisible();\r\n                setTimeout(() => ensureIconsVisible(), 50);\r\n                setTimeout(() => ensureIconsVisible(), 100);\r\n                setTimeout(() => ensureIconsVisible(), 200);\r\n            }\r\n\r\n            \/\/ Update story header info\r\n            const storyUserImage = document.querySelector(\".story-user-image\");\r\n            if (storyUserImage instanceof HTMLImageElement) storyUserImage.src = story.user.profile_pic_url;\r\n\r\n            const storyUsername = document.querySelector(\".story-username\");\r\n            if (storyUsername) storyUsername.textContent = '@' + story.user.username;\r\n\r\n            const storyTimestamp = document.querySelector(\".story-timestamp\");\r\n            if (storyTimestamp) storyTimestamp.textContent = formatTimestamp(story.taken_at);\r\n\r\n            \/\/ Set up progress indicators\r\n            const progressTrack = document.querySelector(\".progress-track\");\r\n            if (progressTrack) {\r\n                progressTrack.innerHTML = '';\r\n\r\n                for (let i = 0; i < currentStories.length; i++) {\r\n                    const progressIndicator = document.createElement(\"div\");\r\n                    progressIndicator.className = `progress-indicator ${i < index ? 'completed' : i === index ? 'active' : ''}`;\r\n                    progressIndicator.innerHTML = '<div class=\"progress-fill\"><\/div>';\r\n                    progressTrack.appendChild(progressIndicator);\r\n                }\r\n            }\r\n\r\n            \/\/ Create and display story content\r\n            const mediaContainer = document.querySelector(\".media-container\");\r\n            if (mediaContainer) {\r\n                mediaContainer.innerHTML = '';\r\n\r\n                if (story.is_video) {\r\n                    \/\/ It's a video\r\n                    const video = document.createElement(\"video\");\r\n                    video.src = story.video_url;\r\n                    video.setAttribute(\"playsinline\", \"\");\r\n                    video.muted = isMuted;\r\n                    video.setAttribute(\"autoplay\", \"\");\r\n                    currentVideo = video;\r\n                    mediaContainer.appendChild(video);\r\n\r\n                    \/\/ Update play\/pause button\r\n                    updatePlayPauseButton();\r\n\r\n                    \/\/ Set up progress animation\r\n                    const duration = (story.video_duration || 5) * 1000;\r\n                    const progressElement = document.querySelector(\".progress-indicator.active .progress-fill\");\r\n                    let startTime = Date.now();\r\n\r\n                    progressInterval = setInterval(() => {\r\n                        if (!isPaused) {\r\n                            const elapsed = Date.now() - startTime;\r\n                            const percent = Math.min(elapsed \/ duration * 100, 100);\r\n                            if (progressElement instanceof HTMLElement) {\r\n                                progressElement.style.width = percent + '%';\r\n                            }\r\n\r\n                            if (percent >= 100) {\r\n                                clearInterval(progressInterval);\r\n                                \/\/ Move to next story after video ends\r\n                                setTimeout(() => {\r\n                                    showStory(currentStoryIndex + 1);\r\n                                }, 500);\r\n                            }\r\n                        }\r\n                    }, 100);\r\n\r\n                    \/\/ Also set a backup timeout in case video doesn't play\r\n                    storyTimeout = setTimeout(() => {\r\n                        if (!isPaused) {\r\n                            showStory(currentStoryIndex + 1);\r\n                        }\r\n                    }, duration + 1000);\r\n\r\n                } else {\r\n                    \/\/ It's an image\r\n                    const img = document.createElement(\"img\");\r\n                    img.src = story.thumbnail_url;\r\n                    img.alt = \"\";\r\n                    mediaContainer.appendChild(img);\r\n\r\n                    \/\/ Set up progress animation (5 seconds for images)\r\n                    const duration = 5000;\r\n                    const progressElement = document.querySelector(\".progress-indicator.active .progress-fill\");\r\n                    let startTime = Date.now();\r\n\r\n                    progressInterval = setInterval(() => {\r\n                        if (!isPaused) {\r\n                            const elapsed = Date.now() - startTime;\r\n                            const percent = Math.min(elapsed \/ duration * 100, 100);\r\n                            if (progressElement instanceof HTMLElement) {\r\n                                progressElement.style.width = percent + '%';\r\n                            }\r\n\r\n                            if (percent >= 100) {\r\n                                clearInterval(progressInterval);\r\n                                \/\/ Move to next story after image display time\r\n                                setTimeout(() => {\r\n                                    showStory(currentStoryIndex + 1);\r\n                                }, 500);\r\n                            }\r\n                        }\r\n                    }, 100);\r\n\r\n                    \/\/ Also set a backup timeout\r\n                    storyTimeout = setTimeout(() => {\r\n                        if (!isPaused) {\r\n                            showStory(currentStoryIndex + 1);\r\n                        }\r\n                    }, duration + 500);\r\n                }\r\n            }\r\n            \r\n            \/\/ Final call to ensure icons are visible\r\n            setTimeout(() => {\r\n                if (typeof ensureIconsVisible === 'function') {\r\n                    ensureIconsVisible();\r\n                }\r\n            }, 300);\r\n        }\r\n\r\n        \/\/ Update play\/pause button\r\n        function updatePlayPauseButton() {\r\n            const playPauseBtn = document.querySelector(\".play-pause-btn\");\r\n            if (!playPauseBtn) return;\r\n\r\n            if (isPaused) {\r\n                playPauseBtn.innerHTML = `<svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"btn-icon\">\r\n                    <path d=\"M8 5V19L19 12L8 5Z\" stroke=\"#ffffff\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" fill=\"none\"\/>\r\n                <\/svg>`;\r\n                playPauseBtn.title = \"Play\";\r\n            } else {\r\n                playPauseBtn.innerHTML = `<svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"btn-icon\">\r\n                    <path d=\"M6 4H10V20H6V4Z\" stroke=\"#ffffff\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" fill=\"none\"\/>\r\n                    <path d=\"M14 4H18V20H14V4Z\" stroke=\"#ffffff\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" fill=\"none\"\/>\r\n                <\/svg>`;\r\n                playPauseBtn.title = \"Pause\";\r\n            }\r\n            \r\n            \/\/ Ensure icon is visible\r\n            ensureIconsVisible();\r\n        }\r\n        \r\n        \/\/ Function to ensure all icons are visible\r\n        function ensureIconsVisible() {\r\n            const allButtons = document.querySelectorAll('.story-actions .control-btn, .control-btn');\r\n            allButtons.forEach(btn => {\r\n                \/\/ Force button visibility\r\n                btn.style.setProperty('display', 'flex', 'important');\r\n                btn.style.setProperty('visibility', 'visible', 'important');\r\n                btn.style.setProperty('opacity', '1', 'important');\r\n                \r\n                const svgs = btn.querySelectorAll('svg');\r\n                svgs.forEach(svg => {\r\n                    \/\/ Force SVG visibility with setProperty for !important effect\r\n                    svg.style.setProperty('display', 'block', 'important');\r\n                    svg.style.setProperty('visibility', 'visible', 'important');\r\n                    svg.style.setProperty('opacity', '1', 'important');\r\n                    svg.style.setProperty('width', '20px', 'important');\r\n                    svg.style.setProperty('height', '20px', 'important');\r\n                    svg.style.setProperty('min-width', '20px', 'important');\r\n                    svg.style.setProperty('min-height', '20px', 'important');\r\n                    svg.style.setProperty('color', '#ffffff', 'important');\r\n                    svg.style.setProperty('fill', 'none', 'important');\r\n                    svg.style.setProperty('stroke', '#ffffff', 'important');\r\n                    \r\n                    \/\/ Set attributes\r\n                    svg.setAttribute('width', '20');\r\n                    svg.setAttribute('height', '20');\r\n                    svg.setAttribute('fill', 'none');\r\n                    svg.setAttribute('stroke', '#ffffff');\r\n                    \r\n                    const paths = svg.querySelectorAll('path');\r\n                    paths.forEach(path => {\r\n                        \/\/ Set attributes first\r\n                        path.setAttribute('stroke', '#ffffff');\r\n                        path.setAttribute('fill', 'none');\r\n                        path.setAttribute('stroke-width', '2.5');\r\n                        path.setAttribute('stroke-linecap', 'round');\r\n                        path.setAttribute('stroke-linejoin', 'round');\r\n                        \r\n                        \/\/ Then set styles with !important\r\n                        path.style.setProperty('stroke', '#ffffff', 'important');\r\n                        path.style.setProperty('fill', 'none', 'important');\r\n                        path.style.setProperty('stroke-width', '2.5', 'important');\r\n                        path.style.setProperty('stroke-linecap', 'round', 'important');\r\n                        path.style.setProperty('stroke-linejoin', 'round', 'important');\r\n                        path.style.setProperty('opacity', '1', 'important');\r\n                        path.style.setProperty('visibility', 'visible', 'important');\r\n                        path.style.setProperty('display', 'block', 'important');\r\n                    });\r\n                });\r\n            });\r\n            \r\n            \/\/ Also target all SVGs directly in story-actions\r\n            const allSvgs = document.querySelectorAll('.story-actions svg');\r\n            allSvgs.forEach(svg => {\r\n                svg.style.setProperty('display', 'block', 'important');\r\n                svg.style.setProperty('visibility', 'visible', 'important');\r\n                svg.style.setProperty('opacity', '1', 'important');\r\n            });\r\n        }\r\n\r\n        \/\/ Navigation: Previous story\r\n        const prevArea = document.querySelector(\".prev-area\");\r\n        if (prevArea) {\r\n            prevArea.addEventListener(\"click\", function (e) {\r\n                e.preventDefault();\r\n                e.stopPropagation();\r\n                clearTimeout(storyTimeout);\r\n                clearInterval(progressInterval);\r\n                if (currentStoryIndex > 0) {\r\n                    showStory(currentStoryIndex - 1);\r\n                }\r\n            });\r\n        }\r\n\r\n        \/\/ Navigation: Next story\r\n        const nextArea = document.querySelector(\".next-area\");\r\n        if (nextArea) {\r\n            nextArea.addEventListener(\"click\", function (e) {\r\n                e.preventDefault();\r\n                e.stopPropagation();\r\n                clearTimeout(storyTimeout);\r\n                clearInterval(progressInterval);\r\n                if (currentStoryIndex < currentStories.length - 1) {\r\n                    showStory(currentStoryIndex + 1);\r\n                } else {\r\n                    \/\/ If at the last story, loop back to first story\r\n                    showStory(0);\r\n                }\r\n            });\r\n        }\r\n\r\n        \/\/ Play\/Pause button event\r\n        const playPauseBtn = document.querySelector(\".play-pause-btn\");\r\n        if (playPauseBtn) {\r\n            playPauseBtn.addEventListener(\"click\", function (e) {\r\n                e.preventDefault();\r\n                e.stopPropagation();\r\n                isPaused = !isPaused;\r\n\r\n                if (currentVideo instanceof HTMLVideoElement) {\r\n                    if (isPaused) {\r\n                        currentVideo.pause();\r\n                    } else {\r\n                        currentVideo.play();\r\n                    }\r\n                }\r\n\r\n                updatePlayPauseButton();\r\n            });\r\n        }\r\n\r\n        \/\/ Mute button event\r\n        const muteBtn = document.querySelector(\".mute-btn\");\r\n        if (muteBtn) {\r\n            muteBtn.addEventListener(\"click\", function (e) {\r\n                e.preventDefault();\r\n                e.stopPropagation();\r\n                isMuted = !isMuted;\r\n\r\n                const video = document.querySelector(\".media-container video\");\r\n                if (video instanceof HTMLVideoElement) {\r\n                    video.muted = isMuted;\r\n                }\r\n\r\n                \/\/ Update mute button icon\r\n                this.innerHTML = isMuted ?\r\n                    `<svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"btn-icon\">\r\n                      <path d=\"M11 5L6 9H2V15H6L11 19V5Z\" stroke=\"#ffffff\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" fill=\"none\"\/>\r\n                      <path d=\"M23 9L17 15\" stroke=\"#ffffff\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" fill=\"none\"\/>\r\n                      <path d=\"M17 9L23 15\" stroke=\"#ffffff\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" fill=\"none\"\/>\r\n                  <\/svg>` :\r\n                    `<svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"btn-icon\">\r\n                      <path d=\"M11 5L6 9H2V15H6L11 19V5Z\" stroke=\"#ffffff\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" fill=\"none\"\/>\r\n                      <path d=\"M15.54 8.46C16.4774 9.39764 17.004 10.6692 17.004 11.995C17.004 13.3208 16.4774 14.5924 15.54 15.53\" stroke=\"#ffffff\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" fill=\"none\"\/>\r\n                      <path d=\"M19.07 4.93C20.9447 6.80528 21.9979 9.34836 21.9979 12C21.9979 14.6516 20.9447 17.1947 19.07 19.07\" stroke=\"#ffffff\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" fill=\"none\"\/>\r\n                  <\/svg>`;\r\n                \r\n                \/\/ Ensure icon is visible\r\n                setTimeout(() => {\r\n                    if (typeof ensureIconsVisible === 'function') {\r\n                        ensureIconsVisible();\r\n                    }\r\n                }, 50);\r\n            });\r\n        }\r\n\r\n        \/\/ Download button event\r\n        const downloadBtn = document.querySelector(\".download-btn\");\r\n        if (downloadBtn) {\r\n            downloadBtn.addEventListener(\"click\", function (e) {\r\n                e.preventDefault();\r\n                e.stopPropagation();\r\n                if (currentStories[currentStoryIndex]) {\r\n                    downloadStory(currentStories[currentStoryIndex]);\r\n                }\r\n            });\r\n        }\r\n\r\n        \/\/ Close button event - ONLY this button clears\/deletes output\r\n        const closeBtn = document.querySelector(\".close-btn\");\r\n        if (closeBtn) {\r\n            closeBtn.addEventListener(\"click\", function (e) {\r\n                e.preventDefault();\r\n                e.stopPropagation();\r\n                clearTimeout(storyTimeout);\r\n                clearInterval(progressInterval);\r\n                \r\n                \/\/ Close story player\r\n                document.querySelector(\".story-player\")?.classList.add(\"hidden\");\r\n                \r\n                \/\/ Clear\/Delete output results - only when close button is clicked\r\n                document.querySelector(\".profile-data\")?.classList.add(\"hidden\");\r\n                const storiesGrid = document.querySelector(\".stories-grid\");\r\n                if (storiesGrid) storiesGrid.innerHTML = '';\r\n                document.querySelector(\".loading-state\")?.classList.add(\"hidden\");\r\n                document.querySelector(\".error-panel\")?.classList.add(\"hidden\");\r\n                document.querySelector(\".no-stories-message\")?.classList.add(\"hidden\");\r\n                \r\n                \/\/ Reset form\r\n                const usernameInput = document.getElementById(\"username-input\");\r\n                if (usernameInput) usernameInput.value = '';\r\n                \r\n                \/\/ Show welcome panel\r\n                document.querySelector(\".welcome-panel\")?.classList.remove(\"hidden\");\r\n            });\r\n        }\r\n\r\n        \/\/ Handle keyboard navigation\r\n        document.addEventListener(\"keydown\", function (e) {\r\n            if (document.querySelector(\".story-player\")?.classList.contains(\"hidden\")) return;\r\n\r\n            if (e.key === \"ArrowLeft\") {\r\n                const prevButton = document.querySelector(\".prev-area\");\r\n                if (prevButton instanceof HTMLElement) {\r\n                    prevButton.click();\r\n                }\r\n            } else if (e.key === \"ArrowRight\") {\r\n                const nextButton = document.querySelector(\".next-area\");\r\n                if (nextButton instanceof HTMLElement) {\r\n                    nextButton.click();\r\n                }\r\n            } else if (e.key === \"Escape\") {\r\n                const closeButton = document.querySelector(\".close-btn\");\r\n                if (closeButton instanceof HTMLElement) {\r\n                    closeButton.click();\r\n                }\r\n            } else if (e.key === \" \") {\r\n                \/\/ Spacebar for play\/pause\r\n                e.preventDefault();\r\n                const playPauseButton = document.querySelector(\".play-pause-btn\");\r\n                if (playPauseButton instanceof HTMLElement) {\r\n                    playPauseButton.click();\r\n                }\r\n            } else if (e.key === \"m\" || e.key === \"M\") {\r\n                \/\/ M key for mute\/unmute\r\n                const muteButton = document.querySelector(\".mute-btn\");\r\n                if (muteButton instanceof HTMLElement) {\r\n                    muteButton.click();\r\n                }\r\n            } else if (e.key === \"d\" || e.key === \"D\") {\r\n                \/\/ D key for download\r\n                const downloadButton = document.querySelector(\".download-btn\");\r\n                if (downloadButton instanceof HTMLElement) {\r\n                    downloadButton.click();\r\n                }\r\n            }\r\n        });\r\n        \r\n        \/\/ Ensure icons are visible on page load\r\n        setTimeout(() => {\r\n            if (typeof ensureIconsVisible === 'function') {\r\n                ensureIconsVisible();\r\n            }\r\n        }, 500);\r\n        \r\n        \/\/ Use MutationObserver to watch for changes and ensure icons stay visible\r\n        const observer = new MutationObserver(() => {\r\n            if (typeof ensureIconsVisible === 'function') {\r\n                ensureIconsVisible();\r\n            }\r\n        });\r\n        \r\n        \/\/ Observe story-actions for changes\r\n        const storyActions = document.querySelector('.story-actions');\r\n        if (storyActions) {\r\n            observer.observe(storyActions, {\r\n                childList: true,\r\n                subtree: true,\r\n                attributes: true,\r\n                attributeFilter: ['style', 'class']\r\n            });\r\n        }\r\n    });\r\n<\/script>\r\n\r\n\r\n<div class=\"isvd-support-root\">\r\n    <!-- Load Fonts & Icons -->\r\n    <link href=\"https:\/\/fonts.googleapis.com\/css2?family=Outfit:wght@400;600;700;800;900&family=Inter:wght@400;500;600&display=swap\" rel=\"stylesheet\">\r\n    <link rel=\"stylesheet\" href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/font-awesome\/6.5.1\/css\/all.min.css\">\r\n\r\n    <style>\r\n        .isvd-support-root {\r\n            \/* Premium Brand Colors *\/\r\n            --isvd-black: #000000; \/* Solid black for headings *\/\r\n            --isvd-p: #475569;\r\n            --isvd-p-muted: #94a3b8;\r\n            --isvd-primary: #E1306C; \/* Instagram Pink\/Red *\/\r\n            --isvd-primary-light: rgba(225, 48, 108, 0.08);\r\n            --isvd-grad: linear-gradient(135deg, #833ab4 0%, #fd1d1d 50%, #fcb045 100%); \/* IG Gradient *\/\r\n            \r\n            \/* Backgrounds *\/\r\n            --isvd-bg-white: #ffffff;\r\n            --isvd-bg-offwhite: #F8F9FA; \/* Clean Off-White *\/\r\n            \r\n            \/* UI Elements *\/\r\n            --isvd-br: 16px; \r\n            --isvd-shadow: 0 10px 25px rgba(0, 0, 0, 0.04);\r\n            --isvd-hover-shadow: 0 15px 35px rgba(225, 48, 108, 0.12);\r\n            \r\n            font-family: 'Inter', sans-serif;\r\n            color: var(--isvd-p);\r\n            line-height: 1.6;\r\n            -webkit-font-smoothing: antialiased;\r\n        }\r\n\r\n        .isvd-sect { padding: 100px 20px; width: 100%; box-sizing: border-box; }\r\n        .isvd-wrap { max-width: 1240px; margin: 0 auto; }\r\n\r\n        \/* Background Pattern Sequence *\/\r\n        .isvd-bg-white { background: var(--isvd-bg-white); }\r\n        .isvd-bg-offwhite { background: var(--isvd-bg-offwhite); border-top: 1px solid rgba(0,0,0,0.03); border-bottom: 1px solid rgba(0,0,0,0.03); }\r\n\r\n        \/* Global Typography - Forced to Black *\/\r\n        .isvd-h2 {\r\n            font-family: 'Outfit', sans-serif;\r\n            font-size: clamp(2.2rem, 5vw, 3rem);\r\n            font-weight: 900;\r\n            text-align: center;\r\n            margin-bottom: 20px;\r\n            letter-spacing: -0.03em;\r\n            line-height: 1.2;\r\n            color: var(--isvd-black);\r\n        }\r\n\r\n        .isvd-h2-highlight {\r\n            background: var(--isvd-grad);\r\n            -webkit-background-clip: text;\r\n            -webkit-text-fill-color: transparent;\r\n            display: inline-block;\r\n        }\r\n\r\n        .isvd-p-intro {\r\n            text-align: center;\r\n            max-width: 800px;\r\n            margin: 0 auto 60px auto;\r\n            font-size: 1.15rem;\r\n            font-weight: 500;\r\n            color: var(--isvd-p);\r\n            opacity: 0.9;\r\n        }\r\n\r\n        \/* Dynamic Grid Layout - Proper Spacing *\/\r\n        .isvd-grid {\r\n            display: grid;\r\n            grid-template-columns: repeat(3, 1fr);\r\n            gap: 40px 30px; \/* 40px vertical, 30px horizontal *\/\r\n            align-items: stretch; \/* Forces cards in a row to match the tallest one *\/\r\n        }\r\n\r\n        \/* Fluid Card Component *\/\r\n        .isvd-card {\r\n            background: #ffffff;\r\n            border: 1px solid rgba(0, 0, 0, 0.06);\r\n            border-radius: var(--isvd-br);\r\n            padding: 35px 30px; \r\n            box-shadow: var(--isvd-shadow);\r\n            transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);\r\n            display: flex;\r\n            flex-direction: column;\r\n            justify-content: flex-start;\r\n            position: relative;\r\n            overflow: hidden;\r\n            height: 100%; \r\n            width: 100%;\r\n            box-sizing: border-box;\r\n        }\r\n\r\n        \/* Off-white section card slightly distinct border *\/\r\n        .isvd-bg-offwhite .isvd-card {\r\n            border: 1px solid rgba(0, 0, 0, 0.04);\r\n        }\r\n\r\n        .isvd-card:hover {\r\n            transform: translateY(-8px);\r\n            border-color: var(--isvd-primary);\r\n            box-shadow: var(--isvd-hover-shadow);\r\n        }\r\n\r\n        \/* Header Alignment inside Card (Icon + Title Same Row) *\/\r\n        .isvd-card-header {\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 16px;\r\n            margin-bottom: 16px;\r\n        }\r\n\r\n        .isvd-icon-box {\r\n            width: 52px;\r\n            height: 52px;\r\n            border-radius: 12px;\r\n            background: var(--isvd-primary-light);\r\n            color: var(--isvd-primary);\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            font-size: 1.4rem;\r\n            transition: 0.4s;\r\n            flex-shrink: 0; \r\n        }\r\n\r\n        .isvd-card:hover .isvd-icon-box {\r\n            background: var(--isvd-grad);\r\n            color: #ffffff;\r\n            transform: scale(1.08) rotate(-5deg);\r\n            box-shadow: 0 8px 20px rgba(225, 48, 108, 0.3);\r\n        }\r\n\r\n        .isvd-card h3 {\r\n            font-family: 'Outfit', sans-serif;\r\n            font-size: 1.15rem;\r\n            margin: 0;\r\n            color: var(--isvd-black);\r\n            font-weight: 800;\r\n            line-height: 1.3;\r\n        }\r\n\r\n        .isvd-card p {\r\n            font-size: 0.95rem;\r\n            margin: 0;\r\n            line-height: 1.6;\r\n            color: var(--isvd-p);\r\n        }\r\n\r\n        \/* Mobile Adjustments *\/\r\n        @media (max-width: 1024px) { \r\n            .isvd-grid { grid-template-columns: repeat(2, 1fr); } \r\n        }\r\n        @media (max-width: 768px) { \r\n            .isvd-grid { grid-template-columns: 1fr; gap: 25px; } \r\n            .isvd-card { padding: 30px 25px; }\r\n            .isvd-sect { padding: 60px 15px; }\r\n            .isvd-h2 { font-size: 1.8rem; }\r\n            .isvd-p-intro { font-size: 1.05rem; margin-bottom: 40px; }\r\n        }\r\n        @media (max-width: 400px) {\r\n            .isvd-icon-box { width: 45px; height: 45px; font-size: 1.2rem; }\r\n            .isvd-card h3 { font-size: 1.05rem; }\r\n            .isvd-card p { font-size: 0.9rem; }\r\n        }\r\n    <\/style>\r\n\r\n    <!-- SECTION 1: WHAT IT IS (WHITE) -->\r\n\r\n\r\n\r\n\r\n\r\n <section class=\"isvd-sect isvd-bg-white\">\r\n        <div class=\"isvd-wrap\">\r\n\r\n<\/div>\r\n\t<\/section>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n    <section class=\"isvd-sect isvd-bg-white\">\r\n        <div class=\"isvd-wrap\">\r\n            <h2 class=\"isvd-h2\">What Is An <span class=\"isvd-h2-highlight\">IG Story Viewer?<\/span><\/h2>\r\n            <p class=\"isvd-p-intro\">Save fleeting moments before they vanish forever. Our utility extracts high-definition, uncompressed story media from public profiles so you can permanently archive content.<\/p>\r\n\r\n            <div class=\"isvd-grid\">\r\n                <div class=\"isvd-card\">\r\n                    <div class=\"isvd-card-header\">\r\n                        <div class=\"isvd-icon-box\"><i class=\"fas fa-video\"><\/i><\/div>\r\n                        <h3>What Does It Download?<\/h3>\r\n                    <\/div>\r\n                    <p>Fetch active 24-hour stories in their original format. Grab flawless MP4 video files or high-resolution JPG images straight from the platform servers.<\/p>\r\n                <\/div>\r\n                <div class=\"isvd-card\">\r\n                    <div class=\"isvd-card-header\">\r\n                        <div class=\"isvd-icon-box\"><i class=\"fas fa-bolt\"><\/i><\/div>\r\n                        <h3>How Fast Is It?<\/h3>\r\n                    <\/div>\r\n                    <p>Operating entirely on a cloud-based framework, our express extraction engine retrieves and renders heavy media files in less than a second.<\/p>\r\n                <\/div>\r\n                <div class=\"isvd-card\">\r\n                    <div class=\"isvd-card-header\">\r\n                        <div class=\"isvd-icon-box\"><i class=\"fas fa-folder-open\"><\/i><\/div>\r\n                        <h3>Where Does It Save?<\/h3>\r\n                    <\/div>\r\n                    <p>The media goes exactly where you want it. Hit download, and files are saved directly into your device\u2019s local gallery or desktop downloads folder.<\/p>\r\n                <\/div>\r\n                <div class=\"isvd-card\">\r\n                    <div class=\"isvd-card-header\">\r\n                        <div class=\"isvd-icon-box\"><i class=\"fas fa-users\"><\/i><\/div>\r\n                        <h3>Who Is It Built For?<\/h3>\r\n                    <\/div>\r\n                    <p>Designed perfectly for digital marketers saving competitor assets, fans archiving memories, and creators collecting inspiration for their own grids.<\/p>\r\n                <\/div>\r\n                <div class=\"isvd-card\">\r\n                    <div class=\"isvd-card-header\">\r\n                        <div class=\"isvd-icon-box\"><i class=\"fas fa-eye\"><\/i><\/div>\r\n                        <h3>Why Is It So Clear?<\/h3>\r\n                    <\/div>\r\n                    <p>We bypass the heavy compression applied by mobile applications, linking you directly to the uncropped, crisp source file hosted by the network.<\/p>\r\n                <\/div>\r\n                <div class=\"isvd-card\">\r\n                    <div class=\"isvd-card-header\">\r\n                        <div class=\"isvd-icon-box\"><i class=\"fas fa-laptop-mobile\"><\/i><\/div>\r\n                        <h3>What Devices Work?<\/h3>\r\n                    <\/div>\r\n                    <p>Whether you're holding an Android phone, scrolling an iPad, or sitting at a Windows desktop, our web-based tool scales beautifully to your screen.<\/p>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/section>\r\n\r\n    <!-- SECTION 2: HOW TO USE (OFF-WHITE #F8F9FA) -->\r\n    <section class=\"isvd-sect isvd-bg-offwhite\">\r\n        <div class=\"isvd-wrap\">\r\n            <h2 class=\"isvd-h2\">How Do I Download <span class=\"isvd-h2-highlight\">IG Stories Safely?<\/span><\/h2>\r\n            <p class=\"isvd-p-intro\">We've eliminated technical barriers. Viewing and fetching pristine story files is a frictionless process that requires zero coding or app knowledge.<\/p>\r\n\r\n            <div class=\"isvd-grid\">\r\n                <div class=\"isvd-card\">\r\n                    <div class=\"isvd-card-header\">\r\n                        <div class=\"isvd-icon-box\"><i class=\"fas fa-search\"><\/i><\/div>\r\n                        <h3>1. Where Do I Start?<\/h3>\r\n                    <\/div>\r\n                    <p>Open the social app or browse via desktop. Locate the specific public account whose 24-hour stories you want to view or permanently archive.<\/p>\r\n                <\/div>\r\n                <div class=\"isvd-card\">\r\n                    <div class=\"isvd-card-header\">\r\n                        <div class=\"isvd-icon-box\"><i class=\"fas fa-copy\"><\/i><\/div>\r\n                        <h3>2. What Do I Copy?<\/h3>\r\n                    <\/div>\r\n                    <p>You can either copy the direct URL link to the story itself, or simply copy the creator's @username and bring it over to our platform.<\/p>\r\n                <\/div>\r\n                <div class=\"isvd-card\">\r\n                    <div class=\"isvd-card-header\">\r\n                        <div class=\"isvd-icon-box\"><i class=\"fas fa-paste\"><\/i><\/div>\r\n                        <h3>3. Where Do I Paste?<\/h3>\r\n                    <\/div>\r\n                    <p>Drop the copied link or handle into the large input field at the top of this page. Our backend will immediately recognize the target profile.<\/p>\r\n                <\/div>\r\n                <div class=\"isvd-card\">\r\n                    <div class=\"isvd-card-header\">\r\n                        <div class=\"isvd-icon-box\"><i class=\"fas fa-clock\"><\/i><\/div>\r\n                        <h3>4. How Long Do I Wait?<\/h3>\r\n                    <\/div>\r\n                    <p>Practically zero time. Hit the submit button, and our servers will immediately extract and display all currently active stories in a clean grid.<\/p>\r\n                <\/div>\r\n                <div class=\"isvd-card\">\r\n                    <div class=\"isvd-card-header\">\r\n                        <div class=\"isvd-icon-box\"><i class=\"fas fa-download\"><\/i><\/div>\r\n                        <h3>5. What Do I Click Next?<\/h3>\r\n                    <\/div>\r\n                    <p>Browse through the active snapshots inline. Once you find the specific clip you need, click the dedicated download button attached to the media.<\/p>\r\n                <\/div>\r\n                <div class=\"isvd-card\">\r\n                    <div class=\"isvd-card-header\">\r\n                        <div class=\"isvd-icon-box\"><i class=\"fas fa-check-circle\"><\/i><\/div>\r\n                        <h3>6. Where Is My File?<\/h3>\r\n                    <\/div>\r\n                    <p>The media is instantly transferred to your device without redirects. You now own a permanent, high-quality copy to view completely offline.<\/p>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/section>\r\n\r\n    <!-- SECTION 3: PRIVACY & TRUST (WHITE) -->\r\n    <section class=\"isvd-sect isvd-bg-white\">\r\n        <div class=\"isvd-wrap\">\r\n            <h2 class=\"isvd-h2\">Why Choose This <span class=\"isvd-h2-highlight\">Anonymous Downloader?<\/span><\/h2>\r\n            <p class=\"isvd-p-intro\">Your personal privacy should never be the cost of exploring content. Here is how we guarantee your digital safety while you download.<\/p>\r\n\r\n            <div class=\"isvd-grid\">\r\n                <div class=\"isvd-card\">\r\n                    <div class=\"isvd-card-header\">\r\n                        <div class=\"isvd-icon-box\"><i class=\"fas fa-ghost\"><\/i><\/div>\r\n                        <h3>Why Is It Invisible?<\/h3>\r\n                    <\/div>\r\n                    <p>Because the connection runs entirely through our proxy servers, your view will never register on the content creator\u2019s \"Seen By\" notification list.<\/p>\r\n                <\/div>\r\n                <div class=\"isvd-card\">\r\n                    <div class=\"isvd-card-header\">\r\n                        <div class=\"isvd-icon-box\"><i class=\"fas fa-cookie-bite\"><\/i><\/div>\r\n                        <h3>What About Tracking?<\/h3>\r\n                    <\/div>\r\n                    <p>We reject invasive tracking. Our site operates cleanly without injecting persistent cookies designed to follow your web habits across other platforms.<\/p>\r\n                <\/div>\r\n                <div class=\"isvd-card\">\r\n                    <div class=\"isvd-card-header\">\r\n                        <div class=\"isvd-icon-box\"><i class=\"fas fa-user-slash\"><\/i><\/div>\r\n                        <h3>Who Can See My Searches?<\/h3>\r\n                    <\/div>\r\n                    <p>Nobody. We run a strict zero-log policy on all URLs entered. Your search queries are temporary and vanish the moment your session ends.<\/p>\r\n                <\/div>\r\n                <div class=\"isvd-card\">\r\n                    <div class=\"isvd-card-header\">\r\n                        <div class=\"isvd-icon-box\"><i class=\"fas fa-cloud\"><\/i><\/div>\r\n                        <h3>Why Use Cloud Servers?<\/h3>\r\n                    <\/div>\r\n                    <p>By handling the heavy lifting on our end, your personal device is protected from suspicious IP tracing, malware, and bandwidth draining.<\/p>\r\n                <\/div>\r\n                <div class=\"isvd-card\">\r\n                    <div class=\"isvd-card-header\">\r\n                        <div class=\"isvd-icon-box\"><i class=\"fas fa-database\"><\/i><\/div>\r\n                        <h3>What Happens To My Data?<\/h3>\r\n                    <\/div>\r\n                    <p>Since we do not require any sign-ups, email addresses, or account linking, we hold absolutely zero personal data that could be compromised.<\/p>\r\n                <\/div>\r\n                <div class=\"isvd-card\">\r\n                    <div class=\"isvd-card-header\">\r\n                        <div class=\"isvd-icon-box\"><i class=\"fas fa-shield-alt\"><\/i><\/div>\r\n                        <h3>Why Trust Our System?<\/h3>\r\n                    <\/div>\r\n                    <p>We respect ethical boundaries. The extractor only retrieves data that has been purposely published to public profiles, respecting private locks.<\/p>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/section>\r\n\r\n    <!-- SECTION 4: USE CASES (OFF-WHITE #F8F9FA) -->\r\n    <section class=\"isvd-sect isvd-bg-offwhite\">\r\n        <div class=\"isvd-wrap\">\r\n            <h2 class=\"isvd-h2\">Who Uses The <span class=\"isvd-h2-highlight\">Story Viewer Tool?<\/span><\/h2>\r\n            <p class=\"isvd-p-intro\">Downloading fleeting media is incredibly valuable across both casual browsing and high-level professional digital sectors.<\/p>\r\n\r\n            <div class=\"isvd-grid\">\r\n                <div class=\"isvd-card\">\r\n                    <div class=\"isvd-card-header\">\r\n                        <div class=\"isvd-icon-box\"><i class=\"fas fa-chart-line\"><\/i><\/div>\r\n                        <h3>Why Do Marketers Use It?<\/h3>\r\n                    <\/div>\r\n                    <p>Agencies frequently download competitor promotions to analyze successful sales funnels without accidentally engaging from official corporate accounts.<\/p>\r\n                <\/div>\r\n                <div class=\"isvd-card\">\r\n                    <div class=\"isvd-card-header\">\r\n                        <div class=\"isvd-icon-box\"><i class=\"fas fa-pen-nib\"><\/i><\/div>\r\n                        <h3>How Do Creators Benefit?<\/h3>\r\n                    <\/div>\r\n                    <p>Content creators grab trending layouts, filters, and audio styles to compile offline inspiration mood boards for their next major video project.<\/p>\r\n                <\/div>\r\n                <div class=\"isvd-card\">\r\n                    <div class=\"isvd-card-header\">\r\n                        <div class=\"isvd-icon-box\"><i class=\"fas fa-microscope\"><\/i><\/div>\r\n                        <h3>What Do Researchers Do?<\/h3>\r\n                    <\/div>\r\n                    <p>Journalists and sociologists capture and save public updates in real-time, preserving visual evidence before it naturally expires after 24 hours.<\/p>\r\n                <\/div>\r\n                <div class=\"isvd-card\">\r\n                    <div class=\"isvd-card-header\">\r\n                        <div class=\"isvd-icon-box\"><i class=\"fas fa-box-archive\"><\/i><\/div>\r\n                        <h3>Why Back Up Content?<\/h3>\r\n                    <\/div>\r\n                    <p>Social platforms are highly volatile. Saving a favorite clip locally guarantees you will never lose access to a highly valuable or entertaining video.<\/p>\r\n                <\/div>\r\n                <div class=\"isvd-card\">\r\n                    <div class=\"isvd-card-header\">\r\n                        <div class=\"isvd-icon-box\"><i class=\"fas fa-briefcase\"><\/i><\/div>\r\n                        <h3>Who Audits Profiles?<\/h3>\r\n                    <\/div>\r\n                    <p>Recruiters utilize our viewer to check the public footprint and behavior of potential job candidates safely, avoiding awkward digital footprints.<\/p>\r\n                <\/div>\r\n                <div class=\"isvd-card\">\r\n                    <div class=\"isvd-card-header\">\r\n                        <div class=\"isvd-icon-box\"><i class=\"fas fa-heart\"><\/i><\/div>\r\n                        <h3>Why Do Fans Love It?<\/h3>\r\n                    <\/div>\r\n                    <p>Fans use the tool to permanently save high-definition updates, behind-the-scenes clips, and announcements from their favorite celebrities effortlessly.<\/p>\r\n                <\/div>\r\n            <\/div>\r\n            \r\n            <div style=\"margin-top: 50px; text-align: center; color: var(--isvd-p-muted); font-size: 0.9rem;\">\r\n                <p><i class=\"fas fa-info-circle\"><\/i> Digital Responsibility: This web utility is engineered for public content retrieval. Always respect the copyright of the original poster.<\/p>\r\n            <\/div>\r\n        <\/div>\r\n    <\/section>\r\n<\/div><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"","protected":false},"author":3,"featured_media":0,"parent":5283,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"template-homepage.php","meta":{"footnotes":""},"class_list":["post-5239","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/gramiewer.com\/wp-json\/wp\/v2\/pages\/5239","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gramiewer.com\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/gramiewer.com\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/gramiewer.com\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/gramiewer.com\/wp-json\/wp\/v2\/comments?post=5239"}],"version-history":[{"count":7,"href":"https:\/\/gramiewer.com\/wp-json\/wp\/v2\/pages\/5239\/revisions"}],"predecessor-version":[{"id":5565,"href":"https:\/\/gramiewer.com\/wp-json\/wp\/v2\/pages\/5239\/revisions\/5565"}],"up":[{"embeddable":true,"href":"https:\/\/gramiewer.com\/wp-json\/wp\/v2\/pages\/5283"}],"wp:attachment":[{"href":"https:\/\/gramiewer.com\/wp-json\/wp\/v2\/media?parent=5239"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}