{"id":5579,"date":"2026-06-02T06:45:48","date_gmt":"2026-06-02T06:45:48","guid":{"rendered":"https:\/\/viiewerr.com\/instagram\/thumbnail-2\/"},"modified":"2026-06-27T06:06:09","modified_gmt":"2026-06-27T06:06:09","slug":"thumbnail","status":"publish","type":"page","link":"https:\/\/viiewerr.com\/instagram\/thumbnail\/","title":{"rendered":"Instagram Thumbnail Viewer: HD Grids"},"content":{"rendered":"<style type=\"text\/css\">\n.tc-wp-island {\n  width: 100%;\n  max-width: 100%;\n  min-width: 0;\n  box-sizing: border-box;\n  display: flow-root;\n  isolation: isolate;\n  position: relative;\n}\n.tc-wp-island > * {\n  min-width: 0;\n}\n.tc-wp-island *,\n.tc-wp-island *::before,\n.tc-wp-island *::after {\n  box-sizing: border-box;\n}\n.tc-wp-island img,\n.tc-wp-island video,\n.tc-wp-island svg,\n.tc-wp-island iframe {\n  max-width: 100%;\n  height: auto;\n}\n.tc-wp-island .tc-wp-tool {\n  max-width: 100%;\n  min-width: 0;\n}\n.tc-wp-island .tc-wp-tool-html,\n.tc-wp-island .tc-wp-tool-content,\n.tc-wp-island .tc-wp-other {\n  max-width: 100%;\n  min-width: 0;\n  overflow-wrap: anywhere;\n  word-break: break-word;\n}\n\/* Keep tool in post content flow \u2014 not overlapping theme header \/ hero band *\/\n.tc-wp-island {\n  clear: both;\n  z-index: 1;\n}\n.tc-wp-island .tc-wp-tool {\n  position: relative;\n  z-index: 0;\n  clear: both;\n  margin-top: 0;\n  margin-bottom: 1.25rem;\n}\n.tc-wp-island .tc-wp-tool-html {\n  position: relative;\n  z-index: 0;\n  clear: both;\n  contain: layout;\n}\n.tc-wp-island .tc-wp-tool-html > *:first-child {\n  position: relative !important;\n  top: auto !important;\n  left: auto !important;\n  right: auto !important;\n  margin-top: 0 !important;\n  width: 100%;\n  max-width: 100%;\n  box-sizing: border-box;\n}\nbody:has(.tc-wp-island) #main-header,\nbody:has(.tc-wp-island) header.site-header,\nbody:has(.tc-wp-island) .site-header,\nbody:has(.tc-wp-island) #header,\nbody:has(.tc-wp-island) .et-fixed-header,\nbody:has(.tc-wp-island) .elementor-location-header {\n  z-index: 200;\n}\n\/* Space between WP Coder tool + content shortcodes on publish\/draft pages *\/\n.tc-wp-island .tc-wp-tool-html + .tc-wp-tool-content {\n  margin-top: 20px;\n}\n.tc-wp-island .tc-wp-bcd-codes {\n  display: flex;\n  flex-direction: column;\n  gap: 20px;\n}\n\/* Full-width: hide theme sidebar when a ToolsChecker island is present *\/\nbody:has(.tc-wp-island) #sidebar,\nbody:has(.tc-wp-island) .sidebar,\nbody:has(.tc-wp-island) #secondary,\nbody:has(.tc-wp-island) .widget-area,\nbody:has(.tc-wp-island) aside.sidebar,\nbody:has(.tc-wp-island) #right-sidebar,\nbody:has(.tc-wp-island) #left-sidebar,\nbody:has(.tc-wp-island) .sidebar-primary,\nbody:has(.tc-wp-island) .sidebar-secondary,\nbody:has(.tc-wp-island) .ast-sidebar,\nbody:has(.tc-wp-island) .site-sidebar {\n  display: none !important;\n}\n\/* Copygen: hide default page title\/breadcrumb band \u2014 tool pages use template-homepage like category *\/\nbody:has(.tc-wp-island) section.page_header_default,\nbody:has(.tc-wp-island) .page_header_default {\n  display: none !important;\n}\n@media (min-width: 981px) {\n  body:has(.tc-wp-island) #left-area,\n  body:has(.tc-wp-island) #primary,\n  body:has(.tc-wp-island) #content-area,\n  body:has(.tc-wp-island) #content-area .container,\n  body:has(.tc-wp-island) .content-area,\n  body:has(.tc-wp-island) main.site-main,\n  body:has(.tc-wp-island) .site-content .content-area {\n    width: 100% !important;\n    max-width: 100% !important;\n    float: none !important;\n    padding-right: 0 !important;\n    padding-left: 0 !important;\n  }\n  body:has(.tc-wp-island) #main-content .container:before {\n    display: none !important;\n  }\n}\n\/* Tool pages: keep theme H1 readable \u2014 smaller type, full content width, 1\u20132 lines *\/\nbody:has(.tc-wp-island) .fontib-v2-hero-inner {\n  width: min(100%, calc(100vw - 40px)) !important;\n  max-width: 1320px !important;\n}\nbody:has(.tc-wp-island) .fontib-v2-title,\nbody:has(.tc-wp-island) #left-area > .entry-title,\nbody:has(.tc-wp-island) .entry-title h1,\nbody:has(.tc-wp-island) h1.entry-title,\nbody:has(.tc-wp-island) .page-title,\nbody:has(.tc-wp-island) .et_pb_title_container h1 {\n  max-width: 100% !important;\n  width: 100%;\n  font-size: clamp(24px, 2.6vw, 38px) !important;\n  line-height: 1.2 !important;\n  letter-spacing: -0.01em;\n}\n<\/style>\n<div class=\"tc-wp-island\">\n<section class=\"tc-wp-tool\" data-tool-index=\"1\">\n<div class=\"tc-wp-tool-html\">    \r\n    <style>\r\n        \/* Reset and Base Styles *\/\r\n        button,\r\n        html input[type=\"button\"],\r\n        input[type=\"reset\"],\r\n        input[type=\"submit\"] {\r\n            padding: 0px;\r\n        }\r\n\r\n        * {\r\n            margin: 0;\r\n            padding: 0;\r\n            box-sizing: border-box;\r\n        }\r\n\r\n        body {\r\n            background: #0a0a0a;\r\n            background-attachment: fixed;\r\n            min-height: 100vh;\r\n            width: 100%;\r\n        }\r\n\r\n        body::before {\r\n            content: \"\";\r\n            position: fixed;\r\n            top: 0;\r\n            left: 0;\r\n            width: 100%;\r\n            height: 100%;\r\n            background: radial-gradient(ellipse at 30% 40%, rgba(131, 58, 180, 0.12), transparent 60%),\r\n                        radial-gradient(ellipse at 70% 60%, rgba(225, 48, 108, 0.08), transparent 50%);\r\n            pointer-events: none;\r\n            z-index: 0;\r\n        }\r\n\r\n       .main-contain {\r\n\tfont-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;\r\n\tmin-height: 100vh;\r\n\tline-height: 1.6;\r\n\tmax-width: 1200px;\r\n\tmargin: 0 auto;\r\n\tpadding: 30px;\r\n\tposition: relative;\r\n\tz-index: 1;\r\n}\r\n\r\n        \/* Ultra-Modern Instagram Thumbnail Viewer Design *\/\r\n        \/* Header - Title & Description *\/\r\n        .ig-header {\r\n            text-align: center;\r\n            padding: 0px 30px 10px;\r\n        }\r\n\r\n        .ig-header .main-title h1 {\r\n            font-size: 48px;\r\n            font-weight: 900;\r\n            background: linear-gradient(135deg, #833AB4 0%, #E1306C 40%, #FD1D1D 70%, #FCAF45 100%);\r\n            -webkit-background-clip: text;\r\n            -webkit-text-fill-color: transparent;\r\n            background-clip: text;\r\n            margin-bottom: 20px;\r\n            letter-spacing: -1px;\r\n            text-shadow: 0 0 80px rgba(131, 58, 180, 0.4), 0 0 120px rgba(225, 48, 108, 0.3), 0 0 160px rgba(253, 29, 29, 0.15);\r\n            -webkit-text-stroke: 2px rgba(225, 48, 108, 0.25);\r\n        }\r\n\r\n        .ig-header .description {\r\n            font-size: 19px;\r\n            line-height: 1.8;\r\n            font-weight: 400;\r\n            color: #a8a8a8;\r\n            max-width: 800px;\r\n            margin: 0 auto;\r\n        }\r\n\r\n        \/* Input Area *\/\r\n        .ig-input-area {\r\n            display: flex;\r\n            align-items: center;\r\n            background: rgba(26, 26, 26, 0.9);\r\n            padding: 28px;\r\n            border-radius: 24px;\r\n            gap: 16px;\r\n            margin: 10px auto 0;\r\n            max-width: 100%;\r\n            flex-wrap: wrap;\r\n            box-shadow: 0 4px 24px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.05);\r\n            position: relative;\r\n            backdrop-filter: blur(20px);\r\n            border: 1px solid rgba(255, 255, 255, 0.06);\r\n        }\r\n\r\n        .ig-icon {\r\n            font-size: 17px;\r\n            color: #a8a8a8;\r\n            font-weight: 600;\r\n            width: 100%;\r\n            text-align: left;\r\n            margin-bottom: 6px;\r\n        }\r\n\r\n        .ig-input-area input {\r\n            flex-grow: 1;\r\n            padding: 16px 20px;\r\n            font-size: 17px;\r\n            border: 2px solid #333333;\r\n            outline: none;\r\n            min-width: 200px;\r\n            background: #1a1a1a;\r\n            border-radius: 18px;\r\n            transition: all 0.3s ease;\r\n            color: #ffffff;\r\n            font-weight: 500;\r\n            box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.03);\r\n        }\r\n\r\n        .ig-input-area input::placeholder {\r\n            color: #555555;\r\n        }\r\n\r\n        .ig-input-area input:focus {\r\n            border-color: #E1306C;\r\n            box-shadow: 0 0 0 4px rgba(225, 48, 108, 0.15);\r\n        }\r\n\r\n        #error-message {\r\n            color: #ef4444;\r\n            margin-top: 10px;\r\n            display: none;\r\n            font-weight: 600;\r\n            text-align: center;\r\n            width: 100%;\r\n        }\r\n\r\n        .paste-btn,\r\n        .view-btn {\r\n            border: none;\r\n            border-radius: 16px;\r\n            padding: 16px 24px;\r\n            cursor: pointer;\r\n            font-weight: 700;\r\n            transition: all 0.3s ease;\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 8px;\r\n            font-size: 15px;\r\n        }\r\n\r\n        .paste-btn {\r\n            background: #2a2a2a;\r\n            color: #a8a8a8;\r\n            border: 1px solid #333333;\r\n        }\r\n\r\n        .paste-btn:hover {\r\n            background: #333333;\r\n            transform: translateY(-1px);\r\n        }\r\n\r\n        .view-btn {\r\n            background: linear-gradient(135deg, #833AB4 0%, #E1306C 50%, #FD1D1D 100%);\r\n            color: #ffffff;\r\n            box-shadow: 0 8px 24px rgba(225, 48, 108, 0.35);\r\n        }\r\n\r\n        .view-btn:hover {\r\n            transform: translateY(-2px);\r\n            box-shadow: 0 12px 28px rgba(225, 48, 108, 0.5);\r\n        }\r\n\r\n        .view-btn:disabled {\r\n            opacity: 0.6;\r\n            cursor: not-allowed;\r\n            transform: none;\r\n        }\r\n\r\n\r\n\r\n        \/* Result Section *\/\r\n        .tools-result {\r\n            width: 100%;\r\n            margin-top: 60px;\r\n            padding: 0 10px;\r\n        }\r\n\r\n        .ig-result {\r\n            margin-top: 30px;\r\n            background: #121212;\r\n            border-radius: 20px;\r\n            padding: 30px;\r\n            color: #e0e0e0;\r\n            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);\r\n        }\r\n\r\n        \/* Ultra-Modern Profile Header *\/\r\n        .ig-profile-header {\r\n            margin-bottom: 40px;\r\n            position: relative;\r\n            background: linear-gradient(135deg, rgba(30, 30, 30, 0.95), rgba(20, 20, 20, 0.9));\r\n            border-radius: 28px;\r\n            padding: 40px;\r\n            box-shadow: 0 25px 50px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(255, 255, 255, 0.05);\r\n            border: 1px solid rgba(255, 255, 255, 0.06);\r\n            backdrop-filter: blur(20px);\r\n            overflow: hidden;\r\n        }\r\n\r\n        .ig-profile-header::before {\r\n            content: \"\";\r\n            position: absolute;\r\n            top: 0;\r\n            left: 0;\r\n            width: 100%;\r\n            height: 100%;\r\n            background: linear-gradient(135deg, rgba(131, 58, 180, 0.08), rgba(225, 48, 108, 0.05));\r\n            pointer-events: none;\r\n        }\r\n\r\n        .profile-header-content {\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 35px;\r\n            flex-wrap: wrap;\r\n            position: relative;\r\n            z-index: 2;\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: 160px;\r\n            height: 160px;\r\n            border-radius: 50%;\r\n            object-fit: cover;\r\n            border: 4px solid rgba(255, 255, 255, 0.15);\r\n            box-shadow: 0 15px 35px rgba(0, 0, 0, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.1);\r\n            transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);\r\n            background: linear-gradient(135deg, #833AB4, #E1306C);\r\n            padding: 3px;\r\n            min-height: 160px;\r\n            min-width: 160px;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            color: rgba(255, 255, 255, 0.8);\r\n            font-size: 70px;\r\n        }\r\n\r\n        .profile-image:hover {\r\n            transform: scale(1.05);\r\n            box-shadow: 0 20px 45px rgba(0, 0, 0, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.15);\r\n        }\r\n\r\n        .view-profile-img {\r\n            position: absolute;\r\n            bottom: 8px;\r\n            right: 8px;\r\n            background: linear-gradient(135deg, #833AB4, #E1306C);\r\n            color: white;\r\n            border: none;\r\n            border-radius: 50%;\r\n            width: 42px;\r\n            height: 42px;\r\n            display: flex;\r\n            justify-content: center;\r\n            align-items: center;\r\n            cursor: pointer;\r\n            transition: all 0.3s;\r\n            box-shadow: 0 5px 15px rgba(225, 48, 108, 0.3);\r\n            z-index: 5;\r\n        }\r\n\r\n        .view-profile-img:hover {\r\n            transform: scale(1.1) rotate(15deg);\r\n            background: linear-gradient(135deg, #E1306C, #FD1D1D);\r\n        }\r\n\r\n        .profile-info {\r\n            flex: 1;\r\n            text-align: left;\r\n            min-width: 250px;\r\n        }\r\n\r\n        .profile-info .username-text {\r\n            font-size: 28px;\r\n            margin: 0 0 8px;\r\n            font-weight: 800;\r\n            background: linear-gradient(135deg, #833AB4, #E1306C);\r\n            -webkit-background-clip: text;\r\n            -webkit-text-fill-color: transparent;\r\n            background-clip: text;\r\n            text-shadow: 0 2px 10px rgba(225, 48, 108, 0.2);\r\n        }\r\n\r\n        .profile-info .fullname-text {\r\n            font-size: 20px;\r\n            margin: 0 0 20px;\r\n            font-weight: 600;\r\n            color: #a8a8a8;\r\n            opacity: 0.9;\r\n        }\r\n\r\n        .stats {\r\n            display: flex;\r\n            gap: 25px;\r\n            margin: 15px 0;\r\n        }\r\n\r\n        .stat-item {\r\n            display: flex;\r\n            flex-direction: column;\r\n            align-items: center;\r\n        }\r\n\r\n        .stat-value {\r\n            font-size: 20px;\r\n            font-weight: 700;\r\n            color: #ffffff;\r\n        }\r\n\r\n        .stat-label {\r\n            font-size: 14px;\r\n            color: #8e8e8e;\r\n            margin-top: 3px;\r\n        }\r\n\r\n        .profile-bio {\r\n            margin-top: 25px;\r\n            padding-top: 20px;\r\n            border-top: 1px solid #2a2a2a;\r\n            text-align: left;\r\n            color: #a8a8a8;\r\n            line-height: 1.6;\r\n        }\r\n\r\n        .profile-link {\r\n            display: inline-flex;\r\n            align-items: center;\r\n            gap: 5px;\r\n            color: #E1306C;\r\n            text-decoration: none;\r\n            font-weight: 500;\r\n            margin-top: 10px;\r\n            transition: all 0.3s;\r\n        }\r\n\r\n        .profile-link:hover {\r\n            color: #FD1D1D;\r\n            text-decoration: underline;\r\n        }\r\n\r\n        \/* Tabs *\/\r\n        .ig-tabs {\r\n            display: flex;\r\n            justify-content: center;\r\n            margin: 30px 0;\r\n            gap: 15px;\r\n            flex-wrap: wrap;\r\n        }\r\n\r\n        .ig-tabs button {\r\n            background: #1e1e1e;\r\n            color: #8e8e8e;\r\n            border: none;\r\n            font-weight: 600;\r\n            font-size: 15px;\r\n            padding: 12px 24px;\r\n            cursor: pointer;\r\n            border-radius: 50px;\r\n            transition: all 0.3s;\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 8px;\r\n            box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);\r\n        }\r\n\r\n        .ig-tabs button i {\r\n            font-size: 16px;\r\n        }\r\n\r\n        .ig-tabs button.active {\r\n            background: linear-gradient(135deg, #833AB4, #E1306C);\r\n            color: white;\r\n            box-shadow: 0 5px 15px rgba(225, 48, 108, 0.3);\r\n            transform: translateY(-2px);\r\n        }\r\n\r\n        .ig-tabs button:hover:not(.active) {\r\n            background: #2a2a2a;\r\n            color: #ffffff;\r\n            transform: translateY(-2px);\r\n        }\r\n\r\n        \/* Tab Content *\/\r\n        .tab-content {\r\n            padding: 20px;\r\n            text-align: center;\r\n            color: #8e8e8e;\r\n            display: none;\r\n        }\r\n\r\n        .tab-content.active {\r\n            display: block;\r\n        }\r\n\r\n        .no-result {\r\n            border: 1px dashed #333333;\r\n            padding: 30px 20px;\r\n            margin-top: 30px;\r\n            text-align: center;\r\n            font-size: 16px;\r\n            font-weight: 500;\r\n            border-radius: 12px;\r\n            color: #8e8e8e;\r\n            background: #1a1a1a;\r\n        }\r\n\r\n        .no-result i {\r\n            font-size: 48px;\r\n            color: #444444;\r\n            margin-bottom: 15px;\r\n            display: block;\r\n        }\r\n\r\n        \/* Private Account Message *\/\r\n        .private-account-message {\r\n            background-color: rgba(225, 48, 108, 0.1);\r\n            color: #E1306C;\r\n            padding: 20px;\r\n            border-radius: 12px;\r\n            margin-top: 20px;\r\n            text-align: center;\r\n            font-weight: 500;\r\n            border: 1px solid rgba(225, 48, 108, 0.2);\r\n        }\r\n\r\n        .private-account-message i {\r\n            margin-right: 8px;\r\n            font-size: 18px;\r\n        }\r\n\r\n        \/* Posts Grid *\/\r\n        .posts-grid {\r\n            display: grid;\r\n            grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));\r\n            gap: 25px;\r\n            margin-top: 25px;\r\n        }\r\n\r\n        .post-card {\r\n            border-radius: 16px;\r\n            overflow: hidden;\r\n            background: #1a1a1a;\r\n            box-shadow: 0 5px 20px rgba(0, 0, 0, 0.2);\r\n            transition: all 0.3s;\r\n            border: 1px solid #2a2a2a;\r\n        }\r\n\r\n        .post-card:hover {\r\n            transform: translateY(-8px);\r\n            box-shadow: 0 15px 30px rgba(0, 0, 0, 0.4);\r\n        }\r\n\r\n        .post-img-container {\r\n            position: relative;\r\n            overflow: hidden;\r\n            aspect-ratio: 1 \/ 1;\r\n        }\r\n\r\n        .post-thumb {\r\n            width: 100%;\r\n            height: 100%;\r\n            object-fit: cover;\r\n            display: block;\r\n            transition: transform 0.5s;\r\n        }\r\n\r\n        .post-overlay {\r\n            position: absolute;\r\n            top: 0;\r\n            left: 0;\r\n            right: 0;\r\n            bottom: 0;\r\n            background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.7) 100%);\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            opacity: 1;\r\n            transition: opacity 0.3s ease;\r\n            z-index: 3;\r\n        }\r\n\r\n        .post-img-container:hover .post-overlay {\r\n            opacity: 1;\r\n        }\r\n\r\n        .post-img-container:hover .post-thumb {\r\n            transform: scale(1.08);\r\n        }\r\n\r\n        .post-download-btn,\r\n        .post-view-btn {\r\n            background: rgba(255, 255, 255, 0.1);\r\n            color: #ffffff;\r\n            width: 45px;\r\n            height: 45px;\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: all 0.3s;\r\n            border: none;\r\n            font-size: 16px;\r\n            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);\r\n        }\r\n\r\n        .post-download-btn:hover,\r\n        .post-view-btn:hover {\r\n            transform: scale(1.1) translateY(-3px);\r\n            box-shadow: 0 8px 20px rgba(225, 48, 108, 0.2);\r\n        }\r\n\r\n        .post-download-btn:hover {\r\n            background: #E1306C;\r\n            color: white;\r\n        }\r\n\r\n        .post-view-btn {\r\n            background: rgba(255, 255, 255, 0.12);\r\n            color: #ffffff;\r\n            border: none;\r\n            border-radius: 50%;\r\n            width: 50px;\r\n            height: 50px;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            cursor: pointer;\r\n            transition: all 0.3s ease;\r\n            font-size: 20px;\r\n        }\r\n\r\n        .post-view-btn:hover {\r\n            background: rgba(255, 255, 255, 0.2);\r\n            transform: scale(1.1);\r\n        }\r\n\r\n        .post-meta {\r\n            padding: 20px;\r\n        }\r\n\r\n        .post-stats,\r\n        .reel-stats {\r\n            background: linear-gradient(135deg, rgba(225, 48, 108, 0.15), rgba(131, 58, 180, 0.15));\r\n            padding: 8px 12px;\r\n            border-radius: 12px;\r\n            border: 1px solid rgba(225, 48, 108, 0.1);\r\n            backdrop-filter: blur(10px);\r\n            -webkit-backdrop-filter: blur(10px);\r\n        }\r\n\r\n        .post-stats span,\r\n        .reel-stats span {\r\n            color: #e0e0e0;\r\n            font-weight: 600;\r\n            font-size: 13px;\r\n        }\r\n\r\n        .post-stats span i,\r\n        .reel-stats span i {\r\n            color: #E1306C;\r\n            margin-right: 4px;\r\n        }\r\n\r\n        .post-stats {\r\n            display: flex;\r\n            gap: 15px;\r\n            margin-bottom: 10px;\r\n        }\r\n\r\n        .post-stats span {\r\n            font-size: 14px;\r\n            color: #a8a8a8;\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 5px;\r\n        }\r\n\r\n        .post-stats span i {\r\n            color: #E1306C;\r\n        }\r\n\r\n        .post-meta .caption {\r\n            font-size: 15px;\r\n            color: #d0d0d0;\r\n            margin-bottom: 10px;\r\n            line-height: 1.5;\r\n            font-weight: 500;\r\n            display: -webkit-box;\r\n            -webkit-line-clamp: 2;\r\n            -webkit-box-orient: vertical;\r\n            overflow: hidden;\r\n        }\r\n\r\n        .post-meta .time {\r\n            font-size: 13px;\r\n            color: #666666;\r\n            display: block;\r\n            font-weight: 400;\r\n        }\r\n\r\n        .post-stats-row {\r\n            display: flex;\r\n            justify-content: space-between;\r\n            align-items: center;\r\n            margin-bottom: 8px;\r\n        }\r\n\r\n        \/* Stories Container *\/\r\n        .stories-container {\r\n            display: grid;\r\n            grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));\r\n            gap: 20px;\r\n            margin-top: 25px;\r\n        }\r\n\r\n        .story-card {\r\n            border-radius: 16px;\r\n            overflow: hidden;\r\n            background: #1a1a1a;\r\n            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);\r\n            transition: all 0.3s;\r\n            border: 1px solid #2a2a2a;\r\n        }\r\n\r\n        .story-card:hover {\r\n            transform: translateY(-5px);\r\n            box-shadow: 0 10px 25px rgba(0, 0, 0, 0.4);\r\n        }\r\n\r\n        .story-img-container {\r\n            position: relative;\r\n            overflow: hidden;\r\n            aspect-ratio: 9 \/ 16;\r\n        }\r\n\r\n        .story-thumb {\r\n            width: 100%;\r\n            height: 100%;\r\n            object-fit: cover;\r\n            display: block;\r\n            transition: transform 0.5s;\r\n        }\r\n\r\n        .story-overlay {\r\n            position: absolute;\r\n            top: 0;\r\n            left: 0;\r\n            width: 100%;\r\n            height: 100%;\r\n            background: rgba(0, 0, 0, 0.4);\r\n            backdrop-filter: blur(2px);\r\n            -webkit-backdrop-filter: blur(2px);\r\n            display: flex;\r\n            justify-content: center;\r\n            align-items: center;\r\n            opacity: 0;\r\n            transition: all 0.3s;\r\n            gap: 15px;\r\n            flex-direction: column;\r\n        }\r\n\r\n        .story-img-container:hover .story-overlay {\r\n            opacity: 1;\r\n        }\r\n\r\n        .story-img-container:hover .story-thumb {\r\n            transform: scale(1.05);\r\n        }\r\n\r\n        .story-download-btn,\r\n        .story-view-btn {\r\n            background: rgba(255, 255, 255, 0.1);\r\n            color: #ffffff;\r\n            width: 40px;\r\n            height: 40px;\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: all 0.3s;\r\n            border: none;\r\n            font-size: 16px;\r\n            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);\r\n            padding: 0px;\r\n        }\r\n\r\n        .story-download-btn:hover,\r\n        .story-view-btn:hover {\r\n            transform: scale(1.1);\r\n            box-shadow: 0 8px 20px rgba(0, 0, 0, 0.3);\r\n        }\r\n\r\n        .story-download-btn:hover {\r\n            background: #E1306C;\r\n            color: white;\r\n        }\r\n\r\n        .story-view-btn:hover {\r\n            background: rgba(255, 255, 255, 0.2);\r\n            color: #ffffff;\r\n        }\r\n\r\n        .story-meta {\r\n            padding: 12px;\r\n            text-align: center;\r\n        }\r\n\r\n        .story-meta .time {\r\n            font-size: 13px;\r\n            color: #666666;\r\n            font-weight: 400;\r\n        }\r\n\r\n        .story-stats-row {\r\n            display: flex;\r\n            justify-content: space-between;\r\n            align-items: center;\r\n            background: linear-gradient(135deg, rgba(225, 48, 108, 0.1), rgba(131, 58, 180, 0.1));\r\n            padding: 6px 10px;\r\n            border-radius: 8px;\r\n            border: 1px solid rgba(225, 48, 108, 0.15);\r\n        }\r\n\r\n        .story-stats-row .time {\r\n            color: #a8a8a8;\r\n            font-weight: 500;\r\n        }\r\n\r\n        .story-stats-row {\r\n            display: flex;\r\n            justify-content: space-between;\r\n            align-items: center;\r\n            margin-bottom: 8px;\r\n        }\r\n\r\n        \/* Highlights Container *\/\r\n        .highlights-container {\r\n            display: grid;\r\n            grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));\r\n            gap: 20px;\r\n            margin-top: 25px;\r\n        }\r\n\r\n        .highlight-card {\r\n            border-radius: 16px;\r\n            overflow: hidden;\r\n            background: #1a1a1a;\r\n            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);\r\n            transition: all 0.3s;\r\n            border: 1px solid #2a2a2a;\r\n            cursor: pointer;\r\n            padding: 15px 10px;\r\n            text-align: center;\r\n        }\r\n\r\n        .highlight-card:hover {\r\n            transform: translateY(-5px) scale(1.02);\r\n            box-shadow: 0 10px 25px rgba(0, 0, 0, 0.4);\r\n        }\r\n\r\n        .highlight-img-container {\r\n            position: relative;\r\n            overflow: hidden;\r\n            aspect-ratio: 1 \/ 1;\r\n            border-radius: 50%;\r\n            width: 120px;\r\n            height: 120px;\r\n            margin: 0 auto 10px;\r\n            border: 3px solid #E1306C;\r\n            background: linear-gradient(to bottom right, #833AB4, #E1306C);\r\n            padding: 3px;\r\n        }\r\n\r\n        .highlight-thumb {\r\n            width: 100%;\r\n            height: 100%;\r\n            object-fit: cover;\r\n            display: block;\r\n            transition: transform 0.5s;\r\n            border-radius: 50%;\r\n        }\r\n\r\n        .highlight-meta {\r\n            padding: 5px;\r\n            text-align: center;\r\n        }\r\n\r\n        .highlight-title {\r\n            font-size: 14px;\r\n            color: #d0d0d0;\r\n            font-weight: 600;\r\n            margin: 0;\r\n            white-space: nowrap;\r\n            overflow: hidden;\r\n            text-overflow: ellipsis;\r\n        }\r\n\r\n        .highlight-overlay {\r\n            position: absolute;\r\n            top: 0;\r\n            left: 0;\r\n            width: 100%;\r\n            height: 100%;\r\n            background-color: rgba(0, 0, 0, 0.5);\r\n            opacity: 0;\r\n            transition: opacity 0.3s;\r\n            display: flex;\r\n            justify-content: center;\r\n            align-items: center;\r\n        }\r\n\r\n        .highlight-img-container:hover .highlight-overlay {\r\n            opacity: 1;\r\n        }\r\n\r\n        .highlight-view-btn {\r\n            background-color: rgba(255, 255, 255, 0.15);\r\n            color: #ffffff;\r\n            border: none;\r\n            border-radius: 50%;\r\n            width: 40px;\r\n            height: 40px;\r\n            display: flex;\r\n            justify-content: center;\r\n            align-items: center;\r\n            cursor: pointer;\r\n            transition: transform 0.2s;\r\n        }\r\n\r\n        .highlight-view-btn:hover {\r\n            transform: scale(1.1);\r\n        }\r\n\r\n        \/* Reels Grid *\/\r\n        .reels-grid {\r\n            display: grid;\r\n            grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));\r\n            gap: 25px;\r\n            margin-top: 25px;\r\n        }\r\n\r\n        .reel-card {\r\n            border-radius: 16px;\r\n            overflow: hidden;\r\n            background: #1a1a1a;\r\n            box-shadow: 0 5px 20px rgba(0, 0, 0, 0.2);\r\n            transition: all 0.3s;\r\n            border: 1px solid #2a2a2a;\r\n        }\r\n\r\n        .reel-card:hover {\r\n            transform: translateY(-8px);\r\n            box-shadow: 0 15px 30px rgba(0, 0, 0, 0.4);\r\n        }\r\n\r\n        .reel-img-container {\r\n            position: relative;\r\n            overflow: hidden;\r\n            aspect-ratio: 9 \/ 16;\r\n        }\r\n\r\n        .reel-thumb {\r\n            width: 100%;\r\n            height: 100%;\r\n            object-fit: cover;\r\n            display: block;\r\n            transition: transform 0.5s;\r\n        }\r\n\r\n        .reel-overlay {\r\n            position: absolute;\r\n            top: 0;\r\n            left: 0;\r\n            width: 100%;\r\n            height: 100%;\r\n            background: rgba(0, 0, 0, 0.4);\r\n            backdrop-filter: blur(2px);\r\n            -webkit-backdrop-filter: blur(2px);\r\n            display: flex;\r\n            justify-content: center;\r\n            align-items: center;\r\n            opacity: 0;\r\n            transition: all 0.3s;\r\n            gap: 15px;\r\n            flex-direction: column;\r\n        }\r\n\r\n        .reel-img-container:hover .reel-overlay {\r\n            opacity: 1;\r\n        }\r\n\r\n        .reel-img-container:hover .reel-thumb {\r\n            transform: scale(1.05);\r\n        }\r\n\r\n        .reel-download-btn,\r\n        .reel-view-btn {\r\n            background: rgba(255, 255, 255, 0.1);\r\n            color: #ffffff;\r\n            width: 45px;\r\n            height: 45px;\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: all 0.3s;\r\n            border: none;\r\n            font-size: 16px;\r\n            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);\r\n        }\r\n\r\n        .reel-download-btn:hover {\r\n            background: #E1306C;\r\n            color: white;\r\n        }\r\n\r\n        .reel-view-btn:hover {\r\n            background: #833AB4;\r\n            color: #fff;\r\n        }\r\n\r\n        .reel-meta {\r\n            padding: 20px;\r\n        }\r\n\r\n        .reel-meta .caption {\r\n            font-size: 15px;\r\n            color: #d0d0d0;\r\n            margin-bottom: 10px;\r\n            line-height: 1.5;\r\n            font-weight: 500;\r\n            display: -webkit-box;\r\n            -webkit-line-clamp: 2;\r\n            -webkit-box-orient: vertical;\r\n            overflow: hidden;\r\n        }\r\n\r\n        .reel-stats,\r\n        .post-stats {\r\n            background: linear-gradient(135deg, rgba(225, 48, 108, 0.15), rgba(131, 58, 180, 0.15));\r\n            padding: 8px 12px;\r\n            border-radius: 12px;\r\n            border: 1px solid rgba(225, 48, 108, 0.1);\r\n            backdrop-filter: blur(10px);\r\n            -webkit-backdrop-filter: blur(10px);\r\n        }\r\n\r\n        .reel-stats span,\r\n        .post-stats span {\r\n            color: #e0e0e0;\r\n            font-weight: 600;\r\n            font-size: 13px;\r\n        }\r\n\r\n        .reel-stats span i,\r\n        .post-stats span i {\r\n            color: #E1306C;\r\n            margin-right: 4px;\r\n        }\r\n\r\n        .reel-stats {\r\n            display: flex;\r\n            gap: 15px;\r\n            margin-bottom: 8px;\r\n        }\r\n\r\n        .reel-stats span {\r\n            font-size: 13px;\r\n            color: #a8a8a8;\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 5px;\r\n        }\r\n\r\n        .reel-stats span i {\r\n            color: #E1306C;\r\n        }\r\n\r\n        .reel-meta .time {\r\n            font-size: 13px;\r\n            color: #666666;\r\n            display: block;\r\n            font-weight: 400;\r\n        }\r\n\r\n        .reel-stats-row {\r\n            display: flex;\r\n            justify-content: space-between;\r\n            align-items: center;\r\n            margin-bottom: 8px;\r\n        }\r\n\r\n        \/* Video Elements *\/\r\n        .post-video,\r\n        .story-video,\r\n        .reel-video {\r\n            position: absolute;\r\n            top: 0;\r\n            left: 0;\r\n            width: 100%;\r\n            height: 100%;\r\n            object-fit: cover;\r\n            z-index: 2;\r\n        }\r\n\r\n        .post-fullscreen-btn,\r\n        .story-fullscreen-btn,\r\n        .reel-fullscreen-btn {\r\n            position: absolute;\r\n            top: 10px;\r\n            right: 10px;\r\n            background: rgba(255, 255, 255, 0.15);\r\n            color: #ffffff;\r\n            border: none;\r\n            border-radius: 50%;\r\n            width: 40px;\r\n            height: 40px;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            cursor: pointer;\r\n            transition: all 0.3s ease;\r\n            font-size: 16px;\r\n            z-index: 4;\r\n        }\r\n\r\n        .post-fullscreen-btn:hover,\r\n        .story-fullscreen-btn:hover,\r\n        .reel-fullscreen-btn:hover {\r\n            background: rgba(255, 255, 255, 0.25);\r\n            transform: scale(1.1);\r\n        }\r\n\r\n        \/* Media Type Indicators *\/\r\n        .media-type-indicator {\r\n            position: absolute;\r\n            top: 8px;\r\n            left: 8px;\r\n            background-color: rgba(0, 0, 0, 0.8);\r\n            color: white;\r\n            border-radius: 4px;\r\n            padding: 4px 8px;\r\n            font-size: 11px;\r\n            font-weight: bold;\r\n            z-index: 5;\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 4px;\r\n            pointer-events: none;\r\n        }\r\n\r\n        .video-indicator {\r\n            background-color: rgba(225, 48, 108, 0.9);\r\n        }\r\n\r\n        .image-indicator {\r\n            background-color: rgba(131, 58, 180, 0.9);\r\n        }\r\n\r\n        \/* Modal Styles *\/\r\n        .ipgv-profile-img-modal {\r\n            position: fixed;\r\n            top: 0;\r\n            left: 0;\r\n            width: 100%;\r\n            height: 100%;\r\n            z-index: 10000;\r\n            display: flex;\r\n            justify-content: center;\r\n            align-items: center;\r\n            opacity: 0;\r\n            visibility: hidden;\r\n            transition: all 0.3s ease;\r\n        }\r\n\r\n        .ipgv-profile-img-modal.active {\r\n            opacity: 1;\r\n            visibility: visible;\r\n        }\r\n\r\n        .ipgv-modal-backdrop {\r\n            position: absolute;\r\n            top: 0;\r\n            left: 0;\r\n            width: 100%;\r\n            height: 100%;\r\n            background-color: rgba(0, 0, 0, 0.85);\r\n            cursor: pointer;\r\n        }\r\n\r\n        .ipgv-modal-content {\r\n            position: relative;\r\n            max-width: 90vw;\r\n            max-height: 90vh;\r\n            background-color: #1a1a1a;\r\n            border-radius: 12px;\r\n            overflow: hidden;\r\n            box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5);\r\n            transform: scale(0.8);\r\n            transition: transform 0.3s ease;\r\n            z-index: 10001;\r\n        }\r\n\r\n        .ipgv-profile-img-modal.active .ipgv-modal-content {\r\n            transform: scale(1);\r\n        }\r\n\r\n        .ipgv-modal-img {\r\n            display: block;\r\n            width: 100%;\r\n            max-width: 500px;\r\n            height: auto;\r\n            max-height: 70vh;\r\n            object-fit: contain;\r\n        }\r\n\r\n        .ipgv-modal-actions {\r\n            display: flex;\r\n            justify-content: center;\r\n            padding: 20px;\r\n            background-color: #121212;\r\n        }\r\n\r\n        .ipgv-modal-download-btn {\r\n            background: linear-gradient(135deg, #833AB4, #E1306C);\r\n            color: white;\r\n            border: none;\r\n            border-radius: 8px;\r\n            padding: 12px 24px;\r\n            font-weight: 600;\r\n            font-size: 14px;\r\n            cursor: pointer;\r\n            transition: all 0.2s ease;\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 8px;\r\n        }\r\n\r\n        .ipgv-modal-download-btn:hover {\r\n            transform: translateY(-2px);\r\n            box-shadow: 0 8px 20px rgba(225, 48, 108, 0.3);\r\n        }\r\n\r\n        .ipgv-close-modal {\r\n            position: absolute;\r\n            top: 15px;\r\n            right: 15px;\r\n            background-color: rgba(255, 255, 255, 0.15);\r\n            color: white;\r\n            border: none;\r\n            border-radius: 50%;\r\n            width: 35px;\r\n            height: 35px;\r\n            display: flex;\r\n            justify-content: center;\r\n            align-items: center;\r\n            cursor: pointer;\r\n            transition: all 0.2s ease;\r\n            z-index: 10002;\r\n        }\r\n\r\n        .ipgv-close-modal:hover {\r\n            background-color: rgba(255, 255, 255, 0.25);\r\n            transform: scale(1.1);\r\n        }\r\n\r\n        body.ipgv-modal-open {\r\n            overflow: hidden;\r\n        }\r\n\r\n        \/* abc *\/\r\n\r\n        \/* Fixed Reel Controls - Always Visible Play and Fullscreen *\/\r\n        .reel-img-container .reel-overlay {\r\n            opacity: 1;\r\n        }\r\n\r\n        .reel-img-container .reel-view-btn {\r\n            opacity: 1;\r\n            visibility: visible;\r\n        }\r\n\r\n        .reel-img-container .reel-fullscreen-btn {\r\n            opacity: 1;\r\n            visibility: visible;\r\n            display: flex;\r\n        }\r\n\r\n        .reel-img-container:hover .reel-overlay {\r\n            opacity: 1;\r\n        }\r\n\r\n        .reel-video.playing {\r\n            display: block;\r\n        }\r\n\r\n        .reel-thumb.hidden {\r\n            display: none;\r\n        }\r\n\r\n\r\n        \/* abc *\/\r\n\r\n        \/* Skeleton Loaders *\/\r\n        @keyframes shimmer {\r\n            0% {\r\n                background-position: -1000px 0;\r\n            }\r\n\r\n            100% {\r\n                background-position: 1000px 0;\r\n            }\r\n        }\r\n\r\n        .skeleton-profile {\r\n            width: 100%;\r\n        }\r\n\r\n        .skeleton-profile-header {\r\n            display: flex;\r\n            gap: 30px;\r\n            padding: 30px;\r\n            background: #1a1a1a;\r\n            border-radius: 16px;\r\n            margin-bottom: 20px;\r\n            border: 1px solid #2a2a2a;\r\n        }\r\n\r\n        .skeleton-avatar {\r\n            width: 150px;\r\n            height: 150px;\r\n            border-radius: 50%;\r\n            background: linear-gradient(90deg, #2a2a2a 25%, #333333 50%, #2a2a2a 75%);\r\n            background-size: 1000px 100%;\r\n            animation: shimmer 2s infinite linear;\r\n            flex-shrink: 0;\r\n            border: 4px solid #1a1a1a;\r\n            box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3);\r\n        }\r\n\r\n        .skeleton-profile-info {\r\n            flex: 1;\r\n            display: flex;\r\n            flex-direction: column;\r\n            gap: 15px;\r\n        }\r\n\r\n        .skeleton-username {\r\n            height: 28px;\r\n            width: 180px;\r\n            background: linear-gradient(90deg, #2a2a2a 25%, #333333 50%, #2a2a2a 75%);\r\n            background-size: 1000px 100%;\r\n            animation: shimmer 2s infinite linear;\r\n            border-radius: 6px;\r\n        }\r\n\r\n        .skeleton-fullname {\r\n            height: 20px;\r\n            width: 140px;\r\n            background: linear-gradient(90deg, #2a2a2a 25%, #333333 50%, #2a2a2a 75%);\r\n            background-size: 1000px 100%;\r\n            animation: shimmer 2s infinite linear;\r\n            border-radius: 6px;\r\n        }\r\n\r\n        .skeleton-stats {\r\n            display: flex;\r\n            gap: 25px;\r\n            margin-top: 10px;\r\n        }\r\n\r\n        .skeleton-stat {\r\n            height: 40px;\r\n            width: 60px;\r\n            background: linear-gradient(90deg, #2a2a2a 25%, #333333 50%, #2a2a2a 75%);\r\n            background-size: 1000px 100%;\r\n            animation: shimmer 2s infinite linear;\r\n            border-radius: 6px;\r\n        }\r\n\r\n        .skeleton-bio {\r\n            height: 60px;\r\n            width: 100%;\r\n            background: linear-gradient(90deg, #2a2a2a 25%, #333333 50%, #2a2a2a 75%);\r\n            background-size: 1000px 100%;\r\n            animation: shimmer 2s infinite linear;\r\n            border-radius: 6px;\r\n            margin-bottom: 30px;\r\n        }\r\n\r\n        .skeleton-tabs {\r\n            display: flex;\r\n            justify-content: center;\r\n            gap: 15px;\r\n            margin-bottom: 30px;\r\n        }\r\n\r\n        .skeleton-tab {\r\n            height: 40px;\r\n            width: 100px;\r\n            background: linear-gradient(90deg, #2a2a2a 25%, #333333 50%, #2a2a2a 75%);\r\n            background-size: 1000px 100%;\r\n            animation: shimmer 2s infinite linear;\r\n            border-radius: 50px;\r\n        }\r\n\r\n        \/* Posts Skeleton *\/\r\n        .skeleton-posts-grid {\r\n            display: grid;\r\n            grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));\r\n            gap: 25px;\r\n        }\r\n\r\n        .skeleton-post {\r\n            border-radius: 16px;\r\n            overflow: hidden;\r\n            background: #1a1a1a;\r\n            box-shadow: 0 5px 20px rgba(0, 0, 0, 0.2);\r\n            border: 1px solid #2a2a2a;\r\n        }\r\n\r\n        .skeleton-post-img {\r\n            aspect-ratio: 1 \/ 1;\r\n            background: linear-gradient(90deg, #2a2a2a 25%, #333333 50%, #2a2a2a 75%);\r\n            background-size: 1000px 100%;\r\n            animation: shimmer 2s infinite linear;\r\n        }\r\n\r\n        .skeleton-post-meta {\r\n            padding: 20px;\r\n        }\r\n\r\n        .skeleton-post-stats {\r\n            display: flex;\r\n            gap: 15px;\r\n            margin-bottom: 10px;\r\n        }\r\n\r\n        .skeleton-post-stat {\r\n            height: 16px;\r\n            width: 60px;\r\n            background: linear-gradient(90deg, #2a2a2a 25%, #333333 50%, #2a2a2a 75%);\r\n            background-size: 1000px 100%;\r\n            animation: shimmer 2s infinite linear;\r\n            border-radius: 4px;\r\n        }\r\n\r\n        .skeleton-post-caption {\r\n            height: 16px;\r\n            width: 100%;\r\n            background: linear-gradient(90deg, #2a2a2a 25%, #333333 50%, #2a2a2a 75%);\r\n            background-size: 1000px 100%;\r\n            animation: shimmer 2s infinite linear;\r\n            border-radius: 4px;\r\n            margin-bottom: 8px;\r\n        }\r\n\r\n        .skeleton-post-caption-short {\r\n            height: 16px;\r\n            width: 70%;\r\n            background: linear-gradient(90deg, #2a2a2a 25%, #333333 50%, #2a2a2a 75%);\r\n            background-size: 1000px 100%;\r\n            animation: shimmer 2s infinite linear;\r\n            border-radius: 4px;\r\n            margin-bottom: 10px;\r\n        }\r\n\r\n        .skeleton-post-time {\r\n            height: 14px;\r\n            width: 80px;\r\n            background: linear-gradient(90deg, #2a2a2a 25%, #333333 50%, #2a2a2a 75%);\r\n            background-size: 1000px 100%;\r\n            animation: shimmer 2s infinite linear;\r\n            border-radius: 4px;\r\n        }\r\n      \r\n      .paste-btn, .view-btn {\r\n\tborder: none !important;\r\n\tborder-radius: 18px;\r\n\tpadding: 20px 30px;\r\n\tcursor: pointer;\r\n\tfont-weight: 700;\r\n\ttransition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tgap: 12px;\r\n\tfont-size: 17px;\r\n\tmargin-bottom: 15px;\r\n\tposition: relative;\r\n\toverflow: hidden;\r\n\ttext-transform: uppercase;\r\n\tletter-spacing: 0.5px;\r\n}\r\n      .ig-input-area input {\r\n\tflex-grow: 1;\r\n\tpadding: 20px 25px;\r\n\tfont-size: 18px;\r\n\tborder: 2px solid rgba(255, 255, 255, 0.2);\r\n\toutline: none;\r\n\tmin-width: 200px;\r\n\tbackground: rgba(255, 255, 255, 0.05);\r\n\tborder-radius: 18px;\r\n\ttransition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);\r\n\tcolor: #ffffff;\r\n\tfont-weight: 500;\r\n\tbackdrop-filter: blur(10px);\r\n\tmargin-bottom: 14px;\r\n}\r\n\r\n        \/* Stories Skeleton *\/\r\n        .skeleton-stories-container {\r\n            display: grid;\r\n            grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));\r\n            gap: 20px;\r\n        }\r\n\r\n        .skeleton-story {\r\n            border-radius: 16px;\r\n            overflow: hidden;\r\n            background: #1a1a1a;\r\n            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);\r\n            border: 1px solid #2a2a2a;\r\n        }\r\n\r\n        .skeleton-story-img {\r\n            aspect-ratio: 9 \/ 16;\r\n            background: linear-gradient(90deg, #2a2a2a 25%, #333333 50%, #2a2a2a 75%);\r\n            background-size: 1000px 100%;\r\n            animation: shimmer 2s infinite linear;\r\n        }\r\n\r\n        .skeleton-story-meta {\r\n            padding: 12px;\r\n            text-align: center;\r\n        }\r\n\r\n        .skeleton-story-time {\r\n            height: 14px;\r\n            width: 80px;\r\n            background: linear-gradient(90deg, #2a2a2a 25%, #333333 50%, #2a2a2a 75%);\r\n            background-size: 1000px 100%;\r\n            animation: shimmer 2s infinite linear;\r\n            border-radius: 4px;\r\n            margin: 0 auto;\r\n        }\r\n\r\n        \/* Highlights Skeleton *\/\r\n        .skeleton-highlights-container {\r\n            display: grid;\r\n            grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));\r\n            gap: 20px;\r\n        }\r\n\r\n        .skeleton-highlight {\r\n            border-radius: 16px;\r\n            overflow: hidden;\r\n            background: #1a1a1a;\r\n            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);\r\n            border: 1px solid #2a2a2a;\r\n            padding: 15px 10px;\r\n            text-align: center;\r\n        }\r\n\r\n        .skeleton-highlight-img {\r\n            width: 80px;\r\n            height: 80px;\r\n            border-radius: 50%;\r\n            background: linear-gradient(90deg, #2a2a2a 25%, #333333 50%, #2a2a2a 75%);\r\n            background-size: 1000px 100%;\r\n            animation: shimmer 2s infinite linear;\r\n            margin: 0 auto 10px;\r\n            border: 3px solid #333333;\r\n        }\r\n\r\n        .skeleton-highlight-title {\r\n            height: 16px;\r\n            width: 80px;\r\n            background: linear-gradient(90deg, #2a2a2a 25%, #333333 50%, #2a2a2a 75%);\r\n            background-size: 1000px 100%;\r\n            animation: shimmer 2s infinite linear;\r\n            border-radius: 4px;\r\n            margin: 0 auto;\r\n        }\r\n\r\n        \/* Reels Skeleton *\/\r\n        .skeleton-reels-grid {\r\n            display: grid;\r\n            grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));\r\n            gap: 25px;\r\n        }\r\n\r\n        .skeleton-reel {\r\n            border-radius: 16px;\r\n            overflow: hidden;\r\n            background: #1a1a1a;\r\n            box-shadow: 0 5px 20px rgba(0, 0, 0, 0.2);\r\n            border: 1px solid #2a2a2a;\r\n        }\r\n\r\n        .skeleton-reel-img {\r\n            aspect-ratio: 9 \/ 16;\r\n            background: linear-gradient(90deg, #2a2a2a 25%, #333333 50%, #2a2a2a 75%);\r\n            background-size: 1000px 100%;\r\n            animation: shimmer 2s infinite linear;\r\n        }\r\n\r\n        .skeleton-reel-meta {\r\n            padding: 20px;\r\n        }\r\n\r\n        .skeleton-reel-caption {\r\n            height: 16px;\r\n            width: 100%;\r\n            background: linear-gradient(90deg, #2a2a2a 25%, #333333 50%, #2a2a2a 75%);\r\n            background-size: 1000px 100%;\r\n            animation: shimmer 2s infinite linear;\r\n            border-radius: 4px;\r\n            margin-bottom: 8px;\r\n        }\r\n\r\n        .skeleton-reel-caption-short {\r\n            height: 16px;\r\n            width: 70%;\r\n            background: linear-gradient(90deg, #2a2a2a 25%, #333333 50%, #2a2a2a 75%);\r\n            background-size: 1000px 100%;\r\n            animation: shimmer 2s infinite linear;\r\n            border-radius: 4px;\r\n            margin-bottom: 10px;\r\n        }\r\n\r\n        .skeleton-reel-stats {\r\n            display: flex;\r\n            gap: 15px;\r\n            margin-bottom: 8px;\r\n        }\r\n\r\n        .skeleton-reel-stat {\r\n            height: 16px;\r\n            width: 60px;\r\n            background: linear-gradient(90deg, #2a2a2a 25%, #333333 50%, #2a2a2a 75%);\r\n            background-size: 1000px 100%;\r\n            animation: shimmer 2s infinite linear;\r\n            border-radius: 4px;\r\n        }\r\n\r\n        .skeleton-reel-time {\r\n            height: 14px;\r\n            width: 80px;\r\n            background: linear-gradient(90deg, #2a2a2a 25%, #333333 50%, #2a2a2a 75%);\r\n            background-size: 1000px 100%;\r\n            animation: shimmer 2s infinite linear;\r\n            border-radius: 4px;\r\n        }\r\n\r\n        \/* Animations *\/\r\n        \/* Ultra-Modern Responsive Design *\/\r\n        @media (max-width: 768px) {\r\n            .main-contain {\r\n                padding: 15px;\r\n            }\r\n\r\n            .ig-header .main-title {\r\n                font-size: 28px;\r\n                margin-bottom: 20px;\r\n            }\r\n\r\n            .ig-header .description {\r\n                font-size: 16px;\r\n                margin: 20px 0 25px;\r\n            }\r\n\r\n            .ig-input-area {\r\n                padding: 25px 20px;\r\n                flex-direction: column;\r\n                gap: 15px;\r\n            }\r\n\r\n            .ig-icon {\r\n                width: 100%;\r\n                text-align: left;\r\n                margin-left: 0;\r\n                font-size: 16px;\r\n                margin-bottom: 15px;\r\n            }\r\n\r\n            .ig-input-area input {\r\n                margin: 0 0 15px 0;\r\n                width: 100%;\r\n                min-width: 100%;\r\n                padding: 18px 22px;\r\n                font-size: 16px;\r\n            }\r\n\r\n            .paste-btn {\r\n                display: none;\r\n            }\r\n\r\n            .view-btn {\r\n                width: 100%;\r\n                justify-content: center;\r\n                padding: 18px 25px;\r\n                font-size: 16px;\r\n            }\r\n\r\n            .profile-header-content {\r\n                flex-direction: column;\r\n                text-align: center;\r\n                gap: 25px;\r\n            }\r\n\r\n            .profile-image {\r\n                width: 120px;\r\n                height: 120px;\r\n                min-height: 120px;\r\n                min-width: 120px;\r\n                font-size: 50px;\r\n            }\r\n\r\n            .profile-info {\r\n                text-align: center;\r\n                min-width: auto;\r\n            }\r\n\r\n            .profile-info .username-text {\r\n                font-size: 24px;\r\n            }\r\n\r\n            .profile-info .fullname-text {\r\n                font-size: 18px;\r\n            }\r\n        }\r\n\r\n        \/* Medium devices (tablets) *\/\r\n        @media (max-width: 1024px) and (min-width: 769px) {\r\n            .ig-header .main-title {\r\n                font-size: 36px;\r\n            }\r\n\r\n            .ig-header .description {\r\n                font-size: 18px;\r\n            }\r\n\t\t\t\t\th1 {\r\n\t\t\t\t\t\tcolor: #fff;\r\n\t\t\t\t\t}\r\n\r\n            .ig-input-area {\r\n                padding: 30px 25px;\r\n            }\r\n\r\n            .ig-input-area input {\r\n                padding: 18px 22px;\r\n                font-size: 17px;\r\n            }\r\n\r\n            .view-btn {\r\n                padding: 18px 25px;\r\n                font-size: 16px;\r\n            }\r\n\r\n            .profile-image {\r\n                width: 140px;\r\n                height: 140px;\r\n                min-height: 140px;\r\n                min-width: 140px;\r\n                font-size: 60px;\r\n            }\r\n        }\r\n\r\n        \/* Additional responsive styles *\/\r\n        @media (max-width: 768px) {\r\n            .stats {\r\n                justify-content: center;\r\n            }\r\n\r\n            .posts-grid {\r\n                grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));\r\n                gap: 15px;\r\n            }\r\n\r\n            .stories-container {\r\n                grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));\r\n            }\r\n\r\n            .highlights-container {\r\n                grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));\r\n            }\r\n\r\n            .reels-grid {\r\n                grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));\r\n            }\r\n\r\n            .post-meta .caption,\r\n            .reel-meta .caption {\r\n                font-size: 14px;\r\n            }\r\n\r\n            .ig-tabs button {\r\n                padding: 10px 16px;\r\n                font-size: 14px;\r\n            }\r\n\r\n            .ipgv-modal-content {\r\n                max-width: 95vw;\r\n                max-height: 85vh;\r\n                margin: 20px;\r\n            }\r\n\r\n            .ipgv-modal-img {\r\n                max-height: 60vh;\r\n            }\r\n\r\n            .ipgvmodal-actions {\r\n                padding: 15px;\r\n            }\r\n\r\n            .ipgv-modal-download-btn {\r\n                padding: 10px 20px;\r\n                font-size: 13px;\r\n            }\r\n\r\n            .skeleton-profile-header {\r\n                flex-direction: column;\r\n                align-items: center;\r\n            }\r\n\r\n            .skeleton-avatar {\r\n                margin-bottom: 20px;\r\n            }\r\n\r\n            .skeleton-username,\r\n            .skeleton-fullname {\r\n                margin: 0 auto;\r\n            }\r\n\r\n            .skeleton-stats {\r\n                justify-content: center;\r\n            }\r\n\r\n            .skeleton-posts-grid {\r\n                grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));\r\n            }\r\n\r\n            .skeleton-stories-container {\r\n                grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));\r\n            }\r\n\r\n            .skeleton-highlights-container {\r\n                grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));\r\n            }\r\n\r\n            .skeleton-reels-grid {\r\n                grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));\r\n            }\r\n        }\r\n\r\n        .ipgv-media-modal {\r\n            position: fixed;\r\n            top: 0;\r\n            left: 0;\r\n            width: 100%;\r\n            height: 100%;\r\n            z-index: 10000;\r\n            display: flex;\r\n            justify-content: center;\r\n            align-items: center;\r\n            opacity: 0;\r\n            visibility: hidden;\r\n            transition: all 0.3s ease;\r\n        }\r\n\r\n        .ipgv-media-modal.active {\r\n            opacity: 1;\r\n            visibility: visible;\r\n        }\r\n\r\n        .ipgv-modal-media {\r\n            display: block;\r\n            width: 100%;\r\n            height: auto;\r\n            border-radius: 8px;\r\n        }\r\n\r\n\t\t\t\/* Responsive Styles for Various Devices *\/\r\n\r\n\/* Large devices (laptops\/desktops, 992px and up) - Standard styles already largely cover this *\/\r\n@media (min-width: 992px) {\r\n    .main-contain {\r\n        padding: 25px;\r\n        margin: 40px auto;\r\n    }\r\n\r\n    .ig-header .main-title {\r\n        font-size: 48px;\r\n    }\r\n\r\n    .ig-header .description {\r\n        font-size: 20px;\r\n    }\r\n\r\n    .ig-input-area {\r\n        padding: 40px 35px;\r\n    }\r\n\r\n    .ig-input-area input {\r\n        padding: 22px 30px;\r\n        font-size: 19px;\r\n    }\r\n\r\n    .view-btn {\r\n        padding: 22px 35px;\r\n        font-size: 18px;\r\n    }\r\n\r\n    .profile-image {\r\n        width: 170px;\r\n        height: 170px;\r\n        min-height: 170px;\r\n        min-width: 170px;\r\n        font-size: 75px;\r\n    }\r\n\r\n    .profile-info .username-text {\r\n        font-size: 30px;\r\n    }\r\n\r\n    .profile-info .fullname-text {\r\n        font-size: 21px;\r\n    }\r\n\r\n    .posts-grid {\r\n        grid-template-columns: repeat(3, 1fr); \/* Default for larger screens *\/\r\n    }\r\n\r\n    .stories-container {\r\n        grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));\r\n    }\r\n\r\n    .highlights-container {\r\n        grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));\r\n    }\r\n\r\n    .reels-grid {\r\n        grid-template-columns: repeat(3, 1fr); \/* Default for larger screens *\/\r\n    }\r\n}\r\n\r\n\/* Medium devices (tablets, 769px to 991px) *\/\r\n@media (max-width: 991px) and (min-width: 769px) {\r\n    .main-contain {\r\n        padding: 20px;\r\n        margin: 25px auto;\r\n    }\r\n\r\n    .ig-header .main-title {\r\n        font-size: 38px;\r\n        margin-bottom: 22px;\r\n    }\r\n\r\n    .ig-header .description {\r\n        font-size: 19px;\r\n        margin: 22px 0 30px;\r\n    }\r\n\r\n    .ig-input-area {\r\n        padding: 30px 25px;\r\n        gap: 15px;\r\n    }\r\n\r\n    .ig-input-area input {\r\n        padding: 18px 22px;\r\n        font-size: 17px;\r\n        margin-bottom: 12px;\r\n    }\r\n\r\n    .view-btn {\r\n        padding: 18px 25px;\r\n        font-size: 16px;\r\n        margin-bottom: 12px;\r\n    }\r\n\r\n    .profile-header-content {\r\n        gap: 30px;\r\n    }\r\n\r\n    .profile-image {\r\n        width: 150px;\r\n        height: 150px;\r\n        min-height: 150px;\r\n        min-width: 150px;\r\n        font-size: 65px;\r\n    }\r\n\r\n    .view-profile-img {\r\n        width: 38px;\r\n        height: 38px;\r\n        font-size: 14px;\r\n    }\r\n\r\n    .profile-info .username-text {\r\n        font-size: 26px;\r\n    }\r\n\r\n    .profile-info .fullname-text {\r\n        font-size: 19px;\r\n    }\r\n\r\n    .stats {\r\n        gap: 20px;\r\n    }\r\n\r\n    .stat-value {\r\n        font-size: 18px;\r\n    }\r\n\r\n    .stat-label {\r\n        font-size: 13px;\r\n    }\r\n\r\n    .ig-tabs button {\r\n        padding: 12px 20px;\r\n        font-size: 14px;\r\n        gap: 6px;\r\n    }\r\n\r\n    .posts-grid {\r\n        grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));\r\n        gap: 20px;\r\n    }\r\n\r\n    .post-card {\r\n        border-radius: 14px;\r\n    }\r\n\r\n    .post-meta {\r\n        padding: 18px;\r\n    }\r\n\r\n    .post-stats span {\r\n        font-size: 13px;\r\n    }\r\n\r\n    .post-meta .caption {\r\n        font-size: 14px;\r\n    }\r\n\r\n    .story-card {\r\n        border-radius: 14px;\r\n    }\r\n\r\n    .stories-container {\r\n        grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));\r\n        gap: 18px;\r\n    }\r\n\r\n    .highlight-card {\r\n        border-radius: 14px;\r\n        padding: 12px 8px;\r\n    }\r\n\r\n    .highlight-img-container {\r\n        width: 100px;\r\n        height: 100px;\r\n        margin: 0 auto 8px;\r\n    }\r\n\r\n    .highlight-title {\r\n        font-size: 13px;\r\n    }\r\n\r\n    .highlights-container {\r\n        grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));\r\n        gap: 18px;\r\n    }\r\n\r\n    .reels-grid {\r\n        grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));\r\n        gap: 20px;\r\n    }\r\n\r\n    .reel-card {\r\n        border-radius: 14px;\r\n    }\r\n\r\n    .reel-meta {\r\n        padding: 18px;\r\n    }\r\n\r\n    .reel-meta .caption {\r\n        font-size: 14px;\r\n    }\r\n\r\n    .ipgv-modal-content {\r\n        max-width: 80vw;\r\n        max-height: 80vh;\r\n    }\r\n\r\n    .ipgv-modal-img {\r\n        max-width: 450px;\r\n        max-height: 65vh;\r\n    }\r\n\r\n    .ipgv-modal-download-btn {\r\n        padding: 10px 20px;\r\n        font-size: 13px;\r\n    }\r\n\r\n    .ipgv-close-modal {\r\n        width: 32px;\r\n        height: 32px;\r\n        font-size: 15px;\r\n    }\r\n\r\n    \/* Skeleton Loaders for Medium devices *\/\r\n    .skeleton-profile-header {\r\n        padding: 25px;\r\n    }\r\n\r\n    .skeleton-avatar {\r\n        width: 130px;\r\n        height: 130px;\r\n    }\r\n\r\n    .skeleton-username {\r\n        height: 26px;\r\n        width: 160px;\r\n    }\r\n\r\n    .skeleton-fullname {\r\n        height: 18px;\r\n        width: 120px;\r\n    }\r\n\r\n    .skeleton-stats {\r\n        gap: 20px;\r\n    }\r\n\r\n    .skeleton-post-img {\r\n        aspect-ratio: 1 \/ 1;\r\n    }\r\n\r\n    .skeleton-posts-grid {\r\n        grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));\r\n    }\r\n\r\n    .skeleton-stories-container {\r\n        grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));\r\n    }\r\n\r\n    .skeleton-highlight-img {\r\n        width: 70px;\r\n        height: 70px;\r\n    }\r\n\r\n    .skeleton-highlights-container {\r\n        grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));\r\n    }\r\n\r\n    .skeleton-reels-grid {\r\n        grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));\r\n    }\r\n}\r\n\r\n\/* Small devices (portrait tablets and large phones, 600px to 768px) *\/\r\n@media (max-width: 768px) and (min-width: 600px) {\r\n    .main-contain {\r\n        padding: 18px;\r\n        margin: 20px auto;\r\n        border-radius: 18px;\r\n    }\r\n\r\n    .ig-header .main-title {\r\n        font-size: 32px;\r\n        margin-bottom: 18px;\r\n    }\r\n\r\n    .ig-header .description {\r\n        font-size: 17px;\r\n        margin: 18px 0 28px;\r\n    }\r\n\r\n    .ig-input-area {\r\n        padding: 28px 22px;\r\n        flex-direction: column;\r\n        gap: 12px;\r\n    }\r\n\r\n    .ig-icon {\r\n        font-size: 16px;\r\n        margin-bottom: 12px;\r\n    }\r\n\r\n    .ig-input-area input {\r\n        margin: 0 0 12px 0;\r\n        width: 100%;\r\n        min-width: 100%;\r\n        padding: 16px 20px;\r\n        font-size: 16px;\r\n    }\r\n\r\n    .paste-btn {\r\n        display: none; \/* Hide paste button on smaller screens *\/\r\n    }\r\n\r\n    .view-btn {\r\n        width: 100%;\r\n        justify-content: center;\r\n        padding: 16px 22px;\r\n        font-size: 16px;\r\n        margin-bottom: 0;\r\n    }\r\n\r\n    .profile-header-content {\r\n        flex-direction: column;\r\n        text-align: center;\r\n        gap: 20px;\r\n    }\r\n\r\n    .profile-image {\r\n        width: 130px;\r\n        height: 130px;\r\n        min-height: 130px;\r\n        min-width: 130px;\r\n        font-size: 55px;\r\n    }\r\n\r\n    .view-profile-img {\r\n        width: 35px;\r\n        height: 35px;\r\n        font-size: 13px;\r\n        bottom: 5px;\r\n        right: 5px;\r\n    }\r\n\r\n    .profile-info {\r\n        text-align: center;\r\n        min-width: auto;\r\n    }\r\n\r\n    .profile-info .username-text {\r\n        font-size: 24px;\r\n        margin: 0 0 6px;\r\n    }\r\n\r\n    .profile-info .fullname-text {\r\n        font-size: 17px;\r\n        margin: 0 0 18px;\r\n    }\r\n\r\n    .stats {\r\n        justify-content: center;\r\n        gap: 18px;\r\n        margin: 12px 0;\r\n    }\r\n\r\n    .stat-value {\r\n        font-size: 17px;\r\n    }\r\n\r\n    .stat-label {\r\n        font-size: 12px;\r\n    }\r\n\r\n    .profile-bio {\r\n        margin-top: 20px;\r\n        padding-top: 15px;\r\n        font-size: 15px;\r\n    }\r\n\r\n    .ig-tabs {\r\n        margin: 25px 0;\r\n        gap: 12px;\r\n    }\r\n\r\n    .ig-tabs button {\r\n        padding: 10px 18px;\r\n        font-size: 13px;\r\n        gap: 5px;\r\n        border-radius: 40px;\r\n    }\r\n\r\n    .posts-grid {\r\n        grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));\r\n        gap: 18px;\r\n    }\r\n\r\n    .post-card {\r\n        border-radius: 12px;\r\n    }\r\n\r\n    .post-meta {\r\n        padding: 15px;\r\n    }\r\n\r\n    .post-stats {\r\n        gap: 12px;\r\n        margin-bottom: 8px;\r\n    }\r\n\r\n    .post-stats span {\r\n        font-size: 12px;\r\n    }\r\n\r\n    .post-meta .caption {\r\n        font-size: 13px;\r\n        margin-bottom: 8px;\r\n    }\r\n\r\n    .post-meta .time {\r\n        font-size: 12px;\r\n    }\r\n\r\n    .stories-container {\r\n        grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));\r\n        gap: 15px;\r\n    }\r\n\r\n    .story-card {\r\n        border-radius: 12px;\r\n    }\r\n\r\n    .story-meta {\r\n        padding: 10px;\r\n    }\r\n\r\n    .story-meta .time {\r\n        font-size: 12px;\r\n    }\r\n\r\n    .highlights-container {\r\n        grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));\r\n        gap: 15px;\r\n    }\r\n\r\n    .highlight-card {\r\n        border-radius: 12px;\r\n        padding: 10px 5px;\r\n    }\r\n\r\n    .highlight-img-container {\r\n        width: 80px;\r\n        height: 80px;\r\n        margin: 0 auto 6px;\r\n        border: 2px solid #a78bfa;\r\n    }\r\n\r\n    .highlight-title {\r\n        font-size: 12px;\r\n    }\r\n\r\n    .reels-grid {\r\n        grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));\r\n        gap: 18px;\r\n    }\r\n\r\n    .reel-card {\r\n        border-radius: 12px;\r\n    }\r\n\r\n    .reel-meta {\r\n        padding: 15px;\r\n    }\r\n\r\n    .reel-stats {\r\n        gap: 12px;\r\n        margin-bottom: 8px;\r\n    }\r\n\r\n    .reel-stats span {\r\n        font-size: 12px;\r\n    }\r\n\r\n    .reel-meta .caption {\r\n        font-size: 13px;\r\n    }\r\n\r\n    .reel-meta .time {\r\n        font-size: 12px;\r\n    }\r\n\r\n    .ipgv-modal-content {\r\n        max-width: 90vw;\r\n        max-height: 85vh;\r\n        margin: 15px;\r\n    }\r\n\r\n    .ipgv-modal-img {\r\n        max-width: 100%;\r\n        max-height: 60vh;\r\n    }\r\n\r\n    .ipgv-modal-actions {\r\n        padding: 12px;\r\n    }\r\n\r\n    .ipgv-modal-download-btn {\r\n        padding: 8px 18px;\r\n        font-size: 12px;\r\n    }\r\n\r\n    .ipgv-close-modal {\r\n        width: 30px;\r\n        height: 30px;\r\n        font-size: 14px;\r\n        top: 10px;\r\n        right: 10px;\r\n    }\r\n\r\n    \/* Skeleton Loaders for Small devices *\/\r\n    .skeleton-profile-header {\r\n        padding: 20px;\r\n        flex-direction: column;\r\n        align-items: center;\r\n    }\r\n\r\n    .skeleton-avatar {\r\n        width: 110px;\r\n        height: 110px;\r\n        margin-bottom: 15px;\r\n    }\r\n\r\n    .skeleton-username {\r\n        height: 24px;\r\n        width: 140px;\r\n        margin: 0 auto;\r\n    }\r\n\r\n    .skeleton-fullname {\r\n        height: 17px;\r\n        width: 100px;\r\n        margin: 0 auto;\r\n    }\r\n\r\n    .skeleton-stats {\r\n        justify-content: center;\r\n    }\r\n\r\n    .skeleton-tab {\r\n        width: 90px;\r\n        height: 38px;\r\n    }\r\n\r\n    .skeleton-posts-grid {\r\n        grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));\r\n    }\r\n\r\n    .skeleton-post-caption {\r\n        height: 15px;\r\n    }\r\n\r\n    .skeleton-post-caption-short {\r\n        height: 15px;\r\n    }\r\n\r\n    .skeleton-stories-container {\r\n        grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));\r\n    }\r\n\r\n    .skeleton-highlight-img {\r\n        width: 70px;\r\n        height: 70px;\r\n    }\r\n\r\n    .skeleton-highlights-container {\r\n        grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));\r\n    }\r\n\r\n    .skeleton-reels-grid {\r\n        grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));\r\n    }\r\n\r\n    .skeleton-reel-caption {\r\n        height: 15px;\r\n    }\r\n\r\n    .skeleton-reel-caption-short {\r\n        height: 15px;\r\n    }\r\n}\r\n\r\n\/* Extra small devices (phones, 375px to 599px) *\/\r\n@media (max-width: 599px) {\r\n    .main-contain {\r\n        padding: 12px;\r\n        margin: 15px auto;\r\n        border-radius: 15px;\r\n    }\r\n\r\n    .ig-header .main-title h1 {\r\n        font-size: 28px;\r\n    }\r\n\r\n    .ig-header .main-title {\r\n        margin-bottom: 15px;\r\n    }\r\n\r\n    .ig-header .description {\r\n        font-size: 15px;\r\n        margin: 15px 0 20px;\r\n    }\r\n\r\n    .ig-input-area {\r\n        padding: 20px 15px;\r\n        gap: 10px;\r\n    }\r\n\r\n    .ig-icon {\r\n        font-size: 14px;\r\n        margin-bottom: 10px;\r\n    }\r\n\r\n    .ig-input-area input {\r\n        margin: 0 0 10px 0;\r\n        padding: 14px 18px;\r\n        font-size: 15px;\r\n    }\r\n\r\n    .view-btn {\r\n        padding: 14px 20px;\r\n        font-size: 15px;\r\n    }\r\n\r\n    .profile-image {\r\n        width: 100px;\r\n        height: 100px;\r\n        min-height: 100px;\r\n        min-width: 100px;\r\n        font-size: 45px;\r\n        border: 3px solid rgba(255, 255, 255, 0.8);\r\n        padding: 2px;\r\n    }\r\n\r\n    .view-profile-img {\r\n        width: 30px;\r\n        height: 30px;\r\n        font-size: 12px;\r\n        bottom: 3px;\r\n        right: 3px;\r\n    }\r\n\r\n    .profile-info .username-text {\r\n        font-size: 20px;\r\n        margin: 0 0 5px;\r\n    }\r\n\r\n    .profile-info .fullname-text {\r\n        font-size: 16px;\r\n        margin: 0 0 15px;\r\n    }\r\n\r\n    .stats {\r\n        gap: 15px;\r\n        margin: 10px 0;\r\n    }\r\n\r\n    .stat-value {\r\n        font-size: 16px;\r\n    }\r\n\r\n    .stat-label {\r\n        font-size: 11px;\r\n    }\r\n\r\n    .profile-bio {\r\n        margin-top: 15px;\r\n        padding-top: 12px;\r\n        font-size: 14px;\r\n    }\r\n\r\n    .ig-tabs {\r\n        margin: 20px 0;\r\n        gap: 10px;\r\n    }\r\n\r\n    .ig-tabs button {\r\n        padding: 8px 14px;\r\n        font-size: 12px;\r\n        gap: 4px;\r\n        border-radius: 30px;\r\n    }\r\n\r\n    .posts-grid {\r\n        grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));\r\n        gap: 15px;\r\n    }\r\n\r\n    .post-card {\r\n        border-radius: 10px;\r\n    }\r\n\r\n    .post-meta {\r\n        padding: 12px;\r\n    }\r\n\r\n    .post-stats {\r\n        gap: 10px;\r\n        margin-bottom: 6px;\r\n    }\r\n\r\n    .post-stats span {\r\n        font-size: 11px;\r\n    }\r\n\r\n    .post-meta .caption {\r\n        font-size: 12px;\r\n        margin-bottom: 6px;\r\n        -webkit-line-clamp: 2; \/* Ensure caption is limited *\/\r\n    }\r\n\r\n    .post-meta .time {\r\n        font-size: 11px;\r\n    }\r\n\r\n    .stories-container {\r\n        grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));\r\n        gap: 12px;\r\n    }\r\n\r\n    .story-card {\r\n        border-radius: 10px;\r\n    }\r\n\r\n    .story-meta {\r\n        padding: 8px;\r\n    }\r\n\r\n    .story-meta .time {\r\n        font-size: 11px;\r\n    }\r\n\r\n    .highlights-container {\r\n        grid-template-columns: repeat(auto-fill, minmax(80px, 1fr));\r\n        gap: 12px;\r\n    }\r\n\r\n    .highlight-card {\r\n        border-radius: 10px;\r\n        padding: 8px 3px;\r\n    }\r\n\r\n    .highlight-img-container {\r\n        width: 60px;\r\n        height: 60px;\r\n        margin: 0 auto 5px;\r\n        border: 2px solid #a78bfa;\r\n        padding: 1px;\r\n    }\r\n\r\n    .highlight-title {\r\n        font-size: 11px;\r\n    }\r\n\r\n    .reels-grid {\r\n        grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));\r\n        gap: 15px;\r\n    }\r\n\r\n    .reel-card {\r\n        border-radius: 10px;\r\n    }\r\n\r\n    .reel-meta {\r\n        padding: 12px;\r\n    }\r\n\r\n    .reel-stats {\r\n        gap: 10px;\r\n        margin-bottom: 6px;\r\n    }\r\n\r\n    .reel-stats span {\r\n        font-size: 11px;\r\n    }\r\n\r\n    .reel-meta .caption {\r\n        font-size: 12px;\r\n        -webkit-line-clamp: 2; \/* Ensure caption is limited *\/\r\n    }\r\n\r\n    .reel-meta .time {\r\n        font-size: 11px;\r\n    }\r\n\r\n    .ipgv-profile-img-modal.active .ipgv-modal-content {\r\n        transform: scale(0.95);\r\n    }\r\n\r\n    .ipgv-modal-content {\r\n        max-width: 98vw;\r\n        max-height: 90vh;\r\n        margin: 10px;\r\n    }\r\n\r\n    .ipgv-modal-img {\r\n        max-height: 55vh;\r\n    }\r\n\r\n    .ipgv-modal-actions {\r\n        padding: 10px;\r\n    }\r\n\r\n    .ipgv-modal-download-btn {\r\n        padding: 8px 15px;\r\n        font-size: 11px;\r\n        gap: 6px;\r\n    }\r\n\r\n    .ipgv-close-modal {\r\n        width: 28px;\r\n        height: 28px;\r\n        font-size: 13px;\r\n        top: 8px;\r\n        right: 8px;\r\n    }\r\n\r\n    \/* Skeleton Loaders for Extra Small devices *\/\r\n    .skeleton-profile-header {\r\n        padding: 15px;\r\n    }\r\n\r\n    .skeleton-avatar {\r\n        width: 90px;\r\n        height: 90px;\r\n        margin-bottom: 12px;\r\n    }\r\n\r\n    .skeleton-username {\r\n        height: 20px;\r\n        width: 120px;\r\n    }\r\n\r\n    .skeleton-fullname {\r\n        height: 16px;\r\n        width: 90px;\r\n    }\r\n\r\n    .skeleton-stats {\r\n        gap: 15px;\r\n    }\r\n\r\n    .skeleton-tab {\r\n        width: 80px;\r\n        height: 35px;\r\n    }\r\n\r\n    .skeleton-posts-grid {\r\n        grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));\r\n    }\r\n\r\n    .skeleton-post-caption {\r\n        height: 14px;\r\n    }\r\n\r\n    .skeleton-post-caption-short {\r\n        height: 14px;\r\n    }\r\n\r\n    .skeleton-stories-container {\r\n        grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));\r\n    }\r\n\r\n    .skeleton-highlight-img {\r\n        width: 50px;\r\n        height: 50px;\r\n    }\r\n\r\n    .skeleton-highlights-container {\r\n        grid-template-columns: repeat(auto-fill, minmax(80px, 1fr));\r\n    }\r\n\r\n    .skeleton-reels-grid {\r\n        grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));\r\n    }\r\n\r\n    .skeleton-reel-caption {\r\n        height: 14px;\r\n    }\r\n\r\n    .skeleton-reel-caption-short {\r\n        height: 14px;\r\n    }\r\n}\r\n\r\n\/* Specific breakpoint for 400px devices *\/\r\n@media (max-width: 400px) {\r\n    .ig-header .main-title h1 {\r\n        font-size: 22px;\r\n        letter-spacing: -0.5px;\r\n    }\r\n\r\n    .ig-header .main-title {\r\n        font-size: 22px;\r\n    }\r\n\r\n    .ig-header .description {\r\n        font-size: 14px;\r\n    }\r\n\r\n    .ig-input-area input {\r\n        padding: 12px 15px;\r\n        font-size: 14px;\r\n    }\r\n\r\n    .view-btn {\r\n        padding: 12px 18px;\r\n        font-size: 14px;\r\n    }\r\n\r\n    .profile-image {\r\n        width: 80px;\r\n        height: 80px;\r\n        min-height: 80px;\r\n        min-width: 80px;\r\n        font-size: 35px;\r\n        border: 2px solid rgba(255, 255, 255, 0.8);\r\n    }\r\n\r\n    .view-profile-img {\r\n        width: 25px;\r\n        height: 25px;\r\n        font-size: 10px;\r\n        bottom: 2px;\r\n        right: 2px;\r\n    }\r\n\r\n    .profile-info .username-text {\r\n        font-size: 18px;\r\n    }\r\n\r\n    .profile-info .fullname-text {\r\n        font-size: 14px;\r\n    }\r\n\r\n    .stats {\r\n        gap: 10px;\r\n    }\r\n\r\n    .stat-value {\r\n        font-size: 14px;\r\n    }\r\n\r\n    .stat-label {\r\n        font-size: 10px;\r\n    }\r\n\r\n    .profile-bio {\r\n        font-size: 13px;\r\n    }\r\n\r\n    .ig-tabs button {\r\n        padding: 7px 12px;\r\n        font-size: 11px;\r\n    }\r\n\r\n    .posts-grid {\r\n        grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));\r\n        gap: 10px;\r\n    }\r\n\r\n    .post-meta {\r\n        padding: 10px;\r\n    }\r\n\r\n    .post-stats span,\r\n    .post-meta .caption,\r\n    .post-meta .time {\r\n        font-size: 10px;\r\n    }\r\n\r\n    .stories-container {\r\n        grid-template-columns: repeat(auto-fill, minmax(90px, 1fr));\r\n        gap: 10px;\r\n    }\r\n\r\n    .story-meta .time {\r\n        font-size: 10px;\r\n    }\r\n\r\n    .highlights-container {\r\n        grid-template-columns: repeat(auto-fill, minmax(70px, 1fr));\r\n        gap: 10px;\r\n    }\r\n\r\n    .highlight-img-container {\r\n        width: 50px;\r\n        height: 50px;\r\n    }\r\n\r\n    .highlight-title {\r\n        font-size: 10px;\r\n    }\r\n\r\n    .reels-grid {\r\n        grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));\r\n        gap: 10px;\r\n    }\r\n\r\n    .reel-meta {\r\n        padding: 10px;\r\n    }\r\n\r\n    .reel-stats span,\r\n    .reel-meta .caption,\r\n    .reel-meta .time {\r\n        font-size: 10px;\r\n    }\r\n\r\n    \/* Skeleton Loaders for 400px *\/\r\n    .skeleton-avatar {\r\n        width: 70px;\r\n        height: 70px;\r\n    }\r\n\r\n    .skeleton-username {\r\n        height: 18px;\r\n        width: 100px;\r\n    }\r\n\r\n    .skeleton-fullname {\r\n        height: 14px;\r\n        width: 70px;\r\n    }\r\n\r\n    .skeleton-tab {\r\n        width: 70px;\r\n        height: 30px;\r\n    }\r\n\r\n    .skeleton-posts-grid {\r\n        grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));\r\n    }\r\n\r\n    .skeleton-stories-container {\r\n        grid-template-columns: repeat(auto-fill, minmax(90px, 1fr));\r\n    }\r\n\r\n    .skeleton-highlight-img {\r\n        width: 40px;\r\n        height: 40px;\r\n    }\r\n\r\n    .skeleton-highlights-container {\r\n        grid-template-columns: repeat(auto-fill, minmax(70px, 1fr));\r\n    }\r\n\r\n    .skeleton-reels-grid {\r\n        grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));\r\n    }\r\n}\r\n\r\n        \/* Enhanced Video Controls *\/\r\n    <\/style>\r\n\r\n    <div class=\"download-status\" id=\"download-status\"><\/div>\r\n\r\n    <div class=\"main-contain\">\r\n        <div class=\"ig-header\">\r\n            <div class=\"main-title\"><h1><span class=\"highlight\">Instagram<\/span> Thumbnail Viewer<\/h1><\/div>\r\n            <div class=\"description\">Instagram Thumbnail Viewer lets you browse and preview Instagram profile thumbnails, explore posts, stories, reels, and highlights in a clean thumbnail gallery.<\/div>\r\n        <\/div>\r\n\r\n        <div class=\"ig-input-area\">\r\n            <span class=\"ig-icon\">Enter your instagram @username<\/span>\r\n            <input type=\"text\" id=\"input-url\" required=\"\" placeholder=\"Instagram @username\">\r\n            <button class=\"paste-btn\" id=\"paste-btn\"><svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2\"\/><rect x=\"8\" y=\"2\" width=\"8\" height=\"4\" rx=\"1\" ry=\"1\"\/><\/svg> Paste<\/button>\r\n            <button class=\"view-btn\" id=\"view-btn\"><svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect x=\"3\" y=\"11\" width=\"18\" height=\"11\" rx=\"2\" ry=\"2\"\/><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"\/><\/svg> View Thumbnails<\/button>\r\n            <span id=\"error-message\" style=\"color: #ef4444; display: none;\"><\/span>\r\n        <\/div>\r\n\r\n        <div class=\"tools-result\">\r\n            <div class=\"ig-result\">\r\n                <!-- Profile Header -->\r\n                <div class=\"ig-profile-header\">\r\n                    <div class=\"profile-header-content\">\r\n                        <div class=\"profile-image-container\">\r\n                            <div class=\"profile-image\" style=\"background: #1a1a1a; display: flex; align-items: center; justify-content: center; color: #555555;\">\r\n                                <svg width=\"60\" height=\"60\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2\"\/><circle cx=\"12\" cy=\"7\" r=\"4\"\/><\/svg>\r\n                            <\/div>\r\n                            <button class=\"view-profile-img\"><svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><polyline points=\"15 3 21 3 21 9\"\/><polyline points=\"9 21 3 21 3 15\"\/><line x1=\"21\" y1=\"3\" x2=\"14\" y2=\"10\"\/><line x1=\"3\" y1=\"21\" x2=\"10\" y2=\"14\"\/><\/svg><\/button>\r\n                        <\/div>\r\n                        <div class=\"profile-info\">\r\n                            <div class=\"username-text\" id=\"profile-username\">@username<\/div>\r\n                            <div class=\"fullname-text\" id=\"profile-fullname\">Full Name<\/div>\r\n                            <div class=\"stats\">\r\n                                <div class=\"stat-item\">\r\n                                    <div class=\"stat-value\" id=\"posts-count\">0<\/div>\r\n                                    <div class=\"stat-label\">posts<\/div>\r\n                                <\/div>\r\n                                <div class=\"stat-item\">\r\n                                    <div class=\"stat-value\" id=\"followers-count\">0<\/div>\r\n                                    <div class=\"stat-label\">followers<\/div>\r\n                                <\/div>\r\n                                <div class=\"stat-item\">\r\n                                    <div class=\"stat-value\" id=\"following-count\">0<\/div>\r\n                                    <div class=\"stat-label\">following<\/div>\r\n                                <\/div>\r\n                            <\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <!-- Tabs -->\r\n                <div class=\"ig-tabs\">\r\n                    <button class=\"active\" onclick=\"switchTab('posts', this)\">\r\n                        <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" 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> Posts\r\n                    <\/button>\r\n                    <button onclick=\"switchTab('stories', this)\">\r\n                        <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><\/svg> Stories\r\n                    <\/button>\r\n                    <button onclick=\"switchTab('highlights', this)\">\r\n                        <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><polygon points=\"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2\"\/><\/svg> Highlights\r\n                    <\/button>\r\n                    <button onclick=\"switchTab('reels', this)\">\r\n                        <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><polygon points=\"23 7 16 12 23 17 23 7\"\/><rect x=\"1\" y=\"5\" width=\"15\" height=\"14\" rx=\"2\" ry=\"2\"\/><\/svg> Reels\r\n                    <\/button>\r\n                <\/div>\r\n\r\n                <!-- Tab Content -->\r\n                <div id=\"tab-content\">\r\n                    <!-- Posts Tab -->\r\n                    <div id=\"posts-content\" class=\"tab-content active\">\r\n                        <div class=\"no-result\">\r\n                            <svg width=\"48\" height=\"48\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#555555\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\" style=\"margin-bottom: 15px;\"><rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\" ry=\"2\"\/><circle cx=\"8.5\" cy=\"8.5\" r=\"1.5\"\/><polyline points=\"21 15 16 10 5 21\"\/><\/svg>\r\n                            <p>Enter an Instagram username above to browse their post thumbnails. Preview and download\r\n                                their photos and videos with ease.<\/p>\r\n                        <\/div>\r\n                    <\/div>\r\n\r\n                    <!-- Stories Tab -->\r\n                    <div id=\"stories-content\" class=\"tab-content\" style=\"display: none;\">\r\n                        <div class=\"no-result\">\r\n                            <svg width=\"48\" height=\"48\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#555555\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\" style=\"margin-bottom: 15px;\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><polygon points=\"10 8 16 12 10 16 10 8\"\/><\/svg>\r\n                            <p>Enter an Instagram username above to browse their story thumbnails. Watch stories anonymously\r\n                                without them knowing.<\/p>\r\n                        <\/div>\r\n                    <\/div>\r\n\r\n                    <!-- Highlights Tab -->\r\n                    <div id=\"highlights-content\" class=\"tab-content\" style=\"display: none;\">\r\n                        <div class=\"no-result\">\r\n                            <svg width=\"48\" height=\"48\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#555555\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\" style=\"margin-bottom: 15px;\"><path d=\"M19 21l-7-5-7 5V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z\"\/><\/svg>\r\n                            <p>Enter an Instagram username above to browse their highlight thumbnails. Access all their saved\r\n                                stories in one place.<\/p>\r\n                        <\/div>\r\n                    <\/div>\r\n\r\n                    <!-- Reels Tab -->\r\n                    <div id=\"reels-content\" class=\"tab-content\" style=\"display: none;\">\r\n                        <div class=\"no-result\">\r\n                            <svg width=\"48\" height=\"48\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#555555\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\" style=\"margin-bottom: 15px;\"><polygon points=\"23 7 16 12 23 17 23 7\"\/><rect x=\"1\" y=\"5\" width=\"15\" height=\"14\" rx=\"2\" ry=\"2\"\/><\/svg>\r\n                            <p>Enter an Instagram username above to browse their reel thumbnails. Download and watch short videos\r\n                                from their profile.<\/p>\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <script src=\"https:\/\/code.jquery.com\/jquery-3.7.1.min.js\"><\/script>\r\n    <script>\r\n\/*!\r\n * Instagram Thumbnail Viewer - fixallInsta.js\r\n * WordPress Compatible - All API logic consolidated in one file\r\n *\/\r\n\r\n\/\/ switchTab for initial static HTML tabs\r\nfunction switchTab(tabName, buttonElement) {\r\n    try {\r\n        var inputField = document.getElementById('input-url');\r\n        if (inputField) {\r\n            inputField.focus();\r\n            inputField.classList.add('input-highlight');\r\n            setTimeout(function () {\r\n                if (inputField) {\r\n                    inputField.classList.remove('input-highlight');\r\n                }\r\n            }, 1000);\r\n        }\r\n        var buttons = document.querySelectorAll('.ig-tabs button');\r\n        for (var i = 0; i < buttons.length; i++) {\r\n            buttons[i].classList.remove('active');\r\n        }\r\n        if (buttonElement) {\r\n            buttonElement.classList.add('active');\r\n        }\r\n        var contents = document.querySelectorAll('.tab-content');\r\n        for (var j = 0; j < contents.length; j++) {\r\n            contents[j].style.display = 'none';\r\n        }\r\n        var targetContent = document.getElementById(tabName + '-content');\r\n        if (targetContent) {\r\n            targetContent.style.display = 'block';\r\n        }\r\n    } catch (e) {\r\n        console.warn('switchTab error:', e);\r\n    }\r\n}\r\n\r\n(function ($) {\r\n    'use strict';\r\n\r\n    function formatNumber(num) {\r\n        if (num === null || num === undefined) return '0';\r\n        num = parseInt(num, 10);\r\n        if (isNaN(num)) return '0';\r\n\r\n        if (num >= 1000000) {\r\n            return (num \/ 1000000).toFixed(1).replace(\/\\.0$\/, '') + 'M';\r\n        }\r\n        if (num >= 1000) {\r\n            return (num \/ 1000).toFixed(1).replace(\/\\.0$\/, '') + 'K';\r\n        }\r\n        return num.toString();\r\n    }\r\n\r\n    \/\/ Place this at the top level, outside of any function\r\n    async function forceDownloadImage(imgUrl, filename) {\r\n        try {\r\n            var resp = await fetch(imgUrl);\r\n            if (!resp.ok) throw new Error('Network error: ' + resp.status);\r\n            var blob = await resp.blob();\r\n            var blobUrl = URL.createObjectURL(blob);\r\n            var a = document.createElement('a');\r\n            a.href = blobUrl;\r\n            a.download = filename || '';\r\n            document.body.appendChild(a);\r\n            a.click();\r\n            document.body.removeChild(a);\r\n            setTimeout(function () { URL.revokeObjectURL(blobUrl); }, 1000);\r\n        } catch (err) {\r\n            console.error('Download failed:', err);\r\n        }\r\n    }\r\n\r\n    \/\/ Make globally accessible for inline onclick handlers\r\n    window.forceDownloadImage = forceDownloadImage;\r\n\r\n    function clearAllSkeletons() {\r\n        $('.skeleton-profile').remove();\r\n        $('.skeleton-posts-grid').remove();\r\n        $('.skeleton-stories-container').remove();\r\n        $('.skeleton-highlights-container').remove();\r\n        $('.skeleton-reels-grid').remove();\r\n    }\r\n\r\n    \/\/ Ensure jQuery is available and wait for DOM ready\r\n    $(document).ready(function () {\r\n        \/\/ Track if this is the first search\r\n        var isFirstSearch = true;\r\n        \/\/ Track loaded tabs\r\n        var isPrivateAccount = false;\r\n        var loadedTabs = {\r\n            posts: false,\r\n            stories: false,\r\n            highlights: false,\r\n            reels: false,\r\n        };\r\n        var activeTab = 'posts';\r\n\r\n        \/\/ Download management\r\n        var activeDownloads = new Map();\r\n        var downloadCounter = 0;\r\n\r\n        \/\/ Create toast container if it doesn't exist\r\n        function createToastContainer() {\r\n            if ($('#toast-container').length === 0) {\r\n                $('body').append(\r\n                    '<div id=\"toast-container\" style=\"' +\r\n                    'position: fixed;' +\r\n                    'top: 20px;' +\r\n                    'right: 20px;' +\r\n                    'z-index: 10000;' +\r\n                    'max-width: 400px;' +\r\n                    'width: 100%;' +\r\n                    '\"><\/div>'\r\n                );\r\n            }\r\n        }\r\n\r\n        \/\/ Create toast notification with progress bar\r\n        function createToast(filename, downloadId) {\r\n            var toastHtml =\r\n                '<div class=\"download-toast\" id=\"toast-' + downloadId + '\" style=\"' +\r\n                'background: #1a1a1a;' +\r\n                'border-radius: 12px;' +\r\n                'box-shadow: 0 10px 30px rgba(0,0,0,0.4);' +\r\n                'margin-bottom: 15px;' +\r\n                'padding: 20px;' +\r\n                'border-left: 4px solid #E1306C;' +\r\n                'position: relative;' +\r\n                'overflow: hidden;' +\r\n                '\">' +\r\n                '<div style=\"display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px;\">' +\r\n                '<div style=\"display: flex; align-items: center; gap: 10px;\">' +\r\n                '<svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#E1306C\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" 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                '<span style=\"font-weight: 600; color: #e0e0e0; font-size: 14px;\">Downloading...<\/span>' +\r\n                '<\/div>' +\r\n                '<button class=\"cancel-download\" data-download-id=\"' + downloadId + '\" style=\"' +\r\n                'background: #ef4444;' +\r\n                'color: white;' +\r\n                'border: none;' +\r\n                'border-radius: 6px;' +\r\n                'padding: 4px 8px;' +\r\n                'font-size: 12px;' +\r\n                'cursor: pointer;' +\r\n                'transition: all 0.2s;' +\r\n                'display: flex;' +\r\n                'align-items: center;' +\r\n                'justify-content: center;' +\r\n                'width: 24px;' +\r\n                'height: 24px;' +\r\n                '\">' +\r\n                '<svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"\/><line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"\/><\/svg>' +\r\n                '<\/button>' +\r\n                '<\/div>' +\r\n                '<div style=\"margin-bottom: 8px;\">' +\r\n                '<div style=\"font-size: 13px; color: #8e8e8e; margin-bottom: 4px; word-break: break-all;\">' + filename + '<\/div>' +\r\n                '<div style=\"display: flex; justify-content: space-between; align-items: center;\">' +\r\n                '<span class=\"download-status\" style=\"font-size: 12px; color: #8e8e8e;\">Preparing download...<\/span>' +\r\n                '<span class=\"download-percentage\" style=\"font-size: 12px; font-weight: 600; color: #7c3aed;\">0%<\/span>' +\r\n                '<\/div>' +\r\n                '<\/div>' +\r\n                '<div class=\"progress-container\" style=\"' +\r\n                'width: 100%;' +\r\n                'height: 6px;' +\r\n                'background: #2a2a2a;' +\r\n                'border-radius: 3px;' +\r\n                'overflow: hidden;' +\r\n                'position: relative;' +\r\n                '\">' +\r\n                '<div class=\"progress-bar\" style=\"' +\r\n                'height: 100%;' +\r\n                'background: linear-gradient(90deg, #833AB4, #E1306C);' +\r\n                'border-radius: 3px;' +\r\n                'width: 0%;' +\r\n                'transition: width 0.3s ease;' +\r\n                'position: relative;' +\r\n                '\">' +\r\n                '<\/div>' +\r\n                '<\/div>' +\r\n                '<\/div>';\r\n\r\n            $('#toast-container').prepend(toastHtml);\r\n\r\n            \/\/ Add shimmer animation\r\n            if (!$('#shimmer-style').length) {\r\n                $('head').append(\r\n                    '<style id=\"shimmer-style\">' +\r\n                    '.cancel-download:hover {' +\r\n                    'background: #dc2626 !important;' +\r\n                    '}' +\r\n                    '.download-toast.success {' +\r\n                    'border-left-color: #10b981 !important;' +\r\n                    '}' +\r\n                    '.download-toast.error {' +\r\n                    'border-left-color: #ef4444 !important;' +\r\n                    '}' +\r\n                    '<\/style>'\r\n                );\r\n            }\r\n        }\r\n\r\n        \/\/ Update toast progress\r\n        function updateToastProgress(downloadId, progress, status) {\r\n            var toast = $('#toast-' + downloadId);\r\n            if (toast.length) {\r\n                toast.find('.progress-bar').css('width', progress + '%');\r\n                toast.find('.download-percentage').text(Math.round(progress) + '%');\r\n                if (status) {\r\n                    toast.find('.download-status').text(status);\r\n                }\r\n            }\r\n        }\r\n\r\n        \/\/ Complete toast (success or error)\r\n        function completeToast(downloadId, success, message) {\r\n            var toast = $('#toast-' + downloadId);\r\n            if (toast.length) {\r\n                toast.removeClass('success error').addClass(success ? 'success' : 'error');\r\n\r\n                var icon = success ? 'fa-check-circle' : 'fa-exclamation-circle';\r\n                var color = success ? '#10b981' : '#ef4444';\r\n                var statusText = success ? 'Download completed!' : 'Download failed!';\r\n\r\n                toast.find('.fa-download').removeClass('fa-download').addClass(icon).css('color', color);\r\n                toast.find('.download-status').text(message || statusText);\r\n                toast.find('.download-percentage').text(success ? '100%' : 'Failed');\r\n                toast.find('.cancel-download').hide();\r\n\r\n                if (success) {\r\n                    toast.find('.progress-bar').css('width', '100%');\r\n                }\r\n\r\n                \/\/ Auto remove after 3 seconds\r\n                setTimeout(function () {\r\n                    toast.css('animation', 'slideOutRight 0.3s ease-in');\r\n                    setTimeout(function () { toast.remove(); }, 300);\r\n                }, 3000);\r\n            }\r\n\r\n            \/\/ Remove from active downloads\r\n            activeDownloads.delete(downloadId);\r\n        }\r\n\r\n        \/\/ Cancel download\r\n        function cancelDownload(downloadId) {\r\n            var downloadInfo = activeDownloads.get(downloadId);\r\n            if (downloadInfo && downloadInfo.controller) {\r\n                downloadInfo.controller.abort();\r\n                activeDownloads.delete(downloadId);\r\n\r\n                var toast = $('#toast-' + downloadId);\r\n                toast.css('animation', 'slideOutRight 0.3s ease-in');\r\n                setTimeout(function () { toast.remove(); }, 300);\r\n            }\r\n        }\r\n\r\n        \/\/ Enhanced download function with progress tracking\r\n        async function downloadWithProgress(url, filename, type) {\r\n            type = type || 'image';\r\n\r\n            if (!url) {\r\n                console.error('No URL provided for download');\r\n                return;\r\n            }\r\n\r\n            var downloadId = ++downloadCounter;\r\n            var controller = new AbortController();\r\n\r\n            \/\/ Store download info\r\n            activeDownloads.set(downloadId, {\r\n                controller: controller,\r\n                filename: filename,\r\n                url: url,\r\n                type: type,\r\n            });\r\n\r\n            \/\/ Ensure we're getting the highest quality image by removing any size parameters\r\n            var downloadUrl = url;\r\n            if (type === 'image' && url.indexOf('instagram') !== -1) {\r\n                downloadUrl = url.split('?')[0];\r\n            }\r\n\r\n            createToastContainer();\r\n            createToast(filename, downloadId);\r\n\r\n            try {\r\n                updateToastProgress(downloadId, 5, 'Connecting...');\r\n                console.log('Fetching from URL:', downloadUrl);\r\n\r\n                var response = await fetch(downloadUrl, {\r\n                    signal: controller.signal,\r\n                    mode: 'cors',\r\n                    headers: {\r\n                        Accept: '*\/*',\r\n                        'User-Agent': 'Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/91.0.4472.124 Safari\/537.36',\r\n                    },\r\n                });\r\n\r\n                if (!response.ok) {\r\n                    throw new Error('HTTP error! status: ' + response.status);\r\n                }\r\n\r\n                var contentLength = response.headers.get('content-length');\r\n                var total = parseInt(contentLength, 10);\r\n                var loaded = 0;\r\n\r\n                updateToastProgress(downloadId, 10, 'Downloading...');\r\n\r\n                var reader = response.body.getReader();\r\n                var chunks = [];\r\n\r\n                while (true) {\r\n                    var result = await reader.read();\r\n                    var done = result.done;\r\n                    var value = result.value;\r\n\r\n                    if (done) break;\r\n\r\n                    chunks.push(value);\r\n                    loaded += value.length;\r\n\r\n                    if (total) {\r\n                        var progress = 10 + (loaded \/ total) * 80;\r\n                        updateToastProgress(\r\n                            downloadId,\r\n                            progress,\r\n                            'Downloaded ' + formatBytes(loaded) + (total ? ' of ' + formatBytes(total) : '')\r\n                        );\r\n                    } else {\r\n                        updateToastProgress(downloadId, 50, 'Downloaded ' + formatBytes(loaded));\r\n                    }\r\n                }\r\n\r\n                updateToastProgress(downloadId, 95, 'Processing...');\r\n\r\n                var blob = new Blob(chunks);\r\n                var blobUrl = URL.createObjectURL(blob);\r\n\r\n                var link = document.createElement('a');\r\n                link.href = blobUrl;\r\n                link.download = filename;\r\n                link.style.display = 'none';\r\n                document.body.appendChild(link);\r\n\r\n                link.click();\r\n\r\n                setTimeout(function () {\r\n                    document.body.removeChild(link);\r\n                    URL.revokeObjectURL(blobUrl);\r\n                }, 100);\r\n\r\n                updateToastProgress(downloadId, 100, 'Completed!');\r\n                completeToast(downloadId, true, 'Download completed successfully!');\r\n            } catch (error) {\r\n                if (error.name === 'AbortError') {\r\n                    console.log('Download cancelled');\r\n                } else {\r\n                    console.error('Download failed:', error);\r\n                    completeToast(downloadId, false, 'Download failed. Please try again.');\r\n                }\r\n            }\r\n        }\r\n\r\n        \/\/ Format bytes helper function\r\n        function formatBytes(bytes, decimals) {\r\n            decimals = decimals || 2;\r\n            if (bytes === 0) return '0 Bytes';\r\n            var k = 1024;\r\n            var dm = decimals < 0 ? 0 : decimals;\r\n            var sizes = ['Bytes', 'KB', 'MB', 'GB'];\r\n            var i = Math.floor(Math.log(bytes) \/ Math.log(k));\r\n            return parseFloat((bytes \/ Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i];\r\n        }\r\n\r\n        \/\/ Handle cancel button clicks\r\n        $(document).on('click', '.cancel-download', function () {\r\n            var downloadId = parseInt($(this).data('download-id'));\r\n            cancelDownload(downloadId);\r\n        });\r\n\r\n        \/\/ Check for hash parameter on page load to set active tab\r\n        var hashTab = window.location.hash.substring(1);\r\n        if (hashTab && ['posts', 'stories', 'highlights', 'reels'].indexOf(hashTab) !== -1) {\r\n            activeTab = hashTab;\r\n        }\r\n\r\n        \/\/ Global function to pause all videos except the current one\r\n        function pauseAllVideosExcept(currentVideo) {\r\n            $('video').each(function () {\r\n                if (this !== currentVideo) {\r\n                    try {\r\n                        if (!this.paused) {\r\n                            this.pause();\r\n                        }\r\n                    } catch (e) {\r\n                        console.warn('Error pausing video:', e);\r\n                    }\r\n                }\r\n            });\r\n\r\n            $('.post-video, .story-video, .reel-video')\r\n                .not($(currentVideo))\r\n                .each(function () {\r\n                    var container = $(this).closest('.post-img-container, .story-img-container, .reel-img-container');\r\n                    var overlay = container.find('.post-overlay, .story-overlay, .reel-overlay');\r\n                    var playBtn = overlay.find('.post-view-btn, .story-view-btn, .reel-view-btn');\r\n                    var fullscreenBtn = overlay.find('.post-fullscreen-btn, .story-fullscreen-btn, .reel-fullscreen-btn');\r\n\r\n                    $(this).hide();\r\n                    container.find('.post-thumb, .story-thumb, .reel-thumb').show();\r\n                    playBtn.show().html('<svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><polygon points=\"5 3 19 12 5 21 5 3\"\/><\/svg>');\r\n                    fullscreenBtn.hide();\r\n                });\r\n        }\r\n\r\n        \/\/ Paste button functionality\r\n        $('#paste-btn').on('click', function () {\r\n            if (navigator.clipboard && navigator.clipboard.readText) {\r\n                navigator.clipboard\r\n                    .readText()\r\n                    .then(function (text) {\r\n                        $('#input-url').val(text);\r\n                    })\r\n                    .catch(function (err) {\r\n                        console.error('Failed to read clipboard: ', err);\r\n                        $('#error-message').text('Unable to read clipboard. Please type the username manually.').show();\r\n                        setTimeout(function () { $('#error-message').fadeOut(); }, 4000);\r\n                    });\r\n            }\r\n        });\r\n\r\n        \/\/ Function to determine if media is video\r\n        function isVideo(post) {\r\n            return (\r\n                post &&\r\n                (post.media_type === 2 ||\r\n                    post.video_versions ||\r\n                    (post.carousel_media && post.carousel_media[0] && post.carousel_media[0].video_versions))\r\n            );\r\n        }\r\n\r\n        \/\/ Function to get media URL (image or video)\r\n        function getMediaUrl(post) {\r\n            if (isVideo(post)) {\r\n                var videoUrl = '';\r\n                if (post && post.video_versions && post.video_versions[0]) {\r\n                    videoUrl = post.video_versions[0].url;\r\n                } else if (\r\n                    post &&\r\n                    post.carousel_media &&\r\n                    post.carousel_media[0] &&\r\n                    post.carousel_media[0].video_versions &&\r\n                    post.carousel_media[0].video_versions[0]\r\n                ) {\r\n                    videoUrl = post.carousel_media[0].video_versions[0].url;\r\n                } else if (post && post.media && post.media.video_versions && post.media.video_versions[0]) {\r\n                    videoUrl = post.media.video_versions[0].url;\r\n                }\r\n                console.log('Video URL found:', videoUrl);\r\n                return videoUrl;\r\n            } else {\r\n                var imageUrl = '';\r\n                if (post && post.image_versions && post.image_versions.items && post.image_versions.items[0]) {\r\n                    imageUrl = post.image_versions.items[0].url;\r\n                } else if (\r\n                    post &&\r\n                    post.carousel_media &&\r\n                    post.carousel_media[0] &&\r\n                    post.carousel_media[0].image_versions &&\r\n                    post.carousel_media[0].image_versions.items &&\r\n                    post.carousel_media[0].image_versions.items[0]\r\n                ) {\r\n                    imageUrl = post.carousel_media[0].image_versions.items[0].url;\r\n                } else if (\r\n                    post &&\r\n                    post.media &&\r\n                    post.media.image_versions &&\r\n                    post.media.image_versions.items &&\r\n                    post.media.image_versions.items[0]\r\n                ) {\r\n                    imageUrl = post.media.image_versions.items[0].url;\r\n                }\r\n                return imageUrl;\r\n            }\r\n        }\r\n\r\n        \/\/ Function to get media thumbnail\r\n        function getMediaThumbnail(post) {\r\n            var thumbnailUrl = '';\r\n            if (post && post.image_versions && post.image_versions.items && post.image_versions.items[0]) {\r\n                thumbnailUrl = post.image_versions.items[0].url;\r\n            } else if (\r\n                post &&\r\n                post.carousel_media &&\r\n                post.carousel_media[0] &&\r\n                post.carousel_media[0].image_versions &&\r\n                post.carousel_media[0].image_versions.items &&\r\n                post.carousel_media[0].image_versions.items[0]\r\n            ) {\r\n                thumbnailUrl = post.carousel_media[0].image_versions.items[0].url;\r\n            } else if (\r\n                post &&\r\n                post.media &&\r\n                post.media.image_versions &&\r\n                post.media.image_versions.items &&\r\n                post.media.image_versions.items[0]\r\n            ) {\r\n                thumbnailUrl = post.media.image_versions.items[0].url;\r\n            }\r\n            return thumbnailUrl;\r\n        }\r\n\r\n        \/\/ Function to create and play video directly in the card\r\n        function createAndPlayVideo(container, videoUrl, thumbnailUrl) {\r\n            container.find('video').remove();\r\n\r\n            var video = $('<video>', {\r\n                class: 'reel-video',\r\n                controls: true,\r\n                playsInline: true,\r\n                preload: 'auto',\r\n                muted: true\r\n            });\r\n\r\n            var source = $('<source>', {\r\n                src: videoUrl,\r\n                type: 'video\/mp4'\r\n            });\r\n\r\n            video.append(source);\r\n            container.append(video);\r\n\r\n            video.on('loadeddata', function () {\r\n                console.log('Video data loaded');\r\n                this.muted = false;\r\n            });\r\n\r\n            video.on('error', function (e) {\r\n                console.error('Video error:', e);\r\n                container.find('.reel-thumb').show();\r\n                video.remove();\r\n            });\r\n\r\n            return video[0];\r\n        }\r\n\r\n        \/\/ Function to create fullscreen video modal\r\n        function createFullscreenModal(videoUrl, title) {\r\n            window.open(videoUrl, '_blank');\r\n        }\r\n\r\n        \/\/ Function to load stories\r\n        function loadStories(profileUrl) {\r\n            if (loadedTabs.stories) return;\r\n\r\n            $('#tab-stories').html(\r\n                '<div class=\"skeleton-stories-container\">' +\r\n                '<div class=\"skeleton-story\"><div class=\"skeleton-story-img\"><\/div><div class=\"skeleton-story-meta\"><div class=\"skeleton-story-time\"><\/div><\/div><\/div>' +\r\n                '<div class=\"skeleton-story\"><div class=\"skeleton-story-img\"><\/div><div class=\"skeleton-story-meta\"><div class=\"skeleton-story-time\"><\/div><\/div><\/div>' +\r\n                '<div class=\"skeleton-story\"><div class=\"skeleton-story-img\"><\/div><div class=\"skeleton-story-meta\"><div class=\"skeleton-story-time\"><\/div><\/div><\/div>' +\r\n                '<div class=\"skeleton-story\"><div class=\"skeleton-story-img\"><\/div><div class=\"skeleton-story-meta\"><div class=\"skeleton-story-time\"><\/div><\/div><\/div>' +\r\n                '<div class=\"skeleton-story\"><div class=\"skeleton-story-img\"><\/div><div class=\"skeleton-story-meta\"><div class=\"skeleton-story-time\"><\/div><\/div><\/div>' +\r\n                '<div class=\"skeleton-story\"><div class=\"skeleton-story-img\"><\/div><div class=\"skeleton-story-meta\"><div class=\"skeleton-story-time\"><\/div><\/div><\/div>' +\r\n                '<div class=\"skeleton-story\"><div class=\"skeleton-story-img\"><\/div><div class=\"skeleton-story-meta\"><div class=\"skeleton-story-time\"><\/div><\/div><\/div>' +\r\n                '<div class=\"skeleton-story\"><div class=\"skeleton-story-img\"><\/div><div class=\"skeleton-story-meta\"><div class=\"skeleton-story-time\"><\/div><\/div><\/div>' +\r\n                '<\/div>'\r\n            );\r\n\r\n            var storiesForm = new FormData();\r\n            storiesForm.append('profile', profileUrl);\r\n\r\n            $.ajax({\r\n                url: 'https:\/\/tools.xrespond.com\/api\/instagram\/media\/stories',\r\n                type: 'POST',\r\n                data: storiesForm,\r\n                contentType: false,\r\n                processData: false,\r\n                timeout: 30000,\r\n                success: function (storyRes) {\r\n                    var stories =\r\n                        storyRes && storyRes.data && storyRes.data.data && storyRes.data.data.items ? storyRes.data.data.items : [];\r\n                    $('#tab-stories').empty();\r\n                    if (!stories.length) {\r\n                        $('#tab-stories').html('<p class=\"no-result\">No stories found.<\/p>');\r\n                        return;\r\n                    }\r\n\r\n                    var storiesHTML = '<div class=\"stories-container\">';\r\n\r\n                    for (var index = 0; index < stories.length; index++) {\r\n                        var story = stories[index];\r\n                        var isStoryVideo = isVideo(story);\r\n                        var mediaUrl = getMediaUrl(story);\r\n                        var thumbnail = getMediaThumbnail(story);\r\n                        var time = new Date(story && story.taken_at ? story.taken_at * 1000 : Date.now()).toLocaleDateString();\r\n                        var storyId = story && story.id ? story.id : 'story-' + index;\r\n\r\n                        storiesHTML +=\r\n                            '<div class=\"story-card\" style=\"animation-delay: ' +\r\n                            index * 0.05 +\r\n                            's\">' +\r\n                            '<div class=\"story-img-container\" data-media=\"' +\r\n                            mediaUrl +\r\n                            '\" data-type=\"' +\r\n                            (isStoryVideo ? 'video' : 'image') +\r\n                            '\">' +\r\n                            '<img decoding=\"async\" src=\"' +\r\n                            thumbnail +\r\n                            '\" class=\"story-thumb\" alt=\"IG Story\" loading=\"lazy\"\/>' +\r\n                            (isStoryVideo\r\n                                ? '<video src=\"' +\r\n                                mediaUrl +\r\n                                '\" class=\"story-video\" controls playsInline style=\"display:none; width:100%; height:100%; object-fit:cover; position:absolute; top:0; left:0;\"><\/video>'\r\n                                : '') +\r\n                            '<div class=\"story-overlay\">' +\r\n                            '<button class=\"story-view-btn\">' +\r\n                            (isStoryVideo ? '<svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><polygon points=\"5 3 19 12 5 21 5 3\"\/><\/svg>' : '<svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" 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                            '<\/button>' +\r\n                            (isStoryVideo\r\n                                ? '<button class=\"story-fullscreen-btn\" style=\"display:none;\"><svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><polyline points=\"15 3 21 3 21 9\"\/><polyline points=\"9 21 3 21 3 15\"\/><line x1=\"21\" y1=\"3\" x2=\"14\" y2=\"10\"\/><line x1=\"3\" y1=\"21\" x2=\"10\" y2=\"14\"\/><\/svg><\/button>'\r\n                                : '') +\r\n                            '<\/div>' +\r\n                            '<\/div>' +\r\n                            '<div class=\"story-meta\">' +\r\n                            '<div class=\"story-stats-row\">' +\r\n                            '<small class=\"time\">' +\r\n                            time +\r\n                            '<\/small>' +\r\n                            '<button class=\"story-download-btn\" data-url=\"' +\r\n                            mediaUrl +\r\n                            '\" data-filename=\"instagram_story_' +\r\n                            storyId +\r\n                            '.' +\r\n                            (isStoryVideo ? 'mp4' : 'jpg') +\r\n                            '\" data-type=\"' +\r\n                            (isStoryVideo ? 'video' : 'image') +\r\n                            '\">' +\r\n                            '<svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" 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                            '<\/button>' +\r\n                            '<\/div>' +\r\n                            '<\/div>' +\r\n                            '<\/div>';\r\n                    }\r\n\r\n                    storiesHTML += '<\/div>';\r\n\r\n                    $('#tab-stories').html(storiesHTML);\r\n                    loadedTabs.stories = true;\r\n\r\n                    setTimeout(addMediaTypeIndicators, 100);\r\n                },\r\n                error: function (xhr) {\r\n                    loadedTabs.stories = false;\r\n                    var msg = (xhr && xhr.status === 0) ? 'Network error. Please check your connection.' :\r\n                              (xhr && xhr.status === 429) ? 'Rate limit reached. Please try again later.' :\r\n                              'Failed to load stories. Please try again later.';\r\n                    $('#error-message').text(msg).show();\r\n                    $('#tab-stories').html('<p class=\"no-result\">' + msg + '<\/p>');\r\n                },\r\n            });\r\n        }\r\n\r\n        \/\/ Function to load highlights\r\n        function loadHighlights(profileUrl) {\r\n            if (loadedTabs.highlights) return;\r\n\r\n            $('#tab-highlights').html(\r\n                '<div class=\"skeleton-highlights-container\">' +\r\n                '<div class=\"skeleton-highlight\"><div class=\"skeleton-highlight-img\"><\/div><div class=\"skeleton-highlight-title\"><\/div><\/div>' +\r\n                '<div class=\"skeleton-highlight\"><div class=\"skeleton-highlight-img\"><\/div><div class=\"skeleton-highlight-title\"><\/div><\/div>' +\r\n                '<div class=\"skeleton-highlight\"><div class=\"skeleton-highlight-img\"><\/div><div class=\"skeleton-highlight-title\"><\/div><\/div>' +\r\n                '<div class=\"skeleton-highlight\"><div class=\"skeleton-highlight-img\"><\/div><div class=\"skeleton-highlight-title\"><\/div><\/div>' +\r\n                '<\/div>'\r\n            );\r\n\r\n            var highlightsForm = new FormData();\r\n            highlightsForm.append('profile', profileUrl);\r\n\r\n            $.ajax({\r\n                url: 'https:\/\/tools.xrespond.com\/api\/instagram\/media\/highlights',\r\n                type: 'POST',\r\n                data: highlightsForm,\r\n                contentType: false,\r\n                processData: false,\r\n                timeout: 30000,\r\n                success: function (highlightRes) {\r\n                    var highlights =\r\n                        highlightRes && highlightRes.data && highlightRes.data.data && highlightRes.data.data.items\r\n                            ? highlightRes.data.data.items\r\n                            : [];\r\n                    $('#tab-highlights').empty();\r\n\r\n                    if (!highlights.length) {\r\n                        $('#tab-highlights').html('<p class=\"no-result\">No highlights found.<\/p>');\r\n                        return;\r\n                    }\r\n\r\n                    var highlightsHTML = '<div class=\"highlights-container\">';\r\n\r\n                    for (var index = 0; index < highlights.length; index++) {\r\n                        var highlight = highlights[index];\r\n                        var originalCoverImg = '';\r\n\r\n                        if (\r\n                            highlight &&\r\n                            highlight.cover_media &&\r\n                            highlight.cover_media.cropped_image_version &&\r\n                            highlight.cover_media.cropped_image_version.url\r\n                        ) {\r\n                            originalCoverImg = highlight.cover_media.cropped_image_version.url;\r\n                        }\r\n\r\n                        var coverImg = originalCoverImg\r\n                            ? 'https:\/\/tools.xrespond.com\/api\/instagram\/highlights\/proxy-image?url=' + encodeURIComponent(originalCoverImg)\r\n                            : 'https:\/\/via.placeholder.com\/60?text=No+Image';\r\n\r\n                        var title = highlight && highlight.title ? highlight.title : 'Highlight';\r\n                        var highlightId = highlight && highlight.id ? highlight.id : 'highlight-' + index;\r\n                        var username = highlight && highlight.user && highlight.user.username ? highlight.user.username : '';\r\n                        var isVerified = highlight && highlight.user && highlight.user.is_verified ? true : false;\r\n                        var mediaCount = highlight && highlight.media_count ? highlight.media_count : 0;\r\n\r\n                        var itemsHtml = '';\r\n                        if (highlight.items && Array.isArray(highlight.items) && highlight.items.length > 0) {\r\n                            itemsHtml = '<div class=\"highlight-items\" style=\"display:flex;flex-wrap:wrap;gap:10px;margin-top:10px;\">';\r\n                            highlight.items.forEach(function (media, mediaIndex) {\r\n                                var imgUrl = '';\r\n                                var isVideo = false;\r\n\r\n                                if (media.video_versions && media.video_versions.length > 0) {\r\n                                    imgUrl = media.video_versions[0].url;\r\n                                    isVideo = true;\r\n                                } else if (media.cover_media && media.cover_media.cropped_image_version) {\r\n                                    imgUrl = media.cover_media.cropped_image_version.url;\r\n                                } else if (media.image_versions2 && media.image_versions2.candidates && media.image_versions2.candidates.length > 0) {\r\n                                    imgUrl = media.image_versions2.candidates[0].url;\r\n                                }\r\n\r\n                                var proxyImg = imgUrl\r\n                                    ? 'https:\/\/tools.xrespond.com\/api\/instagram\/highlights\/proxy-image?url=' + encodeURIComponent(imgUrl)\r\n                                    : 'https:\/\/via.placeholder.com\/60?text=No+Image';\r\n\r\n                                var mediaType = isVideo ? 'video' : 'image';\r\n                                var mediaTitle = title + '-' + (mediaIndex + 1);\r\n\r\n                                itemsHtml +=\r\n                                    '<div class=\"highlight-item\" style=\"display:flex;flex-direction:column;align-items:center;\">' +\r\n                                    '<div class=\"highlight-img-container\" style=\"position:relative;\">' +\r\n                                    '<img decoding=\"async\" src=\"' + proxyImg + '\"' +\r\n                                    ' alt=\"Highlight Media\"' +\r\n                                    ' style=\"width:80px;height:80px;object-fit:cover;border-radius:8px;cursor:pointer;border:1px solid #dbdbdb;\"' +\r\n                                    ' onclick=\"window.showMediaModal(\\'' + proxyImg + '\\', \\'' + mediaType + '\\', \\'' + mediaTitle + '\\')\" \/>' +\r\n                                    '<div class=\"highlight-overlay\" style=\"position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.3);border-radius:8px;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity 0.2s;\">' +\r\n                                    '<button class=\"highlight-view-btn\" style=\"background:none;border:none;color:white;cursor:pointer;font-size:20px;\">' +\r\n                                    (isVideo ? '<svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><polygon points=\"5 3 19 12 5 21 5 3\"\/><\/svg>' : '<svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><polyline points=\"15 3 21 3 21 9\"\/><polyline points=\"9 21 3 21 3 15\"\/><line x1=\"21\" y1=\"3\" x2=\"14\" y2=\"10\"\/><line x1=\"3\" y1=\"21\" x2=\"10\" y2=\"14\"\/><\/svg>') +\r\n                                    '<\/button>' +\r\n                                    '<\/div>' +\r\n                                    '<\/div>' +\r\n                                    '<button class=\"download-btn\"' +\r\n                                    ' onclick=\"forceDownloadImage(\\'' + proxyImg + '\\', \\'' + mediaTitle + '.jpg\\')\"' +\r\n                                     ' style=\"margin-top:4px;font-size:13px;color:#6366f1;text-decoration:underline;background:none;border:none;cursor:pointer;\">' +\r\n                                    'Download' +\r\n                                    '<\/button>' +\r\n                                    '<\/div>';\r\n                            });\r\n                            itemsHtml += '<\/div>';\r\n                        }\r\n\r\n                        highlightsHTML +=\r\n                            '<div class=\"highlight-card\" style=\"animation-delay: ' +\r\n                            index * 0.05 +\r\n                            's\" data-id=\"' +\r\n                            highlightId +\r\n                            '\">' +\r\n                            '<div class=\"highlight-img-container\" style=\"position:relative;\">' +\r\n                            '<img decoding=\"async\" src=\"' +\r\n                            coverImg +\r\n                            '\" class=\"highlight-thumb\" alt=\"IG Highlight: ' +\r\n                            title +\r\n                            '\" ' +\r\n                            'loading=\"lazy\" onerror=\"this.onerror=null; this.src=\\'https:\/\/via.placeholder.com\/60?text=No+Image\\';\"\/>' +\r\n                            '<div class=\"highlight-overlay\" style=\"position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.3);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity 0.2s;\">' +\r\n                            '<button class=\"highlight-view-btn\" onclick=\"window.showMediaModal(\\'' +\r\n                            coverImg +\r\n                            '\\', \\'image\\', \\'' +\r\n                            title +\r\n                            '\\')\" style=\"background:none;border:none;color:white;cursor:pointer;font-size:20px;\">' +\r\n                            '<svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><polyline points=\"15 3 21 3 21 9\"\/><polyline points=\"9 21 3 21 3 15\"\/><line x1=\"21\" y1=\"3\" x2=\"14\" y2=\"10\"\/><line x1=\"3\" y1=\"21\" x2=\"10\" y2=\"14\"\/><\/svg>' +\r\n                            '<\/button>' +\r\n                            '<\/div>' +\r\n                            '<\/div>' +\r\n                            '<div class=\"highlight-meta\">' +\r\n                            '<p class=\"highlight-title\">' +\r\n                            title +\r\n                            '<\/p>' +\r\n                            (mediaCount > 0\r\n                                ? '<span class=\"highlight-count\"><svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect x=\"2\" y=\"2\" width=\"20\" height=\"20\" rx=\"2.18\" ry=\"2.18\"\/><line x1=\"7\" y1=\"2\" x2=\"7\" y2=\"22\"\/><line x1=\"17\" y1=\"2\" x2=\"17\" y2=\"22\"\/><line x1=\"2\" y1=\"12\" x2=\"22\" y2=\"12\"\/><line x1=\"2\" y1=\"7\" x2=\"7\" y2=\"7\"\/><line x1=\"2\" y1=\"17\" x2=\"7\" y2=\"17\"\/><line x1=\"17\" y1=\"7\" x2=\"22\" y2=\"7\"\/><line x1=\"17\" y1=\"17\" x2=\"22\" y2=\"17\"\/><\/svg> ' + mediaCount + '<\/span>'\r\n                                : '') +\r\n                            (username\r\n                                ? '<span class=\"highlight-username\">@' +\r\n                                username +\r\n                                (isVerified ? ' <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M22 11.08V12a10 10 0 1 1-5.93-9.14\"\/><polyline points=\"22 4 12 14.01 9 11.01\"\/><\/svg>' : '') +\r\n                                '<\/span>'\r\n                                : '') +\r\n                            '<\/div>' +\r\n                            itemsHtml +\r\n                            '<\/div>';\r\n                    }\r\n\r\n                    highlightsHTML += '<\/div>';\r\n                    $('#tab-highlights').html(highlightsHTML);\r\n                    loadedTabs.highlights = true;\r\n\r\n                    $('.highlight-img-container').hover(\r\n                        function () {\r\n                            $(this).find('.highlight-overlay').css('opacity', '1');\r\n                        },\r\n                        function () {\r\n                            $(this).find('.highlight-overlay').css('opacity', '0');\r\n                        }\r\n                    );\r\n                },\r\n                error: function (xhr) {\r\n                    loadedTabs.highlights = false;\r\n                    var msg = (xhr && xhr.status === 0) ? 'Network error. Please check your connection.' :\r\n                              (xhr && xhr.status === 429) ? 'Rate limit reached. Please try again later.' :\r\n                              'Failed to load highlights. Please try again later.';\r\n                    $('#error-message').text(msg).show();\r\n                    $('#tab-highlights').html('<p class=\"no-result\">' + msg + '<\/p>');\r\n                },\r\n            });\r\n        }\r\n\r\n        \/\/ Function to load reels\r\n        function loadReels(profileUrl) {\r\n            if (loadedTabs.reels) return;\r\n\r\n            $('#tab-reels').html(\r\n                '<div class=\"skeleton-reels-grid\">' +\r\n                '<div class=\"skeleton-reel\"><div class=\"skeleton-reel-img\"><\/div><div class=\"skeleton-reel-meta\"><div class=\"skeleton-reel-caption\"><\/div><div class=\"skeleton-reel-caption-short\"><\/div><div class=\"skeleton-reel-stats\"><div class=\"skeleton-reel-stat\"><\/div><div class=\"skeleton-reel-stat\"><\/div><\/div><div class=\"skeleton-reel-time\"><\/div><\/div><\/div>' +\r\n                '<div class=\"skeleton-reel\"><div class=\"skeleton-reel-img\"><\/div><div class=\"skeleton-reel-meta\"><div class=\"skeleton-reel-caption\"><\/div><div class=\"skeleton-reel-caption-short\"><\/div><div class=\"skeleton-reel-stats\"><div class=\"skeleton-reel-stat\"><\/div><div class=\"skeleton-reel-stat\"><\/div><\/div><div class=\"skeleton-reel-time\"><\/div><\/div><\/div>' +\r\n                '<div class=\"skeleton-reel\"><div class=\"skeleton-reel-img\"><\/div><div class=\"skeleton-reel-meta\"><div class=\"skeleton-reel-caption\"><\/div><div class=\"skeleton-reel-caption-short\"><\/div><div class=\"skeleton-reel-stats\"><div class=\"skeleton-reel-stat\"><\/div><div class=\"skeleton-reel-stat\"><\/div><\/div><div class=\"skeleton-reel-time\"><\/div><\/div><\/div>' +\r\n                '<div class=\"skeleton-reel\"><div class=\"skeleton-reel-img\"><\/div><div class=\"skeleton-reel-meta\"><div class=\"skeleton-reel-caption\"><\/div><div class=\"skeleton-reel-caption-short\"><\/div><div class=\"skeleton-reel-stats\"><div class=\"skeleton-reel-stat\"><\/div><div class=\"skeleton-reel-stat\"><\/div><\/div><div class=\"skeleton-reel-time\"><\/div><\/div><\/div>' +\r\n                '<div class=\"skeleton-reel\"><div class=\"skeleton-reel-img\"><\/div><div class=\"skeleton-reel-meta\"><div class=\"skeleton-reel-caption\"><\/div><div class=\"skeleton-reel-caption-short\"><\/div><div class=\"skeleton-reel-stats\"><div class=\"skeleton-reel-stat\"><\/div><div class=\"skeleton-reel-stat\"><\/div><\/div><div class=\"skeleton-reel-time\"><\/div><\/div><\/div>' +\r\n                '<div class=\"skeleton-reel\"><div class=\"skeleton-reel-img\"><\/div><div class=\"skeleton-reel-meta\"><div class=\"skeleton-reel-caption\"><\/div><div class=\"skeleton-reel-caption-short\"><\/div><div class=\"skeleton-reel-stats\"><div class=\"skeleton-reel-stat\"><\/div><div class=\"skeleton-reel-stat\"><\/div><\/div><div class=\"skeleton-reel-time\"><\/div><\/div><\/div>' +\r\n                '<\/div>'\r\n            );\r\n\r\n            var reelsForm = new FormData();\r\n            reelsForm.append('profile', profileUrl);\r\n\r\n            $.ajax({\r\n                url: 'https:\/\/tools.xrespond.com\/api\/instagram\/media\/reels',\r\n                type: 'POST',\r\n                data: reelsForm,\r\n                contentType: false,\r\n                processData: false,\r\n                timeout: 30000,\r\n                success: function (reelRes) {\r\n\r\n                    var reels =\r\n                        reelRes && reelRes.data && reelRes.data.data && reelRes.data.data.items ? reelRes.data.data.items : [];\r\n                    $('#tab-reels').empty();\r\n                    if (!reels.length) {\r\n                        $('#tab-reels').html('<p class=\"no-result\">No reels found.<\/p>');\r\n                        return;\r\n                    }\r\n\r\n                    var reelsHTML = '<div class=\"reels-grid\">';\r\n\r\n                    for (var index = 0; index < reels.length; index++) {\r\n                        var reel = reels[index];\r\n                        var videoUrl = '';\r\n                        if (reel && reel.video_versions && reel.video_versions[0]) {\r\n                            videoUrl = reel.video_versions[0].url;\r\n                        } else if (reel && reel.media && reel.media.video_versions && reel.media.video_versions[0]) {\r\n                            videoUrl = reel.media.video_versions[0].url;\r\n                        }\r\n\r\n                        var thumbnail = '';\r\n                        if (reel && reel.image_versions && reel.image_versions.items && reel.image_versions.items[0]) {\r\n                            thumbnail = reel.image_versions.items[0].url;\r\n                        } else if (\r\n                            reel &&\r\n                            reel.media &&\r\n                            reel.media.image_versions &&\r\n                            reel.media.image_versions.items &&\r\n                            reel.media.image_versions.items[0]\r\n                        ) {\r\n                            thumbnail = reel.media.image_versions.items[0].url;\r\n                        }\r\n\r\n                        var caption = reel && reel.caption && reel.caption.text ? reel.caption.text : '';\r\n                        var time = new Date(reel && reel.taken_at ? reel.taken_at * 1000 : Date.now()).toLocaleDateString();\r\n                        var reelId = reel && reel.id ? reel.id : 'reel-' + index;\r\n                        var views =\r\n                            reel && reel.view_count\r\n                                ? reel.view_count\r\n                                : reel && reel.media && reel.media.view_count\r\n                                    ? reel.media.view_count\r\n                                    : 0;\r\n                        var likes =\r\n                            reel && reel.like_count\r\n                                ? reel.like_count\r\n                                : reel && reel.media && reel.media.like_count\r\n                                    ? reel.media.like_count\r\n                                    : 0;\r\n\r\n                        reelsHTML +=\r\n                            '<div class=\"reel-card\" style=\"animation-delay: ' +\r\n                            index * 0.05 +\r\n                            's\">' +\r\n                            '<div class=\"reel-img-container\" data-media=\"' +\r\n                            videoUrl +\r\n                            '\" data-type=\"video\">' +\r\n                            '<img decoding=\"async\" src=\"' +\r\n                            thumbnail +\r\n                            '\" class=\"reel-thumb\" alt=\"IG Reel\" loading=\"lazy\"\/>' +\r\n                            '<video src=\"' +\r\n                            videoUrl +\r\n                            '\" class=\"reel-video\" controls playsInline style=\"display:none; width:100%; height:100%; object-fit:cover; position:absolute; top:0; left:0;\"><\/video>' +\r\n                            '<div class=\"reel-overlay\">' +\r\n                            '<button class=\"reel-view-btn\">' +\r\n                            '<svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><polygon points=\"5 3 19 12 5 21 5 3\"\/><\/svg>' +\r\n                            '<\/button>' +\r\n                            '<button class=\"reel-fullscreen-btn\" style=\"display:none;\">' +\r\n                            '<svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><polyline points=\"15 3 21 3 21 9\"\/><polyline points=\"9 21 3 21 3 15\"\/><line x1=\"21\" y1=\"3\" x2=\"14\" y2=\"10\"\/><line x1=\"3\" y1=\"21\" x2=\"10\" y2=\"14\"\/><\/svg>' +\r\n                            '<\/button>' +\r\n                            '<\/div>' +\r\n                            '<\/div>' +\r\n                            '<div class=\"reel-meta\">' +\r\n                            '<p class=\"caption\">' +\r\n                            caption +\r\n                            '<\/p>' +\r\n                            '<div class=\"reel-stats-row\">' +\r\n                            '<div class=\"reel-stats\">' +\r\n                            '<span><svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><polygon points=\"5 3 19 12 5 21 5 3\"\/><\/svg> ' +\r\n                            formatNumber(views) +\r\n                            '<\/span>' +\r\n                            '<span><svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z\"\/><\/svg> ' +\r\n                            formatNumber(likes) +\r\n                            '<\/span>' +\r\n                            '<\/div>' +\r\n                            '<button class=\"reel-download-btn\" data-url=\"' +\r\n                            videoUrl +\r\n                            '\" data-filename=\"instagram_reel_' +\r\n                            reelId +\r\n                            '.mp4\" data-type=\"video\">' +\r\n                            '<svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" 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                            '<\/button>' +\r\n                            '<\/div>' +\r\n                            '<small class=\"time\">' +\r\n                            time +\r\n                            '<\/small>' +\r\n                            '<\/div>' +\r\n                            '<\/div>';\r\n                    }\r\n\r\n                    reelsHTML += '<\/div>';\r\n\r\n                    $('#tab-reels').html(reelsHTML);\r\n                    loadedTabs.reels = true;\r\n\r\n                    setTimeout(addMediaTypeIndicators, 100);\r\n                },\r\n                error: function (xhr) {\r\n                    loadedTabs.reels = false;\r\n                    console.error('Reels error:', xhr);\r\n                    var msg = (xhr && xhr.status === 0) ? 'Network error. Please check your connection.' :\r\n                              (xhr && xhr.status === 429) ? 'Rate limit reached. Please try again later.' :\r\n                              'Failed to load reels. Please try again later.';\r\n                    $('#error-message').text(msg).show();\r\n                    $('#tab-reels').html('<p class=\"no-result\">' + msg + '<\/p>');\r\n                },\r\n            });\r\n        }\r\n\r\n        \/\/ Function to load posts\r\n        function loadPosts(profileUrl) {\r\n            $('#tab-posts').html(\r\n                '<div class=\"skeleton-posts-grid\">' +\r\n                Array(6).fill().map(function () {\r\n                    return (\r\n                        '<div class=\"skeleton-post\">' +\r\n                        '<div class=\"skeleton-post-img\"><\/div>' +\r\n                        '<div class=\"skeleton-post-meta\">' +\r\n                        '<div class=\"skeleton-post-stats\">' +\r\n                        '<div class=\"skeleton-post-stat\"><\/div>' +\r\n                        '<div class=\"skeleton-post-stat\"><\/div>' +\r\n                        '<\/div>' +\r\n                        '<div class=\"skeleton-post-caption\"><\/div>' +\r\n                        '<div class=\"skeleton-post-caption-short\"><\/div>' +\r\n                        '<div class=\"skeleton-post-time\"><\/div>' +\r\n                        '<\/div>' +\r\n                        '<\/div>'\r\n                    );\r\n                }).join('') +\r\n                '<\/div>'\r\n            );\r\n            var postsForm = new FormData();\r\n            postsForm.append('profile', profileUrl);\r\n\r\n            $.ajax({\r\n                url: 'https:\/\/tools.xrespond.com\/api\/instagram\/media\/posts',\r\n                type: 'POST',\r\n                data: postsForm,\r\n                contentType: false,\r\n                processData: false,\r\n                timeout: 30000,\r\n                success: function (postRes) {\r\n\r\n                    var posts =\r\n                        postRes && postRes.data && postRes.data.data && postRes.data.data.items ? postRes.data.data.items : [];\r\n                    $('#tab-posts').empty();\r\n                    if (!posts.length) {\r\n                        $('#tab-posts').html('<p class=\"no-result\">No posts found.<\/p>');\r\n                        return;\r\n                    }\r\n\r\n                    var postHTML = '<div class=\"posts-grid\">';\r\n\r\n                    for (var index = 0; index < posts.length; index++) {\r\n                        var post = posts[index];\r\n                        var isPostVideo = isVideo(post);\r\n                        var mediaUrl = getMediaUrl(post);\r\n                        var thumbnail = getMediaThumbnail(post);\r\n                        var caption = post && post.caption && post.caption.text ? post.caption.text : '';\r\n                        var time = new Date(post && post.taken_at ? post.taken_at * 1000 : Date.now()).toLocaleDateString();\r\n                        var postId = post && post.id ? post.id : 'post-' + index;\r\n                        var likes = post && post.like_count ? post.like_count : 0;\r\n                        var comments = post && post.comment_count ? post.comment_count : 0;\r\n\r\n                        postHTML +=\r\n                            '<div class=\"post-card\" style=\"animation-delay: ' +\r\n                            index * 0.05 +\r\n                            's\">' +\r\n                            '<div class=\"post-img-container\" data-media=\"' +\r\n                            mediaUrl +\r\n                            '\" data-type=\"' +\r\n                            (isPostVideo ? 'video' : 'image') +\r\n                            '\">' +\r\n                            '<img decoding=\"async\" src=\"' +\r\n                            thumbnail +\r\n                            '\" class=\"post-thumb\" alt=\"IG Post\" loading=\"lazy\"\/>' +\r\n                            (isPostVideo\r\n                                ? '<video src=\"' +\r\n                                mediaUrl +\r\n                                '\" class=\"post-video\" controls playsInline style=\"display:none; width:100%; height:100%; object-fit:cover; position:absolute; top:0; left:0;\"><\/video>'\r\n                                : '') +\r\n                            '<div class=\"post-overlay\">' +\r\n                            '<button class=\"post-view-btn\">' +\r\n                            (isPostVideo ? '<svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><polygon points=\"5 3 19 12 5 21 5 3\"\/><\/svg>' : '<svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" 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                            '<\/button>' +\r\n                            (isPostVideo\r\n                                ? '<button class=\"post-fullscreen-btn\" style=\"display:none;\"><svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><polyline points=\"15 3 21 3 21 9\"\/><polyline points=\"9 21 3 21 3 15\"\/><line x1=\"21\" y1=\"3\" x2=\"14\" y2=\"10\"\/><line x1=\"3\" y1=\"21\" x2=\"10\" y2=\"14\"\/><\/svg><\/button>'\r\n                                : '') +\r\n                            '<\/div>' +\r\n                            '<\/div>' +\r\n                            '<div class=\"post-meta\">' +\r\n                            '<div class=\"post-stats-row\">' +\r\n                            '<div class=\"post-stats\">' +\r\n                            '<span><svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z\"\/><\/svg> ' +\r\n                            formatNumber(likes) +\r\n                            '<\/span>' +\r\n                            '<span><svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z\"\/><\/svg> ' +\r\n                            formatNumber(comments) +\r\n                            '<\/span>' +\r\n                            '<\/div>' +\r\n                            '<button class=\"post-download-btn\" data-url=\"' +\r\n                            mediaUrl +\r\n                            '\" data-filename=\"instagram_post_' +\r\n                            postId +\r\n                            '.' +\r\n                            (isPostVideo ? 'mp4' : 'jpg') +\r\n                            '\" data-type=\"' +\r\n                            (isPostVideo ? 'video' : 'image') +\r\n                            '\">' +\r\n                            '<svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" 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                            '<\/button>' +\r\n                            '<\/div>' +\r\n                            '<p class=\"caption\">' +\r\n                            caption +\r\n                            '<\/p>' +\r\n                            '<small class=\"time\">' +\r\n                            time +\r\n                            '<\/small>' +\r\n                            '<\/div>' +\r\n                            '<\/div>';\r\n                    }\r\n\r\n                    postHTML += '<\/div>';\r\n\r\n                    $('#tab-posts').html(postHTML);\r\n                    loadedTabs.posts = true;\r\n\r\n                    setTimeout(addMediaTypeIndicators, 100);\r\n                },\r\n                error: function (xhr) {\r\n                    loadedTabs.posts = false;\r\n                    console.error('Posts error:', xhr);\r\n                    var msg = (xhr && xhr.status === 0) ? 'Network error. Please check your connection.' :\r\n                              (xhr && xhr.status === 429) ? 'Rate limit reached. Please try again later.' :\r\n                              'Failed to load posts. Please try again later.';\r\n                    $('#error-message').text(msg).show();\r\n                    $('#tab-posts').html('<p class=\"no-result\">' + msg + '<\/p>');\r\n                },\r\n            });\r\n        }\r\n\r\n        \/\/ Enhanced download button click handlers\r\n        $(document).on('click', '.post-download-btn, .story-download-btn, .reel-download-btn', function (e) {\r\n            e.preventDefault();\r\n            e.stopPropagation();\r\n\r\n            var url = $(this).attr('data-url') || $(this).data('url') || $(this).data('media');\r\n            var filename = $(this).attr('data-filename') || $(this).data('filename');\r\n            var type = $(this).attr('data-type') || $(this).data('type');\r\n\r\n            console.log('Download button clicked:', { url: url, filename: filename, type: type });\r\n\r\n            if (type === 'image' && url && url.indexOf('instagram') !== -1) {\r\n                url = url.split('?')[0];\r\n            }\r\n\r\n            if (url && filename) {\r\n                downloadWithProgress(url, filename, type);\r\n            } else {\r\n                console.error('Missing download data:', { url: url, filename: filename, type: type });\r\n            }\r\n        });\r\n\r\n        \/\/ Check if account type is selected before allowing API request\r\n        $('.view-btn').on('click', function (e) {\r\n            e.preventDefault();\r\n\r\n            var profileUrl = $('.ig-input-area input').val().trim();\r\n\r\n            if (profileUrl === '') {\r\n                $('#error-message').text('Please enter an Instagram profile URL or username').show();\r\n                return;\r\n            }\r\n\r\n            isPrivateAccount = false;\r\n            activeTab = 'posts';\r\n            loadedTabs = {\r\n                posts: false,\r\n                stories: false,\r\n                highlights: false,\r\n                reels: false,\r\n            };\r\n\r\n            $('#error-message').hide().text('');\r\n\r\n            var formData = new FormData();\r\n            formData.append('profile', profileUrl);\r\n\r\n            $('.view-btn').prop('disabled', true).html(\"<span style='font-weight: 600;'>Loading...<\/span>\");\r\n\r\n            $('.ig-result').html(\r\n                '<div class=\"skeleton-profile\">' +\r\n                '<div class=\"skeleton-profile-header\">' +\r\n                '<div class=\"skeleton-avatar\"><\/div>' +\r\n                '<div class=\"skeleton-profile-info\">' +\r\n                '<div class=\"skeleton-username\"><\/div>' +\r\n                '<div class=\"skeleton-fullname\"><\/div>' +\r\n                '<div class=\"skeleton-stats\">' +\r\n                '<div class=\"skeleton-stat\"><\/div>' +\r\n                '<div class=\"skeleton-stat\"><\/div>' +\r\n                '<div class=\"skeleton-stat\"><\/div>' +\r\n                '<\/div>' +\r\n                '<\/div>' +\r\n                '<div class=\"skeleton-bio\"><\/div>' +\r\n                '<div class=\"skeleton-tabs\">' +\r\n                '<div class=\"skeleton-tab\"><\/div>' +\r\n                '<div class=\"skeleton-tab\"><\/div>' +\r\n                '<div class=\"skeleton-tab\"><\/div>' +\r\n                '<div class=\"skeleton-tab\"><\/div>' +\r\n                '<\/div>' +\r\n                '<div class=\"skeleton-posts-grid\">' +\r\n                '<\/div>' +\r\n                '<\/div>'\r\n            );\r\n            $('#error-message').hide().text('');\r\n\r\n            $.ajax({\r\n                url: 'https:\/\/tools.xrespond.com\/api\/instagram\/profile-info',\r\n                type: 'POST',\r\n                data: formData,\r\n                contentType: false,\r\n                processData: false,\r\n                timeout: 30000,\r\n                success: function (res) {\r\n                    function scrollToProfile() {\r\n                        var profileSection = document.querySelector('.ig-result');\r\n                        if (profileSection) {\r\n                            profileSection.scrollIntoView({\r\n                                behavior: 'smooth',\r\n                                block: 'start'\r\n                            });\r\n                        }\r\n                    }\r\n\r\n                    setTimeout(scrollToProfile, 500);\r\n                    if (res.data.status === 'error') {\r\n                        $('#error-message').text(res.data.message).show();\r\n\r\n                        loadedTabs.posts = false;\r\n                        loadedTabs.stories = false;\r\n                        loadedTabs.highlights = false;\r\n                        loadedTabs.reels = false;\r\n                        $('.view-btn').prop('disabled', false).html(\r\n                            '<svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect x=\"3\" y=\"11\" width=\"18\" height=\"11\" rx=\"2\" ry=\"2\"\/><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"\/><\/svg> View Thumbnails'\r\n                        );\r\n                        $('.ig-result').empty();\r\n                        return;\r\n                    }\r\n                    $('.view-btn').prop('disabled', false).html(\r\n                        '<svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect x=\"3\" y=\"11\" width=\"18\" height=\"11\" rx=\"2\" ry=\"2\"\/><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"\/><\/svg> View Thumbnails'\r\n                    );\r\n\r\n                    var data = res && res.data && res.data.data ? res.data.data : {};\r\n                    console.log('Profile data:', data);\r\n\r\n                    var profileImage = data.hd_profile_pic_url || data.profile_pic_url || '';\r\n                    var profileImageViewer = '';\r\n\r\n                    isPrivateAccount = !!data.is_private;\r\n\r\n                    if (profileImage) {\r\n                        profileImageViewer =\r\n                            '<div class=\"profile-image-container\">' +\r\n                            '<img decoding=\"async\" class=\"profile-image\" src=\"' +\r\n                            profileImage +\r\n                            '\" alt=\"Profile Picture\" referrerpolicy=\"no-referrer\"\/>' +\r\n                            '<button class=\"view-profile-img\"><svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><polyline points=\"15 3 21 3 21 9\"\/><polyline points=\"9 21 3 21 3 15\"\/><line x1=\"21\" y1=\"3\" x2=\"14\" y2=\"10\"\/><line x1=\"3\" y1=\"21\" x2=\"10\" y2=\"14\"\/><\/svg><\/button>' +\r\n                            '<\/div>';\r\n                    }\r\n\r\n                    $('.ig-result').html(\r\n                        '<div class=\"ig-profile-header\">' +\r\n                        '<div class=\"profile-header-content\">' +\r\n                        profileImageViewer +\r\n                        '<div class=\"profile-info\">' +\r\n                        '<div class=\"username-text\">@' +\r\n                        (data.username || 'username') +\r\n                        '<\/div>' +\r\n                        '<div class=\"fullname-text\">' +\r\n                        (data.full_name || '') +\r\n                        '<\/div>' +\r\n                        '<div class=\"stats\">' +\r\n                        '<div class=\"stat-item\">' +\r\n                        '<span class=\"stat-value\">' +\r\n                        formatNumber(data.media_count || 0) +\r\n                        '<\/span>' +\r\n                        '<span class=\"stat-label\">posts<\/span>' +\r\n                        '<\/div>' +\r\n                        '<div class=\"stat-item\">' +\r\n                        '<span class=\"stat-value\">' +\r\n                        formatNumber(data.follower_count || 0) +\r\n                        '<\/span>' +\r\n                        '<span class=\"stat-label\">followers<\/span>' +\r\n                        '<\/div>' +\r\n                        '<div class=\"stat-item\">' +\r\n                        '<span class=\"stat-value\">' +\r\n                        formatNumber(data.following_count || 0) +\r\n                        '<\/span>' +\r\n                        '<span class=\"stat-label\">following<\/span>' +\r\n                        '<\/div>' +\r\n                        '<\/div>' +\r\n                        '<\/div>' +\r\n                        '<\/div>' +\r\n                        '<div class=\"profile-bio\">' +\r\n                        '<p>' +\r\n                        (data.biography || '') +\r\n                        '<\/p>' +\r\n                        (data.external_url\r\n                            ? '<a href=\"' +\r\n                            data.external_url +\r\n                            '\" target=\"_blank\" class=\"profile-link\"><svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"\/><path d=\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"\/><\/svg> ' +\r\n                            data.external_url +\r\n                            '<\/a>'\r\n                            : '') +\r\n                        (data.is_private\r\n                            ? '<div class=\"private-account-message\" style=\"width:60%; margin:auto; text-align:center; padding:10px 0;\"><svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect x=\"3\" y=\"11\" width=\"18\" height=\"11\" rx=\"2\" ry=\"2\"\/><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"\/><\/svg> This is a private account. Posts, stories, reels, and highlights are not visible due to Instagram\\'s privacy policy.<\/div>'\r\n                            : '') +\r\n                        '<\/div>' +\r\n                        '<\/div>'\r\n                    );\r\n\r\n                    var tabHTML =\r\n                        '<div class=\"ig-tabs\">' +\r\n                        '<button class=\"tab-btn active\" data-tab=\"posts\"><svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" 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> Posts<\/button>' +\r\n                        '<button class=\"tab-btn\" data-tab=\"stories\"><svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><polygon points=\"10 8 16 12 10 16 10 8\"\/><\/svg> Stories<\/button>' +\r\n                        '<button class=\"tab-btn\" data-tab=\"highlights\"><svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><polygon points=\"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2\"\/><\/svg> Highlights<\/button>' +\r\n                        '<button class=\"tab-btn\" data-tab=\"reels\"><svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><polygon points=\"23 7 16 12 23 17 23 7\"\/><rect x=\"1\" y=\"5\" width=\"15\" height=\"14\" rx=\"2\" ry=\"2\"\/><\/svg> Reels<\/button>' +\r\n                        '<\/div>';\r\n\r\n                    $('.ig-result').append(tabHTML);\r\n\r\n                    if (isPrivateAccount) {\r\n                        $('.ig-result').append(\r\n                            '<div class=\"ig-tab-content\" id=\"tab-posts\">' +\r\n                            '<div class=\"private-account-message\">' +\r\n                            '<svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect x=\"3\" y=\"11\" width=\"18\" height=\"11\" rx=\"2\" ry=\"2\"\/><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"\/><\/svg> This content cannot be displayed due to Instagram\\'s privacy policy for private accounts.' +\r\n                            '<\/div>' +\r\n                            '<\/div>' +\r\n                            '<div class=\"ig-tab-content\" id=\"tab-stories\" style=\"display:none;\">' +\r\n                            '<div class=\"private-account-message\">' +\r\n                            '<svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect x=\"3\" y=\"11\" width=\"18\" height=\"11\" rx=\"2\" ry=\"2\"\/><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"\/><\/svg> Stories cannot be displayed due to Instagram\\'s privacy policy for private accounts.' +\r\n                            '<\/div>' +\r\n                            '<\/div>' +\r\n                            '<div class=\"ig-tab-content\" id=\"tab-highlights\" style=\"display:none;\">' +\r\n                            '<div class=\"private-account-message\">' +\r\n                            '<svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect x=\"3\" y=\"11\" width=\"18\" height=\"11\" rx=\"2\" ry=\"2\"\/><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"\/><\/svg> Highlights cannot be displayed due to Instagram\\'s privacy policy for private accounts.' +\r\n                            '<\/div>' +\r\n                            '<\/div>' +\r\n                            '<div class=\"ig-tab-content\" id=\"tab-reels\" style=\"display:none;\">' +\r\n                            '<div class=\"private-account-message\">' +\r\n                            '<svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect x=\"3\" y=\"11\" width=\"18\" height=\"11\" rx=\"2\" ry=\"2\"\/><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"\/><\/svg> Reels cannot be displayed due to Instagram\\'s privacy policy for private accounts.' +\r\n                            '<\/div>' +\r\n                            '<\/div>'\r\n                        );\r\n                        return;\r\n                    }\r\n\r\n                    $('.ig-result').append(\r\n                        '<div class=\"ig-tab-content\" id=\"tab-posts\">' +\r\n                        '<div class=\"skeleton-posts-grid\">' +\r\n                        Array(6)\r\n                            .fill()\r\n                            .map(function () {\r\n                                return ('');\r\n                            })\r\n                            .join('') +\r\n                        '<\/div>' +\r\n                        '<\/div>' +\r\n                        '<div class=\"ig-tab-content\" id=\"tab-stories\" style=\"display:none;\"><\/div>' +\r\n                        '<div class=\"ig-tab-content\" id=\"tab-highlights\" style=\"display:none;\"><\/div>' +\r\n                        '<div class=\"ig-tab-content\" id=\"tab-reels\" style=\"display:none;\"><\/div>'\r\n                    );\r\n                    loadPosts(profileUrl);\r\n                    loadedTabs.posts = true;\r\n                },\r\n                error: function (err) {\r\n                    var msg = (err && err.status === 0) ? 'Network error. Please check your connection.' :\r\n                              (err && err.status === 429) ? 'Rate limit reached. Please try again later.' :\r\n                              (err && err.status === 404) ? 'User not found. Please check the username.' :\r\n                              (err && err.statusText) ? 'Error: ' + err.statusText + ' (' + err.status + ')' :\r\n                              'Failed to load profile. Please try again.';\r\n                    $('#error-message').text(msg).show();\r\n\r\n                    loadedTabs.posts = false;\r\n                    loadedTabs.stories = false;\r\n                    loadedTabs.highlights = false;\r\n                    loadedTabs.reels = false;\r\n                    $('.view-btn').prop('disabled', false).html(\r\n                        '<svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect x=\"3\" y=\"11\" width=\"18\" height=\"11\" rx=\"2\" ry=\"2\"\/><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"\/><\/svg> View Thumbnails'\r\n                    );\r\n                    $('.ig-result').empty();\r\n                    return;\r\n                },\r\n            });\r\n        });\r\n\r\n        $(document).on('click', '.tab-btn', function () {\r\n            var tab = $(this).data('tab');\r\n            var profileUrl = $('.ig-input-area input').val().trim();\r\n\r\n            if ($(this).hasClass('active')) return;\r\n\r\n            activeTab = tab;\r\n\r\n            $('.tab-btn').removeClass('active');\r\n            $(this).addClass('active');\r\n\r\n            $('.ig-tab-content').hide();\r\n            $('#tab-' + tab).fadeIn(300);\r\n\r\n            pauseAllVideosExcept(null);\r\n\r\n            if (isPrivateAccount) return;\r\n\r\n            if (tab === 'posts' && !loadedTabs.posts && profileUrl) {\r\n                loadPosts(profileUrl);\r\n            } else if (tab === 'stories' && !loadedTabs.stories && profileUrl) {\r\n                loadStories(profileUrl);\r\n            } else if (tab === 'highlights' && !loadedTabs.highlights && profileUrl) {\r\n                loadHighlights(profileUrl);\r\n            } else if (tab === 'reels' && !loadedTabs.reels && profileUrl) {\r\n                loadReels(profileUrl);\r\n            }\r\n\r\n            setTimeout(addMediaTypeIndicators, 200);\r\n        });\r\n\r\n        \/\/ Enhanced Profile Image Modal with Animation\r\n        $(document).on('click', '.view-profile-img', function (e) {\r\n            e.preventDefault();\r\n            e.stopPropagation();\r\n\r\n            var profileImage = $('.profile-image').attr('src');\r\n\r\n            console.log('Original profile image URL:', profileImage);\r\n\r\n            if (!profileImage) {\r\n                console.error('No profile image found');\r\n                return;\r\n            }\r\n\r\n            if (profileImage.indexOf('instagram') !== -1) {\r\n                profileImage = profileImage.split('?')[0];\r\n            }\r\n\r\n            console.log('Cleaned profile image URL for download:', profileImage);\r\n\r\n            $('.profile-img-modal').remove();\r\n\r\n            var modal = $('<div class=\"ipgv-profile-img-modal\">');\r\n            var backdrop = $('<div class=\"ipgv-modal-backdrop\">');\r\n            var content = $('<div class=\"ipgv-modal-content\">');\r\n            var img = $('<img class=\"ipgv-modal-img\" referrerpolicy=\"no-referrer\" alt=\"Profile Image\">');\r\n            var actions = $('<div class=\"ipgv-modal-actions\">');\r\n            var downloadBtn = $('<button class=\"ipgv-modal-download-btn\">');\r\n            var closeBtn = $('<button class=\"ipgv-close-modal\">');\r\n\r\n            img.attr('src', profileImage);\r\n\r\n            downloadBtn.html('<svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" 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> Download');\r\n            downloadBtn.attr('data-url', profileImage);\r\n            downloadBtn.attr('data-filename', 'instagram_profile_hd.jpg');\r\n            downloadBtn.attr('data-type', 'image');\r\n\r\n            downloadBtn.data('url', profileImage);\r\n            downloadBtn.data('filename', 'instagram_profile_hd.jpg');\r\n            downloadBtn.data('type', 'image');\r\n\r\n            closeBtn.html('<svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"\/><line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"\/><\/svg>');\r\n\r\n            actions.append(downloadBtn);\r\n            content.append(img, actions, closeBtn);\r\n            modal.append(backdrop, content);\r\n\r\n            $('body').append(modal);\r\n\r\n            setTimeout(function () {\r\n                modal.addClass('active');\r\n                $('body').addClass('ipgv-modal-open');\r\n            }, 10);\r\n        });\r\n\r\n        \/\/ Close modal events\r\n        $(document).on('click', '.ipgv-close-modal, .ipgv-modal-backdrop', function (e) {\r\n            e.preventDefault();\r\n            $('.ipgv-profile-img-modal, .ipgv-media-modal').removeClass('active');\r\n            $('body').removeClass('ipgv-modal-open');\r\n\r\n            setTimeout(function () {\r\n                $('.ipgv-profile-img-modal, .ipgv-media-modal').remove();\r\n            }, 300);\r\n        });\r\n\r\n        $(document).on('click', '.ipgv-modal-content', function (e) {\r\n            e.stopPropagation();\r\n        });\r\n\r\n        \/\/ Profile image modal download button\r\n        $(document).on('click', '.ipgv-modal-download-btn', function (e) {\r\n            e.preventDefault();\r\n            e.stopPropagation();\r\n\r\n            var $this = $(this);\r\n            var url = $this.attr('data-url') || $this.data('url') || $this[0].getAttribute('data-url');\r\n            var filename = $this.attr('data-filename') || $this.data('filename') || 'instagram_profile_hd.jpg';\r\n            var type = $this.attr('data-type') || $this.data('type') || 'image';\r\n\r\n            if (!url) {\r\n                url = $('.ipgv-modal-img').attr('src');\r\n                console.log('Fallback URL from modal image:', url);\r\n            }\r\n\r\n            if (!url) {\r\n                console.error('No URL found for download');\r\n                return;\r\n            }\r\n\r\n            var downloadUrl = url;\r\n            if (type === 'image' && url.indexOf('instagram') !== -1) {\r\n                downloadUrl = url.split('?')[0];\r\n            }\r\n\r\n            console.log('Starting download with URL:', downloadUrl);\r\n\r\n            downloadWithProgress(downloadUrl, filename, type);\r\n\r\n            setTimeout(function () {\r\n                $('.ipgv-close-modal').click();\r\n            }, 500);\r\n        });\r\n\r\n        \/\/ View button handlers - Show media in modal with download option\r\n        $(document).on('click', '.post-view-btn, .story-view-btn, .reel-view-btn', function () {\r\n            var container = $(this).closest('.post-img-container, .story-img-container, .reel-img-container');\r\n            var mediaType = container.data('type');\r\n            var mediaUrl = container.data('media');\r\n            var overlay = $(this).closest('.post-overlay, .story-overlay, .reel-overlay');\r\n\r\n            if (mediaType === 'video') {\r\n                var video = container.find('video');\r\n                var img = container.find('img.post-thumb, img.story-thumb, img.reel-thumb');\r\n                var viewBtn = $(this);\r\n                var fullscreenBtn = overlay.find('.post-fullscreen-btn, .story-fullscreen-btn, .reel-fullscreen-btn');\r\n                var videoElement = video.get(0);\r\n\r\n                if (videoElement.paused) {\r\n                    pauseAllVideosExcept(videoElement);\r\n\r\n                    img.hide();\r\n                    video.show();\r\n\r\n                    videoElement.currentTime = 0;\r\n                    setTimeout(function () {\r\n                        videoElement.play()\r\n                            .then(function () {\r\n                                viewBtn.html('<svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect x=\"6\" y=\"4\" width=\"4\" height=\"16\"\/><rect x=\"14\" y=\"4\" width=\"4\" height=\"16\"\/><\/svg>');\r\n                                fullscreenBtn.show();\r\n                            })\r\n                            .catch(function (e) {\r\n                                console.warn('Video play error:', e);\r\n                                viewBtn.html('<svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><polygon points=\"5 3 19 12 5 21 5 3\"\/><\/svg>');\r\n                                fullscreenBtn.hide();\r\n                            });\r\n                    }, 100);\r\n                } else {\r\n                    try {\r\n                        videoElement.pause();\r\n                        viewBtn.html('<svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><polygon points=\"5 3 19 12 5 21 5 3\"\/><\/svg>');\r\n                        fullscreenBtn.hide();\r\n                        video.hide();\r\n                        img.show();\r\n                    } catch (e) {\r\n                        console.warn('Error pausing video:', e);\r\n                    }\r\n                }\r\n            } else {\r\n                var containerType = container.hasClass('post-img-container')\r\n                    ? 'post'\r\n                    : container.hasClass('story-img-container')\r\n                        ? 'story'\r\n                        : 'media';\r\n                var filename = 'instagram_' + containerType + '_' + Date.now() + '.jpg';\r\n                window.showMediaModal(mediaUrl, 'image', filename);\r\n            }\r\n        });\r\n\r\n        \/\/ Fullscreen button handlers\r\n        $(document).on('click', '.post-fullscreen-btn, .story-fullscreen-btn, .reel-fullscreen-btn', function () {\r\n            var container = $(this).closest('.post-img-container, .story-img-container, .reel-img-container');\r\n            var mediaUrl = container.data('media') || container.data('video');\r\n            var video = container.find('video').get(0);\r\n            var img = container.find('img.post-thumb, img.story-thumb, img.reel-thumb');\r\n            var overlay = container.find('.post-overlay, .story-overlay, .reel-overlay');\r\n            var viewBtn = overlay.find('.post-view-btn, .story-view-btn, .reel-view-btn');\r\n            var fullscreenBtn = $(this);\r\n\r\n            if (video && !video.paused) {\r\n                video.pause();\r\n            }\r\n\r\n            container.find('video').hide();\r\n            img.show();\r\n\r\n            viewBtn.html('<svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><polygon points=\"5 3 19 12 5 21 5 3\"\/><\/svg>');\r\n            fullscreenBtn.hide();\r\n\r\n            var containerType = container.hasClass('post-img-container')\r\n                ? 'post'\r\n                : container.hasClass('story-img-container')\r\n                    ? 'story'\r\n                    : 'reel';\r\n            var filename = 'instagram_' + containerType + '_' + Date.now() + '.mp4';\r\n\r\n            window.showMediaModal(mediaUrl, 'video', filename);\r\n        });\r\n\r\n        \/\/ Function to show media in modal with download option\r\n        window.showMediaModal = function (mediaUrl, mediaType, filename) {\r\n            var modal = $('<div class=\"ipgv-media-modal profile-img-modal\">');\r\n            var backdrop = $('<div class=\"ipgv-modal-backdrop\">');\r\n            var content = $('<div class=\"ipgv-modal-content\">');\r\n            var actions = $('<div class=\"ipgv-modal-actions\">');\r\n            var downloadBtn = $('<button class=\"ipgv-modal-download-btn\">');\r\n            var closeBtn = $('<button class=\"ipgv-close-modal\">');\r\n\r\n            var mediaElement;\r\n            if (mediaType === 'video') {\r\n                mediaElement = $(\r\n                    '<video class=\"ipgv-modal-media\" controls autoplay style=\"max-width: 90vw; max-height: 70vh; object-fit: contain;\" \/>'\r\n                );\r\n                mediaElement.attr('src', mediaUrl);\r\n            } else {\r\n                mediaElement = $(\r\n                    '<img class=\"ipgv-modal-media modal-img\" referrerpolicy=\"no-referrer\" alt=\"Media\" style=\"max-width: 90vw; max-height: 70vh; object-fit: contain;\" \/>'\r\n                );\r\n                mediaElement.attr('src', mediaUrl);\r\n            }\r\n\r\n            downloadBtn.html('<svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" 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> Download');\r\n            downloadBtn.on('click', function () {\r\n                forceDownloadImage(mediaUrl, filename + '.jpg');\r\n            });\r\n\r\n            closeBtn.html('<svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"\/><line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"\/><\/svg>');\r\n\r\n            actions.append(downloadBtn);\r\n            content.append(mediaElement, actions, closeBtn);\r\n            modal.append(backdrop, content);\r\n\r\n            $('body').append(modal);\r\n\r\n            setTimeout(function () {\r\n                modal.addClass('active');\r\n                $('body').addClass('ipgv-modal-open');\r\n            }, 10);\r\n\r\n            closeBtn.on('click', function () {\r\n                modal.removeClass('active');\r\n                setTimeout(function () {\r\n                    modal.remove();\r\n                    $('body').removeClass('ipgv-modal-open');\r\n                }, 300);\r\n            });\r\n\r\n            backdrop.on('click', function () {\r\n                modal.removeClass('active');\r\n                setTimeout(function () {\r\n                    modal.remove();\r\n                    $('body').removeClass('ipgv-modal-open');\r\n                }, 300);\r\n            });\r\n        };\r\n\r\n        \/\/ Modified video event handlers\r\n        $(document).on('click', 'video', function (e) {\r\n            e.stopPropagation();\r\n\r\n            var container = $(this).closest('.post-img-container, .story-img-container, .reel-img-container');\r\n            var overlay = container.find('.post-overlay, .story-overlay, .reel-overlay');\r\n            var viewBtn = overlay.find('.post-view-btn, .story-view-btn, .reel-view-btn');\r\n            var fullscreenBtn = overlay.find('.post-fullscreen-btn, .story-fullscreen-btn, .reel-fullscreen-btn');\r\n\r\n            if (this.paused) {\r\n                pauseAllVideosExcept(this);\r\n\r\n                setTimeout(function () {\r\n                    var videoEl = this;\r\n                    videoEl.play()\r\n                        .then(function () {\r\n                            viewBtn.html('<svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect x=\"6\" y=\"4\" width=\"4\" height=\"16\"\/><rect x=\"14\" y=\"4\" width=\"4\" height=\"16\"\/><\/svg>');\r\n                            fullscreenBtn.show();\r\n                        })\r\n                        .catch(function (e) {\r\n                            console.warn('Video play error:', e);\r\n                            viewBtn.html('<svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><polygon points=\"5 3 19 12 5 21 5 3\"\/><\/svg>');\r\n                            fullscreenBtn.hide();\r\n                        });\r\n                }.bind(this), 100);\r\n            } else {\r\n                try {\r\n                    this.pause();\r\n                    viewBtn.html('<svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><polygon points=\"5 3 19 12 5 21 5 3\"\/><\/svg>');\r\n                    fullscreenBtn.hide();\r\n                } catch (e) {\r\n                    console.warn('Error pausing video:', e);\r\n                }\r\n            }\r\n        });\r\n\r\n        $(document).on('ended', 'video', function () {\r\n            var container = $(this).closest('.post-img-container, .story-img-container, .reel-img-container');\r\n            var overlay = container.find('.post-overlay, .story-overlay, .reel-overlay');\r\n            var viewBtn = overlay.find('.post-view-btn, .story-view-btn, .reel-view-btn');\r\n            var fullscreenBtn = overlay.find('.post-fullscreen-btn, .story-fullscreen-btn, .reel-fullscreen-btn');\r\n\r\n            viewBtn.html('<svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><polygon points=\"5 3 19 12 5 21 5 3\"\/><\/svg>');\r\n            fullscreenBtn.hide();\r\n            overlay.css('opacity', '1');\r\n        });\r\n\r\n        $(document).on('pause', 'video', function () {\r\n            var container = $(this).closest('.post-img-container, .story-img-container, .reel-img-container');\r\n            var overlay = container.find('.post-overlay, .story-overlay, .reel-overlay');\r\n            var viewBtn = overlay.find('.post-view-btn, .story-view-btn, .reel-view-btn');\r\n            var fullscreenBtn = overlay.find('.post-fullscreen-btn, .story-fullscreen-btn, .reel-fullscreen-btn');\r\n\r\n            viewBtn.html('<svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><polygon points=\"5 3 19 12 5 21 5 3\"\/><\/svg>');\r\n            fullscreenBtn.hide();\r\n            overlay.css('opacity', '1');\r\n        });\r\n\r\n        $(document).on('play', 'video', function () {\r\n            var container = $(this).closest('.post-img-container, .story-img-container, .reel-img-container');\r\n            var overlay = container.find('.post-overlay, .story-overlay, .reel-overlay');\r\n            var viewBtn = overlay.find('.post-view-btn, .story-view-btn, .reel-view-btn');\r\n            var fullscreenBtn = overlay.find('.post-fullscreen-btn, .story-fullscreen-btn, .reel-fullscreen-btn');\r\n\r\n            setTimeout(function () {\r\n                pauseAllVideosExcept(this);\r\n            }.bind(this), 50);\r\n\r\n            viewBtn.html('<svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect x=\"6\" y=\"4\" width=\"4\" height=\"16\"\/><rect x=\"14\" y=\"4\" width=\"4\" height=\"16\"\/><\/svg>');\r\n            fullscreenBtn.show().css('display', 'flex');\r\n            overlay.css('opacity', '0');\r\n        });\r\n\r\n        $(document).keydown(function (e) {\r\n            if (e.key === 'Escape') {\r\n                $('.ipgv-profile-img-modal, .ipgv-media-modal').fadeOut(300).removeClass('active');\r\n                $('body').removeClass('ipgv-modal-open');\r\n                pauseAllVideosExcept(null);\r\n            }\r\n        });\r\n\r\n        $(document).on('contextmenu', 'video', function (e) {\r\n            e.preventDefault();\r\n            return false;\r\n        });\r\n\r\n        $(document).on('mouseenter', '.post-view-btn, .story-view-btn, .reel-view-btn', function () {\r\n            var mediaType = $(this).closest('.post-img-container, .story-img-container, .reel-img-container').data('type');\r\n            if (mediaType === 'video') {\r\n                $(this).attr('title', 'Play\/Pause Video');\r\n            } else {\r\n                $(this).attr('title', 'View Image');\r\n            }\r\n        });\r\n\r\n        $(document).on('mouseenter', '.post-fullscreen-btn, .story-fullscreen-btn, .reel-fullscreen-btn', function () {\r\n            $(this).attr('title', 'View Fullscreen');\r\n        });\r\n\r\n        $(document).on('mouseenter', '.post-download-btn, .story-download-btn, .reel-download-btn', function () {\r\n            $(this).attr('title', 'Download');\r\n        });\r\n\r\n        \/\/ Performance optimization: Lazy load videos\r\n        var videoObserver = new IntersectionObserver(\r\n            function (entries) {\r\n                entries.forEach(function (entry) {\r\n                    if (entry.isIntersecting) {\r\n                        var video = entry.target;\r\n                        if (video.dataset.src && !video.src) {\r\n                            video.src = video.dataset.src;\r\n                            video.load();\r\n                        }\r\n                    }\r\n                });\r\n            },\r\n            {\r\n                rootMargin: '50px',\r\n            }\r\n        );\r\n\r\n        \/\/ Function to add media type indicators\r\n        function addMediaTypeIndicators() {\r\n            $('.post-img-container, .story-img-container, .reel-img-container').each(function () {\r\n                if ($(this).find('.media-type-indicator').length > 0) {\r\n                    return;\r\n                }\r\n\r\n                var mediaType = $(this).data('type');\r\n                var indicator;\r\n\r\n                if (mediaType === 'video') {\r\n                    indicator = '<div class=\"media-type-indicator video-indicator\"><svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><polygon points=\"23 7 16 12 23 17 23 7\"\/><rect x=\"1\" y=\"5\" width=\"15\" height=\"14\" rx=\"2\" ry=\"2\"\/><\/svg> Video<\/div>';\r\n                } else {\r\n                    indicator = '<div class=\"media-type-indicator image-indicator\"><svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\" ry=\"2\"\/><circle cx=\"8.5\" cy=\"8.5\" r=\"1.5\"\/><polyline points=\"21 15 16 10 5 21\"\/><\/svg> Image<\/div>';\r\n                }\r\n\r\n                $(this).prepend(indicator);\r\n            });\r\n        }\r\n\r\n        \/\/ Ensure the profile image container has the correct structure\r\n        function setupProfileImageViewer() {\r\n            if ($('.profile-image-container').length && $('.view-profile-img').length === 0) {\r\n                $('.profile-image-container').append(\r\n                    '<button class=\"view-profile-img\" title=\"View full size image\">' +\r\n                    '<svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><polyline points=\"15 3 21 3 21 9\"\/><polyline points=\"9 21 3 21 3 15\"\/><line x1=\"21\" y1=\"3\" x2=\"14\" y2=\"10\"\/><line x1=\"3\" y1=\"21\" x2=\"10\" y2=\"14\"\/><\/svg>' +\r\n                    '<\/button>'\r\n                );\r\n            }\r\n        }\r\n\r\n        $(document).ajaxComplete(function (event, xhr, settings) {\r\n            if (settings.url.indexOf('profile-info') !== -1) {\r\n                setTimeout(setupProfileImageViewer, 500);\r\n            }\r\n        });\r\n\r\n        $('.view-btn').on('click', function () {\r\n            $('.ig-result').show();\r\n        });\r\n\r\n        \/\/ Modified video handling functions\r\n        function createAndPlayVideo(container, videoUrl, thumbnailUrl) {\r\n            container.find('video').remove();\r\n\r\n            var video = $('<video>', {\r\n                class: 'reel-video',\r\n                controls: true,\r\n                playsInline: true,\r\n                preload: 'auto',\r\n                muted: true\r\n            });\r\n\r\n            var source = $('<source>', {\r\n                src: videoUrl,\r\n                type: 'video\/mp4'\r\n            });\r\n\r\n            video.append(source);\r\n            container.append(video);\r\n\r\n            video.on('loadeddata', function () {\r\n                console.log('Video data loaded');\r\n                this.muted = false;\r\n            });\r\n\r\n            video.on('error', function (e) {\r\n                console.error('Video error:', e);\r\n                container.find('.reel-thumb').show();\r\n                video.remove();\r\n            });\r\n\r\n            return video[0];\r\n        }\r\n\r\n        \/\/ Modified video click handler\r\n        $(document).on('click', '.reel-view-btn', function (e) {\r\n            e.preventDefault();\r\n            e.stopPropagation();\r\n\r\n            var container = $(this).closest('.reel-img-container');\r\n            var videoUrl = container.data('media');\r\n            var thumbnail = container.find('.reel-thumb');\r\n            var viewBtn = $(this);\r\n            var fullscreenBtn = container.find('.reel-fullscreen-btn');\r\n\r\n            $('.reel-video').each(function () {\r\n                if (this !== container.find('video')[0]) {\r\n                    try {\r\n                        if (!this.paused) {\r\n                            this.pause();\r\n                        }\r\n                        $(this).closest('.reel-img-container').find('.reel-thumb').show();\r\n                        $(this).closest('.reel-img-container').find('.reel-view-btn').html('<svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><polygon points=\"5 3 19 12 5 21 5 3\"\/><\/svg>');\r\n                    } catch (e) {\r\n                        console.warn('Error pausing video:', e);\r\n                    }\r\n                }\r\n            });\r\n\r\n            var video = container.find('video')[0];\r\n\r\n            if (!video) {\r\n                video = createAndPlayVideo(container, videoUrl, thumbnail.attr('src'));\r\n\r\n                video.addEventListener('loadeddata', function onLoad() {\r\n                    video.removeEventListener('loadeddata', onLoad);\r\n\r\n                    thumbnail.hide();\r\n                    $(video).show();\r\n\r\n                    var playPromise = video.play();\r\n                    if (playPromise !== undefined) {\r\n                        playPromise\r\n                            .then(function () {\r\n                                viewBtn.html('<svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect x=\"6\" y=\"4\" width=\"4\" height=\"16\"\/><rect x=\"14\" y=\"4\" width=\"4\" height=\"16\"\/><\/svg>');\r\n                                fullscreenBtn.show();\r\n                            })\r\n                            .catch(function (error) {\r\n                                console.warn('Playback failed:', error);\r\n                                thumbnail.show();\r\n                                $(video).hide();\r\n                                viewBtn.html('<svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><polygon points=\"5 3 19 12 5 21 5 3\"\/><\/svg>');\r\n                            });\r\n                    }\r\n                }, { once: true });\r\n            } else {\r\n                if (video.paused) {\r\n                    thumbnail.hide();\r\n                    $(video).show();\r\n\r\n                    var playPromise = video.play();\r\n                    if (playPromise !== undefined) {\r\n                        playPromise\r\n                            .then(function () {\r\n                                viewBtn.html('<svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect x=\"6\" y=\"4\" width=\"4\" height=\"16\"\/><rect x=\"14\" y=\"4\" width=\"4\" height=\"16\"\/><\/svg>');\r\n                                fullscreenBtn.show();\r\n                            })\r\n                            .catch(function (error) {\r\n                                console.warn('Playback failed:', error);\r\n                                thumbnail.show();\r\n                                $(video).hide();\r\n                                viewBtn.html('<svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><polygon points=\"5 3 19 12 5 21 5 3\"\/><\/svg>');\r\n                            });\r\n                    }\r\n                } else {\r\n                    try {\r\n                        video.pause();\r\n                        viewBtn.html('<svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><polygon points=\"5 3 19 12 5 21 5 3\"\/><\/svg>');\r\n                    } catch (e) {\r\n                        console.warn('Error pausing video:', e);\r\n                    }\r\n                }\r\n            }\r\n        });\r\n\r\n        $(document).on('play', '.reel-video', function () {\r\n            var container = $(this).closest('.reel-img-container');\r\n            var viewBtn = container.find('.reel-view-btn');\r\n            var fullscreenBtn = container.find('.reel-fullscreen-btn');\r\n\r\n            viewBtn.html('<svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect x=\"6\" y=\"4\" width=\"4\" height=\"16\"\/><rect x=\"14\" y=\"4\" width=\"4\" height=\"16\"\/><\/svg>');\r\n            fullscreenBtn.show();\r\n        });\r\n\r\n        $(document).on('pause', '.reel-video', function () {\r\n            var container = $(this).closest('.reel-img-container');\r\n            var viewBtn = container.find('.reel-view-btn');\r\n\r\n            viewBtn.html('<svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><polygon points=\"5 3 19 12 5 21 5 3\"\/><\/svg>');\r\n        });\r\n\r\n        $(document).on('ended', '.reel-video', function () {\r\n            var container = $(this).closest('.reel-img-container');\r\n            var viewBtn = container.find('.reel-view-btn');\r\n            var thumbnail = container.find('.reel-thumb');\r\n\r\n            $(this).hide();\r\n            thumbnail.show();\r\n            viewBtn.html('<svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><polygon points=\"5 3 19 12 5 21 5 3\"\/><\/svg>');\r\n        });\r\n    });\r\n\r\n    \/\/ Add enter key support for input (WordPress compatible)\r\n    $(document).ready(function () {\r\n        var inputElement = document.getElementById('input-url');\r\n        if (inputElement) {\r\n            inputElement.addEventListener('keypress', function (e) {\r\n                if (e.key === 'Enter') {\r\n                    var viewBtn = document.querySelector('.view-btn');\r\n                    if (viewBtn) {\r\n                        viewBtn.click();\r\n                    }\r\n                }\r\n            });\r\n        }\r\n    });\r\n\r\n})(jQuery);\r\n    <\/script>\r\n<\/div>\n<div class=\"tc-wp-tool-content\"><div class=\"wpc-scope-89\">\n<div class=\"tc-wp-content-root\" data-tc-wp-scope=\"1\" style=\"max-width:100%;box-sizing:border-box;isolation:isolate;min-width:0;position:relative;\">\n<div class=\"th\">\n<div class=\"th-inner\">\n<div class=\"th-hb\" style=\"margin-top: 4rem;\"><\/div>\n<\/div><section class=\"th-sec th-bg-wh\" aria-labelledby=\"th-h1\">\n<div class=\"th-inner\">\n<div class=\"th-hb\">\n<h2 id=\"th-h1\">How <span class=\"th-gx\">Instagram Thumbnail Viewer<\/span> Works<\/h2>\n<p>Browse thumbnails in high definition with our powerful preview tool designed for clarity and speed.<\/p>\n<\/div>\n<div class=\"th-g3\" data-th-grid=\"g1\">\n<article class=\"th-ca\" tabindex=\"0\" role=\"article\">\n<div class=\"th-ico\">\n<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z\"\/><circle cx=\"12\" cy=\"12\" r=\"3\"\/><\/svg>\n<\/div>\n<h3>HD Thumbnails<\/h3>\n<p>View thumbnails in full resolution with crisp detail and accurate color reproduction, giving you a pixel-perfect preview of every post before deciding which content deserves your attention.<\/p>\n<\/article>\n<article class=\"th-ca\" tabindex=\"0\" role=\"article\">\n<div class=\"th-ico\">\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>\n<\/div>\n<h3>Thumbnail Grid<\/h3>\n<p>Browse all thumbnails in grid layout for quick scanning and easy visual comparison, enabling you to evaluate multiple images simultaneously and spot patterns in visual branding.<\/p>\n<\/article>\n<article class=\"th-ca\" tabindex=\"0\" role=\"article\">\n<div class=\"th-ico\">\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\"\/><line x1=\"11\" y1=\"8\" x2=\"11\" y2=\"14\"\/><line x1=\"8\" y1=\"11\" x2=\"14\" y2=\"11\"\/><\/svg>\n<\/div>\n<h3>Zoom Preview<\/h3>\n<p>Zoom into thumbnail details to inspect image quality and content at pixel level, revealing subtle design elements and composition techniques that set professional visuals apart from amateur work.<\/p>\n<\/article>\n<article class=\"th-ca\" tabindex=\"0\" role=\"article\">\n<div class=\"th-ico\">\n<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\"\/><polyline points=\"7 10 12 15 17 10\"\/><line x1=\"12\" y1=\"15\" x2=\"12\" y2=\"3\"\/><\/svg>\n<\/div>\n<h3>Thumbnail Save<\/h3>\n<p>Download thumbnails to device with one click for offline reference and archival purposes, building a curated collection of thumbnails for mood boards, competitor analysis, and design inspiration.<\/p>\n<\/article>\n<article class=\"th-ca\" tabindex=\"0\" role=\"article\">\n<div class=\"th-ico\">\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>\n<\/div>\n<h3>Thumbnail Search<\/h3>\n<p>Search content by thumbnail preview to quickly locate specific posts and media items, saving time by visually identifying relevant content instead of scrolling through endless caption text.<\/p>\n<\/article>\n<article class=\"th-ca\" tabindex=\"0\" role=\"article\">\n<div class=\"th-ico\">\n<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><polygon points=\"12 2 2 7 12 12 22 7 12 2\"\/><polyline points=\"2 17 12 22 22 17\"\/><polyline points=\"2 12 12 17 22 12\"\/><\/svg>\n<\/div>\n<h3>Batch View<\/h3>\n<p>View multiple thumbnails at once with efficient multi-select and side-by-side display, streamlining your research workflow when comparing visual strategies across different profiles and campaigns.<\/p>\n<\/article>\n<\/div>\n<\/div>\n<\/section>\n\n<section class=\"th-sec th-bg-ow\" aria-labelledby=\"th-h2\">\n<div class=\"th-inner\">\n<div class=\"th-hb\">\n<h2 id=\"th-h2\">Key Benefits of <span class=\"th-gx\">Instagram Thumbnail Viewer<\/span><\/h2>\n<p>Discover why creators and marketers choose our thumbnail viewer for their daily research and analysis.<\/p>\n<\/div>\n<div class=\"th-g4\" data-th-grid=\"g2\">\n<article class=\"th-cb\" tabindex=\"0\" role=\"article\">\n<div class=\"th-ico\">\n<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z\"\/><\/svg>\n<\/div>\n<div class=\"th-cb-body\">\n<h3>Full Quality<\/h3>\n<p>See every thumbnail in original resolution without compression or quality degradation.<\/p>\n<\/div>\n<\/article>\n<article class=\"th-cb\" tabindex=\"0\" role=\"article\">\n<div class=\"th-ico\">\n<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94\"\/><path d=\"M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19\"\/><line x1=\"1\" y1=\"1\" x2=\"23\" y2=\"23\"\/><\/svg>\n<\/div>\n<div class=\"th-cb-body\">\n<h3>No Detection<\/h3>\n<p>View thumbnails without being detected leaving no trace or viewing history behind.<\/p>\n<\/div>\n<\/article>\n<article class=\"th-cb\" tabindex=\"0\" role=\"article\">\n<div class=\"th-ico\">\n<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M21 2v6h-6\"\/><path d=\"M3 12a9 9 0 0 1 15-6.7L21 8\"\/><path d=\"M3 22v-6h6\"\/><path d=\"M21 12a9 9 0 0 1-15 6.7L3 16\"\/><\/svg>\n<\/div>\n<div class=\"th-cb-body\">\n<h3>Unlimited Views<\/h3>\n<p>No restrictions on thumbnail viewing browse as many thumbnails as you need without limits.<\/p>\n<\/div>\n<\/article>\n<article class=\"th-cb\" tabindex=\"0\" role=\"article\">\n<div class=\"th-ico\">\n<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><rect x=\"3\" y=\"11\" width=\"18\" height=\"11\" rx=\"2\"\/><path d=\"M7 11V7a5 5 0 0 1 9.9-1\"\/><\/svg>\n<\/div>\n<div class=\"th-cb-body\">\n<h3>Free Access<\/h3>\n<p>All thumbnail features at no cost with no premium tiers credit cards or hidden fees.<\/p>\n<\/div>\n<\/article>\n<article class=\"th-cb\" tabindex=\"0\" role=\"article\">\n<div class=\"th-ico\">\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>\n<\/div>\n<div class=\"th-cb-body\">\n<h3>No Login<\/h3>\n<p>View without Instagram account no sign-up required and no personal information needed.<\/p>\n<\/div>\n<\/article>\n<article class=\"th-cb\" tabindex=\"0\" role=\"article\">\n<div class=\"th-ico\">\n<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><polygon points=\"13 2 3 14 12 14 11 22 21 10 12 10\"\/><\/svg>\n<\/div>\n<div class=\"th-cb-body\">\n<h3>Quick Load<\/h3>\n<p>Thumbnails load instantly with optimized delivery and minimal latency every single time.<\/p>\n<\/div>\n<\/article>\n<article class=\"th-cb\" tabindex=\"0\" role=\"article\">\n<div class=\"th-ico\">\n<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><line x1=\"2\" y1=\"12\" x2=\"22\" y2=\"12\"\/><path d=\"M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z\"\/><\/svg>\n<\/div>\n<div class=\"th-cb-body\">\n<h3>Any Profile<\/h3>\n<p>Works with all public profiles giving you access to thumbnails across the entire platform.<\/p>\n<\/div>\n<\/article>\n<article class=\"th-cb\" tabindex=\"0\" role=\"article\">\n<div class=\"th-ico\">\n<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z\"\/><line x1=\"12\" y1=\"11\" x2=\"12\" y2=\"17\"\/><polyline points=\"9 14 12 17 15 14\"\/><\/svg>\n<\/div>\n<div class=\"th-cb-body\">\n<h3>Bulk Export<\/h3>\n<p>Export multiple thumbnails at once saving time with batch download and organized file output.<\/p>\n<\/div>\n<\/article>\n<\/div>\n<\/div>\n<\/section>\n\n<section class=\"th-sec th-bg-wh\" aria-labelledby=\"th-h3\">\n<div class=\"th-inner\">\n<div class=\"th-hb\">\n<h2 id=\"th-h3\">Real Examples of <span class=\"th-gx\">Instagram Thumbnail Viewer<\/span><\/h2>\n<p>See how professionals use thumbnail previews to improve their content strategy and visual branding.<\/p>\n<\/div>\n<div class=\"th-g3\" data-th-grid=\"g3\">\n<article class=\"th-ca\" tabindex=\"0\" role=\"article\">\n<div class=\"th-ico\">\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>\n<\/div>\n<h3>Design Study<\/h3>\n<p>Study thumbnail design strategies used by top creators to improve your own visual content, analyzing what color schemes, compositions, and text overlays drive the highest click-through rates.<\/p>\n<\/article>\n<article class=\"th-ca\" tabindex=\"0\" role=\"article\">\n<div class=\"th-ico\">\n<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M4 19.5A2.5 2.5 0 0 1 6.5 17H20\"\/><path d=\"M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z\"\/><\/svg>\n<\/div>\n<h3>Cover Research<\/h3>\n<p>Research best thumbnail covers across niches to identify patterns that drive higher engagement, uncovering universal design principles that consistently capture audience attention and boost interaction.<\/p>\n<\/article>\n<article class=\"th-ca\" tabindex=\"0\" role=\"article\">\n<div class=\"th-ico\">\n<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z\"\/><circle cx=\"12\" cy=\"12\" r=\"3\"\/><\/svg>\n<\/div>\n<h3>Content Preview<\/h3>\n<p>Preview content through thumbnails before clicking to quickly assess relevance and quality, making your browsing more efficient by filtering content based on visual appeal and topic indicators.<\/p>\n<\/article>\n<article class=\"th-ca\" tabindex=\"0\" role=\"article\">\n<div class=\"th-ico\">\n<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><circle cx=\"13.5\" cy=\"6.5\" r=\"1.5\"\/><circle cx=\"17\" cy=\"10.5\" r=\"1.5\"\/><circle cx=\"8.5\" cy=\"7.5\" r=\"1.5\"\/><circle cx=\"6.5\" cy=\"12.5\" r=\"1.5\"\/><path d=\"M12 2a10 10 0 0 0-10 10 10 10 0 0 0 10 10 4 4 0 0 0 4-4 4 4 0 0 0-1.17-2.83 4 4 0 0 1 2.83-6.94A10 10 0 0 1 22 10a10 10 0 0 0-10-10z\"\/><\/svg>\n<\/div>\n<h3>Brand Style<\/h3>\n<p>Analyze brand thumbnail consistency across accounts to understand successful visual identity, learning how top brands maintain cohesive aesthetics that make their content instantly recognizable.<\/p>\n<\/article>\n<article class=\"th-ca\" tabindex=\"0\" role=\"article\">\n<div class=\"th-ico\">\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>\n<\/div>\n<h3>Trend Watch<\/h3>\n<p>See thumbnail trends across niches to stay ahead of visual content strategies and styles, ensuring your cover designs remain fresh, competitive, and aligned with evolving platform best practices.<\/p>\n<\/article>\n<article class=\"th-ca\" tabindex=\"0\" role=\"article\">\n<div class=\"th-ico\">\n<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><polygon points=\"12 2 2 7 12 12 22 7 12 2\"\/><polyline points=\"2 17 12 22 22 17\"\/><polyline points=\"2 12 12 17 22 12\"\/><\/svg>\n<\/div>\n<h3>Portfolio View<\/h3>\n<p>View creative thumbnail portfolios from top artists and photographers for inspiration and ideas, discovering innovative visual approaches that can elevate your own content presentation.<\/p>\n<\/article>\n<\/div>\n<\/div>\n<\/section>\n\n<\/div>\n<noscript><\/noscript>\n<\/div>\n<\/div><\/div>\n<\/section>\n<\/div>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":3,"featured_media":0,"parent":5338,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"template-homepage.php","meta":{"footnotes":""},"class_list":["post-5579","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/viiewerr.com\/wp-json\/wp\/v2\/pages\/5579","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=5579"}],"version-history":[{"count":2,"href":"https:\/\/viiewerr.com\/wp-json\/wp\/v2\/pages\/5579\/revisions"}],"predecessor-version":[{"id":5674,"href":"https:\/\/viiewerr.com\/wp-json\/wp\/v2\/pages\/5579\/revisions\/5674"}],"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=5579"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}