1<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><title>RankingRun - Global Leaderboard</title><meta name="description" content="Compete with runners worldwide!"/><link rel="icon" type="image/svg+xml" href="/favicon.svg"/><link rel="manifest" href="/manifest.json"/><link rel="preconnect" href="https://fonts.googleapis.com"/><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin="anonymous"/><link rel="modulepreload" href="/assets/entry.client-zDRVL4Si.js"/><link rel="modulepreload" href="/assets/dist-BJAFxcYu.js"/><link rel="modulepreload" href="/assets/jsx-runtime-DOhyBulg.js"/><link rel="modulepreload" href="/assets/root-Ba3xVD5v.js"/><link rel="modulepreload" href="/assets/store-Cwy2aUvL.js"/><link rel="modulepreload" href="/assets/ranking-BSeUxMpU.js"/><link rel="stylesheet" href="/assets/root-Ch7H8VqF.css"/><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap"/>
1<script> 2 (function() { 3 try { 4 var theme = localStorage.getItem('theme'); 5 var supportDarkMode = window.matchMedia('(prefers-color-scheme: dark)').matches === true; 6 if (theme === 'dark' || (!theme && supportDarkMode)) { 7 document.documentElement.classList.add('dark'); 8 } else { 9 document.documentElement.classList.remove('dark'); 10 } 11 } catch (e) {} 12 })(); 13 </script>
13</head><body class="antialiased"><header class="sticky top-0 z-50 bg-white/80 dark:bg-slate-900/80 backdrop-blur-md border-b border-slate-200 dark:border-slate-800 transition-colors duration-300"><nav class="max-w-4xl mx-auto px-4 h-16 flex items-center justify-between"><a aria-current="page" class="text-xl font-extrabold tracking-tighter text-blue-600 active" href="/" data-discover="true">RankingRun</a><div class="flex gap-2 items-center font-medium text-sm"><button class="p-2 rounded-full bg-slate-100 text-slate-600 hover:bg-slate-200 transition-colors dark:bg-slate-800 dark:text-slate-300 dark:hover:bg-slate-700 flex items-center justify-center" aria-label="Toggle Dark Mode">âï¸</button><button class="p-2 rounded-full bg-slate-100 text-slate-600 hover:bg-slate-200 hover:rotate-180 transition-all duration-500 dark:bg-slate-800 dark:text-slate-300 dark:hover:bg-slate-700 flex items-center justify-center group" aria-label="Refresh ranking"><svg xmlns="http://www.w3.org/2000/svg" class="w-5 h-5 group-active:scale-90 transition-transform" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2.5" d="M4 4v5h5M20 20v-5h-5M4 13a8.1 8.1 0 0015.5 2m.5-5a8.1 8.1 0 00-15.5-2"></path></svg></button></div></nav></header><main class="min-h-[calc(100vh-160px)]"><main class="container-custom py-12 min-h-screen"><section class="text-center mb-12"><h1 class="text-4xl font-extrabold text-slate-900 dark:text-white tracking-tight mb-3">Global<!-- --> <span class="text-blue-600">Leaderboard</span></h1><p class="text-slate-500 font-medium">Check fair rankings verified by AI</p></section><div class="sticky top-16 z-40 bg-white/95 dark:bg-slate-900/95 backdrop-blur-md border-b border-slate-100 dark:border-slate-800 mb-8 -mx-4 px-4 py-3 transition-colors duration-300"><div class="flex gap-2 sm:gap-3 overflow-x-auto no-scrollbar md:overflow-visible justify-start md:justify-center md:flex-wrap px-4 pb-1"><button class="flex items-center gap-1.5 sm:gap-2 px-4 sm:px-6 py-2 rounded-full text-xs sm:text-sm font-black transition-all whitespace-nowrap btn-active-scale 14 bg-blue-600 text-white shadow-xl shadow-blue-500/20 dark:shadow-none scale-105"><span class="text-sm sm:text-base">ðââï¸</span><span class="uppercase tracking-tighter">Running</span><span class="ml-1 text-[10px] font-black px-1.5 py-0.5 rounded-md bg-white/20 text-white">0</span></button><button class="flex items-center gap-1.5 sm:gap-2 px-4 sm:px-6 py-2 rounded-full text-xs sm:text-sm font-black transition-all whitespace-nowrap btn-active-scale 15 bg-slate-100 text-slate-500 hover:bg-slate-200 dark:bg-slate-800 dark:text-slate-400 dark:hover:bg-slate-700"><span class="text-sm sm:text-base">ð¶ââï¸</span><span class="uppercase tracking-tighter">Walking</span><span class="ml-1 text-[10px] font-black px-1.5 py-0.5 rounded-md bg-slate-200 dark:bg-slate-700 text-slate-500 dark:text-slate-400">0</span></button><button class="flex items-center gap-1.5 sm:gap-2 px-4 sm:px-6 py-2 rounded-full text-xs sm:text-sm font-black transition-all whitespace-nowrap btn-active-scale 16 bg-slate-100 text-slate-500 hover:bg-slate-200 dark:bg-slate-800 dark:text-slate-400 dark:hover:bg-slate-700"><span class="text-sm sm:text-base">â°ï¸</span><span class="uppercase tracking-tighter">Hiking</span><span class="ml-1 text-[10px] font-black px-1.5 py-0.5 rounded-md bg-slate-200 dark:bg-slate-700 text-slate-500 dark:text-slate-400">0</span></button><button class="flex items-center gap-1.5 sm:gap-2 px-4 sm:px-6 py-2 rounded-full text-xs sm:text-sm font-black transition-all whitespace-nowrap btn-active-scale 17 bg-slate-100 text-slate-500 hover:bg-slate-200 dark:bg-slate-800 dark:text-slate-400 dark:hover:bg-slate-700"><span class="text-sm sm:text-base">ðââï¸</span><span class="uppercase tracking-tighter">Swimming</span><span class="ml-1 text-[10px] font-black px-1.5 py-0.5 rounded-md bg-slate-200 dark:bg-slate-700 text-slate-500 dark:text-slate-400">0</span></button><button class="flex items-center gap-1.5 sm:gap-2 px-4 sm:px-6 py-2 rounded-full text-xs sm:text-sm font-black transition-all whitespace-nowrap btn-active-scale 18 bg-slate-100 text-slate-500 hover:bg-slate-200 dark:bg-slate-800 dark:text-slate-400 dark:hover:bg-slate-700"><span class="text-sm sm:text-base">ð</span><span class="uppercase tracking-tighter">
18Treadmill</span><span class="ml-1 text-[10px] font-black px-1.5 py-0.5 rounded-md bg-slate-200 dark:bg-slate-700 text-slate-500 dark:text-slate-400">0</span></button></div></div><div class="flex flex-col md:grid md:grid-cols-3 gap-4 md:gap-6 mb-12 items-end"></div><div class="flex flex-col gap-8 mb-24"><h2 class="text-2xl font-black text-slate-800 dark:text-white px-4">Top<!-- --> <span class="text-blue-600">Ranked Feeds</span></h2><div class="py-20 text-center text-slate-400 font-medium italic">No data available.</div></div><div class="fixed bottom-6 right-4 left-4 md:left-auto md:right-8 z-[60] flex flex-col items-stretch md:items-end gap-3 transition-all duration-300 md:translate-y-0"><div class="flex gap-2 w-full md:w-auto"><button class="flex-1 md:flex-none flex items-center justify-center gap-3 bg-blue-600 text-white px-8 py-5 rounded-3xl font-black shadow-2xl shadow-blue-600/40 btn-active-scale"><span class="text-2xl">â¡</span><span class="uppercase tracking-tighter">New Activity</span></button></div></div></main></main><footer class="bg-slate-50 dark:bg-slate-900/50 border-t border-slate-200 dark:border-slate-800 py-12 transition-colors duration-300"><div class="max-w-4xl mx-auto px-4"><div class="flex flex-col md:flex-row justify-between items-center gap-6"><div class="text-center md:text-left"><h2 class="text-lg font-black text-blue-600 tracking-tighter">RankingRun</h2><p class="text-xs text-slate-400 dark:text-slate-500 mt-1 font-medium">© 2026 RankingRun. All rights reserved.</p></div><div class="flex gap-6 text-sm font-bold text-slate-500 dark:text-slate-400"><a class="hover:text-blue-600 transition-colors" href="/terms" data-discover="true">Terms</a><a class="hover:text-blue-600 transition-colors" href="/privacy" data-discover="true">Privacy</a></div></div><div class="mt-8 text-[10px] text-slate-400 dark:text-slate-600 text-center uppercase tracking-widest font-black">Global Compliance: GDPR & CCPA Ready</div></div></footer>
18<script>((c, u) => { 19 if (!window.history.state || !window.history.state.key) { 20 let d = Math.random().toString(32).slice(2); 21 window.history.replaceState({ key: d }, ""); 22 } 23 try { 24 let h = JSON.parse(sessionStorage.getItem(c) || "{}")[u || window.history.state.key]; 25 typeof h == "number" && window.scrollTo(0, h); 26 } catch (d) { 27 console.error(d), sessionStorage.removeItem(c); 28 } 29 })("react-router-scroll-positions", null)</script>
29<script>window.__reactRouterContext = {"basename":"/","future":{"unstable_optimizeDeps":false,"unstable_passThroughRequests":false,"unstable_subResourceIntegrity":false,"unstable_trailingSlashAwareDataRequests":false,"unstable_previewServerPrerendering":false,"v8_middleware":false,"v8_splitRouteModules":false,"v8_viteEnvironmentApi":false},"routeDiscovery":{"mode":"lazy","manifestPath":"/__manifest"},"ssr":true,"isSpaMode":false};window.__reactRouterContext.stream = new ReadableStream({start(controller){window.__reactRouterContext.streamController = controller;}}).pipeThrough(new TextEncoderStream());</script>
29<script type="module" async="">; 30import * as route0 from "/assets/root-Ba3xVD5v.js"; 31import * as route1 from "/assets/ranking-BSeUxMpU.js"; 32 window.__reactRouterManifest = { 33 "entry": { 34 "module": "/assets/entry.client-zDRVL4Si.js", 35 "imports": [ 36 "/assets/dist-BJAFxcYu.js", 37 "/assets/jsx-runtime-DOhyBulg.js" 38 ], 39 "css": [] 40 }, 41 "routes": { 42 "root": { 43 "id": "root", 44 "path": "", 45 "hasAction": false, 46 "hasLoader": false, 47 "hasClientAction": false, 48 "hasClientLoader": false, 49 "hasClientMiddleware": false, 50 "hasDefaultExport": true, 51 "hasErrorBoundary": true, 52 "module": "/assets/root-Ba3xVD5v.js", 53 "imports": [ 54 "/assets/dist-BJAFxcYu.js", 55 "/assets/jsx-runtime-DOhyBulg.js", 56 "/assets/store-Cwy2aUvL.js" 57 ], 58 "css": [ 59 "/assets/root-Ch7H8VqF.css" 60 ] 61 }, 62 "routes/ranking": { 63 "id": "routes/ranking", 64 "parentId": "root", 65 "index": true, 66 "hasAction": false, 67 "hasLoader": false, 68 "hasClientAction": false, 69 "hasClientLoader": false, 70 "hasClientMiddleware": false, 71 "hasDefaultExport": true, 72 "hasErrorBoundary": false, 73 "module": "/assets/ranking-BSeUxMpU.js", 74 "imports": [ 75 "/assets/dist-BJAFxcYu.js", 76 "/assets/jsx-runtime-DOhyBulg.js", 77 "/assets/store-Cwy2aUvL.js" 78 ], 79 "css": [] 80 } 81 }, 82 "url": "/assets/manifest-e3a52046.js", 83 "version": "e3a52046" 84}; 85 window.__reactRouterRouteModules = {"root":route0,"routes/ranking":route1}; 86 87import("/assets/entry.client-zDRVL4Si.js");</script>
87<script> 88 window.__LOGGING_APP_NAME__ = "rankingrun"; 89 window.__LOGGING_ENV__ = "production"; 90 window.__LOGGING_COLLECTOR_URL__ = "https://payment.cloudj.workers.dev/api/v1/logs"; 91 window.__LOGGING_API_KEY__ = "bot123"; 92 </script>
92<script src="https://payment.cloudj.workers.dev/js/logger.js" defer=""></script>
92<!--$-->
92<script>window.__reactRouterContext.streamController.enqueue("[{\"_1\":2,\"_3\":-5,\"_4\":-5},\"loaderData\",{},\"actionData\",\"errors\"]\n");</script>
92<!--$-->
92<script>window.__reactRouterContext.streamController.close();</script>
92<!--/$--><!--/$--></body></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.