{"id":5370,"date":"2026-05-24T11:55:20","date_gmt":"2026-05-24T11:55:20","guid":{"rendered":"https:\/\/viiewerr.com\/instagram\/story\/"},"modified":"2026-05-25T08:36:12","modified_gmt":"2026-05-25T08:36:12","slug":"story","status":"publish","type":"page","link":"https:\/\/viiewerr.com\/instagram\/story\/","title":{"rendered":"Instagram story viewer"},"content":{"rendered":"<style type=\"text\/css\">\n.tc-wp-island {<br \/>\n  width: 100%;<br \/>\n  max-width: 100%;<br \/>\n  min-width: 0;<br \/>\n  box-sizing: border-box;<br \/>\n  display: flow-root;<br \/>\n  isolation: isolate;<br \/>\n  position: relative;<br \/>\n}<br \/>\n.tc-wp-island > * {<br \/>\n  min-width: 0;<br \/>\n}<br \/>\n.tc-wp-island *,<br \/>\n.tc-wp-island *::before,<br \/>\n.tc-wp-island *::after {<br \/>\n  box-sizing: border-box;<br \/>\n}<br \/>\n.tc-wp-island img,<br \/>\n.tc-wp-island video,<br \/>\n.tc-wp-island svg,<br \/>\n.tc-wp-island iframe {<br \/>\n  max-width: 100%;<br \/>\n  height: auto;<br \/>\n}<br \/>\n.tc-wp-island .tc-wp-tool {<br \/>\n  max-width: 100%;<br \/>\n  min-width: 0;<br \/>\n}<br \/>\n.tc-wp-island .tc-wp-tool-html,<br \/>\n.tc-wp-island .tc-wp-tool-content,<br \/>\n.tc-wp-island .tc-wp-other {<br \/>\n  max-width: 100%;<br \/>\n  min-width: 0;<br \/>\n  overflow-wrap: anywhere;<br \/>\n  word-break: break-word;<br \/>\n}<br \/>\n\/* Space between WP Coder tool + content shortcodes on publish\/draft pages *\/<br \/>\n.tc-wp-island .tc-wp-tool-html + .tc-wp-tool-content {<br \/>\n  margin-top: 20px;<br \/>\n}<br \/>\n.tc-wp-island .tc-wp-bcd-codes {<br \/>\n  display: flex;<br \/>\n  flex-direction: column;<br \/>\n  gap: 20px;<br \/>\n}<br \/>\n\/* Full-width: hide theme sidebar when a ToolsChecker island is present *\/<br \/>\nbody:has(.tc-wp-island) #sidebar,<br \/>\nbody:has(.tc-wp-island) .sidebar,<br \/>\nbody:has(.tc-wp-island) #secondary,<br \/>\nbody:has(.tc-wp-island) .widget-area,<br \/>\nbody:has(.tc-wp-island) aside.sidebar,<br \/>\nbody:has(.tc-wp-island) #right-sidebar,<br \/>\nbody:has(.tc-wp-island) #left-sidebar,<br \/>\nbody:has(.tc-wp-island) .sidebar-primary,<br \/>\nbody:has(.tc-wp-island) .sidebar-secondary,<br \/>\nbody:has(.tc-wp-island) .ast-sidebar,<br \/>\nbody:has(.tc-wp-island) .site-sidebar {<br \/>\n  display: none !important;<br \/>\n}<br \/>\n\/* Copygen: hide default page title\/breadcrumb band \u2014 tool pages use template-homepage like category *\/<br \/>\nbody:has(.tc-wp-island) section.page_header_default,<br \/>\nbody:has(.tc-wp-island) .page_header_default {<br \/>\n  display: none !important;<br \/>\n}<br \/>\n@media (min-width: 981px) {<br \/>\n  body:has(.tc-wp-island) #left-area,<br \/>\n  body:has(.tc-wp-island) #primary,<br \/>\n  body:has(.tc-wp-island) #content-area,<br \/>\n  body:has(.tc-wp-island) #content-area .container,<br \/>\n  body:has(.tc-wp-island) .content-area,<br \/>\n  body:has(.tc-wp-island) main.site-main,<br \/>\n  body:has(.tc-wp-island) .site-content .content-area {<br \/>\n    width: 100% !important;<br \/>\n    max-width: 100% !important;<br \/>\n    float: none !important;<br \/>\n    padding-right: 0 !important;<br \/>\n    padding-left: 0 !important;<br \/>\n  }<br \/>\n  body:has(.tc-wp-island) #main-content .container:before {<br \/>\n    display: none !important;<br \/>\n  }<br \/>\n}<br \/>\n\/* Tool pages: keep theme H1 readable \u2014 smaller type, full content width, 1\u20132 lines *\/<br \/>\nbody:has(.tc-wp-island) .fontib-v2-hero-inner {<br \/>\n  width: min(100%, calc(100vw - 40px)) !important;<br \/>\n  max-width: 1320px !important;<br \/>\n}<br \/>\nbody:has(.tc-wp-island) .fontib-v2-title,<br \/>\nbody:has(.tc-wp-island) #left-area > .entry-title,<br \/>\nbody:has(.tc-wp-island) .entry-title h1,<br \/>\nbody:has(.tc-wp-island) h1.entry-title,<br \/>\nbody:has(.tc-wp-island) .page-title,<br \/>\nbody:has(.tc-wp-island) .et_pb_title_container h1 {<br \/>\n  max-width: 100% !important;<br \/>\n  width: 100%;<br \/>\n  font-size: clamp(24px, 2.6vw, 38px) !important;<br \/>\n  line-height: 1.2 !important;<br \/>\n  letter-spacing: -0.01em;<br \/>\n}<br \/>\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\">    <style>\r\n        \/* instagram story viewer - Vertical Layout *\/\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 Brand Colors *\/\r\n            --primary: #E1306C;\r\n            --primary-dark: #C13584;\r\n            --secondary: #F77737;\r\n            --purple: #833AB4;\r\n            --purple-light: #C13584;\r\n            --yellow: #FCAF45;\r\n            --blue: #405DE6;\r\n            \r\n            \/* Extended Gradient Colors *\/\r\n            --gradient-start: #E1306C;\r\n            --gradient-mid: #C13584;\r\n            --gradient-end: #833AB4;\r\n            --orange-accent: #F77737;\r\n            \r\n            \/* Neutral Colors *\/\r\n            --success: #198754;\r\n            --warning: #FCAF45;\r\n            --error: #dc3545;\r\n\r\n            \/* Text Colors *\/\r\n            --text-dark: #212529;\r\n            --text-gray: #6c757d;\r\n            --text-muted: #adb5bd;\r\n            --text-white: #ffffff;\r\n\r\n            \/* Backgrounds *\/\r\n            --bg-page: linear-gradient(145deg, #fef9f9 0%, #fdf5f8 25%, #faf3f7 50%, #f8f4f9 75%, #fdf6f3 100%);\r\n            --card-bg: rgba(255, 255, 255, 0.75);\r\n            --input-bg: rgba(255, 255, 255, 0.95);\r\n            \r\n            \/* Borders *\/\r\n            --border-pink-subtle: 1px solid rgba(225, 48, 108, 0.15);\r\n            --border-pink-focus: 2px solid rgba(225, 48, 108, 0.4);\r\n            \r\n            \/* Shadows *\/\r\n            --shadow-sm: 0 2px 8px rgba(225, 48, 108, 0.08);\r\n            --shadow-md: 0 4px 16px rgba(225, 48, 108, 0.12);\r\n            --shadow-lg: 0 8px 24px rgba(225, 48, 108, 0.15);\r\n            --shadow-glow: 0 0 20px rgba(225, 48, 108, 0.25);\r\n            \r\n            \/* Spacing & Layout *\/\r\n            --radius-sm: 8px;\r\n            --radius-md: 12px;\r\n            --radius-lg: 16px;\r\n            --radius-xl: 20px;\r\n            \r\n            \/* Transitions - Micro-interactions only *\/\r\n            --transition-fast: all 0.2s ease;\r\n            --transition-normal: all 0.3s ease;\r\n        }\r\n\r\n        \/* Wrapper - Full width background with soft gradient and corner glows *\/\r\n        .instagram-story-viewer-wrapper {\r\n            font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;\r\n            background: \r\n                \/* Top-left corner glow *\/\r\n                radial-gradient(circle at 0% 0%, rgba(225, 48, 108, 0.12) 0%, transparent 35%),\r\n                \/* Top-right corner glow *\/\r\n                radial-gradient(circle at 100% 0%, rgba(131, 58, 180, 0.1) 0%, transparent 30%),\r\n                \/* Bottom-left corner glow *\/\r\n                radial-gradient(circle at 0% 100%, rgba(252, 175, 69, 0.1) 0%, transparent 30%),\r\n                \/* Bottom-right corner glow *\/\r\n                radial-gradient(circle at 100% 100%, rgba(225, 48, 108, 0.08) 0%, transparent 25%),\r\n                \/* Main soft gradient background *\/\r\n                linear-gradient(145deg, #fef9f9 0%, #fdf5f8 25%, #faf3f7 50%, #f8f4f9 75%, #fdf6f3 100%);\r\n            background-attachment: fixed;\r\n            min-height: 100vh;\r\n            padding: 2rem 1rem;\r\n            overflow-x: hidden;\r\n        }\r\n\r\n        \/* Container - Max width 1200px, centered *\/\r\n        .container {\r\n            max-width: 1200px;\r\n            margin: 0 auto;\r\n            width: 100%;\r\n        }\r\n\r\n        .hidden {\r\n            display: none !important;\r\n        }\r\n\r\n        \/* ============================================\r\n           HEADER SECTION - Title & Subtitle\r\n           ============================================ *\/\r\n        .header-section {\r\n            text-align: center;\r\n            margin-bottom: 2.5rem;\r\n            padding: 0 1rem;\r\n        }\r\n\r\n        .main-title {\r\n            font-size: 2.5rem !important;\r\n            font-weight: 800 !important;\r\n            background: linear-gradient(135deg, var(--primary) 0%, var(--purple) 50%, var(--secondary) 100%) !important;\r\n            -webkit-background-clip: text !important;\r\n            background-clip: text !important;\r\n            -webkit-text-fill-color: transparent !important;\r\n            letter-spacing: -1px !important;\r\n            margin-bottom: 1rem !important;\r\n            line-height: 1.2 !important;\r\n        }\r\n\r\n        .subtitle {\r\n            font-size: 1.1rem;\r\n            color: var(--text-gray);\r\n            max-width: 600px;\r\n            margin: 0 auto;\r\n            line-height: 1.6;\r\n        }\r\n\r\n        \/* ============================================\r\n           INPUT SECTION - Search Component\r\n           ============================================ *\/\r\n        .input-section {\r\n            background: var(--card-bg);\r\n            border-radius: var(--radius-xl);\r\n            padding: 2rem;\r\n            margin-bottom: 2rem;\r\n            box-shadow: var(--shadow-md);\r\n            border: var(--border-pink-subtle);\r\n            backdrop-filter: blur(10px);\r\n        }\r\n\r\n        .input-wrapper {\r\n            display: flex;\r\n            flex-direction: column;\r\n            gap: 1rem;\r\n        }\r\n\r\n        .form-label {\r\n            font-size: 1rem;\r\n            font-weight: 600;\r\n            color: var(--text-dark);\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: 20px;\r\n            height: 20px;\r\n            stroke: var(--primary);\r\n            flex-shrink: 0;\r\n        }\r\n\r\n        .input-row {\r\n            display: flex;\r\n            gap: 1rem;\r\n            flex-wrap: wrap;\r\n        }\r\n\r\n        .input-group {\r\n            position: relative;\r\n            flex: 1;\r\n            min-width: 200px;\r\n        }\r\n\r\n        #username-input {\r\n            width: 100%;\r\n            padding: 1rem 1.25rem;\r\n            background: var(--input-bg);\r\n            border: 2px solid rgba(225, 48, 108, 0.2);\r\n            border-radius: var(--radius-lg);\r\n            color: var(--text-dark);\r\n            font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 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(--primary);\r\n            box-shadow: 0 0 0 4px rgba(225, 48, 108, 0.1);\r\n        }\r\n\r\n        #username-input::placeholder {\r\n            color: var(--text-muted);\r\n        }\r\n\r\n        .input-icon {\r\n            position: absolute;\r\n            right: 1rem;\r\n            top: 50%;\r\n            transform: translateY(-50%);\r\n            color: var(--text-gray);\r\n            pointer-events: none;\r\n        }\r\n\r\n        #search-btn {\r\n            background: linear-gradient(135deg, var(--primary) 0%, var(--purple) 100%);\r\n            color: white;\r\n            border: none;\r\n            border-radius: var(--radius-lg);\r\n            padding: 1rem 2rem;\r\n            font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;\r\n            font-size: 1rem;\r\n            font-weight: 600;\r\n            cursor: pointer;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            gap: 0.5rem;\r\n            transition: var(--transition-normal);\r\n            box-shadow: var(--shadow-md);\r\n            white-space: nowrap;\r\n        }\r\n\r\n        #search-btn:hover {\r\n            transform: translateY(-2px);\r\n            box-shadow: var(--shadow-lg), var(--shadow-glow);\r\n        }\r\n\r\n        #search-btn:active {\r\n            transform: translateY(0);\r\n        }\r\n\r\n        \/* ============================================\r\n           OUTPUT SECTION - Results Component\r\n           ============================================ *\/\r\n        .output-section {\r\n            background: var(--card-bg);\r\n            border-radius: var(--radius-xl);\r\n            padding: 2rem;\r\n            box-shadow: var(--shadow-md);\r\n            border: var(--border-pink-subtle);\r\n            backdrop-filter: blur(10px);\r\n            min-height: 400px;\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 2rem;\r\n        }\r\n\r\n        .spinner {\r\n            width: 50px;\r\n            height: 50px;\r\n            border: 3px solid rgba(225, 48, 108, 0.2);\r\n            border-top-color: var(--primary);\r\n            border-radius: 50%;\r\n            margin-bottom: 1.5rem;\r\n        }\r\n\r\n        .loading-text {\r\n            color: var(--text-gray);\r\n            font-size: 1rem;\r\n            font-weight: 500;\r\n        }\r\n\r\n        \/* Profile Data *\/\r\n        .profile-data {\r\n            display: flex;\r\n            flex-direction: column;\r\n            gap: 1.5rem;\r\n        }\r\n\r\n        .profile-header {\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 1.25rem;\r\n            padding: 1.5rem;\r\n            background: rgba(255, 255, 255, 0.5);\r\n            border-radius: var(--radius-lg);\r\n            box-shadow: var(--shadow-sm);\r\n            border: var(--border-pink-subtle);\r\n            transition: var(--transition-normal);\r\n        }\r\n\r\n        .profile-header:hover {\r\n            box-shadow: var(--shadow-md);\r\n            transform: translateY(-2px);\r\n        }\r\n\r\n        .profile-image-container {\r\n            position: relative;\r\n            flex-shrink: 0;\r\n        }\r\n\r\n        .profile-image {\r\n            width: 70px;\r\n            height: 70px;\r\n            border-radius: 50%;\r\n            object-fit: cover;\r\n            border: 3px solid transparent;\r\n            background: linear-gradient(white, white) padding-box,\r\n                        linear-gradient(135deg, var(--primary), var(--secondary)) border-box;\r\n            box-shadow: 0 4px 12px rgba(225, 48, 108, 0.2);\r\n            transition: var(--transition-normal);\r\n        }\r\n\r\n        .profile-image:hover {\r\n            transform: scale(1.05);\r\n            box-shadow: 0 6px 20px rgba(225, 48, 108, 0.3);\r\n        }\r\n\r\n        .verified-indicator {\r\n            position: absolute;\r\n            bottom: 0;\r\n            right: 0;\r\n            width: 22px;\r\n            height: 22px;\r\n            background: linear-gradient(135deg, var(--primary), var(--secondary));\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: 11px;\r\n            border: 2px solid white;\r\n            box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);\r\n        }\r\n\r\n        .profile-info {\r\n            flex: 1;\r\n            min-width: 0;\r\n        }\r\n\r\n        .profile-username {\r\n            font-size: 1.25rem !important;\r\n            font-weight: 700 !important;\r\n            color: var(--text-dark) !important;\r\n            margin-bottom: 0.25rem !important;\r\n            overflow: hidden;\r\n            text-overflow: ellipsis;\r\n            white-space: nowrap;\r\n        }\r\n\r\n        .profile-fullname {\r\n            font-size: 0.95rem;\r\n            color: var(--text-gray);\r\n            overflow: hidden;\r\n            text-overflow: ellipsis;\r\n            white-space: nowrap;\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.25rem;\r\n            flex-wrap: wrap;\r\n            gap: 0.5rem;\r\n        }\r\n\r\n        .stories-section-title {\r\n            font-size: 1.1rem !important;\r\n            font-weight: 700 !important;\r\n            color: var(--text-dark) !important;\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 0.5rem;\r\n        }\r\n\r\n        .stories-section-title svg {\r\n            width: 20px;\r\n            height: 20px;\r\n            stroke: var(--primary);\r\n            flex-shrink: 0;\r\n        }\r\n\r\n        .stories-count {\r\n            font-size: 0.85rem;\r\n            font-weight: 600;\r\n            color: var(--primary);\r\n            background: rgba(225, 48, 108, 0.1);\r\n            padding: 0.35rem 0.75rem;\r\n            border-radius: 20px;\r\n        }\r\n\r\n        .stories-grid {\r\n            display: grid;\r\n            grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));\r\n            gap: 1.25rem;\r\n        }\r\n\r\n        .story-card {\r\n            background: rgba(255, 255, 255, 0.5);\r\n            border-radius: var(--radius-md);\r\n            overflow: hidden;\r\n            box-shadow: var(--shadow-sm);\r\n            cursor: pointer;\r\n            transition: var(--transition-normal);\r\n            border: var(--border-pink-subtle);\r\n        }\r\n\r\n        .story-card:hover {\r\n            transform: translateY(-4px);\r\n            box-shadow: var(--shadow-md);\r\n        }\r\n\r\n        .story-preview {\r\n            width: 100%;\r\n            aspect-ratio: 9\/16;\r\n            overflow: hidden;\r\n            position: relative;\r\n            background: linear-gradient(135deg, rgba(225, 48, 108, 0.1), rgba(131, 58, 180, 0.1));\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: var(--transition-normal);\r\n        }\r\n\r\n        .story-card:hover .story-preview img {\r\n            transform: scale(1.05);\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 60%, rgba(0, 0, 0, 0.6));\r\n        }\r\n\r\n        .story-type-overlay {\r\n            position: absolute;\r\n            top: 10px;\r\n            right: 10px;\r\n            background: rgba(0, 0, 0, 0.6);\r\n            backdrop-filter: blur(4px);\r\n            border-radius: 20px;\r\n            padding: 0.4rem 0.75rem;\r\n            color: white;\r\n            font-size: 0.75rem;\r\n            font-weight: 600;\r\n            text-transform: uppercase;\r\n            letter-spacing: 0.5px;\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 4px;\r\n            z-index: 2;\r\n        }\r\n\r\n        .story-type-overlay.video {\r\n            background: rgba(225, 48, 108, 0.85);\r\n        }\r\n\r\n        .story-type-overlay.image {\r\n            background: rgba(131, 58, 180, 0.85);\r\n        }\r\n\r\n        .story-timestamp-overlay {\r\n            position: absolute;\r\n            bottom: 10px;\r\n            left: 10px;\r\n            background: rgba(0, 0, 0, 0.6);\r\n            backdrop-filter: blur(4px);\r\n            border-radius: 20px;\r\n            padding: 0.4rem 0.75rem;\r\n            color: white;\r\n            font-size: 0.75rem;\r\n            font-weight: 500;\r\n            z-index: 2;\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(255, 255, 255, 0.3);\r\n            border-top: var(--border-pink-subtle);\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: 16px;\r\n            height: 16px;\r\n            stroke: var(--primary);\r\n            flex-shrink: 0;\r\n        }\r\n\r\n        .story-time {\r\n            font-size: 0.85rem;\r\n            color: var(--text-gray);\r\n        }\r\n\r\n        \/* Error Panel *\/\r\n        .error-panel {\r\n            padding: 3rem 2rem;\r\n            text-align: center;\r\n            display: flex;\r\n            flex-direction: column;\r\n            align-items: center;\r\n            background: rgba(220, 53, 69, 0.05);\r\n            border-radius: var(--radius-lg);\r\n            border: 1px solid rgba(220, 53, 69, 0.2);\r\n        }\r\n\r\n        .error-icon {\r\n            width: 60px;\r\n            height: 60px;\r\n            background: rgba(220, 53, 69, 0.1);\r\n            border-radius: 50%;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            font-size: 1.75rem;\r\n            color: var(--error);\r\n            margin-bottom: 1.5rem;\r\n        }\r\n\r\n        .error-message {\r\n            color: var(--text-gray);\r\n            font-size: 1rem;\r\n            max-width: 300px;\r\n            line-height: 1.5;\r\n            margin-bottom: 1.5rem;\r\n        }\r\n\r\n        .error-action {\r\n            padding: 0.75rem 1.5rem;\r\n            background: linear-gradient(135deg, var(--primary) 0%, var(--purple) 100%);\r\n            color: white;\r\n            border: none;\r\n            border-radius: var(--radius-md);\r\n            font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;\r\n            font-size: 0.9rem;\r\n            font-weight: 600;\r\n            cursor: pointer;\r\n            transition: var(--transition-normal);\r\n        }\r\n\r\n        .error-action:hover {\r\n            transform: translateY(-2px);\r\n            box-shadow: var(--shadow-md);\r\n        }\r\n\r\n        \/* No Stories Message *\/\r\n        .no-stories-message {\r\n            padding: 3rem 2rem;\r\n            text-align: center;\r\n            display: flex;\r\n            flex-direction: column;\r\n            align-items: center;\r\n            background: rgba(252, 175, 69, 0.05);\r\n            border-radius: var(--radius-lg);\r\n            border: 1px solid rgba(252, 175, 69, 0.2);\r\n        }\r\n\r\n        .no-stories-icon {\r\n            width: 60px;\r\n            height: 60px;\r\n            background: rgba(252, 175, 69, 0.1);\r\n            border-radius: 50%;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            margin-bottom: 1.5rem;\r\n        }\r\n\r\n        .no-stories-icon svg {\r\n            width: 28px;\r\n            height: 28px;\r\n            stroke: var(--yellow);\r\n        }\r\n\r\n        .no-stories-title {\r\n            font-size: 1.25rem !important;\r\n            font-weight: 700 !important;\r\n            color: var(--text-dark) !important;\r\n            margin-bottom: 0.5rem !important;\r\n        }\r\n\r\n        .no-stories-description {\r\n            color: var(--text-gray);\r\n            font-size: 0.95rem;\r\n            max-width: 350px;\r\n            line-height: 1.5;\r\n        }\r\n\r\n        \/* Skeleton Loading for Story Viewer *\/\r\n        .skeleton-loader {\r\n            display: flex;\r\n            flex-direction: column;\r\n            gap: 1rem;\r\n            padding: 2rem;\r\n        }\r\n\r\n        .skeleton-header {\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 1rem;\r\n        }\r\n\r\n        .skeleton-avatar {\r\n            width: 40px;\r\n            height: 40px;\r\n            border-radius: 50%;\r\n            background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);\r\n            background-size: 200% 100%;\r\n            animation: skeleton-shimmer 1.5s infinite;\r\n        }\r\n\r\n        .skeleton-text {\r\n            height: 12px;\r\n            border-radius: 6px;\r\n            background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);\r\n            background-size: 200% 100%;\r\n            animation: skeleton-shimmer 1.5s infinite;\r\n        }\r\n\r\n        .skeleton-text.short {\r\n            width: 100px;\r\n        }\r\n\r\n        .skeleton-text.long {\r\n            width: 150px;\r\n        }\r\n\r\n        .skeleton-media {\r\n            width: 100%;\r\n            aspect-ratio: 9\/16;\r\n            max-width: 400px;\r\n            margin: 0 auto;\r\n            border-radius: var(--radius-lg);\r\n            background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);\r\n            background-size: 200% 100%;\r\n            animation: skeleton-shimmer 1.5s infinite;\r\n        }\r\n\r\n        @keyframes skeleton-shimmer {\r\n            0% { background-position: 200% 0; }\r\n            100% { background-position: -200% 0; }\r\n        }\r\n\r\n        \/* Inline Story Viewer *\/\r\n        .story-viewer-inline {\r\n            display: none;\r\n            flex-direction: column;\r\n            background: #000;\r\n            border-radius: var(--radius-xl);\r\n            overflow: hidden;\r\n            max-width: 500px;\r\n            margin: 0 auto;\r\n            width: 100%;\r\n            position: relative;\r\n            z-index: 50;\r\n        }\r\n\r\n        .story-viewer-inline.active {\r\n            display: flex;\r\n        }\r\n\r\n        .inline-story-header {\r\n            display: flex;\r\n            justify-content: space-between;\r\n            align-items: center;\r\n            padding: 0.75rem 1rem;\r\n            background: rgba(0, 0, 0, 0.8);\r\n        }\r\n\r\n        .inline-story-user {\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 0.5rem;\r\n        }\r\n\r\n        .inline-story-avatar {\r\n            width: 32px;\r\n            height: 32px;\r\n            border-radius: 50%;\r\n            border: 2px solid var(--primary);\r\n            object-fit: cover;\r\n        }\r\n\r\n        .inline-story-info {\r\n            display: flex;\r\n            flex-direction: column;\r\n        }\r\n\r\n        .inline-story-username {\r\n            color: white;\r\n            font-size: 0.85rem;\r\n            font-weight: 600;\r\n        }\r\n\r\n        .inline-story-time {\r\n            color: rgba(255, 255, 255, 0.7);\r\n            font-size: 0.7rem;\r\n        }\r\n\r\n        .inline-story-exit {\r\n            width: 32px;\r\n            height: 32px;\r\n            background: rgba(255, 255, 255, 0.15);\r\n            border: none;\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            color: white;\r\n            transition: var(--transition-fast);\r\n        }\r\n\r\n        .inline-story-exit:hover {\r\n            background: rgba(255, 255, 255, 0.25);\r\n        }\r\n\r\n        .inline-progress-track {\r\n            display: flex;\r\n            gap: 4px;\r\n            padding: 0.5rem 1rem;\r\n            background: rgba(0, 0, 0, 0.8);\r\n        }\r\n\r\n        .inline-progress-bar {\r\n            height: 3px;\r\n            flex: 1;\r\n            background: rgba(255, 255, 255, 0.3);\r\n            border-radius: 2px;\r\n            overflow: hidden;\r\n        }\r\n\r\n        .inline-progress-fill {\r\n            height: 100%;\r\n            width: 0;\r\n            background: white;\r\n            border-radius: 2px;\r\n            transition: width 0.1s linear;\r\n        }\r\n\r\n        .inline-progress-bar.completed .inline-progress-fill {\r\n            width: 100%;\r\n        }\r\n\r\n        .inline-media-container {\r\n            position: relative;\r\n            aspect-ratio: 9\/16;\r\n            background: #000;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n        }\r\n\r\n        .inline-media-container img,\r\n        .inline-media-container video {\r\n            max-width: 100%;\r\n            max-height: 100%;\r\n            object-fit: contain;\r\n        }\r\n\r\n        .inline-story-controls {\r\n            position: absolute;\r\n            bottom: 0;\r\n            left: 0;\r\n            right: 0;\r\n            padding: 1rem;\r\n            display: flex;\r\n            justify-content: center;\r\n            gap: 1rem;\r\n            background: linear-gradient(to top, rgba(0, 0, 0, 0.6), transparent);\r\n        }\r\n\r\n        .inline-control-btn {\r\n            width: 48px;\r\n            height: 48px;\r\n            background: rgba(255, 255, 255, 0.2);\r\n            backdrop-filter: blur(10px);\r\n            border: 1px solid rgba(255, 255, 255, 0.3);\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            color: white;\r\n            transition: var(--transition-fast);\r\n        }\r\n\r\n        .inline-control-btn:hover {\r\n            background: rgba(255, 255, 255, 0.3);\r\n            transform: scale(1.05);\r\n        }\r\n\r\n        .inline-control-btn svg {\r\n            width: 20px;\r\n            height: 20px;\r\n        }\r\n\r\n        .inline-nav-overlay {\r\n            position: absolute;\r\n            top: 80px;\r\n            left: 0;\r\n            right: 0;\r\n            bottom: 80px;\r\n            display: flex;\r\n            z-index: 100;\r\n            pointer-events: none;\r\n        }\r\n\r\n        .inline-nav-area {\r\n            flex: 1;\r\n            background: transparent;\r\n            border: none;\r\n            cursor: pointer;\r\n            pointer-events: auto;\r\n            -webkit-tap-highlight-color: transparent;\r\n            outline: none;\r\n            position: relative;\r\n        }\r\n\r\n        \/* Welcome Panel *\/\r\n        .welcome-panel {\r\n            display: flex;\r\n            flex-direction: column;\r\n            align-items: center;\r\n            justify-content: center;\r\n            text-align: center;\r\n            padding: 3rem 2rem;\r\n            min-height: 350px;\r\n        }\r\n\r\n        .welcome-illustration {\r\n            width: 120px;\r\n            height: 120px;\r\n            margin-bottom: 2rem;\r\n            position: relative;\r\n        }\r\n\r\n        .welcome-icon {\r\n            width: 100%;\r\n            height: 100%;\r\n            background: linear-gradient(135deg, var(--primary) 0%, var(--purple) 100%);\r\n            border-radius: var(--radius-xl);\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            box-shadow: var(--shadow-lg);\r\n        }\r\n\r\n        .welcome-icon svg {\r\n            width: 60px;\r\n            height: 60px;\r\n            stroke: white;\r\n        }\r\n\r\n        .welcome-title {\r\n            font-size: 1.75rem !important;\r\n            font-weight: 700 !important;\r\n            color: var(--text-dark) !important;\r\n            margin-bottom: 1rem !important;\r\n        }\r\n\r\n        .welcome-description {\r\n            color: var(--text-gray);\r\n            font-size: 1rem;\r\n            max-width: 450px;\r\n            line-height: 1.6;\r\n            margin-bottom: 2rem;\r\n        }\r\n\r\n        .features-grid {\r\n            display: flex;\r\n            flex-wrap: wrap;\r\n            justify-content: center;\r\n            gap: 1rem;\r\n        }\r\n\r\n        .feature-item {\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 0.5rem;\r\n            padding: 0.75rem 1rem;\r\n            background: rgba(225, 48, 108, 0.08);\r\n            border-radius: var(--radius-md);\r\n            border: var(--border-pink-subtle);\r\n        }\r\n\r\n        .feature-item svg {\r\n            width: 18px;\r\n            height: 18px;\r\n            stroke: var(--primary);\r\n            flex-shrink: 0;\r\n        }\r\n\r\n        .feature-text {\r\n            font-size: 0.9rem;\r\n            font-weight: 600;\r\n            color: var(--text-dark);\r\n        }\r\n\r\n        \/* Story Player Modal - WordPress Compatible *\/\r\n        .story-player {\r\n            position: fixed;\r\n            top: 5vh;\r\n            left: 0;\r\n            width: 100%;\r\n            height: 80vh;\r\n            background: #000;\r\n            z-index: 999999;\r\n            display: flex;\r\n            flex-direction: column;\r\n        }\r\n\r\n        \/* Override Elementor transform that breaks video UI *\/\r\n        body .story-player,\r\n        .elementor .story-player,\r\n        .divi .story-player {\r\n            transform: none !important;\r\n            isolation: auto !important;\r\n        }\r\n\r\n        \/* Override Elementor\/WordPress theme button styles for story modal *\/\r\n        .story-player button,\r\n        .story-player .nav-area,\r\n        .story-player .control-btn,\r\n        .story-player .inline-control-btn,\r\n        .story-player .inline-nav-area,\r\n        .story-player .inline-story-exit,\r\n        .story-player .floating-pause-btn {\r\n            display: flex !important;\r\n            padding: 0 !important;\r\n            border: none !important;\r\n            border-radius: unset !important;\r\n            background: transparent !important;\r\n            font-family: unset !important;\r\n            font-size: unset !important;\r\n            font-weight: unset !important;\r\n            line-height: unset !important;\r\n            color: unset !important;\r\n            text-align: unset !important;\r\n            vertical-align: unset !important;\r\n            box-shadow: none !important;\r\n            transition: none !important;\r\n            -webkit-user-select: auto !important;\r\n            -moz-user-select: auto !important;\r\n            user-select: auto !important;\r\n            box-sizing: border-box !important;\r\n            transform: none !important;\r\n            visibility: visible !important;\r\n            opacity: 1 !important;\r\n        }\r\n\r\n        \/* Inline viewer button overrides *\/\r\n        #story-viewer-inline button,\r\n        #story-viewer-inline .inline-control-btn,\r\n        #story-viewer-inline .inline-nav-area,\r\n        #story-viewer-inline .inline-story-exit {\r\n            display: flex !important;\r\n            padding: 0 !important;\r\n            border: none !important;\r\n            border-radius: unset !important;\r\n            background: transparent !important;\r\n            font-family: unset !important;\r\n            font-size: unset !important;\r\n            font-weight: unset !important;\r\n            line-height: unset !important;\r\n            color: unset !important;\r\n            text-align: unset !important;\r\n            vertical-align: unset !important;\r\n            box-shadow: none !important;\r\n            transition: none !important;\r\n            -webkit-user-select: auto !important;\r\n            -moz-user-select: auto !important;\r\n            user-select: auto !important;\r\n            box-sizing: border-box !important;\r\n            transform: none !important;\r\n            visibility: visible !important;\r\n            opacity: 1 !important;\r\n        }\r\n\r\n        \/* Re-apply our specific button styles after overrides *\/\r\n        .control-btn {\r\n            width: 40px !important;\r\n            height: 40px !important;\r\n            background: rgba(255, 255, 255, 0.15) !important;\r\n            border: 1px solid rgba(255, 255, 255, 0.2) !important;\r\n            border-radius: 50% !important;\r\n            transition: var(--transition-fast) !important;\r\n        }\r\n\r\n        .inline-control-btn {\r\n            width: 48px !important;\r\n            height: 48px !important;\r\n            background: rgba(255, 255, 255, 0.2) !important;\r\n            border: 1px solid rgba(255, 255, 255, 0.3) !important;\r\n            border-radius: 50% !important;\r\n            transition: var(--transition-fast) !important;\r\n        }\r\n\r\n        \/* Ensure wrapper doesn't get overridden by WordPress themes *\/\r\n        .instagram-story-viewer-wrapper {\r\n            position: relative;\r\n            z-index: 1;\r\n        }\r\n\r\n        \/* Force story player to be above all WordPress elements *\/\r\n        body .story-player,\r\n        html body .story-player,\r\n        .elementor .story-player,\r\n        .divi .story-player {\r\n            z-index: 999999 !important;\r\n            position: fixed !important;\r\n            transform: none !important;\r\n            isolation: auto !important;\r\n        }\r\n\r\n        body .story-player .nav-area,\r\n        html body .story-player .nav-area {\r\n            z-index: 999999 !important;\r\n            pointer-events: auto !important;\r\n            position: relative !important;\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: 1rem;\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.7), transparent);\r\n            z-index: 200;\r\n        }\r\n\r\n        .story-user-data {\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 0.75rem;\r\n        }\r\n\r\n        .story-user-image {\r\n            width: 40px;\r\n            height: 40px;\r\n            border-radius: 50%;\r\n            border: 2px solid rgba(255, 255, 255, 0.8);\r\n            object-fit: cover;\r\n        }\r\n\r\n        .story-username {\r\n            font-size: 0.95rem;\r\n            color: white;\r\n            font-weight: 600;\r\n        }\r\n\r\n        .story-timestamp {\r\n            font-size: 0.8rem;\r\n            color: rgba(255, 255, 255, 0.8);\r\n        }\r\n\r\n        .story-actions {\r\n            display: flex;\r\n            gap: 0.5rem;\r\n        }\r\n\r\n        .control-btn {\r\n\t\t\t\t\t\tpadding: 2px;\r\n            width: 40px;\r\n            height: 40px;\r\n            background: rgba(255, 255, 255, 0.15);\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-fast);\r\n            color: white;\r\n            padding: 0;\r\n        }\r\n\r\n        .control-btn:hover {\r\n            background: rgba(255, 255, 255, 0.25);\r\n            transform: scale(1.05);\r\n        }\r\n\r\n        .control-btn svg {\r\n            width: 18px;\r\n            height: 18px;\r\n        }\r\n\r\n        \/* Progress Track *\/\r\n        .progress-track {\r\n            position: absolute;\r\n            top: 70px;\r\n            left: 0;\r\n            right: 0;\r\n            padding: 0 1rem;\r\n            display: flex;\r\n            gap: 6px;\r\n            z-index: 150;\r\n        }\r\n\r\n        .progress-indicator {\r\n            height: 3px;\r\n            flex: 1;\r\n            background: rgba(255, 255, 255, 0.3);\r\n            border-radius: 3px;\r\n            overflow: hidden;\r\n        }\r\n\r\n        .progress-fill {\r\n            height: 100%;\r\n            width: 0;\r\n            background: white;\r\n            border-radius: 3px;\r\n            transition: width 0.1s linear;\r\n        }\r\n\r\n        .progress-indicator.completed .progress-fill {\r\n            width: 100%;\r\n        }\r\n\r\n        \/* Media Container - No overflow hidden to prevent nav clipping *\/\r\n        .media-container {\r\n            flex: 1 !important;\r\n            display: flex !important;\r\n            align-items: center !important;\r\n            justify-content: center !important;\r\n            background: #000 !important;\r\n            position: relative !important;\r\n            transform: none !important;\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            z-index: 1;\r\n            position: relative;\r\n        }\r\n\r\n        \/* Force video to stay behind controls - fix for Elementor\/WordPress *\/\r\n        .media-container video {\r\n            z-index: 1 !important;\r\n        }\r\n\r\n        \/* Navigation - Must be above media content *\/\r\n        .navigation-overlay {\r\n            position: absolute !important;\r\n            top: 0 !important;\r\n            left: 0 !important;\r\n            right: 0 !important;\r\n            bottom: 0 !important;\r\n            display: flex !important;\r\n            z-index: 9999 !important;\r\n            pointer-events: none !important;\r\n        }\r\n\r\n        .nav-area {\r\n            flex: 1 !important;\r\n            background: transparent !important;\r\n            border: none !important;\r\n            cursor: pointer !important;\r\n            position: relative !important;\r\n            pointer-events: auto !important;\r\n            -webkit-tap-highlight-color: transparent !important;\r\n            outline: none !important;\r\n            min-height: 100% !important;\r\n            z-index: 10000 !important;\r\n        }\r\n\r\n        .nav-indicator {\r\n            position: absolute !important;\r\n            top: 50% !important;\r\n            width: 56px !important;\r\n            height: 56px !important;\r\n            border-radius: 50% !important;\r\n            background: rgba(0, 0, 0, 0.6) !important;\r\n            display: flex !important;\r\n            align-items: center !important;\r\n            justify-content: center !important;\r\n            opacity: 1 !important;\r\n            transition: var(--transition-fast) !important;\r\n            border: 3px solid rgba(255, 255, 255, 0.9) !important;\r\n            color: white !important;\r\n            pointer-events: none !important;\r\n            z-index: 10001 !important;\r\n            box-shadow: 0 4px 16px rgba(0, 0, 0, 0.6), 0 0 0 2px rgba(225, 48, 108, 0.5) !important;\r\n            \/* Remove transform and backdrop-filter that cause Elementor conflicts *\/\r\n            will-change: opacity, transform !important;\r\n        }\r\n\r\n        \/* Override Elementor\/WordPress transform issues *\/\r\n        .elementor .nav-indicator,\r\n        .divi .nav-indicator,\r\n        body .nav-indicator {\r\n            transform: none !important;\r\n            top: auto !important;\r\n            bottom: 50% !important;\r\n            margin-bottom: -28px !important;\r\n            opacity: 1 !important;\r\n            display: flex !important;\r\n            visibility: visible !important;\r\n        }\r\n\r\n        .nav-indicator svg {\r\n            width: 24px;\r\n            height: 24px;\r\n            stroke: #fff;\r\n            stroke-width: 3;\r\n        }\r\n\r\n        .prev-area .nav-indicator,\r\n        .inline-prev-area .nav-indicator {\r\n            left: 20px !important;\r\n        }\r\n\r\n        .next-area .nav-indicator,\r\n        .inline-next-area .nav-indicator {\r\n            right: 20px !important;\r\n        }\r\n\r\n        \/* Nav indicator hover effect *\/\r\n        body .nav-area:hover .nav-indicator,\r\n        body .nav-area:focus .nav-indicator,\r\n        body .nav-area:active .nav-indicator {\r\n            opacity: 1 !important;\r\n            background: rgba(225, 48, 108, 0.8) !important;\r\n            border-color: rgba(255, 255, 255, 1) !important;\r\n            box-shadow: 0 4px 20px rgba(225, 48, 108, 0.6), 0 0 0 3px rgba(255, 255, 255, 0.8) !important;\r\n            transform: scale(1.1) !important;\r\n        }\r\n\r\n        \/* Ensure nav areas are clickable on touch devices *\/\r\n        @media (hover: none) and (pointer: coarse) {\r\n            .nav-indicator {\r\n                opacity: 0.8 !important;\r\n                width: 44px !important;\r\n                height: 44px !important;\r\n                margin-bottom: -22px !important;\r\n                display: flex !important;\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: 1001;\r\n            display: flex;\r\n            flex-direction: column;\r\n            gap: 10px;\r\n            max-width: calc(100% - 40px);\r\n        }\r\n\r\n        .toast {\r\n            background: rgba(255, 255, 255, 0.95);\r\n            backdrop-filter: blur(20px);\r\n            border: var(--border-pink-subtle);\r\n            border-radius: var(--radius-md);\r\n            padding: 1rem 1.25rem;\r\n            color: var(--text-dark);\r\n            font-size: 0.9rem;\r\n            font-weight: 500;\r\n            box-shadow: var(--shadow-lg);\r\n            transform: translateX(120%);\r\n            opacity: 0;\r\n            transition: all 0.3s ease;\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 0.75rem;\r\n            min-width: 280px;\r\n            max-width: 350px;\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: 3px solid var(--success);\r\n        }\r\n\r\n        .toast.error {\r\n            border-left: 3px solid var(--error);\r\n        }\r\n\r\n        .toast.info {\r\n            border-left: 3px solid var(--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            line-height: 1.4;\r\n        }\r\n\r\n        .toast-close {\r\n            background: none;\r\n            border: none;\r\n            color: var(--text-gray);\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-fast);\r\n            flex-shrink: 0;\r\n        }\r\n\r\n        .toast-close:hover {\r\n            color: var(--text-dark);\r\n        }\r\n\r\n        \/* ============================================\r\n           RESPONSIVE STYLES\r\n           ============================================ *\/\r\n        \r\n        \/* Large tablets and small laptops *\/\r\n        @media (max-width: 1024px) {\r\n            .instagram-story-viewer-wrapper {\r\n                padding: 1.5rem 1rem;\r\n            }\r\n            \r\n            .main-title {\r\n                font-size: 2rem !important;\r\n            }\r\n            \r\n            .stories-grid {\r\n                grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));\r\n            }\r\n        }\r\n\r\n        \/* Tablets *\/\r\n        @media (max-width: 768px) {\r\n            .instagram-story-viewer-wrapper {\r\n                padding: 1rem;\r\n            }\r\n            \r\n            .main-title {\r\n                font-size: 1.75rem !important;\r\n            }\r\n            \r\n            .subtitle {\r\n                font-size: 1rem;\r\n            }\r\n            \r\n            .input-section,\r\n            .output-section {\r\n                padding: 1.5rem;\r\n            }\r\n            \r\n            .input-row {\r\n                flex-direction: column;\r\n            }\r\n            \r\n            #search-btn {\r\n                width: 100%;\r\n            }\r\n            \r\n            .profile-header {\r\n                padding: 1rem;\r\n            }\r\n            \r\n            .profile-image {\r\n                width: 60px;\r\n                height: 60px;\r\n            }\r\n            \r\n            .stories-grid {\r\n                grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));\r\n                gap: 1rem;\r\n            }\r\n            \r\n            .story-preview {\r\n                aspect-ratio: 3\/4;\r\n            }\r\n            \r\n            .welcome-panel {\r\n                padding: 2rem 1rem;\r\n            }\r\n            \r\n            .welcome-title {\r\n                font-size: 1.5rem !important;\r\n            }\r\n            \r\n            .features-grid {\r\n                flex-direction: column;\r\n                align-items: stretch;\r\n            }\r\n            \r\n            .feature-item {\r\n                justify-content: center;\r\n            }\r\n            \r\n            .story-control-bar {\r\n                padding: 0.75rem;\r\n            }\r\n            \r\n            .progress-track {\r\n                top: 60px;\r\n            }\r\n            \r\n            .toast-container {\r\n                left: 20px;\r\n                right: 20px;\r\n            }\r\n            \r\n            .toast {\r\n                min-width: unset;\r\n                max-width: unset;\r\n                width: 100%;\r\n            }\r\n        }\r\n\r\n        \/* Mobile phones *\/\r\n        @media (max-width: 480px) {\r\n            .instagram-story-viewer-wrapper {\r\n                padding: 0.75rem;\r\n            }\r\n            \r\n            .main-title {\r\n                font-size: 1.5rem !important;\r\n            }\r\n            \r\n            .subtitle {\r\n                font-size: 0.9rem;\r\n            }\r\n            \r\n            .input-section,\r\n            .output-section {\r\n                padding: 1.25rem;\r\n                border-radius: var(--radius-lg);\r\n            }\r\n            \r\n            .header-section {\r\n                margin-bottom: 1.5rem;\r\n            }\r\n            \r\n            .form-label {\r\n                font-size: 0.95rem;\r\n            }\r\n            \r\n            #username-input {\r\n                padding: 0.875rem 1rem;\r\n                font-size: 16px; \/* Prevents zoom on iOS *\/\r\n            }\r\n            \r\n            #search-btn {\r\n                padding: 0.875rem 1.5rem;\r\n                font-size: 0.95rem;\r\n            }\r\n            \r\n            .profile-username {\r\n                font-size: 1.1rem !important;\r\n            }\r\n            \r\n            .profile-fullname {\r\n                font-size: 0.85rem;\r\n            }\r\n            \r\n            .stories-section-title {\r\n                font-size: 1rem !important;\r\n            }\r\n            \r\n            .stories-grid {\r\n                grid-template-columns: repeat(2, 1fr);\r\n                gap: 0.75rem;\r\n            }\r\n            \r\n            .story-meta {\r\n                padding: 0.75rem;\r\n            }\r\n            \r\n            .story-time {\r\n                font-size: 0.75rem;\r\n            }\r\n            \r\n            .welcome-title {\r\n                font-size: 1.25rem !important;\r\n            }\r\n            \r\n            .welcome-description {\r\n                font-size: 0.9rem;\r\n            }\r\n            \r\n            .welcome-illustration {\r\n                width: 100px;\r\n                height: 100px;\r\n            }\r\n            \r\n            .welcome-icon svg {\r\n                width: 50px;\r\n                height: 50px;\r\n            }\r\n            \r\n            .feature-item {\r\n                padding: 0.625rem 0.875rem;\r\n            }\r\n            \r\n            .feature-text {\r\n                font-size: 0.85rem;\r\n            }\r\n            \r\n            .loading-state {\r\n                padding: 3rem 1rem;\r\n            }\r\n            \r\n            .error-panel,\r\n            .no-stories-message {\r\n                padding: 2rem 1rem;\r\n            }\r\n            \r\n            .error-icon,\r\n            .no-stories-icon {\r\n                width: 50px;\r\n                height: 50px;\r\n                font-size: 1.5rem;\r\n            }\r\n            \r\n            .no-stories-icon svg {\r\n                width: 24px;\r\n                height: 24px;\r\n            }\r\n            \r\n            .error-message,\r\n            .no-stories-description {\r\n                font-size: 0.9rem;\r\n            }\r\n            \r\n            .control-btn {\r\n                width: 36px;\r\n                height: 36px;\r\n            }\r\n            \r\n            .control-btn svg {\r\n                width: 16px;\r\n                height: 16px;\r\n            }\r\n            \r\n            .story-user-image {\r\n                width: 36px;\r\n                height: 36px;\r\n            }\r\n            \r\n            .story-username {\r\n                font-size: 0.85rem;\r\n            }\r\n            \r\n            .story-timestamp {\r\n                font-size: 0.7rem;\r\n            }\r\n            \r\n            .nav-indicator {\r\n                width: 48px;\r\n                height: 48px;\r\n                margin-bottom: -24px;\r\n            }\r\n\r\n            .nav-indicator svg {\r\n                width: 22px;\r\n                height: 22px;\r\n            }\r\n\r\n            .prev-area .nav-indicator,\r\n            .inline-prev-area .nav-indicator {\r\n                left: 10px !important;\r\n            }\r\n\r\n            .next-area .nav-indicator,\r\n            .inline-next-area .nav-indicator {\r\n                right: 10px !important;\r\n            }\r\n\r\n            \/* Mobile touch override *\/\r\n            @media (hover: none) and (pointer: coarse) {\r\n                .nav-indicator {\r\n                    opacity: 1 !important;\r\n                    width: 48px !important;\r\n                    height: 48px !important;\r\n                    margin-bottom: -24px !important;\r\n                    display: flex !important;\r\n                }\r\n            }\r\n        }\r\n\r\n        \/* Small mobile phones *\/\r\n        @media (max-width: 360px) {\r\n            .main-title {\r\n                font-size: 1.35rem !important;\r\n            }\r\n            \r\n            .stories-grid {\r\n                grid-template-columns: 1fr;\r\n            }\r\n            \r\n            .story-preview {\r\n                aspect-ratio: 9\/16;\r\n            }\r\n        }\r\n    <\/style>\r\n\r\n    <div class=\"instagram-story-viewer-wrapper\">\r\n        <div class=\"container\">\r\n            <!-- Toast Container -->\r\n            <div class=\"toast-container\" id=\"toast-container\"><\/div>\r\n\r\n            <!-- Header Section: Title & Subtitle -->\r\n            <div class=\"header-section\">\r\n                <h1 class=\"main-title\">Instagram Story Viewer - View Any Story Anonymously<\/h1>\r\n                <p class=\"subtitle\">View and download Instagram stories anonymously. Enter any username to browse their stories with high-quality playback.<\/p>\r\n            <\/div>\r\n\r\n            <!-- Input Section: Search Component -->\r\n            <div class=\"input-section\">\r\n                <form id=\"search-form\" class=\"input-wrapper\">\r\n                    <label for=\"username-input\" class=\"form-label\">\r\n                        <svg viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\r\n                            <path d=\"M20 21V19C20 17.9391 19.5786 16.9217 18.8284 16.1716C18.0783 15.4214 17.0609 15 16 15H8C6.93913 15 5.92172 15.4214 5.17157 16.1716C4.42143 16.9217 4 17.9391 4 19V21\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\r\n                            <path d=\"M12 11C14.2091 11 16 9.20914 16 7C16 4.79086 14.2091 3 12 3C9.79086 3 8 4.79086 8 7C8 9.20914 9.79086 11 12 11Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\r\n                        <\/svg>\r\n                        Enter Instagram Username\r\n                    <\/label>\r\n                    <div class=\"input-row\">\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\"\/>\r\n                                <\/svg>\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\"\/>\r\n                            <\/svg>\r\n                        <\/button>\r\n                    <\/div>\r\n                <\/form>\r\n            <\/div>\r\n\r\n            <!-- Output Section: Results Component -->\r\n            <div class=\"output-section\">\r\n                <!-- Loading State -->\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                <!-- Profile Data -->\r\n                <div class=\"profile-data hidden\">\r\n                    <div class=\"profile-header\">\r\n                        <div class=\"profile-image-container\">\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                        <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 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\"\/>\r\n                                <path d=\"M9 8H7V16H9V8Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\r\n                                <path d=\"M17 8H15V16H17V8Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\r\n                                <path d=\"M13 8H11V16H13V8Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\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                <!-- Error Panel -->\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 Again<\/button>\r\n                <\/div>\r\n\r\n                <!-- No Stories Message -->\r\n                <div class=\"no-stories-message hidden\">\r\n                    <div class=\"no-stories-icon\">\r\n                        <svg 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\"\/>\r\n                            <path d=\"M9 8H7V16H9V8Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\r\n                            <path d=\"M17 8H15V16H17V8Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\r\n                            <path d=\"M13 8H11V16H13V8Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\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 searching for another username or check back later.<\/p>\r\n                <\/div>\r\n\r\n                <!-- Welcome Panel -->\r\n                <div class=\"welcome-panel\" id=\"welcome-panel\">\r\n                    <div class=\"welcome-illustration\">\r\n                        <div class=\"welcome-icon\">\r\n                            <svg viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\r\n                                <rect x=\"2\" y=\"2\" width=\"20\" height=\"20\" rx=\"5\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\r\n                                <circle cx=\"12\" cy=\"12\" r=\"4\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\r\n                                <circle cx=\"18\" cy=\"6\" r=\"1\" fill=\"currentColor\"\/>\r\n                            <\/svg>\r\n                        <\/div>\r\n                    <\/div>\r\n                    <h2 class=\"welcome-title\">Ready to Explore<\/h2>\r\n                    <p class=\"welcome-description\">Enter an Instagram username above to view their stories anonymously. No account required.<\/p>\r\n                    <div class=\"features-grid\" id=\"features-grid\">\r\n                        <div class=\"feature-item\">\r\n                            <svg 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\"\/>\r\n                            <\/svg>\r\n                            <span class=\"feature-text\">HD Playback<\/span>\r\n                        <\/div>\r\n                        <div class=\"feature-item\">\r\n                            <svg viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\r\n                                <path d=\"M21 15V19C21 19.5304 20.7893 20.0391 20.4142 20.4142C20.0391 20.7893 19.5304 21 19 21H5C4.46957 21 3.96086 20.7893 3.58579 20.4142C3.21071 20.0391 3 19.5304 3 19V15\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\r\n                                <path d=\"M7 10L12 15L17 10\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\r\n                                <path d=\"M12 15V3\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\r\n                            <\/svg>\r\n                            <span class=\"feature-text\">Download<\/span>\r\n                        <\/div>\r\n                        <div class=\"feature-item\">\r\n                            <svg 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\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\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=\"feature-text\">Anonymous<\/span>\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <!-- Skeleton Loader for Story Viewer -->\r\n                <div class=\"skeleton-loader hidden\" id=\"skeleton-loader\">\r\n                    <div class=\"skeleton-header\">\r\n                        <div class=\"skeleton-avatar\"><\/div>\r\n                        <div style=\"display: flex; flex-direction: column; gap: 0.5rem;\">\r\n                            <div class=\"skeleton-text short\"><\/div>\r\n                            <div class=\"skeleton-text long\"><\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n                    <div class=\"skeleton-media\"><\/div>\r\n                <\/div>\r\n\r\n                <!-- Inline Story Viewer -->\r\n                <div class=\"story-viewer-inline\" id=\"story-viewer-inline\">\r\n                    <div class=\"inline-story-header\">\r\n                        <div class=\"inline-story-user\">\r\n                            <img decoding=\"async\" src=\"\/placeholder.svg\" alt=\"\" class=\"inline-story-avatar\" id=\"inline-story-avatar\">\r\n                            <div class=\"inline-story-info\">\r\n                                <span class=\"inline-story-username\" id=\"inline-story-username\"><\/span>\r\n                                <span class=\"inline-story-time\" id=\"inline-story-time\"><\/span>\r\n                            <\/div>\r\n                        <\/div>\r\n                        <button class=\"inline-story-exit\" id=\"inline-story-exit\" title=\"Close viewer\">\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                    <\/div>\r\n                    <div class=\"inline-progress-track\" id=\"inline-progress-track\">\r\n                        <!-- Progress bars will be added dynamically -->\r\n                    <\/div>\r\n                    <div class=\"inline-media-container\" id=\"inline-media-container\">\r\n                        <!-- Media content will be added dynamically -->\r\n                        <div class=\"inline-nav-overlay\">\r\n                            <button class=\"inline-nav-area inline-prev-area\" id=\"inline-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\"\/>\r\n                                    <\/svg>\r\n                                <\/div>\r\n                            <\/button>\r\n                            <button class=\"inline-nav-area inline-next-area\" id=\"inline-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\"\/>\r\n                                    <\/svg>\r\n                                <\/div>\r\n                            <\/button>\r\n                        <\/div>\r\n                        <div class=\"inline-story-controls\">\r\n                            <button class=\"inline-control-btn\" id=\"inline-play-pause\" 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\"\/>\r\n                                <\/svg>\r\n                            <\/button>\r\n                            <button class=\"inline-control-btn\" id=\"inline-mute\" 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\"\/>\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                            <\/button>\r\n                            <button class=\"inline-control-btn\" id=\"inline-download\" 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.0391 3 19.5304 3 19V15\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\r\n                                    <path d=\"M7 10L12 15L17 10\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\r\n                                    <path d=\"M12 15V3\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\r\n                                <\/svg>\r\n                            <\/button>\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <!-- Story Player Modal -->\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\"\/>\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\"\/>\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                    <\/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.0391 3 19.5304 3 19V15\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\r\n                            <path d=\"M7 10L12 15L17 10\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\r\n                            <path d=\"M12 15V3\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\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\"\/>\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\" id=\"story-media-container\">\r\n                <!-- Story content (image\/video) will be added here dynamically -->\r\n\r\n                <!-- Navigation overlay inside media container for proper z-index stacking -->\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\"\/>\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\"\/>\r\n                            <\/svg>\r\n                        <\/div>\r\n                    <\/button>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n    <script src=\"https:\/\/tools.xrespond.com\/api\/rate-limit-handler.js\"><\/script>\r\n<script src=\"https:\/\/tools.xrespond.com\/api\/js\/client-ip-detector.js\"><\/script>\r\n \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 and hide all other sections\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                        document.getElementById(\"features-grid\")?.classList.add(\"hidden\");\r\n                        document.getElementById(\"skeleton-loader\")?.classList.add(\"hidden\");\r\n                        document.getElementById(\"story-viewer-inline\")?.classList.remove(\"active\");\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                                    } 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\";\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 - show skeleton then inline viewer\r\n                        storyCard.addEventListener(\"click\", function () {\r\n                            const index = parseInt(this.dataset.index || \"0\");\r\n                            showInlineStory(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                    \/\/ Remove only media elements (img\/video), preserve navigation overlay\r\n                    const oldMedia = mediaContainer.querySelectorAll('img, video');\r\n                    oldMedia.forEach(el => el.remove());\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            \/\/ Show inline story viewer with skeleton loading\r\n            function showInlineStory(index) {\r\n                if (index < 0 || index >= currentStories.length) return;\r\n\r\n                \/\/ Show skeleton loader first\r\n                document.getElementById(\"skeleton-loader\")?.classList.remove(\"hidden\");\r\n                document.getElementById(\"story-viewer-inline\")?.classList.remove(\"active\");\r\n                document.querySelector(\".stories-grid\")?.classList.add(\"hidden\");\r\n                document.querySelector(\".stories-section-header\")?.classList.add(\"hidden\");\r\n\r\n                \/\/ Small delay to show skeleton, then load story\r\n                setTimeout(() => {\r\n                    loadInlineStory(index);\r\n                }, 800);\r\n            }\r\n\r\n            \/\/ Load story into inline viewer\r\n            function loadInlineStory(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 timers\r\n                clearTimeout(storyTimeout);\r\n                clearInterval(progressInterval);\r\n                isPaused = false;\r\n\r\n                \/\/ Hide skeleton, show inline viewer\r\n                document.getElementById(\"skeleton-loader\")?.classList.add(\"hidden\");\r\n                const inlineViewer = document.getElementById(\"story-viewer-inline\");\r\n                inlineViewer?.classList.add(\"active\");\r\n\r\n                \/\/ Update header info\r\n                const avatar = document.getElementById(\"inline-story-avatar\");\r\n                if (avatar instanceof HTMLImageElement) avatar.src = story.user.profile_pic_url;\r\n                \r\n                const usernameEl = document.getElementById(\"inline-story-username\");\r\n                if (usernameEl) usernameEl.textContent = '@' + story.user.username;\r\n                \r\n                const timeEl = document.getElementById(\"inline-story-time\");\r\n                if (timeEl) timeEl.textContent = formatTimestamp(story.taken_at);\r\n\r\n                \/\/ Set up progress bars\r\n                const progressTrack = document.getElementById(\"inline-progress-track\");\r\n                if (progressTrack) {\r\n                    progressTrack.innerHTML = '';\r\n                    for (let i = 0; i < currentStories.length; i++) {\r\n                        const bar = document.createElement(\"div\");\r\n                        bar.className = `inline-progress-bar ${i < index ? 'completed' : ''}`;\r\n                        bar.innerHTML = '<div class=\"inline-progress-fill\"><\/div>';\r\n                        progressTrack.appendChild(bar);\r\n                    }\r\n                }\r\n\r\n                \/\/ Load media\r\n                const mediaContainer = document.getElementById(\"inline-media-container\");\r\n                if (mediaContainer) {\r\n                    \/\/ Keep nav overlay and controls, remove old media\r\n                    const navOverlay = mediaContainer.querySelector(\".inline-nav-overlay\");\r\n                    const controls = mediaContainer.querySelector(\".inline-story-controls\");\r\n                    mediaContainer.innerHTML = '';\r\n                    if (navOverlay) mediaContainer.appendChild(navOverlay);\r\n\r\n                    if (story.is_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                    } else {\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\r\n                    if (controls) mediaContainer.appendChild(controls);\r\n                }\r\n\r\n                updateInlinePlayPauseButton();\r\n                startInlineProgress(story.is_video ? (story.video_duration || 5) * 1000 : 5000);\r\n            }\r\n\r\n            \/\/ Start inline progress animation\r\n            function startInlineProgress(duration) {\r\n                const progressBars = document.querySelectorAll(\".inline-progress-bar\");\r\n                const activeBar = progressBars[currentStoryIndex]?.querySelector(\".inline-progress-fill\");\r\n                const startTime = Date.now();\r\n\r\n                progressInterval = setInterval(() => {\r\n                    if (!isPaused && activeBar) {\r\n                        const elapsed = Date.now() - startTime;\r\n                        const percent = Math.min(elapsed \/ duration * 100, 100);\r\n                        activeBar.style.width = percent + '%';\r\n\r\n                        if (percent >= 100) {\r\n                            clearInterval(progressInterval);\r\n                            setTimeout(() => {\r\n                                if (currentStoryIndex < currentStories.length - 1) {\r\n                                    showInlineStory(currentStoryIndex + 1);\r\n                                } else {\r\n                                    exitInlineViewer();\r\n                                }\r\n                            }, 300);\r\n                        }\r\n                    }\r\n                }, 100);\r\n\r\n                storyTimeout = setTimeout(() => {\r\n                    if (!isPaused) {\r\n                        clearInterval(progressInterval);\r\n                        if (currentStoryIndex < currentStories.length - 1) {\r\n                            showInlineStory(currentStoryIndex + 1);\r\n                        } else {\r\n                            exitInlineViewer();\r\n                        }\r\n                    }\r\n                }, duration + 500);\r\n            }\r\n\r\n            \/\/ Exit inline viewer\r\n            function exitInlineViewer() {\r\n                clearTimeout(storyTimeout);\r\n                clearInterval(progressInterval);\r\n                document.getElementById(\"story-viewer-inline\")?.classList.remove(\"active\");\r\n                document.getElementById(\"skeleton-loader\")?.classList.add(\"hidden\");\r\n                document.querySelector(\".stories-grid\")?.classList.remove(\"hidden\");\r\n                document.querySelector(\".stories-section-header\")?.classList.remove(\"hidden\");\r\n                currentVideo = null;\r\n            }\r\n\r\n            \/\/ Update inline play\/pause button\r\n            function updateInlinePlayPauseButton() {\r\n                const btn = document.getElementById(\"inline-play-pause\");\r\n                if (!btn) return;\r\n\r\n                if (isPaused) {\r\n                    btn.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                } else {\r\n                    btn.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                }\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 (using event delegation for WordPress compatibility)\r\n            function handlePrevStory(e) {\r\n                e.preventDefault();\r\n                e.stopPropagation();\r\n                clearTimeout(storyTimeout);\r\n                clearInterval(progressInterval);\r\n                if (currentStoryIndex > 0) {\r\n                    showStory(currentStoryIndex - 1);\r\n                }\r\n                return false;\r\n            }\r\n\r\n            \/\/ Navigation: Next story (using event delegation for WordPress compatibility)\r\n            function handleNextStory(e) {\r\n                e.preventDefault();\r\n                e.stopPropagation();\r\n                clearTimeout(storyTimeout);\r\n                clearInterval(progressInterval);\r\n                if (currentStoryIndex < currentStories.length - 1) {\r\n                    showStory(currentStoryIndex + 1);\r\n                } else {\r\n                    \/\/ If at the last story, 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                return false;\r\n            }\r\n\r\n            \/\/ Attach navigation events with capture phase for better compatibility\r\n            const prevArea = document.querySelector(\".prev-area\");\r\n            const nextArea = document.querySelector(\".next-area\");\r\n            \r\n            if (prevArea) {\r\n                prevArea.addEventListener(\"click\", handlePrevStory, true);\r\n                prevArea.addEventListener(\"touchstart\", handlePrevStory, { passive: false, capture: true });\r\n            }\r\n\r\n            if (nextArea) {\r\n                nextArea.addEventListener(\"click\", handleNextStory, true);\r\n                nextArea.addEventListener(\"touchstart\", handleNextStory, { passive: false, capture: true });\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                    document.querySelector(\".welcome-panel\")?.classList.remove(\"hidden\");\r\n                });\r\n            }\r\n\r\n            \/\/ INLINE VIEWER CONTROLS\r\n\r\n            \/\/ Inline exit button\r\n            const inlineExit = document.getElementById(\"inline-story-exit\");\r\n            if (inlineExit) {\r\n                inlineExit.addEventListener(\"click\", exitInlineViewer);\r\n            }\r\n\r\n            \/\/ Inline play\/pause button\r\n            const inlinePlayPause = document.getElementById(\"inline-play-pause\");\r\n            if (inlinePlayPause) {\r\n                inlinePlayPause.addEventListener(\"click\", function () {\r\n                    isPaused = !isPaused;\r\n                    if (currentVideo instanceof HTMLVideoElement) {\r\n                        if (isPaused) currentVideo.pause();\r\n                        else currentVideo.play();\r\n                    }\r\n                    updateInlinePlayPauseButton();\r\n                });\r\n            }\r\n\r\n            \/\/ Inline mute button\r\n            const inlineMute = document.getElementById(\"inline-mute\");\r\n            if (inlineMute) {\r\n                inlineMute.addEventListener(\"click\", function () {\r\n                    isMuted = !isMuted;\r\n                    if (currentVideo instanceof HTMLVideoElement) {\r\n                        currentVideo.muted = isMuted;\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            \/\/ Inline download button\r\n            const inlineDownload = document.getElementById(\"inline-download\");\r\n            if (inlineDownload) {\r\n                inlineDownload.addEventListener(\"click\", function () {\r\n                    if (currentStories[currentStoryIndex]) {\r\n                        downloadStory(currentStories[currentStoryIndex]);\r\n                    }\r\n                });\r\n            }\r\n\r\n            \/\/ Inline navigation handlers for WordPress compatibility\r\n            function handleInlinePrev(e) {\r\n                e.preventDefault();\r\n                e.stopPropagation();\r\n                clearTimeout(storyTimeout);\r\n                clearInterval(progressInterval);\r\n                if (currentStoryIndex > 0) {\r\n                    showInlineStory(currentStoryIndex - 1);\r\n                }\r\n                return false;\r\n            }\r\n\r\n            function handleInlineNext(e) {\r\n                e.preventDefault();\r\n                e.stopPropagation();\r\n                clearTimeout(storyTimeout);\r\n                clearInterval(progressInterval);\r\n                if (currentStoryIndex < currentStories.length - 1) {\r\n                    showInlineStory(currentStoryIndex + 1);\r\n                } else {\r\n                    exitInlineViewer();\r\n                }\r\n                return false;\r\n            }\r\n\r\n            \/\/ Inline navigation - previous (with capture phase for WordPress compatibility)\r\n            const inlinePrev = document.getElementById(\"inline-prev-area\");\r\n            if (inlinePrev) {\r\n                inlinePrev.addEventListener(\"click\", handleInlinePrev, true);\r\n                inlinePrev.addEventListener(\"touchstart\", handleInlinePrev, { passive: false, capture: true });\r\n            }\r\n\r\n            \/\/ Inline navigation - next (with capture phase for WordPress compatibility)\r\n            const inlineNext = document.getElementById(\"inline-next-area\");\r\n            if (inlineNext) {\r\n                inlineNext.addEventListener(\"click\", handleInlineNext, true);\r\n                inlineNext.addEventListener(\"touchstart\", handleInlineNext, { passive: false, capture: true });\r\n            }\r\n\r\n            \/\/ Handle keyboard navigation for both modal and inline viewers\r\n            document.addEventListener(\"keydown\", function (e) {\r\n                const isModalActive = !document.querySelector(\".story-player\")?.classList.contains(\"hidden\");\r\n                const isInlineActive = document.getElementById(\"story-viewer-inline\")?.classList.contains(\"active\");\r\n\r\n                if (!isModalActive && !isInlineActive) return;\r\n\r\n                if (e.key === \"ArrowLeft\") {\r\n                    if (isInlineActive) {\r\n                        if (currentStoryIndex > 0) showInlineStory(currentStoryIndex - 1);\r\n                    } else {\r\n                        const prevButton = document.querySelector(\".prev-area\");\r\n                        if (prevButton instanceof HTMLElement) prevButton.click();\r\n                    }\r\n                } else if (e.key === \"ArrowRight\") {\r\n                    if (isInlineActive) {\r\n                        if (currentStoryIndex < currentStories.length - 1) {\r\n                            showInlineStory(currentStoryIndex + 1);\r\n                        } else {\r\n                            exitInlineViewer();\r\n                        }\r\n                    } else {\r\n                        const nextButton = document.querySelector(\".next-area\");\r\n                        if (nextButton instanceof HTMLElement) nextButton.click();\r\n                    }\r\n                } else if (e.key === \"Escape\") {\r\n                    if (isInlineActive) {\r\n                        exitInlineViewer();\r\n                    } else {\r\n                        const closeButton = document.querySelector(\".close-btn\");\r\n                        if (closeButton instanceof HTMLElement) closeButton.click();\r\n                    }\r\n                } else if (e.key === \" \") {\r\n                    \/\/ Spacebar for play\/pause\r\n                    e.preventDefault();\r\n                    if (isInlineActive) {\r\n                        const btn = document.getElementById(\"inline-play-pause\");\r\n                        if (btn instanceof HTMLElement) btn.click();\r\n                    } else {\r\n                        const playPauseButton = document.querySelector(\".play-pause-btn\");\r\n                        if (playPauseButton instanceof HTMLElement) playPauseButton.click();\r\n                    }\r\n                } else if (e.key === \"m\" || e.key === \"M\") {\r\n                    \/\/ M key for mute\/unmute\r\n                    if (isInlineActive) {\r\n                        const btn = document.getElementById(\"inline-mute\");\r\n                        if (btn instanceof HTMLElement) btn.click();\r\n                    } else {\r\n                        const muteButton = document.querySelector(\".mute-btn\");\r\n                        if (muteButton instanceof HTMLElement) muteButton.click();\r\n                    }\r\n                } else if (e.key === \"d\" || e.key === \"D\") {\r\n                    \/\/ D key for download\r\n                    if (currentStories[currentStoryIndex]) {\r\n                        downloadStory(currentStories[currentStoryIndex]);\r\n                    }\r\n                }\r\n            });\r\n        });\r\n    <\/script>\r\n\r\n<\/div>\n<div class=\"tc-wp-tool-content\"><style>\r\n.ns *,.ns *::before,.ns *::after{box-sizing:border-box;margin:0;padding:0}\r\n.ns{--ns-grad:linear-gradient(135deg,#e1306c,#833ab4);--ns-grad-soft:linear-gradient(135deg,#fce4ec,#f3e5f5);--ns-grad-text:linear-gradient(135deg,#e1306c,#833ab4);--ns-ink:#1a1a2e;--ns-body:#555;--ns-border:#e8e0ec;--ns-wh:#fff;--ns-ow:#faf5ff;--ns-r:9px;--ns-ease:cubic-bezier(.4,0,.2,1);--ns-spring:cubic-bezier(.34,1.56,.64,1);--ns-shadow:rgba(131,58,180,0.2);font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;color:var(--ns-body);line-height:1.5}\r\n.ns-inner{max-width:1200px;margin:0 auto;padding:0 32px}\r\n.ns-sec{padding:110px 0}\r\n.ns-bg-wh{background:var(--ns-wh)}\r\n.ns-bg-ow{background:var(--ns-ow)}\r\n.ns-hb{text-align:center;margin-bottom:calc(1.2rem + 2vh)}\r\n.ns-hb h2{font-size:clamp(1.6rem,2.6vw,2.5rem)!important;font-weight:800!important;color:var(--ns-ink)!important;letter-spacing:-0.04em!important;line-height:1.2!important;text-align:center!important;margin:0 0 12px}\r\n.ns-gx{background:var(--ns-grad-text);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}\r\n.ns-hb p{font-size:clamp(0.85rem,1vw,1rem)!important;color:var(--ns-body)!important;max-width:540px;margin:0 auto;line-height:1.75!important;text-align:center!important}\r\n.ns-g3{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}\r\n.ns-g4{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}\r\n.ns-ca{display:flex!important;flex-direction:column!important;align-items:center!important;text-align:center!important;background:var(--ns-wh);border:1px solid var(--ns-border);border-radius:var(--ns-r);padding:42px 32px 38px!important;position:relative!important;overflow:hidden!important;opacity:0;transform:translateY(16px);cursor:default}\r\n.ns-ca::before{content:'';position:absolute!important;top:0!important;left:0!important;width:100%;height:2px;background:var(--ns-grad);opacity:0;transition:opacity .4s var(--ns-ease);pointer-events:none}\r\n.ns-ca.ns-on{opacity:1!important;transform:translateY(0)!important}\r\n.ns-cb{display:flex!important;flex-direction:column!important;align-items:center!important;text-align:center!important;background:var(--ns-wh);border:1px solid var(--ns-border);border-radius:var(--ns-r);padding:60px 32px 56px!important;position:relative!important;overflow:hidden!important;opacity:0;transform:translateY(16px);cursor:default}\r\n.ns-cb::before{content:'';position:absolute!important;top:0!important;left:0!important;width:100%;height:2px;background:var(--ns-grad);opacity:0;transition:opacity .4s var(--ns-ease);pointer-events:none}\r\n.ns-cb.ns-on{opacity:1!important;transform:translateY(0)!important}\r\n.ns-cb-body{width:100%!important}\r\n.ns-ico{width:68px!important;height:68px!important;border-radius:var(--ns-r);background:var(--ns-grad-soft);display:flex;align-items:center;justify-content:center;margin-bottom:26px!important;transition:background .4s var(--ns-ease),transform .4s var(--ns-spring);flex-shrink:0}\r\n.ns-ico svg{width:30px!important;height:30px!important;stroke:#833ab4;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round;fill:none;display:block}\r\n.ns-ca h3,.ns-cb h3{font-size:1.1rem!important;font-weight:700!important;color:var(--ns-ink)!important;margin-bottom:12px!important;line-height:1.3!important;text-align:center!important}\r\n.ns-ca p,.ns-cb p{font-size:.9375rem!important;color:var(--ns-body)!important;line-height:1.75!important;margin:0!important;text-align:center!important}\r\n.ns-ca.ns-on::before,.ns-cb.ns-on::before{transition:opacity .4s var(--ns-ease)}\r\n.ns-ca.ns-on:hover::before,.ns-cb.ns-on:hover::before{opacity:1}\r\n.ns-ca.ns-on:hover .ns-ico,.ns-cb.ns-on:hover .ns-ico{transform:scale(1.15);background:var(--ns-grad)!important}\r\n.ns-ca.ns-on:hover .ns-ico svg,.ns-cb.ns-on:hover .ns-ico svg{stroke:#fff!important}\r\n\/* Section 1: Clean Modern (#22) *\/\r\n.ns-ca.ns-on{transition:opacity .55s var(--ns-spring),transform .55s var(--ns-spring),background .4s var(--ns-ease),box-shadow .4s var(--ns-ease),border-color .4s var(--ns-ease)}\r\n.ns-ca.ns-on:hover{background:#faf5ff!important;border-color:#d4b8e8!important;box-shadow:0 8px 24px var(--ns-shadow)}\r\n.ns-sec.ns-bg-wh:first-of-type .ns-ca.ns-on:hover .ns-ico{animation:ns-nudge .4s var(--ns-ease)}\r\n@keyframes ns-nudge{0%,100%{transform:scale(1.15) translateY(0)}50%{transform:scale(1.15) translateY(-3px)}}\r\n\/* Section 2: Soft Lift (#1) *\/\r\n.ns-cb.ns-on{transition:opacity .55s var(--ns-spring),transform .55s var(--ns-spring),box-shadow .4s var(--ns-ease),background .4s var(--ns-ease)}\r\n.ns-cb.ns-on:hover{transform:translateY(-6px)!important;box-shadow:0 16px 40px var(--ns-shadow)!important;background:#faf5ff!important}\r\n\/* Section 3: Icon Motion (#7) *\/\r\n.ns-sec.ns-bg-wh:last-of-type .ns-ca.ns-on{transition:opacity .55s var(--ns-spring),transform .55s var(--ns-spring),box-shadow .4s var(--ns-ease)}\r\n.ns-sec.ns-bg-wh:last-of-type .ns-ca.ns-on:hover .ns-ico{animation:ns-wiggle .5s var(--ns-ease)}\r\n@keyframes ns-wiggle{0%,100%{transform:scale(1.15) rotate(0deg)}25%{transform:scale(1.15) rotate(-8deg)}75%{transform:scale(1.15) rotate(8deg)}}\r\n.ns-sec.ns-bg-wh:last-of-type .ns-ca.ns-on:hover{box-shadow:0 8px 24px var(--ns-shadow)}\r\n\/* Focus *\/\r\n.ns-ca:focus-visible,.ns-cb:focus-visible{outline:2px solid #833ab4;outline-offset:2px}\r\n\/* Reduced motion *\/\r\n@media(prefers-reduced-motion:reduce){.ns-ca,.ns-cb{transition:none!important;opacity:1!important;transform:none!important}.ns-ca::before,.ns-cb::before{display:none!important}.ns-ico{transition:none!important}.ns-ca.ns-on:hover .ns-ico,.ns-cb.ns-on:hover .ns-ico{transform:none!important;background:var(--ns-grad-soft)!important}.ns-ca.ns-on:hover .ns-ico svg,.ns-cb.ns-on:hover .ns-ico svg{stroke:#833ab4!important}.ns-sec.ns-bg-wh:last-of-type .ns-ca.ns-on:hover .ns-ico{animation:none!important}}\r\n\/* Mid screen *\/\r\n@media(max-width:1099px){\r\n.ns-g3{grid-template-columns:repeat(2,1fr)!important;gap:12px!important}\r\n.ns-g4{grid-template-columns:repeat(2,1fr)!important;gap:12px!important}\r\n.ns-sec{padding:48px 0!important}\r\n.ns-inner{padding:0 12px!important}\r\n.ns-ico{width:42px!important;height:42px!important;margin-bottom:12px!important}\r\n.ns-ico svg{width:20px!important;height:20px!important}\r\n.ns-hb h2{font-size:1.25rem!important;letter-spacing:-.02em!important}\r\n.ns-hb p{font-size:.8rem!important;max-width:100%!important;line-height:1.55!important}\r\n.ns-ca{padding:24px 16px 20px!important}\r\n.ns-cb{padding:30px 16px 28px!important}\r\n.ns-ca h3,.ns-cb h3{font-size:.875rem!important;margin-bottom:6px!important}\r\n.ns-ca p,.ns-cb p{font-size:.8rem!important;line-height:1.55!important}\r\n.ns-hb{margin-bottom:32px!important}\r\n}\r\n\/* Small screen *\/\r\n@media(max-width:639px){\r\n.ns-g3,.ns-g4{grid-template-columns:1fr!important;gap:6px!important}\r\n.ns-sec{padding:24px 0!important}\r\n.ns-inner{padding:0 6px!important}\r\n.ns-ico{width:30px!important;height:30px!important;margin-bottom:6px!important}\r\n.ns-ico svg{width:14px!important;height:14px!important}\r\n.ns-hb h2{font-size:.9rem!important;letter-spacing:-.01em!important}\r\n.ns-hb p{font-size:.7rem!important;max-width:100%!important;line-height:1.4!important}\r\n.ns-ca{padding:14px 10px 12px!important}\r\n.ns-cb{padding:16px 10px 14px!important}\r\n.ns-ca h3,.ns-cb h3{font-size:.75rem!important;margin-bottom:4px!important}\r\n.ns-ca p,.ns-cb p{font-size:.7rem!important;line-height:1.4!important}\r\n.ns-hb{margin-bottom:16px!important}\r\n.ns-ca::before,.ns-cb::before{display:none!important}\r\n.ns-ca.ns-on:hover .ns-ico,.ns-cb.ns-on:hover .ns-ico{transform:none!important}\r\n.ns-sec.ns-bg-wh:last-of-type .ns-ca.ns-on:hover .ns-ico{animation:none!important}\r\n}\r\n<\/style>\r\n<div class=\"ns\">\r\n<div class=\"ns-inner\">\r\n<div class=\"ns-hb\" style=\"margin-top: 4rem;\"><\/div>\r\n<\/div><section class=\"ns-sec ns-bg-wh\" aria-labelledby=\"ns-h1\">\r\n<div class=\"ns-inner\">\r\n<div class=\"ns-hb\">\r\n<h2 id=\"ns-h1\">How <span class=\"ns-gx\">Instagram Story Viewer<\/span> Works<\/h2>\r\n<p>Browse and watch Instagram stories seamlessly with our intuitive platform built for speed and privacy.<\/p>\r\n<\/div>\r\n<div class=\"ns-g3\" data-ns-grid=\"g1\">\r\n<article class=\"ns-ca\" tabindex=\"0\" role=\"article\">\r\n<div class=\"ns-ico\">\r\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>\r\n<\/div>\r\n<h3>Anonymous Viewing<\/h3>\r\n<p>Watch stories from any Instagram user without revealing your identity or leaving any trace behind, enabling private viewing of time-sensitive content that disappears after twenty-four hours.<\/p>\r\n<\/article>\r\n<article class=\"ns-ca\" tabindex=\"0\" role=\"article\">\r\n<div class=\"ns-ico\">\r\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>\r\n<\/div>\r\n<h3>Real-Time Sync<\/h3>\r\n<p>Stories appear the moment they are posted with automatic refresh and instant delivery to your screen, ensuring you never miss time-limited content from your favorite creators and accounts.<\/p>\r\n<\/article>\r\n<article class=\"ns-ca\" tabindex=\"0\" role=\"article\">\r\n<div class=\"ns-ico\">\r\n<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2\"\/><circle cx=\"8.5\" cy=\"7\" r=\"4\"\/><line x1=\"18\" y1=\"8\" x2=\"23\" y2=\"13\"\/><line x1=\"23\" y1=\"8\" x2=\"18\" y2=\"13\"\/><\/svg>\r\n<\/div>\r\n<h3>No Login Required<\/h3>\r\n<p>Access publicly shared stories instantly without creating an account or signing into any service, removing barriers to entry and letting you view content with zero commitment or personal data sharing.<\/p>\r\n<\/article>\r\n<article class=\"ns-ca\" tabindex=\"0\" role=\"article\">\r\n<div class=\"ns-ico\">\r\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>\r\n<\/div>\r\n<h3>HD Quality Display<\/h3>\r\n<p>View every story in its original resolution with sharp crisp image rendering and vibrant colors, ensuring you see content exactly as the creator intended without compression artifacts.<\/p>\r\n<\/article>\r\n<article class=\"ns-ca\" tabindex=\"0\" role=\"article\">\r\n<div class=\"ns-ico\">\r\n<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><circle cx=\"11\" cy=\"11\" r=\"8\"\/><line x1=\"21\" y1=\"21\" x2=\"16.65\" y2=\"16.65\"\/><\/svg>\r\n<\/div>\r\n<h3>Quick User Search<\/h3>\r\n<p>Find any Instagram account by username with smart autocomplete and instant result delivery, making navigation effortless as you switch seamlessly between different profile story feeds.<\/p>\r\n<\/article>\r\n<article class=\"ns-ca\" tabindex=\"0\" role=\"article\">\r\n<div class=\"ns-ico\">\r\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>\r\n<\/div>\r\n<h3>Story Download<\/h3>\r\n<p>Save stories directly to your device with one click for offline viewing and archiving purposes, building a permanent collection of content that would otherwise vanish within a single day.<\/p>\r\n<\/article>\r\n<\/div>\r\n<\/div>\r\n<\/section>\r\n\r\n<section class=\"ns-sec ns-bg-ow\" aria-labelledby=\"ns-h2\">\r\n<div class=\"ns-inner\">\r\n<div class=\"ns-hb\">\r\n<h2 id=\"ns-h2\">Key Benefits of <span class=\"ns-gx\">Instagram Story Viewer<\/span><\/h2>\r\n<p>Discover why thousands of users choose our platform for private story viewing every single day.<\/p>\r\n<\/div>\r\n<div class=\"ns-g4\" data-ns-grid=\"g2\">\r\n<article class=\"ns-cb\" tabindex=\"0\" role=\"article\">\r\n<div class=\"ns-ico\">\r\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>\r\n<\/div>\r\n<div class=\"ns-cb-body\">\r\n<h3>Complete Anonymity<\/h3>\r\n<p>Your identity stays hidden with no login no tracking and no viewing history stored on our servers.<\/p>\r\n<\/div>\r\n<\/article>\r\n<article class=\"ns-cb\" tabindex=\"0\" role=\"article\">\r\n<div class=\"ns-ico\">\r\n<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><rect x=\"3\" y=\"3\" width=\"7\" height=\"7\"\/><rect x=\"14\" y=\"3\" width=\"7\" height=\"7\"\/><rect x=\"3\" y=\"14\" width=\"7\" height=\"7\"\/><rect x=\"14\" y=\"14\" width=\"7\" height=\"7\"\/><\/svg>\r\n<\/div>\r\n<div class=\"ns-cb-body\">\r\n<h3>Intuitive Interface<\/h3>\r\n<p>Clean distraction-free design that makes story viewing effortless and enjoyable for all users.<\/p>\r\n<\/div>\r\n<\/article>\r\n<article class=\"ns-cb\" tabindex=\"0\" role=\"article\">\r\n<div class=\"ns-ico\">\r\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>\r\n<\/div>\r\n<div class=\"ns-cb-body\">\r\n<h3>Universal Access<\/h3>\r\n<p>Works seamlessly across desktop tablet and mobile without installing any application whatsoever.<\/p>\r\n<\/div>\r\n<\/article>\r\n<article class=\"ns-cb\" tabindex=\"0\" role=\"article\">\r\n<div class=\"ns-ico\">\r\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>\r\n<\/div>\r\n<div class=\"ns-cb-body\">\r\n<h3>Zero Tracking<\/h3>\r\n<p>No cookies no analytics scripts and no personal data collection of any kind during your session.<\/p>\r\n<\/div>\r\n<\/article>\r\n<article class=\"ns-cb\" tabindex=\"0\" role=\"article\">\r\n<div class=\"ns-ico\">\r\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>\r\n<\/div>\r\n<div class=\"ns-cb-body\">\r\n<h3>Completely Free<\/h3>\r\n<p>No premium tiers no credit cards and no hidden fees every feature is available at no cost.<\/p>\r\n<\/div>\r\n<\/article>\r\n<article class=\"ns-cb\" tabindex=\"0\" role=\"article\">\r\n<div class=\"ns-ico\">\r\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>\r\n<\/div>\r\n<div class=\"ns-cb-body\">\r\n<h3>Lightning Speed<\/h3>\r\n<p>Optimized delivery pipeline ensures stories load in under a second every time without delays.<\/p>\r\n<\/div>\r\n<\/article>\r\n<article class=\"ns-cb\" tabindex=\"0\" role=\"article\">\r\n<div class=\"ns-ico\">\r\n<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M19 21l-7-5-7 5V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z\"\/><\/svg>\r\n<\/div>\r\n<div class=\"ns-cb-body\">\r\n<h3>Save Favorites<\/h3>\r\n<p>Bookmark frequently viewed accounts for one-tap access and build a personalized following feed.<\/p>\r\n<\/div>\r\n<\/article>\r\n<article class=\"ns-cb\" tabindex=\"0\" role=\"article\">\r\n<div class=\"ns-ico\">\r\n<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><polyline points=\"23 4 23 10 17 10\"\/><path d=\"M20.49 15a9 9 0 1 1-2.12-9.36L23 10\"\/><\/svg>\r\n<\/div>\r\n<div class=\"ns-cb-body\">\r\n<h3>Constant Updates<\/h3>\r\n<p>Features improve weekly with new capabilities based on real user feedback and requests.<\/p>\r\n<\/div>\r\n<\/article>\r\n<\/div>\r\n<\/div>\r\n<\/section>\r\n\r\n<section class=\"ns-sec ns-bg-wh\" aria-labelledby=\"ns-h3\">\r\n<div class=\"ns-inner\">\r\n<div class=\"ns-hb\">\r\n<h2 id=\"ns-h3\">Best Use Case of <span class=\"ns-gx\">Instagram Story Viewer<\/span><\/h2>\r\n<p>Explore real-world scenarios where our story viewer delivers the most value and impact.<\/p>\r\n<\/div>\r\n<div class=\"ns-g3\" data-ns-grid=\"g3\">\r\n<article class=\"ns-ca\" tabindex=\"0\" role=\"article\">\r\n<div class=\"ns-ico\">\r\n<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><polyline points=\"23 6 13.5 15.5 8.5 10.5 1 18\"\/><polyline points=\"17 6 23 6 23 12\"\/><\/svg>\r\n<\/div>\r\n<h3>Market Intelligence<\/h3>\r\n<p>Monitor competitor stories to track product launches marketing campaigns and brand positioning, gaining real-time intelligence on how rivals engage their audience through ephemeral content strategies.<\/p>\r\n<\/article>\r\n<article class=\"ns-ca\" tabindex=\"0\" role=\"article\">\r\n<div class=\"ns-ico\">\r\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>\r\n<\/div>\r\n<h3>Creative Inspiration<\/h3>\r\n<p>Discover content trends and creative formats used by top influencers and brands worldwide, keeping your storytelling fresh and aligned with what resonates most with modern social media audiences.<\/p>\r\n<\/article>\r\n<article class=\"ns-ca\" tabindex=\"0\" role=\"article\">\r\n<div class=\"ns-ico\">\r\n<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><polygon points=\"10 8 16 12 10 16\"\/><\/svg>\r\n<\/div>\r\n<h3>Profile Evaluation<\/h3>\r\n<p>Preview a user's story content before deciding whether to follow their account and engage, helping you curate your feed with only the most relevant and interesting creators in your niche.<\/p>\r\n<\/article>\r\n<article class=\"ns-ca\" tabindex=\"0\" role=\"article\">\r\n<div class=\"ns-ico\">\r\n<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><polyline points=\"22 12 18 12 15 21 9 3 6 12 2 12\"\/><\/svg>\r\n<\/div>\r\n<h3>Trend Analysis<\/h3>\r\n<p>Identify viral story patterns popular hashtags and emerging content themes across different niches, enabling data-driven content decisions that capitalize on what is currently trending in your industry.<\/p>\r\n<\/article>\r\n<article class=\"ns-ca\" tabindex=\"0\" role=\"article\">\r\n<div class=\"ns-ico\">\r\n<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2\"\/><circle cx=\"9\" cy=\"7\" r=\"4\"\/><path d=\"M23 21v-2a4 4 0 0 0-3-3.87\"\/><path d=\"M16 3.13a4 4 0 0 1 0 7.75\"\/><\/svg>\r\n<\/div>\r\n<h3>Audience Research<\/h3>\r\n<p>Understand what type of content drives engagement in your target demographic and market segment, using real-world examples of successful story campaigns to refine your own approach.<\/p>\r\n<\/article>\r\n<article class=\"ns-ca\" tabindex=\"0\" role=\"article\">\r\n<div class=\"ns-ico\">\r\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>\r\n<\/div>\r\n<h3>Brand Monitoring<\/h3>\r\n<p>Track how competitors use stories for promotions launches and audience engagement strategies, giving you a competitive edge by learning from their successes and avoiding their marketing missteps.<\/p>\r\n<\/article>\r\n<\/div>\r\n<\/div>\r\n<\/section>\r\n\r\n<\/div>\r\n<noscript><style>.ns-ca,.ns-cb{opacity:1!important;transform:none!important}<\/style><\/noscript>\r\n<script defer>\r\n(function(){'use strict';var p='ns';var grids=document.querySelectorAll('[data-'+p+'-grid]');if('IntersectionObserver' in window){var obs=new IntersectionObserver(function(entries){entries.forEach(function(entry){if(entry.isIntersecting){var grid=entry.target;var cards=grid.querySelectorAll('.'+p+'-ca, .'+p+'-cb');cards.forEach(function(card,i){setTimeout(function(){card.classList.add(p+'-on')},i*65)});obs.unobserve(grid)}})},{threshold:0.06,rootMargin:'-40px 0px 0px 0px'});grids.forEach(function(g){obs.observe(g)})}else{grids.forEach(function(grid){var cards=grid.querySelectorAll('.'+p+'-ca, .'+p+'-cb');cards.forEach(function(c){c.classList.add(p+'-on')})})}var allCards=document.querySelectorAll('.'+p+'-ca, .'+p+'-cb');allCards.forEach(function(c){c.setAttribute('tabindex','0');c.setAttribute('role','article')})})();\r\n<\/script>\r\n<\/div>\n<\/section>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\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-5370","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/viiewerr.com\/wp-json\/wp\/v2\/pages\/5370","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=5370"}],"version-history":[{"count":1,"href":"https:\/\/viiewerr.com\/wp-json\/wp\/v2\/pages\/5370\/revisions"}],"predecessor-version":[{"id":5482,"href":"https:\/\/viiewerr.com\/wp-json\/wp\/v2\/pages\/5370\/revisions\/5482"}],"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=5370"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}