1<!doctype html> 2<html lang="en"> 3 <head> 4 <meta charset="UTF-8" /> 5 <meta name="viewport" content="width=device-width, initial-scale=1.0" /> 6 <meta name="color-scheme" content="dark light" /> 7 <style> 8 /* Prevent slow color/fill/stroke fades on first paint (iOS Safari) */ 9 html.preload *, html.preload *::before, html.preload *::after { transition: none !important; } 10 </style> 11
11<script nonce="39aYIeTT+HcZZaBahxobpg=="> 12 (function () { 13 try { 14 var ua = navigator.userAgent || ''; 15 var isSafari = /safari/i.test(ua) && !/chrome|chromium|android|crios|fxios|edgios/i.test(ua); 16 var isIOSWebKit = /iPad|iPhone|iPod/.test(ua) || (navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1); 17 if (isIOSWebKit) { 18 document.documentElement.classList.add('ios-webkit'); 19 } 20 var zoomResetTimer = null; 21 var getViewportScale = function () { 22 var vv = window.visualViewport; 23 if (!vv) return 1; 24 var scale = Number(vv.scale || 1); 25 return Number.isFinite(scale) ? scale : 1; 26 }; 27 var isActivelyZoomed = function () { 28 return Math.abs(getViewportScale() - 1) > 0.01; 29 }; 30 var setZooming = function (isZooming) { 31 if (isZooming && zoomResetTimer) { 32 clearTimeout(zoomResetTimer); 33 zoomResetTimer = null; 34 } 35 document.documentElement.classList.toggle('zooming', !!isZooming); 36 if (isSafari) { 37 document.documentElement.classList.toggle('safari-zooming', !!isZooming); 38 } 39 }; 40 var scheduleZoomEnd = function () { 41 if (zoomResetTimer) clearTimeout(zoomResetTimer); 42 zoomResetTimer = setTimeout(function () { 43 zoomResetTimer = null; 44 setZooming(false); 45 }, 220); 46 }; 47 var onViewportChange = function () { 48 // Enter lightweight mode only when scale actually differs from 100%. 49 if (isActivelyZoomed()) { 50 setZooming(true); 51 scheduleZoomEnd(); 52 } else { 53 if (zoomResetTimer) { 54 clearTimeout(zoomResetTimer); 55 zoomResetTimer = null; 56 } 57 setZooming(false); 58 } 59 }; 60 61 if (window.visualViewport && window.visualViewport.addEventListener) { 62 window.visualViewport.addEventListener('resize', onViewportChange, { passive: true }); 63 } 64 65 if (isSafari) { 66 document.documentElement.classList.add('safari'); 67 68 // Fallback hooks for iOS Safari gesture events. 69 window.addEventListener('gesturestart', function () { setZooming(true); }, { passive: true }); 70 window.addEventListener('gesturechange', function () { setZooming(true); scheduleZoomEnd(); }, { passive: true }); 71 window.addEventListener('gestureend', function () { scheduleZoomEnd(); }, { passive: true }); 72 } 73 var saved = localStorage.getItem('theme'); 74 var prefersDark = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches; 75 var theme = saved || (prefersDark ? 'dark' : 'light'); 76 document.documentElement.setAttribute('data-theme', theme); 77 document.documentElement.classList.add('preload'); 78 // Set immediate baseline colors to avoid initial black flash 79 if (theme === 'dark') { 80 document.documentElement.style.backgroundColor = '#0a0a0f'; 81 document.documentElement.style.color = '#f8fafc'; 82 } else { 83 document.documentElement.style.backgroundColor = '#fafafa'; 84 document.documentElement.style.color = '#1e293b'; 85 } 86 } catch (e) {} 87 })(); 88 </script>
88 89 90 <link rel="icon" type="image/svg+xml" href="/assets/favicon-kzYmXLFM.svg" /> 91 <link rel="manifest" href="/manifest.webmanifest" /> 92 <link rel="apple-touch-icon" href="/icons/apple-touch-icon-180.png" /> 93 <meta name="theme-color" content="#0a0a0f" /> 94 <meta name="apple-mobile-web-app-capable" content="yes" /> 95 <meta name="mobile-web-app-capable" content="yes" /> 96 <meta name="apple-mobile-web-app-title" content="Superhero" /> 97
97<script type="module" nonce="39aYIeTT+HcZZaBahxobpg==" crossorigin src="/assets/main-DIRVCRVk.js"></script>
97 98 <link rel="modulepreload" crossorigin href="/assets/aeternity-Bb8AAdSJ.js"> 99 <link rel="modulepreload" crossorigin href="/assets/charts-Dl5COngX.js"> 100 <link rel="modulepreload" crossorigin href="/assets/web3-pqzLatyd.js"> 101 <link rel="stylesheet" crossorigin href="/assets/main-BDCeojGn.css"> 102 103<title>Superhero.com â The AllâinâOne Social + Crypto App</title> 104<meta name="description" content="Discover crypto-native conversations, trending tokens, and on-chain activity. Join the æternity-powered social network."> 105<link rel="canonical" href="http://superhero.com/"> 106<meta property="og:site_name" content="Superhero"> 107<meta property="og:type" content="website"> 108<meta property="og:title" content="Superhero.com â The AllâinâOne Social + Crypto App"> 109<meta property="og:description" content="Discover crypto-native conversations, trending tokens, and on-chain activity. Join the æternity-powered social network."> 110<meta property="og:url" content="http://superhero.com/"> 111<meta property="og:image" content="http://superhero.com/og-default.png"> 112<meta property="og:image:width" content="1200"> 113<meta property="og:image:height" content="630"> 114<meta name="twitter:card" content="summary_large_image"> 115<meta name="twitter:title" content="Superhero.com â The AllâinâOne Social + Crypto App"> 116<meta name="twitter:description" content="Discover crypto-native conversations, trending tokens, and on-chain activity. Join the æternity-powered social network."> 117<meta name="twitter:image" content="http://superhero.com/og-default.png">
118<script type="application/ld+json">{"@context":"https:\u002F\u002Fschema.org","@type":"WebSite","name":"Superhero","url":"http:\u002F\u002Fsuperhero.com"}</script>
118 119</head> 120 <body> 121 <div id="root"></div> 122
122<script nonce="39aYIeTT+HcZZaBahxobpg=="> 123 // Synchronous runtime configuration injected at container start via envsubst 124 window.__SUPERCONFIG__ = { 125 BACKEND_URL: '', 126 SUPERHERO_API_URL: '', 127 NODE_URL: '', 128 WALLET_URL: '', 129 MIDDLEWARE_URL: '', 130 DEX_BACKEND_URL: '', 131 MAINNET_DEX_BACKEND_URL: '', 132 TESTNET_DEX_BACKEND_URL: '', 133 CONTRACT_V3_ADDRESS: '', 134 POPULAR_FEED_ENABLED: '', 135 JITSI_DOMAIN: '', 136 GOVERNANCE_API_URL: '', 137 GOVERNANCE_CONTRACT_ADDRESS: '', 138 EXPLORER_URL: '', 139 NOSTR_RELAY_URLS: '', 140 }; 141 </script>
141 142
142<script nonce="39aYIeTT+HcZZaBahxobpg=="> 143 // Re-enable transitions after first paint 144 window.addEventListener('load', function () { 145 requestAnimationFrame(function () { 146 document.documentElement.classList.remove('preload'); 147 document.documentElement.style.backgroundColor = ''; 148 document.documentElement.style.color = ''; 149 }); 150 }); 151 </script>
151 152 </body> 153 </html> 154 155
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.