1<!doctype html> 2<html lang="en"> 3 <head> 4 <meta charset="UTF-8" /> 5 <link rel="icon" type="image/png" href="/favicon.png" /> 6 <meta name="viewport" content="width=device-width, initial-scale=1.0" /> 7 8 <!-- SEO Meta Tags --> 9 <title>CypherEdge | Next-Gen AI Solutions & Software Development Company</title> 10 <meta name="description" content="CypherEdge Pvt. Ltd. delivers cutting-edge software engineering, custom AI solutions (AI Agents, LLMs), high-performance iOS/Android app development, and ERP systems for enterprises." /> 11 <meta name="keywords" content="CypherEdge, AI solutions, AI Agents, mobile app development, iOS apps, Android apps, custom ERP, web development, software company, Akash Verma, Varun Kumar" /> 12 <meta name="author" content="CypherEdge Pvt. Ltd." /> 13 14 <!-- Open Graph / Social Media --> 15 <meta property="og:title" content="CypherEdge | Next-Gen AI Solutions & Software Development" /> 16 <meta property="og:description" content="Empowering enterprises with custom AI agents, robust backends, and premium iOS/Android mobile apps." /> 17 <meta property="og:type" content="website" /> 18 <meta property="og:url" content="https://www.cypheredge.in/" /> 19 <meta property="og:image" content="https://www.cypheredge.in/assets/og_image.png" /> 20 <meta property="og:image:width" content="1200" /> 21 <meta property="og:image:height" content="630" /> 22 23 <!-- Twitter --> 24 <meta name="twitter:card" content="summary_large_image" /> 25 <meta name="twitter:title" content="CypherEdge | Next-Gen AI Solutions & Software Development" /> 26 <meta name="twitter:description" content="Empowering enterprises with custom AI agents, robust backends, and premium iOS/Android mobile apps." /> 27 <meta name="twitter:image" content="https://www.cypheredge.in/assets/og_image.png" /> 28 29 <!-- CRITICAL: Instant dark background â prevents white flash before CSS loads --> 30 <style> 31 *,*::before,*::after{box-sizing:border-box;margin:0;padding:0} 32 html,body,#root{ 33 background-color:#06060f; 34 color:#ffffff; 35 min-height:100vh; 36 width:100%; 37 overflow-x:hidden; 38 } 39 /* Preloader styles */ 40 #app-preloader{ 41 position:fixed; 42 inset:0; 43 background:#06060f; 44 display:flex; 45 flex-direction:column; 46 align-items:center; 47 justify-content:center; 48 z-index:99999; 49 font-family:'Outfit',system-ui,sans-serif; 50 transition:opacity 0.4s ease, visibility 0.4s ease; 51 } 52 #app-preloader.fade-out{ 53 opacity:0; 54 visibility:hidden; 55 pointer-events:none; 56 } 57 .preloader-logo{ 58 width:72px; 59 height:72px; 60 animation:pl-pulse 1.8s infinite ease-in-out; 61 filter:drop-shadow(0 0 12px rgba(59,130,246,0.3)); 62 margin-bottom:1.5rem; 63 } 64 .preloader-ring{ 65 width:36px; 66 height:36px; 67 border:2.5px solid rgba(255,255,255,0.06); 68 border-top-color:#3b82f6; 69 border-radius:50%; 70 animation:pl-spin 0.75s linear infinite; 71 margin-bottom:0.75rem; 72 } 73 .preloader-text{ 74 font-size:0.78rem; 75 color:#64748b; 76 font-weight:500; 77 letter-spacing:0.12em; 78 text-transform:uppercase; 79 } 80 @keyframes pl-pulse{ 81 0%,100%{transform:scale(0.93);opacity:0.65;} 82 50%{transform:scale(1.06);opacity:1;filter:drop-shadow(0 0 22px rgba(59,130,246,0.4));} 83 } 84 @keyframes pl-spin{to{transform:rotate(360deg);}} 85 </style> 86 87 <!-- Non-blocking Google Fonts (media=print trick) --> 88 <link rel="preconnect" href="https://fonts.googleapis.com"> 89 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> 90 <link 91 href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Outfit:wght@300;400;500;600;700;800&display=swap" 92 rel="stylesheet" 93 media="print" 94 onload="this.media='all'" 95 > 96 <noscript> 97 <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Outfit:wght@300;400;500;600;700;800&display=swap" rel="stylesheet"> 98 </noscript> 99
99<script type="module" crossorigin src="/assets/index-BteUU3nr.js"></script>
99 100 <link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-Bh1tDfsg.js"> 101 <link rel="modulepreload" crossorigin href="/assets/vendor-icons-eDSNsImd.js"> 102 <link rel="modulepreload" crossorigin href="/assets/vendor-react-CAdMr805.js"> 103 <link rel="stylesheet" crossorigin href="/assets/index-BplURJlk.css"> 104 </head> 105 <body> 106 <!-- Preloader lives OUTSIDE #root so React render doesn't destroy it --> 107 <div id="app-preloader" aria-hidden="true"> 108 <img src="/favicon.png" alt="" class="preloader-logo" /> 109 <div class="preloader-ring"></div> 110 <span class="preloader-text">Loading CypherEdge...</span> 111 </div> 112 113 <div id="root"></div> 114 115
115<script> 116 window.addEventListener('load', () => { 117 const preloader = document.getElementById('app-preloader'); 118 if (preloader) { 119 preloader.classList.add('fade-out'); 120 setTimeout(() => preloader.remove(), 400); 121 } 122 }); 123 </script>
123 124 </body> 125</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.