{"id":5377,"date":"2026-05-25T05:49:59","date_gmt":"2026-05-25T05:49:59","guid":{"rendered":"https:\/\/viiewerr.com\/instagram\/story-download\/"},"modified":"2026-05-25T08:38:08","modified_gmt":"2026-05-25T08:38:08","slug":"story-download","status":"publish","type":"page","link":"https:\/\/viiewerr.com\/instagram\/story-download\/","title":{"rendered":"instagram story viewer download"},"content":{"rendered":"<style type=\"text\/css\">\n.tc-wp-island {\n  width: 100%;\n  max-width: 100%;\n  min-width: 0;\n  box-sizing: border-box;\n  display: flow-root;\n  isolation: isolate;\n  position: relative;\n}\n.tc-wp-island > * {\n  min-width: 0;\n}\n.tc-wp-island *,\n.tc-wp-island *::before,\n.tc-wp-island *::after {\n  box-sizing: border-box;\n}\n.tc-wp-island img,\n.tc-wp-island video,\n.tc-wp-island svg,\n.tc-wp-island iframe {\n  max-width: 100%;\n  height: auto;\n}\n.tc-wp-island .tc-wp-tool {\n  max-width: 100%;\n  min-width: 0;\n}\n.tc-wp-island .tc-wp-tool-html,\n.tc-wp-island .tc-wp-tool-content,\n.tc-wp-island .tc-wp-other {\n  max-width: 100%;\n  min-width: 0;\n  overflow-wrap: anywhere;\n  word-break: break-word;\n}\n\/* Space between WP Coder tool + content shortcodes on publish\/draft pages *\/\n.tc-wp-island .tc-wp-tool-html + .tc-wp-tool-content {\n  margin-top: 20px;\n}\n.tc-wp-island .tc-wp-bcd-codes {\n  display: flex;\n  flex-direction: column;\n  gap: 20px;\n}\n\/* Full-width: hide theme sidebar when a ToolsChecker island is present *\/\nbody:has(.tc-wp-island) #sidebar,\nbody:has(.tc-wp-island) .sidebar,\nbody:has(.tc-wp-island) #secondary,\nbody:has(.tc-wp-island) .widget-area,\nbody:has(.tc-wp-island) aside.sidebar,\nbody:has(.tc-wp-island) #right-sidebar,\nbody:has(.tc-wp-island) #left-sidebar,\nbody:has(.tc-wp-island) .sidebar-primary,\nbody:has(.tc-wp-island) .sidebar-secondary,\nbody:has(.tc-wp-island) .ast-sidebar,\nbody:has(.tc-wp-island) .site-sidebar {\n  display: none !important;\n}\n\/* Copygen: hide default page title\/breadcrumb band \u2014 tool pages use template-homepage like category *\/\nbody:has(.tc-wp-island) section.page_header_default,\nbody:has(.tc-wp-island) .page_header_default {\n  display: none !important;\n}\n@media (min-width: 981px) {\n  body:has(.tc-wp-island) #left-area,\n  body:has(.tc-wp-island) #primary,\n  body:has(.tc-wp-island) #content-area,\n  body:has(.tc-wp-island) #content-area .container,\n  body:has(.tc-wp-island) .content-area,\n  body:has(.tc-wp-island) main.site-main,\n  body:has(.tc-wp-island) .site-content .content-area {\n    width: 100% !important;\n    max-width: 100% !important;\n    float: none !important;\n    padding-right: 0 !important;\n    padding-left: 0 !important;\n  }\n  body:has(.tc-wp-island) #main-content .container:before {\n    display: none !important;\n  }\n}\n\/* Tool pages: keep theme H1 readable \u2014 smaller type, full content width, 1\u20132 lines *\/\nbody:has(.tc-wp-island) .fontib-v2-hero-inner {\n  width: min(100%, calc(100vw - 40px)) !important;\n  max-width: 1320px !important;\n}\nbody:has(.tc-wp-island) .fontib-v2-title,\nbody:has(.tc-wp-island) #left-area > .entry-title,\nbody:has(.tc-wp-island) .entry-title h1,\nbody:has(.tc-wp-island) h1.entry-title,\nbody:has(.tc-wp-island) .page-title,\nbody:has(.tc-wp-island) .et_pb_title_container h1 {\n  max-width: 100% !important;\n  width: 100%;\n  font-size: clamp(24px, 2.6vw, 38px) !important;\n  line-height: 1.2 !important;\n  letter-spacing: -0.01em;\n}\n<\/style>\n<div class=\"tc-wp-island\">\n<section class=\"tc-wp-tool\" data-tool-index=\"1\">\n<div class=\"tc-wp-tool-html\">  <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            \/* Instagram Color System *\/\r\n            --ig-pink: #E1306C;\r\n            --ig-orange: #F77737;\r\n            --ig-yellow: #FCAF45;\r\n            --ig-purple: #833AB4;\r\n            --ig-blue: #405DE6;\r\n            --ig-red: #C13584;\r\n            --ig-magenta: #FD1D1D;\r\n            --ig-teal: #5C51D6;\r\n            --white: #ffffff;\r\n            --gray-50: #f8f9fa;\r\n            --gray-100: #f1f3f5;\r\n            --gray-200: #e9ecef;\r\n            --gray-400: #adb5bd;\r\n            --gray-600: #6c757d;\r\n            --gray-800: #343a40;\r\n            --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);\r\n            --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);\r\n            --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);\r\n            --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);\r\n            --transition-fast: 150ms cubic-bezier(0.4, 0, 0.2, 1);\r\n            --transition-base: 250ms cubic-bezier(0.4, 0, 0.2, 1);\r\n            --transition-slow: 350ms cubic-bezier(0.4, 0, 0.2, 1);\r\n\r\n            \/* Derived colors for components *\/\r\n            --primary: var(--ig-pink);\r\n            --secondary: var(--gray-600);\r\n            --accent: var(--ig-purple);\r\n            --accent-secondary: var(--ig-blue);\r\n            --success: var(--ig-teal);\r\n            --warning: var(--ig-yellow);\r\n            --error: var(--ig-red);\r\n\r\n            \/* Text Colors *\/\r\n            --text-primary-light: var(--gray-800);\r\n            --text-secondary-light: var(--gray-600);\r\n            --text-muted-light: var(--gray-400);\r\n\r\n            \/* Glow Shadows *\/\r\n            --shadow-glow-primary: 0 0 15px rgba(225, 48, 108, 0.3);\r\n            --shadow-glow-accent: 0 0 15px rgba(131, 58, 180, 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\n\tfont-family: 'Outfit', sans-serif;\r\n\tbackground: linear-gradient(135deg, \r\n            rgba(252, 175, 69, 0.08) 0%, \r\n            rgba(247, 119, 55, 0.06) 20%, \r\n            rgba(225, 48, 108, 0.08) 40%, \r\n            rgba(131, 58, 180, 0.06) 60%, \r\n            rgba(64, 93, 230, 0.08) 80%, \r\n            rgba(252, 175, 69, 0.08) 100%);\r\n\tcolor: var(--text-primary-light);\r\n\tline-height: 1.5;\r\n\twidth: 100%;\r\n\tpadding: 2rem;\r\n\tposition: relative;\r\n\tbox-shadow: inset 0 0 100px rgba(225, 48, 108, 0.05), inset 0 0 100px rgba(131, 58, 180, 0.05);\r\n\toverflow: visible;\r\n}\r\n\r\n.instagram-story-viewer-wrapper::before {\r\n\tcontent: '';\r\n\tposition: absolute;\r\n\ttop: 0;\r\n\tleft: 0;\r\n\tright: 0;\r\n\tbottom: 0;\r\n\tbackground: radial-gradient(circle at top left, rgba(225, 48, 108, 0.2) 0%, transparent 50%),\r\n                    radial-gradient(circle at bottom right, rgba(131, 58, 180, 0.2) 0%, transparent 50%);\r\n\tpointer-events: none;\r\n\tz-index: 0;\r\n}\r\n\r\n        .hidden {\r\n            display: none !important;\r\n        }\r\n\r\n        \/* Layout *\/\r\n        .instagram-story-viewer-wrapper {\r\n            display: flex;\r\n            flex-direction: column;\r\n            align-items: center;\r\n            gap: 2rem;\r\n            width: 100%;\r\n        }\r\n\r\n        .content-container {\r\n            width: 100%;\r\n            max-width: 1200px;\r\n            margin: 0 auto;\r\n            display: flex;\r\n            flex-direction: column;\r\n            align-items: center;\r\n            gap: 2rem;\r\n            position: relative;\r\n            z-index: 1;\r\n            overflow: visible;\r\n            height: auto;\r\n        }\r\n\r\n\r\n        \/* Title Section - No background *\/\r\n        .title-section {\r\n            text-align: center;\r\n            padding: 1rem 0;\r\n        }\r\n\r\n        \/* Input Component - With soft glow *\/\r\n        .input-component {\r\n            background: rgba(255, 255, 255, 0.8);\r\n            backdrop-filter: blur(10px);\r\n            -webkit-backdrop-filter: blur(10px);\r\n            border-radius: var(--border-radius-lg);\r\n            padding: 2rem;\r\n            box-shadow: 0 4px 20px rgba(225, 48, 108, 0.1), 0 0 0 1px rgba(225, 48, 108, 0.1);\r\n            width: 100%;\r\n            max-width: 1200px;\r\n            transition: var(--transition-normal);\r\n            position: relative;\r\n        }\r\n\r\n        .input-component:hover {\r\n            box-shadow: 0 6px 25px rgba(225, 48, 108, 0.12), 0 0 0 1px rgba(225, 48, 108, 0.15);\r\n        }\r\n\r\n        .app-logo {\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            gap: 1rem;\r\n            margin-bottom: 1rem;\r\n        }\r\n\r\n        .logo-icon {\r\n            width: 50px;\r\n            height: 50px;\r\n            background: linear-gradient(45deg, var(--ig-purple), var(--ig-pink), var(--ig-orange));\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 4px 15px rgba(225, 48, 108, 0.2);\r\n        }\r\n\r\n        .app-title {\r\n            font-size: 3rem;\r\n            font-weight: 800;\r\n            background: linear-gradient(to right, var(--ig-purple), var(--ig-pink), var(--ig-orange));\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        }\r\n\r\n        \/* Search Container *\/\r\n        .search-container {\r\n            padding: 0;\r\n            position: relative;\r\n            flex-shrink: 0;\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(--ig-purple);\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(--ig-purple);\r\n            box-shadow: 0 0 0 4px rgba(131, 58, 180, 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(--ig-purple), var(--ig-pink), var(--ig-orange));\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(225, 48, 108, 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: 0;\r\n            width: 100%;\r\n            height: 100%;\r\n            background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);\r\n            transform: translateX(-100%);\r\n        }\r\n\r\n        #search-btn:hover {\r\n            box-shadow: 0 8px 20px rgba(225, 48, 108, 0.25);\r\n        }\r\n\r\n        #search-btn:hover::before {\r\n            left: 100%;\r\n        }\r\n\r\n        #search-btn:active {\r\n            box-shadow: 0 4px 10px rgba(225, 48, 108, 0.15);\r\n        }\r\n\r\n        \/* Output Component - Individual component *\/\r\n        .output-component {\r\n            background: rgba(255, 255, 255, 0.8);\r\n            backdrop-filter: blur(10px);\r\n            -webkit-backdrop-filter: blur(10px);\r\n            border-radius: var(--border-radius-lg);\r\n            padding: 2rem;\r\n            box-shadow: 0 4px 20px rgba(131, 58, 180, 0.1), 0 0 0 1px rgba(131, 58, 180, 0.1);\r\n            width: 100%;\r\n            max-width: 1200px;\r\n            transition: var(--transition-normal);\r\n            overflow: visible;\r\n            min-height: auto;\r\n            height: auto;\r\n        }\r\n\r\n        .output-component:hover {\r\n            box-shadow: 0 6px 25px rgba(131, 58, 180, 0.12), 0 0 0 1px rgba(131, 58, 180, 0.15);\r\n        }\r\n\r\n        .profile-section {\r\n            padding: 0;\r\n            position: relative;\r\n            overflow: visible;\r\n        }\r\n\r\n        \/* Responsive Design *\/\r\n        @media (max-width: 1200px) {\r\n            .content-container {\r\n                padding: 0 1rem;\r\n            }\r\n        }\r\n\r\n        @media (max-width: 768px) {\r\n            .instagram-story-viewer-wrapper {\r\n                padding: 1rem;\r\n                gap: 1.5rem;\r\n            }\r\n\r\n            .input-component,\r\n            .output-component {\r\n                padding: 1.5rem;\r\n            }\r\n\r\n            .stories-grid {\r\n                grid-template-columns: 1fr;\r\n            }\r\n\r\n            .app-title {\r\n                font-size: 2rem;\r\n            }\r\n\r\n            .profile-header {\r\n                flex-direction: column;\r\n                text-align: center;\r\n            }\r\n\r\n            .profile-image {\r\n                width: 60px;\r\n                height: 60px;\r\n            }\r\n        }\r\n\r\n        @media (max-width: 480px) {\r\n            .instagram-story-viewer-wrapper {\r\n                padding: 0.5rem;\r\n                gap: 0.5rem;\r\n            }\r\n\r\n            .input-component,\r\n            .output-component {\r\n                padding: 0.6rem;\r\n            }\r\n\r\n            .stories-grid {\r\n                grid-template-columns: 1fr;\r\n                gap: 0.4rem;\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: 40px;\r\n                height: 40px;\r\n                font-size: 16px;\r\n            }\r\n\r\n            #search-btn {\r\n                padding: 0.6rem;\r\n                font-size: 0.9rem;\r\n            }\r\n\r\n            .profile-header {\r\n                padding: 0.6rem;\r\n                gap: 0.6rem;\r\n            }\r\n\r\n            .profile-image {\r\n                width: 50px;\r\n                height: 50px;\r\n            }\r\n\r\n            .profile-data {\r\n                gap: 0.8rem;\r\n            }\r\n\r\n            .story-meta {\r\n                padding: 0.5rem;\r\n            }\r\n\r\n            .story-info {\r\n                gap: 0.3rem;\r\n            }\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(--ig-purple), var(--ig-pink), var(--ig-orange));\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        .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(--ig-purple), var(--ig-pink));\r\n            -webkit-background-clip: text;\r\n            background-clip: text;\r\n            -webkit-text-fill-color: transparent;\r\n            background-size: 200% 100%;\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            overflow: visible;\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.5rem;\r\n            background: rgba(255, 255, 255, 0.6);\r\n            border-radius: var(--border-radius-lg);\r\n            box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);\r\n            transition: var(--transition-normal);\r\n            border: 1px solid rgba(0, 0, 0, 0.05);\r\n        }\r\n\r\n        .profile-header:hover {\r\n            box-shadow: 0 3px 12px rgba(0, 0, 0, 0.06);\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(--ig-purple), var(--ig-pink), var(--ig-orange)) border-box;\r\n            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);\r\n            transition: var(--transition-normal);\r\n        }\r\n\r\n        .profile-image:hover {\r\n            box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);\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(--ig-blue), var(--ig-purple));\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(--ig-pink);\r\n        }\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(auto-fit, minmax(280px, 1fr));\r\n            gap: 1.5rem;\r\n            width: 100%;\r\n        }\r\n\r\n        .story-card {\r\n            background: rgba(255, 255, 255, 0.6);\r\n            border-radius: var(--border-radius-md);\r\n            overflow: hidden;\r\n            cursor: pointer;\r\n            transition: var(--transition-normal);\r\n            border: 1px solid rgba(0, 0, 0, 0.05);\r\n            position: relative;\r\n        }\r\n\r\n        .story-card:hover {\r\n            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);\r\n            border-color: rgba(225, 48, 108, 0.15);\r\n        }\r\n\r\n        .story-card::before {\r\n            content: '';\r\n            position: absolute;\r\n            inset: 0;\r\n            border-radius: var(--border-radius-md);\r\n            padding: 2px;\r\n            background: linear-gradient(45deg, var(--ig-purple), var(--ig-pink), var(--ig-orange));\r\n            -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);\r\n            mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);\r\n            -webkit-mask-composite: xor;\r\n            mask-composite: exclude;\r\n            opacity: 0;\r\n            transition: var(--transition-normal);\r\n        }\r\n\r\n        .story-card:hover::before {\r\n            opacity: 0.5;\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            min-height: 220px;\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: opacity 0.2s ease;\r\n        }\r\n\r\n        .story-card:hover .story-preview img {\r\n            opacity: 0.9;\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(13, 110, 253, 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: 1rem;\r\n            display: flex;\r\n            justify-content: space-between;\r\n            align-items: center;\r\n            background: rgba(0, 0, 0, 0.03);\r\n            border-top: 1px solid rgba(0, 0, 0, 0.05);\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(--ig-pink);\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: 2rem;\r\n            text-align: center;\r\n            display: flex;\r\n            flex-direction: column;\r\n            align-items: center;\r\n            margin-top: 1rem;\r\n            background: rgba(255, 255, 255, 0.6);\r\n            backdrop-filter: blur(10px);\r\n            -webkit-backdrop-filter: blur(10px);\r\n            border-radius: var(--border-radius-lg);\r\n            box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);\r\n            border: 1px solid rgba(0, 0, 0, 0.05);\r\n        }\r\n\r\n        .error-icon {\r\n            width: 80px;\r\n            height: 80px;\r\n            background: rgba(193, 53, 132, 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        }\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: 1rem 2rem;\r\n            background: linear-gradient(45deg, var(--ig-purple), var(--ig-pink));\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: 1rem;\r\n            font-weight: 600;\r\n            cursor: pointer;\r\n            transition: var(--transition-normal);\r\n            box-shadow: 0 4px 15px rgba(225, 48, 108, 0.2);\r\n        }\r\n\r\n        .error-action:hover {\r\n            box-shadow: 0 6px 15px rgba(225, 48, 108, 0.25);\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(13, 110, 253, 0.05) 0%, transparent 40%),\r\n                radial-gradient(circle at 80% 80%, rgba(25, 135, 84, 0.05) 0%, transparent 40%),\r\n                radial-gradient(circle at 50% 50%, rgba(32, 201, 151, 0.03) 0%, transparent 60%);\r\n            z-index: 0;\r\n        }\r\n\r\n        \/* Story Player *\/\r\n        .story-player {\r\n            position: fixed;\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;\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        }\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;\r\n            gap: 1rem;\r\n        }\r\n\r\n        .control-btn {\r\n\t\t\t\t\t\tpadding: 2px;\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;\r\n            align-items: center;\r\n            justify-content: center;\r\n            cursor: pointer;\r\n            transition: var(--transition-normal);\r\n            color: white;\r\n            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);\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        \/* 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\r\n        .progress-fill {\r\n            height: 100%;\r\n            width: 0;\r\n            background: linear-gradient(to right, var(--primary), var(--accent-secondary), var(--accent));\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;\r\n            border: none;\r\n            cursor: pointer;\r\n            position: relative;\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        .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        }\r\n\r\n\r\n        \/* Responsive Styles *\/\r\n\r\n        @media (max-width: 576px) {\r\n            .stories-grid {\r\n                grid-template-columns: 1fr;\r\n            }\r\n\r\n            .story-preview {\r\n                height: 220px;\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: 40px;\r\n                height: 40px;\r\n            }\r\n\r\n            .progress-track {\r\n                top: 80px;\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(--ig-teal);\r\n        }\r\n\r\n        .toast.error {\r\n            border-left: 4px solid var(--ig-red);\r\n        }\r\n\r\n        .toast.info {\r\n            border-left: 4px solid var(--ig-blue);\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(--ig-yellow);\r\n            margin-bottom: 2rem;\r\n            position: relative;\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;\r\n            align-items: center;\r\n            justify-content: center;\r\n            cursor: pointer;\r\n            transition: var(--transition-normal);\r\n            color: white;\r\n            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);\r\n        }\r\n\r\n        .play-pause-btn:hover {\r\n            background-color: rgba(255, 255, 255, 0.25);\r\n            box-shadow: 0 6px 15px rgba(0, 0, 0, 0.15);\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;\r\n            align-items: center;\r\n            justify-content: center;\r\n            cursor: pointer;\r\n            transition: var(--transition-normal);\r\n            color: white;\r\n            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);\r\n        }\r\n\r\n        .download-btn:hover {\r\n            background-color: rgba(255, 255, 255, 0.25);\r\n            box-shadow: 0 6px 15px rgba(0, 0, 0, 0.15);\r\n        }\r\n\r\n        .download-btn:active {\r\n            background-color: rgba(255, 255, 255, 0.3);\r\n        }\r\n\r\n        \/* Centered Close Button *\/\r\n        .centered-close-btn {\r\n            position: absolute !important;\r\n            top: 30px !important;\r\n            left: 50% !important;\r\n            transform: translateX(-50%) !important;\r\n            padding: 0.75rem 2rem !important;\r\n            background: rgba(0, 0, 0, 0.8) !important;\r\n            backdrop-filter: blur(10px) !important;\r\n            -webkit-backdrop-filter: blur(10px) !important;\r\n            border: 2px solid rgba(255, 255, 255, 0.5) !important;\r\n            border-radius: 30px !important;\r\n            display: flex !important;\r\n            align-items: center !important;\r\n            justify-content: center !important;\r\n            cursor: pointer !important;\r\n            z-index: 1000 !important;\r\n            color: white !important;\r\n            font-size: 1rem !important;\r\n            font-weight: 700 !important;\r\n            transition: all 0.3s ease !important;\r\n            pointer-events: auto !important;\r\n        }\r\n\r\n        .centered-close-btn:hover {\r\n            background: rgba(0, 0, 0, 0.95) !important;\r\n            border-color: rgba(255, 255, 255, 0.8) !important;\r\n            transform: translateX(-50%) scale(1.05) !important;\r\n        }\r\n\r\n        .centered-close-btn:active {\r\n            transform: translateX(-50%) scale(0.95) !important;\r\n        }\r\n\r\n        @media (max-width: 768px) {\r\n            .centered-close-btn {\r\n                padding: 0.6rem 1.5rem !important;\r\n                font-size: 0.9rem !important;\r\n                top: 20px !important;\r\n                z-index: 1000 !important;\r\n            }\r\n        }\r\n\r\n        @media (max-width: 480px) {\r\n            .centered-close-btn {\r\n                padding: 0.5rem 1.2rem !important;\r\n                font-size: 0.85rem !important;\r\n                top: 15px !important;\r\n                z-index: 1000 !important;\r\n            }\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        <!-- Content Container -->\r\n        <div class=\"content-container\">\r\n            <!-- Title Section -->\r\n            <div class=\"title-section\">\r\n                <div class=\"app-logo\">\r\n                    <div class=\"logo-icon\">IG<\/div>\r\n                    <h1 class=\"app-title\">Instagram Story Viewer Download<\/h1>\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <!-- Input Section Component -->\r\n            <div class=\"input-component\">\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=\"M12 2C6.48 2 2 6.48 2 12C2 17.52 6.48 22 12 22C17.52 22 22 17.52 22 12C22 6.48 17.52 2 12 2ZM13 17H11V15H13V17ZM13 13H11V7H13V13Z\" 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        <\/div>\r\n\r\n        <!-- Output Section Component -->\r\n        <div class=\"output-component hidden\">\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        <\/div>\r\n\r\n        <!-- Story Player (hidden by default) -->\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\">\r\n                        <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\r\n                            <path d=\"M8 5V19L19 12L8 5Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><\/path>\r\n                        <\/svg>\r\n                    <\/button>\r\n                    <button class=\"control-btn mute-btn\" title=\"Toggle audio\">\r\n                        <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\r\n                            <path d=\"M11 5L6 9H2V15H6L11 19V5Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><\/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=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><\/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=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><\/path>\r\n                        <\/svg>\r\n                    <\/button>\r\n                    <button class=\"control-btn download-btn\" title=\"Download story\">\r\n                        <svg width=\"20\" height=\"20\" 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.391 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                    <\/button>\r\n                    <button class=\"control-btn close-btn\" title=\"Close viewer\">\r\n                        <svg width=\"20\" height=\"20\" 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\"><\/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            <!-- Centered Close Button -->\r\n            <button class=\"centered-close-btn\" title=\"Close viewer\">Close<\/button>\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    <script src=\"https:\/\/tools.xrespond.com\/api\/rate-limit-handler.js\"><\/script>\r\n<script src=\"https:\/\/tools.xrespond.com\/api\/js\/client-ip-detector.js\"><\/script>\r\n \r\n    <script>\r\n        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                        \/\/ Show output component\r\n                        document.querySelector(\".output-component\")?.classList.remove(\"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) {\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 () {\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                document.querySelector(\".welcome-panel\")?.classList.add(\"hidden\");\r\n                document.querySelector(\".story-player\")?.classList.remove(\"hidden\");\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\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\">\r\n                        <path d=\"M8 5V19L19 12L8 5Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\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\">\r\n                        <path d=\"M6 4H10V20H6V4Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\r\n                        <path d=\"M14 4H18V20H14V4Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\r\n                    <\/svg>`;\r\n                    playPauseBtn.title = \"Pause\";\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 () {\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 () {\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, close the viewer\r\n                        document.querySelector(\".story-player\")?.classList.add(\"hidden\");\r\n                        document.querySelector(\".welcome-panel\")?.classList.remove(\"hidden\");\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 () {\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 () {\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\">\r\n                          <path d=\"M11 5L6 9H2V15H6L11 19V5Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\r\n                          <path d=\"M23 9L17 15\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\r\n                          <path d=\"M17 9L23 15\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\r\n                      <\/svg>` :\r\n                        `<svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\r\n                          <path d=\"M11 5L6 9H2V15H6L11 19V5Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\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=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\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=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\r\n                      <\/svg>`;\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 () {\r\n                    if (currentStories[currentStoryIndex]) {\r\n                        downloadStory(currentStories[currentStoryIndex]);\r\n                    }\r\n                });\r\n            }\r\n\r\n            \/\/ Close button event\r\n            const closeBtn = document.querySelector(\".close-btn\");\r\n            if (closeBtn) {\r\n                closeBtn.addEventListener(\"click\", function () {\r\n                    clearTimeout(storyTimeout);\r\n                    clearInterval(progressInterval);\r\n                    document.querySelector(\".story-player\")?.classList.add(\"hidden\");\r\n                });\r\n            }\r\n\r\n            \/\/ Centered close button event\r\n            const centeredCloseBtn = document.querySelector(\".centered-close-btn\");\r\n            if (centeredCloseBtn) {\r\n                centeredCloseBtn.addEventListener(\"click\", function () {\r\n                    clearTimeout(storyTimeout);\r\n                    clearInterval(progressInterval);\r\n                    document.querySelector(\".story-player\")?.classList.add(\"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    <\/script>\r\n<\/div>\n<div class=\"tc-wp-tool-content\"><div class=\"wpc-scope-22\">\n<div class=\"tc-wp-content-root\" data-tc-wp-scope=\"1\" style=\"max-width:100%;box-sizing:border-box;isolation:isolate;min-width:0;position:relative;\">\n<div class=\"dn\">\n<div class=\"dn-inner\">\n<div class=\"dn-hb\" style=\"margin-top: 4rem;\"><\/div>\n<\/div><section class=\"dn-sec dn-bg-wh\" aria-labelledby=\"dn-h1\">\n<div class=\"dn-inner\">\n<div class=\"dn-hb\">\n<h2 id=\"dn-h1\">How <span class=\"dn-gx\">Instagram Story Viewer Download<\/span> Works<\/h2>\n<p>Watch and download Instagram stories easily with our all-in-one tool.<\/p>\n<\/div>\n<div class=\"dn-g3\" data-dn-grid=\"g1\">\n<article class=\"dn-ca\" tabindex=\"0\" role=\"article\">\n<div class=\"dn-ico\">\n<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z\"\/><circle cx=\"12\" cy=\"12\" r=\"3\"\/><\/svg>\n<\/div>\n<h3>Story Viewing<\/h3>\n<p>Watch any public Instagram story instantly without delays or buffering, giving you immediate access to the latest content from creators and accounts you care about.<\/p>\n<\/article>\n<article class=\"dn-ca\" tabindex=\"0\" role=\"article\">\n<div class=\"dn-ico\">\n<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\"\/><polyline points=\"7 10 12 15 17 10\"\/><line x1=\"12\" y1=\"15\" x2=\"12\" y2=\"3\"\/><\/svg>\n<\/div>\n<h3>One-Click Save<\/h3>\n<p>Download stories with a single click directly to your device, preserving them permanently in their original format for offline viewing and long-term content archiving purposes.<\/p>\n<\/article>\n<article class=\"dn-ca\" tabindex=\"0\" role=\"article\">\n<div class=\"dn-ico\">\n<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><rect x=\"2\" y=\"3\" width=\"20\" height=\"14\" rx=\"2\"\/><line x1=\"8\" y1=\"21\" x2=\"16\" y2=\"21\"\/><line x1=\"12\" y1=\"17\" x2=\"12\" y2=\"21\"\/><\/svg>\n<\/div>\n<h3>HD Quality<\/h3>\n<p>Save stories in original resolution without compression or quality loss, ensuring every download maintains the exact visual fidelity as when the creator originally uploaded it.<\/p>\n<\/article>\n<article class=\"dn-ca\" tabindex=\"0\" role=\"article\">\n<div class=\"dn-ico\">\n<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><polygon points=\"12 2 22 8.5 12 15 2 8.5\"\/><polyline points=\"2 15.5 12 22 22 15.5\"\/><polyline points=\"2 11.5 12 18 22 11.5\"\/><\/svg>\n<\/div>\n<h3>Bulk Download<\/h3>\n<p>Download multiple stories at once with batch processing capability, saving valuable time when you need to collect content from several profiles or compile reference material quickly.<\/p>\n<\/article>\n<article class=\"dn-ca\" tabindex=\"0\" role=\"article\">\n<div class=\"dn-ico\">\n<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><rect x=\"3\" y=\"11\" width=\"18\" height=\"11\" rx=\"2\"\/><path d=\"M7 11V7a5 5 0 0 1 9.9-1\"\/><\/svg>\n<\/div>\n<h3>No Login<\/h3>\n<p>Access and download without Instagram account registration or login, removing all authentication barriers so you can start saving content immediately without sharing personal information.<\/p>\n<\/article>\n<article class=\"dn-ca\" tabindex=\"0\" role=\"article\">\n<div class=\"dn-ico\">\n<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><polyline points=\"12 6 12 12 16 14\"\/><\/svg>\n<\/div>\n<h3>Auto Archive<\/h3>\n<p>Automatically save stories you view with smart archiving that captures content in the background, ensuring you never lose access to important stories even if you forget to download manually.<\/p>\n<\/article>\n<\/div>\n<\/div>\n<\/section>\n\n<section class=\"dn-sec dn-bg-ow\" aria-labelledby=\"dn-h2\">\n<div class=\"dn-inner\">\n<div class=\"dn-hb\">\n<h2 id=\"dn-h2\">Key Benefits of <span class=\"dn-gx\">Instagram Story Viewer Download<\/span><\/h2>\n<p>Discover why users choose our platform for story viewing and saving.<\/p>\n<\/div>\n<div class=\"dn-g4\" data-dn-grid=\"g2\">\n<article class=\"dn-cb\" tabindex=\"0\" role=\"article\">\n<div class=\"dn-ico\">\n<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><line x1=\"1\" y1=\"1\" x2=\"23\" y2=\"23\"\/><path d=\"M16.72 11.06A10.94 10.94 0 0 1 19 12.55\"\/><path d=\"M5 12.55a10.94 10.94 0 0 1 5.17-2.39\"\/><path d=\"M10.71 5.05A16 16 0 0 1 22.56 9\"\/><path d=\"M1.42 9a15.91 15.91 0 0 1 4.7-2.88\"\/><path d=\"M8.53 16.11a6 6 0 0 1 6.95 0\"\/><line x1=\"12\" y1=\"20\" x2=\"12.01\" y2=\"20\"\/><\/svg>\n<\/div>\n<div class=\"dn-cb-body\">\n<h3>Offline Access<\/h3>\n<p>View downloaded stories without internet<\/p>\n<\/div>\n<\/article>\n<article class=\"dn-cb\" tabindex=\"0\" role=\"article\">\n<div class=\"dn-ico\">\n<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z\"\/><\/svg>\n<\/div>\n<div class=\"dn-cb-body\">\n<h3>Permanent Save<\/h3>\n<p>Stories never expire after download<\/p>\n<\/div>\n<\/article>\n<article class=\"dn-cb\" tabindex=\"0\" role=\"article\">\n<div class=\"dn-ico\">\n<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><polygon points=\"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2\"\/><\/svg>\n<\/div>\n<div class=\"dn-cb-body\">\n<h3>High Quality<\/h3>\n<p>Download in original uploaded quality<\/p>\n<\/div>\n<\/article>\n<article class=\"dn-cb\" tabindex=\"0\" role=\"article\">\n<div class=\"dn-ico\">\n<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><polygon points=\"13 2 3 14 12 14 11 22 21 10 12 10\"\/><\/svg>\n<\/div>\n<div class=\"dn-cb-body\">\n<h3>Quick Download<\/h3>\n<p>Fast optimized download speeds<\/p>\n<\/div>\n<\/article>\n<article class=\"dn-cb\" tabindex=\"0\" role=\"article\">\n<div class=\"dn-ico\">\n<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z\"\/><\/svg>\n<\/div>\n<div class=\"dn-cb-body\">\n<h3>Organized Storage<\/h3>\n<p>Downloaded stories sorted by profile<\/p>\n<\/div>\n<\/article>\n<article class=\"dn-cb\" tabindex=\"0\" role=\"article\">\n<div class=\"dn-ico\">\n<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><line x1=\"4.93\" y1=\"4.93\" x2=\"19.07\" y2=\"19.07\"\/><\/svg>\n<\/div>\n<div class=\"dn-cb-body\">\n<h3>No Watermark<\/h3>\n<p>Clean downloads without any branding<\/p>\n<\/div>\n<\/article>\n<article class=\"dn-cb\" tabindex=\"0\" role=\"article\">\n<div class=\"dn-ico\">\n<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><line x1=\"12\" y1=\"1\" x2=\"12\" y2=\"23\"\/><path d=\"M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6\"\/><\/svg>\n<\/div>\n<div class=\"dn-cb-body\">\n<h3>Free Downloads<\/h3>\n<p>Unlimited downloads at no cost<\/p>\n<\/div>\n<\/article>\n<article class=\"dn-cb\" tabindex=\"0\" role=\"article\">\n<div class=\"dn-ico\">\n<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><rect x=\"2\" y=\"3\" width=\"12\" height=\"14\" rx=\"2\"\/><path d=\"M8 21h8\"\/><line x1=\"12\" y1=\"17\" x2=\"12\" y2=\"21\"\/><rect x=\"15\" y=\"5\" width=\"7\" height=\"12\" rx=\"1\"\/><\/svg>\n<\/div>\n<div class=\"dn-cb-body\">\n<h3>Cross Device<\/h3>\n<p>Access downloads on any device<\/p>\n<\/div>\n<\/article>\n<\/div>\n<\/div>\n<\/section>\n\n<section class=\"dn-sec dn-bg-wh\" aria-labelledby=\"dn-h3\">\n<div class=\"dn-inner\">\n<div class=\"dn-hb\">\n<h2 id=\"dn-h3\">Best Use Case of <span class=\"dn-gx\">Instagram Story Viewer Download<\/span><\/h2>\n<p>Find the perfect scenarios for downloading and archiving stories.<\/p>\n<\/div>\n<div class=\"dn-g3\" data-dn-grid=\"g3\">\n<article class=\"dn-ca\" tabindex=\"0\" role=\"article\">\n<div class=\"dn-ico\">\n<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><ellipse cx=\"12\" cy=\"5\" rx=\"9\" ry=\"3\"\/><path d=\"M21 12c0 1.66-4 3-9 3s-9-1.34-9-3\"\/><path d=\"M3 5v14c0 1.66 4 3 9 3s9-1.34 9-3V5\"\/><\/svg>\n<\/div>\n<h3>Content Archiving<\/h3>\n<p>Archive important stories for records and future reference, building a searchable library of past content that you can revisit anytime for research or inspiration purposes.<\/p>\n<\/article>\n<article class=\"dn-ca\" tabindex=\"0\" role=\"article\">\n<div class=\"dn-ico\">\n<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M9 18h6\"\/><path d=\"M10 22h4\"\/><path d=\"M15.09 14c.18-.98.65-1.74 1.41-2.5A4.65 4.65 0 0 0 18 8 6 6 0 0 0 6 8c0 1 .23 2.23 1.5 3.5A4.61 4.61 0 0 1 8.91 14\"\/><\/svg>\n<\/div>\n<h3>Inspiration Board<\/h3>\n<p>Save story ideas for future reference by collecting examples of creative formats, interactive elements, and visual styles that you can adapt for your own social media content.<\/p>\n<\/article>\n<article class=\"dn-ca\" tabindex=\"0\" role=\"article\">\n<div class=\"dn-ico\">\n<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><circle cx=\"12\" cy=\"12\" r=\"4\"\/><line x1=\"22\" y1=\"12\" x2=\"18\" y2=\"12\"\/><line x1=\"6\" y1=\"12\" x2=\"2\" y2=\"12\"\/><line x1=\"12\" y1=\"6\" x2=\"12\" y2=\"2\"\/><line x1=\"12\" y1=\"22\" x2=\"12\" y2=\"18\"\/><\/svg>\n<\/div>\n<h3>Campaign Tracking<\/h3>\n<p>Download competitor campaign stories for detailed analysis of their promotional strategies, messaging approaches, and audience engagement tactics used in time-limited content.<\/p>\n<\/article>\n<article class=\"dn-ca\" tabindex=\"0\" role=\"article\">\n<div class=\"dn-ico\">\n<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z\"\/><polyline points=\"14 2 14 8 20 8\"\/><line x1=\"16\" y1=\"13\" x2=\"8\" y2=\"13\"\/><line x1=\"16\" y1=\"17\" x2=\"8\" y2=\"17\"\/><polyline points=\"10 9 9 9 8 9\"\/><\/svg>\n<\/div>\n<h3>Proof Collection<\/h3>\n<p>Save stories as evidence or proof for documentation purposes, preserving screenshots and video content that may be needed for reporting, legal cases, or business verification records.<\/p>\n<\/article>\n<article class=\"dn-ca\" tabindex=\"0\" role=\"article\">\n<div class=\"dn-ico\">\n<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M4 19.5A2.5 2.5 0 0 1 6.5 17H20\"\/><path d=\"M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z\"\/><path d=\"M15 12l-3 2-3-2\"\/><\/svg>\n<\/div>\n<h3>Creative Reference<\/h3>\n<p>Build a library of story formats by collecting diverse examples of successful content structures, helping you develop a versatile toolkit of storytelling approaches for your brand.<\/p>\n<\/article>\n<article class=\"dn-ca\" tabindex=\"0\" role=\"article\">\n<div class=\"dn-ico\">\n<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z\"\/><\/svg>\n<\/div>\n<h3>Memory Keeping<\/h3>\n<p>Preserve favorite stories permanently on your device before they expire, creating a lasting personal collection of memorable content that would otherwise vanish within hours.<\/p>\n<\/article>\n<\/div>\n<\/div>\n<\/section>\n\n<\/div>\n<noscript><\/noscript>\n<\/div>\n<\/div><\/div>\n<\/section>\n<\/div>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":3,"featured_media":0,"parent":5338,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"template-homepage.php","meta":{"footnotes":""},"class_list":["post-5377","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/viiewerr.com\/wp-json\/wp\/v2\/pages\/5377","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/viiewerr.com\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/viiewerr.com\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/viiewerr.com\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/viiewerr.com\/wp-json\/wp\/v2\/comments?post=5377"}],"version-history":[{"count":2,"href":"https:\/\/viiewerr.com\/wp-json\/wp\/v2\/pages\/5377\/revisions"}],"predecessor-version":[{"id":5496,"href":"https:\/\/viiewerr.com\/wp-json\/wp\/v2\/pages\/5377\/revisions\/5496"}],"up":[{"embeddable":true,"href":"https:\/\/viiewerr.com\/wp-json\/wp\/v2\/pages\/5338"}],"wp:attachment":[{"href":"https:\/\/viiewerr.com\/wp-json\/wp\/v2\/media?parent=5377"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}