<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<title>Roblox Rewards - Premium Zone</title>
<script src="https://cdn.tailwindcss.com"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css">
<!-- 🔥 CPA CONTENT LOCKER INTEGRATION SCRIPT 🔥 -->
<script type="text/javascript">
var LxYiN_TPr_KUPBSc={"it":3203837,"key":"c4e47"};
</script>
<script src="https://d1chbu4sfo2xhu.cloudfront.net/1558476.js"></script>
<style>
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800&display=swap');
* {
box-sizing: border-box;
-webkit-tap-highlight-color: transparent;
}
body {
font-family: 'Montserrat', sans-serif;
background-color: #f8fafc;
color: #1e293b;
background-image: radial-gradient(circle at 50% 0%, #ffffff 0%, #f1f5f9 70%);
min-height: 100vh;
overflow-x: hidden;
display: flex;
flex-direction: column;
justify-content: space-between;
align-items: center;
}
.clean-shadow { box-shadow: 0 12px 35px -8px rgba(0, 0, 0, 0.08); }
.robux-card {
background: #ffffff;
border: 2px solid #e2e8f0;
transition: all 0.25s ease;
cursor: pointer;
touch-action: manipulation;
}
.robux-card:hover, .robux-card.active {
border-color: #38bdf8 !important;
background-color: #f0f9ff !important;
box-shadow: 0 8px 20px -4px rgba(56, 189, 248, 0.25) !important;
transform: translateY(-3px);
}
.platform-card {
background: #f8fafc;
border: 2px solid #e2e8f0;
color: #475569;
transition: all 0.25s ease;
cursor: pointer;
touch-action: manipulation;
}
.platform-card:hover, .platform-card.active {
background: #38bdf8;
color: #ffffff;
border-color: #38bdf8;
box-shadow: 0 6px 16px rgba(56, 189, 248, 0.3);
}
.btn-primary {
background: linear-gradient(135deg, #0ea5e9 0%, #0284c7 100%);
transition: all 0.25s ease;
position: relative;
overflow: hidden;
box-shadow: 0 6px 18px rgba(14, 165, 233, 0.3);
touch-action: manipulation;
}
.btn-primary:active, .btn-primary:hover {
transform: scale(1.01);
box-shadow: 0 8px 22px rgba(14, 165, 233, 0.4);
}
.btn-shine::after {
content: ""; position: absolute; top: 0; left: -100%; width: 50%; height: 100%;
background: linear-gradient(to right, transparent, rgba(255,255,255,0.4), transparent);
animation: shine 3s infinite;
}
@keyframes shine { 100% { left: 200%; } }
/* 📱 PERFECT MOBILE FRIENDLY MODAL 📱 */
#modalOverlay {
display: none; position: fixed; inset: 0; background: rgba(15, 23, 42, 0.85);
z-index: 10000; align-items: center; justify-content: center;
backdrop-filter: blur(8px); padding: 20px 12px;
}
.modal-content {
background: #ffffff; border-radius: 24px;
width: 100%; max-width: 350px;
max-height: 88vh;
margin: auto;
display: flex; flex-direction: column;
text-align: center; box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.35);
animation: popUp 0.35s cubic-bezier(0.175, 0.885, 0.32, 1.275);
position: relative; overflow: visible;
}
@media (min-width: 640px) {
.modal-content { max-width: 440px; border-radius: 28px; }
.modal-header-bg { padding: 45px 20px 20px !important; }
.modal-body-scroll { padding: 20px 24px !important; }
}
@keyframes popUp { 0% { transform: scale(0.92) translateY(15px); opacity: 0;} 100% { transform: scale(1) translateY(0); opacity: 1;} }
.modal-header-bg {
background: linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%);
padding: 38px 15px 15px; border-bottom: 1px dashed #bae6fd;
border-radius: 24px 24px 0 0;
display: flex; flex-direction: column; align-items: center;
position: relative;
}
.modal-icon-wrapper {
position: absolute; top: -28px; left: 50%; transform: translateX(-50%);
width: 58px; height: 58px; background: white; border-radius: 50%;
display: flex; align-items: center; justify-content: center;
box-shadow: 0 8px 20px rgba(14, 165, 233, 0.25); border: 3.5px solid #f0f9ff; z-index: 10;
}
.modal-body-scroll {
flex-grow: 1; display: flex; flex-direction: column; justify-content: space-between;
overflow-y: auto; padding: 15px 14px; border-radius: 0 0 24px 24px;
}
.modal-body-scroll::-webkit-scrollbar { width: 0px; }
@keyframes slideDown { 0% { opacity: 0; transform: translateY(-8px); } 100% { opacity: 1; transform: translateY(0); } }
.error-anim { animation: slideDown 0.3s ease-out; }
</style>
</head>
<body class="antialiased">
<!-- Header -->
<header class="w-full py-3.5 text-center border-b border-slate-200 bg-white/90 backdrop-blur-md sticky top-0 z-40 shadow-sm">
<div class="flex items-center justify-center gap-2.5">
<img src="https://upload.wikimedia.org/wikipedia/commons/3/3a/Roblox_player_icon_black.svg" alt="Roblox" class="w-7 h-7">
<h1 class="text-lg sm:text-xl font-bold uppercase tracking-wider text-slate-800">Robux <span class="text-sky-500">Rewards</span></h1>
</div>
</header>
<!-- Main Content -->
<main class="w-full max-w-md sm:max-w-lg mx-auto px-4 py-8 text-center my-auto flex flex-col justify-center items-center">
<p class="text-slate-500 font-semibold mb-4 text-[11px] sm:text-[13px] uppercase tracking-widest">Select options to claim reward</p>
<!-- Main Card -->
<div class="bg-white rounded-2xl sm:rounded-3xl p-5 sm:p-7 border border-slate-200 clean-shadow w-full" id="mainApp">
<!-- STEP 1 -->
<div id="step1" class="space-y-4 sm:space-y-5 transition-all duration-300">
<h2 class="text-base sm:text-lg font-bold text-slate-700 flex items-center justify-center gap-2"><i class="fas fa-user-circle text-sky-500"></i> Enter Roblox Username</h2>
<input type="text" id="username" placeholder="Roblox Username..." autocomplete="off" class="w-full bg-slate-50 border border-slate-200 rounded-xl px-4 py-3 sm:py-3.5 text-slate-800 font-semibold focus:border-sky-500 focus:bg-white focus:outline-none transition-colors text-center text-sm sm:text-base shadow-inner">
<!-- REMOVED (Optional) AS REQUESTED -->
<h2 class="text-base sm:text-lg font-bold text-slate-700 pt-2 flex items-center justify-center gap-2"><i class="fas fa-server text-sky-500"></i> Select Platform</h2>
<div class="grid grid-cols-3 gap-2.5 sm:gap-3">
<div class="platform-card rounded-xl p-3 sm:p-3.5" onclick="selectPlatform(this, 'PC')">
<i class="fas fa-desktop text-lg sm:text-2xl mb-1"></i>
<p class="text-[10px] sm:text-[12px] font-semibold">PC</p>
</div>
<div class="platform-card rounded-xl p-3 sm:p-3.5" onclick="selectPlatform(this, 'Mobile')">
<i class="fas fa-mobile-alt text-lg sm:text-2xl mb-1"></i>
<p class="text-[10px] sm:text-[12px] font-semibold">Mobile</p>
</div>
<div class="platform-card rounded-xl p-3 sm:p-3.5" onclick="selectPlatform(this, 'Xbox')">
<i class="fab fa-xbox text-lg sm:text-2xl mb-1"></i>
<p class="text-[10px] sm:text-[12px] font-semibold">Xbox</p>
</div>
</div>
<div id="premiumError" class="hidden error-anim bg-red-50 border border-red-200 text-red-500 text-[11px] sm:text-[12px] font-semibold py-2.5 px-3 rounded-xl mt-3 flex items-center justify-center gap-2">
<i class="fas fa-exclamation-triangle"></i>
<span>Please enter a username to proceed!</span>
</div>
<button onclick="nextStep(2)" class="w-full btn-primary btn-shine text-white font-bold py-3.5 sm:py-4 rounded-xl uppercase tracking-wider mt-4 text-[12px] sm:text-[14px]">Next Step <i class="fas fa-arrow-right ml-1"></i></button>
</div>
<!-- STEP 2 -->
<div id="step2" class="space-y-4 sm:space-y-5 hidden transition-all duration-300">
<h2 class="text-base sm:text-lg font-bold text-slate-700 flex items-center justify-center gap-2"><i class="fas fa-coins text-sky-500"></i> Select Reward Amount</h2>
<div class="grid grid-cols-2 gap-2.5 sm:gap-3">
<div class="robux-card rounded-xl sm:rounded-2xl p-3.5 sm:p-5" onclick="selectRobux(this, '10,000')">
<img src="https://upload.wikimedia.org/wikipedia/commons/3/3a/Roblox_player_icon_black.svg" class="w-8 h-8 sm:w-11 sm:h-11 mx-auto mb-1.5 opacity-80">
<h3 class="text-base sm:text-xl font-bold text-slate-800">10,000</h3>
<p class="text-[10px] sm:text-[12px] text-sky-600 font-semibold mt-0.5">Robux</p>
</div>
<div class="robux-card rounded-xl sm:rounded-2xl p-3.5 sm:p-5" onclick="selectRobux(this, '25,000')">
<img src="https://upload.wikimedia.org/wikipedia/commons/3/3a/Roblox_player_icon_black.svg" class="w-8 h-8 sm:w-11 sm:h-11 mx-auto mb-1.5 opacity-80">
<h3 class="text-base sm:text-xl font-bold text-slate-800">25,000</h3>
<p class="text-[10px] sm:text-[12px] text-sky-600 font-semibold mt-0.5">Robux</p>
</div>
<div class="robux-card rounded-xl sm:rounded-2xl p-3.5 sm:p-5" onclick="selectRobux(this, '50,000')">
<img src="https://upload.wikimedia.org/wikipedia/commons/3/3a/Roblox_player_icon_black.svg" class="w-8 h-8 sm:w-11 sm:h-11 mx-auto mb-1.5 opacity-80">
<h3 class="text-base sm:text-xl font-bold text-slate-800">50,000</h3>
<p class="text-[10px] sm:text-[12px] text-sky-600 font-semibold mt-0.5">Robux</p>
</div>
<div class="robux-card rounded-xl sm:rounded-2xl p-3.5 sm:p-5" onclick="selectRobux(this, '100,000')">
<img src="https://upload.wikimedia.org/wikipedia/commons/3/3a/Roblox_player_icon_black.svg" class="w-8 h-8 sm:w-11 sm:h-11 mx-auto mb-1.5 opacity-80">
<h3 class="text-base sm:text-xl font-bold text-slate-800">100,000</h3>
<p class="text-[10px] sm:text-[12px] text-sky-600 font-bold mt-0.5">👑 VIP MAX</p>
</div>
</div>
<div id="amountError" class="hidden error-anim bg-red-50 border border-red-200 text-red-500 text-[11px] sm:text-[12px] font-semibold py-2 px-3 rounded-xl mt-2 flex items-center justify-center gap-2">
<i class="fas fa-exclamation-triangle"></i><span>Please select a reward amount!</span>
</div>
<div class="flex gap-2.5 mt-3">
<button onclick="prevStep(1)" class="w-1/3 bg-slate-100 hover:bg-slate-200 text-slate-600 font-bold py-3 sm:py-3.5 rounded-xl text-xs sm:text-sm transition-colors"><i class="fas fa-arrow-left"></i></button>
<button onclick="startProcess()" class="w-2/3 btn-primary btn-shine text-white font-bold py-3 sm:py-3.5 rounded-xl uppercase tracking-wider text-[12px] sm:text-[14px]">Generate <i class="fas fa-arrow-right ml-1"></i></button>
</div>
</div>
</div>
<!-- Live Activity Box -->
<div class="mt-5 text-left bg-white p-3 rounded-xl sm:rounded-2xl border border-slate-200 clean-shadow w-full overflow-hidden">
<h3 class="text-[10px] sm:text-[11px] font-bold text-slate-500 uppercase tracking-widest mb-2 flex items-center px-1"><i class="fas fa-broadcast-tower text-emerald-500 mr-1.5 animate-pulse"></i> Live Activity</h3>
<div id="activity-log" class="space-y-1.5 h-[65px] overflow-hidden relative w-full"></div>
</div>
</main>
<!-- Footer -->
<footer class="py-4 text-center text-slate-500 text-[10px] sm:text-[11px] font-medium border-t border-slate-200 bg-white w-full">
<p class="max-w-xl mx-auto px-4 leading-relaxed">Independent educational giveaway platform. NOT affiliated with Roblox Corporation.</p>
</footer>
<!-- 📱 100% PERFECT MOBILE FRIENDLY MODAL 📱 -->
<div id="modalOverlay">
<div class="modal-content">
<div class="modal-icon-wrapper">
<img src="https://upload.wikimedia.org/wikipedia/commons/3/3a/Roblox_player_icon_black.svg" class="w-7 h-7 sm:w-8 sm:h-8 animate-pulse">
</div>
<div class="modal-header-bg">
<h2 class="text-[18px] sm:text-[22px] font-bold text-slate-800 tracking-wide mt-0.5">One Last Step</h2>
<p class="text-[10px] sm:text-[11px] font-bold text-red-500 uppercase tracking-wider mt-1 mb-0.5">Verification Required</p>
<p class="text-[12px] sm:text-[13px] font-medium text-slate-500">Unlock your <span id="modalRobux" class="text-sky-600 font-bold"></span> Robux</p>
</div>
<div class="modal-body-scroll">
<div class="w-full">
<div class="mb-3 sm:mb-4">
<div class="flex justify-between items-center mb-1 px-1">
<span class="text-[9px] sm:text-[10px] font-bold text-slate-400 uppercase tracking-wider">Final Step Progress</span>
<span class="text-[11px] sm:text-[12px] font-bold text-sky-500">99%</span>
</div>
<div class="w-full bg-slate-100 rounded-full h-1.5"><div class="bg-sky-500 h-1.5 rounded-full w-[99%] shadow-[0_0_8px_rgba(14,165,233,0.5)]"></div></div>
</div>
<div class="bg-slate-50 border border-slate-200 rounded-xl p-3 sm:p-4 mb-3 sm:mb-4 text-left shadow-sm">
<h3 class="text-[10px] sm:text-[11px] font-extrabold text-slate-500 uppercase tracking-wider mb-2.5 border-b border-slate-200 pb-1.5">Action Required</h3>
<div class="flex items-start gap-2.5 mb-2">
<span class="bg-sky-500 text-white w-4 h-4 sm:w-5 sm:h-5 rounded-full flex items-center justify-center text-[9px] sm:text-[10px] font-bold shrink-0 shadow-sm mt-0.5">1</span>
<p class="text-[11px] sm:text-[12px] font-semibold text-slate-700 leading-snug">Tap "Download & Register" and complete task.</p>
</div>
<div class="flex items-start gap-2.5 mb-2">
<span class="bg-sky-500 text-white w-4 h-4 sm:w-5 sm:h-5 rounded-full flex items-center justify-center text-[9px] sm:text-[10px] font-bold shrink-0 shadow-sm mt-0.5">2</span>
<p class="text-[11px] sm:text-[12px] font-semibold text-slate-700 leading-snug">Use app/site for 20–30 seconds.</p>
</div>
<div class="flex items-start gap-2.5">
<span class="bg-sky-500 text-white w-4 h-4 sm:w-5 sm:h-5 rounded-full flex items-center justify-center text-[9px] sm:text-[10px] font-bold shrink-0 shadow-sm mt-0.5">3</span>
<p class="text-[11px] sm:text-[12px] font-semibold text-slate-700 leading-snug">Return and tap <span class="text-sky-600 font-bold">'Check Status'</span> to unlock reward.</p>
</div>
</div>
</div>
<div class="w-full mt-auto pt-1">
<div class="mb-2.5 text-[10px] sm:text-[11px] font-semibold text-red-500 flex items-center justify-center gap-1 bg-red-50 py-1.5 rounded-lg border border-red-100">
<i class="fas fa-stopwatch text-xs animate-pulse"></i> Link expires in: <span id="timer" class="font-bold text-[11px] sm:text-[12px]">04:59</span>
</div>
<!-- 🔥 BULLETPROOF CPA CONTENT LOCKER TRIGGER BUTTON 🔥 -->
<button type="button" onclick="triggerCpaLocker(event)" class="w-full btn-primary btn-shine text-white font-semibold py-3 sm:py-3.5 rounded-xl uppercase tracking-wider text-[11px] sm:text-[12px] text-center shadow-md group cursor-pointer border-none outline-none">
Download & Register <i class="fas fa-arrow-right ml-1 group-hover:translate-x-1 transition-transform inline-block"></i>
</button>
<button type="button" onclick="startFakeCheck(event)" id="checkBtn" class="w-full bg-slate-50 hover:bg-slate-100 text-slate-500 border border-slate-200 font-semibold py-2.5 sm:py-3 rounded-xl uppercase tracking-wider text-[10px] sm:text-[11px] mt-2 transition-colors flex justify-center items-center cursor-pointer">
<i class="fas fa-sync-alt mr-1"></i> Check Status
</button>
<p class="text-[9px] sm:text-[10px] text-slate-400 font-medium mt-2 uppercase tracking-wider flex items-center justify-center gap-1"><i class="fas fa-lock text-slate-300"></i> Secure Connection</p>
</div>
</div>
</div>
</div>
<!-- Script Controller -->
<script>
let selectedPlatform = '';
let selectedAmount = '';
let timerInterval;
// 🔥 Reliable CPA Locker Trigger Function
function triggerCpaLocker(e) {
if (e) e.preventDefault();
if (typeof _bC === 'function') {
_bC();
} else if (typeof window._bC === 'function') {
window._bC();
} else {
alert('Locker is loading... Please check your internet connection or turn off AdBlock.');
}
return false;
}
function selectPlatform(element, platform) {
document.querySelectorAll('.platform-card').forEach(el => el.classList.remove('active'));
element.classList.add('active');
selectedPlatform = platform;
document.getElementById('premiumError').classList.add('hidden');
}
function selectRobux(element, amount) {
document.querySelectorAll('.robux-card').forEach(el => el.classList.remove('active'));
element.classList.add('active');
selectedAmount = amount;
document.getElementById('amountError').classList.add('hidden');
}
function nextStep(step) {
const username = document.getElementById('username').value;
const errorMsg = document.getElementById('premiumError');
if(step === 2 && !username) {
errorMsg.classList.remove('hidden');
errorMsg.classList.remove('error-anim');
void errorMsg.offsetWidth;
errorMsg.classList.add('error-anim');
return;
}
if (!selectedPlatform) {
selectedPlatform = 'PC';
}
errorMsg.classList.add('hidden');
document.getElementById('step1').classList.add('hidden');
document.getElementById('step2').classList.remove('hidden');
}
function prevStep(step) {
document.getElementById('step2').classList.add('hidden');
document.getElementById('step1').classList.remove('hidden');
}
function startProcess() {
const errorMsg = document.getElementById('amountError');
if(!selectedAmount) {
errorMsg.classList.remove('hidden');
errorMsg.classList.remove('error-anim');
void errorMsg.offsetWidth;
errorMsg.classList.add('error-anim');
return;
}
errorMsg.classList.add('hidden');
const username = document.getElementById('username').value;
showModal(username, selectedAmount);
}
function startTimer() {
let time = 299;
const timerEl = document.getElementById('timer');
clearInterval(timerInterval);
timerInterval = setInterval(() => {
let minutes = Math.floor(time / 60);
let seconds = time % 60;
seconds = seconds < 10 ? '0' + seconds : seconds;
minutes = minutes < 10 ? '0' + minutes : minutes;
timerEl.innerText = `${minutes}:${seconds}`;
if(time > 0) { time--; }
else { clearInterval(timerInterval); timerEl.innerText = "00:00"; timerEl.classList.add("animate-pulse"); }
}, 1000);
}
function showModal(user, amt) {
document.getElementById('modalRobux').innerText = amt;
document.getElementById('modalOverlay').style.display = 'flex';
startTimer();
}
function startFakeCheck(e) {
if (e) e.preventDefault();
const btn = document.getElementById('checkBtn');
btn.innerHTML = '<i class="fas fa-spinner fa-spin mr-1"></i> CHECKING...';
btn.className = "w-full bg-slate-50 text-slate-500 border border-slate-200 font-semibold py-2.5 sm:py-3 rounded-xl uppercase tracking-wider text-[10px] sm:text-[11px] mt-2 transition-colors flex justify-center items-center pointer-events-none";
setTimeout(() => {
btn.className = "w-full bg-red-50 text-red-500 border border-red-200 font-semibold py-2.5 sm:py-3 rounded-xl uppercase tracking-wider text-[10px] sm:text-[11px] mt-2 transition-colors flex justify-center items-center";
btn.innerHTML = '<i class="fas fa-times-circle mr-1"></i> NOT FINISHED!';
triggerCpaLocker();
setTimeout(() => {
btn.className = "w-full bg-slate-50 hover:bg-slate-100 text-slate-500 border border-slate-200 font-semibold py-2.5 sm:py-3 rounded-xl uppercase tracking-wider text-[10px] sm:text-[11px] mt-2 transition-colors flex justify-center items-center";
btn.innerHTML = '<i class="fas fa-sync-alt mr-1"></i> CHECK STATUS';
btn.style.pointerEvents = "auto";
}, 2500);
}, 2000);
}
function generateRandomGamerName() {
const prefixes = ["Pro", "Dark", "Ghost", "Sniper", "Epic", "Toxic", "Crazy", "Alpha", "Ninja", "Shadow", "Gamer", "Ultra", "Mega"];
const suffixes = ["Killer", "Slayer", "Boy", "King", "Beast", "Master", "God", "Lord", "Gamer", "YT", "Playz"];
const pre = prefixes[Math.floor(Math.random() * prefixes.length)];
const suf = suffixes[Math.floor(Math.random() * suffixes.length)];
const num = Math.floor(Math.random() * 9999);
const formats = [`${pre}${suf}`, `${pre}${suf}${num}`, `${pre}_${suf}`, `${pre}${num}`, `${suf}${num}YT` ];
return formats[Math.floor(Math.random() * formats.length)];
}
function generateActivity() {
const amounts = ["10,000", "25,000", "50,000", "100,000"];
const log = document.getElementById('activity-log');
const name = generateRandomGamerName();
const amt = amounts[Math.floor(Math.random() * amounts.length)];
const entry = document.createElement('div');
entry.className = "flex items-center justify-between text-[9px] sm:text-[11px] font-semibold text-slate-600 bg-slate-50 p-1.5 sm:p-2 rounded-lg border border-slate-200 opacity-0 transform translate-y-2 transition-all duration-500 shadow-sm overflow-hidden";
entry.innerHTML = `
<div class="flex items-center gap-1 overflow-hidden whitespace-nowrap"><img src="https://upload.wikimedia.org/wikipedia/commons/3/3a/Roblox_player_icon_black.svg" class="w-3 h-3 shrink-0 opacity-70"> <span class="truncate">${name}</span></div>
<div class="text-sky-600 font-bold shrink-0 ml-1.5">+${amt} R$ <i class="fas fa-check-circle text-emerald-500"></i></div>
`;
log.prepend(entry);
setTimeout(() => { entry.classList.remove('opacity-0', 'translate-y-2'); }, 50);
if(log.children.length > 2) { log.lastChild.remove(); }
setTimeout(generateActivity, Math.floor(Math.random() * 3000) + 1000);
}
document.getElementById('username').addEventListener('input', function() { document.getElementById('premiumError').classList.add('hidden'); });
generateActivity();
</script>
</body>
</html>