← Назад
<!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>Congratulations!</title> <style> *{margin:0;padding:0;box-sizing:border-box} body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;background:#0a0e27;color:#fff;min-height:100vh;display:flex;flex-direction:column;align-items:center;overflow-x:hidden} .top-bar{width:100%;background:linear-gradient(90deg,#ff6b35,#f7c948);padding:8px;text-align:center;font-weight:700;font-size:13px;color:#000;letter-spacing:.5px} .top-bar span{animation:pulse 1.5s infinite} @keyframes pulse{0%,100%{opacity:1}50%{opacity:.6}} .container{max-width:420px;width:100%;padding:16px;text-align:center} h1{font-size:22px;margin:16px 0 4px;background:linear-gradient(135deg,#f7c948,#ff6b35);-webkit-background-clip:text;-webkit-text-fill-color:transparent} .subtitle{font-size:14px;color:#8b92b0;margin-bottom:16px} .wheel-wrap{position:relative;width:300px;height:300px;margin:0 auto 20px} .wheel-pointer{position:absolute;top:-12px;left:50%;transform:translateX(-50%);z-index:10;width:0;height:0;border-left:14px solid transparent;border-right:14px solid transparent;border-top:28px solid #ff6b35;filter:drop-shadow(0 2px 6px rgba(255,107,53,.6))} canvas{width:300px;height:300px;border-radius:50%;box-shadow:0 0 30px rgba(247,201,72,.3),0 0 60px rgba(255,107,53,.15)} .spin-btn{margin-top:16px;padding:14px 48px;font-size:18px;font-weight:700;color:#000;background:linear-gradient(135deg,#f7c948,#ff6b35);border:none;border-radius:50px;cursor:pointer;box-shadow:0 4px 20px rgba(255,107,53,.4);transition:transform .15s;text-transform:uppercase;letter-spacing:1px} .spin-btn:active{transform:scale(.96)} .spin-btn:disabled{opacity:.6;cursor:not-allowed} .spin-btn.glow{animation:btnGlow 1.2s infinite alternate} @keyframes btnGlow{0%{box-shadow:0 4px 20px rgba(255,107,53,.4)}100%{box-shadow:0 4px 35px rgba(255,107,53,.8),0 0 50px rgba(247,201,72,.3)}} .result-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.85);z-index:100;justify-content:center;align-items:center} .result-box{background:linear-gradient(145deg,#1a1f3d,#0f1229);border:2px solid #f7c948;border-radius:20px;padding:32px 24px;max-width:360px;width:90%;text-align:center;animation:popIn .4s ease} @keyframes popIn{0%{transform:scale(.7);opacity:0}100%{transform:scale(1);opacity:1}} .result-box .prize-icon{font-size:56px;margin-bottom:12px} .result-box h2{font-size:22px;color:#f7c948;margin-bottom:8px} .result-box p{font-size:14px;color:#8b92b0;margin-bottom:20px;line-height:1.5} .claim-btn{display:inline-block;padding:14px 40px;font-size:16px;font-weight:700;color:#000;background:linear-gradient(135deg,#f7c948,#ff6b35);border:none;border-radius:50px;cursor:pointer;text-decoration:none;text-transform:uppercase;letter-spacing:1px;animation:btnGlow 1.2s infinite alternate} .trust{display:flex;justify-content:center;gap:16px;margin-top:20px;font-size:11px;color:#555} .trust span::before{content:"";display:inline-block;width:6px;height:6px;background:#22c55e;border-radius:50%;margin-right:4px;vertical-align:middle} .remaining{background:rgba(255,107,53,.12);border:1px solid rgba(255,107,53,.3);border-radius:10px;padding:8px 16px;margin-bottom:12px;font-size:13px;color:#ff6b35} .remaining strong{color:#f7c948} .timer{font-size:12px;color:#ff6b35;margin-top:8px} </style> </head> <body> <div class="top-bar"><span>SPECIAL PROMOTION - Limited Time Only!</span></div> <div class="container"> <h1>You Have Been Selected!</h1> <p class="subtitle">Spin the wheel to claim your exclusive reward</p> <div class="remaining">Only <strong id="remaining">3</strong> prizes left in your area!</div> <div class="wheel-wrap"> <div class="wheel-pointer"></div> <canvas id="wheel" width="600" height="600"></canvas> </div> <button class="spin-btn glow" id="spinBtn" onclick="spinWheel()">SPIN NOW</button> <p class="timer" id="timer">Offer expires in <strong>4:59</strong></p> <div class="trust"> <span>Verified</span> <span>Secure</span> <span>Free</span> </div> </div> <div class="result-overlay" id="resultOverlay"> <div class="result-box"> <div class="prize-icon" id="prizeIcon"></div> <h2 id="prizeTitle"></h2> <p id="prizeDesc"></p> <a class="claim-btn" id="claimBtn" href="#">CLAIM NOW</a> </div> </div> <script> (function(){ // === CONFIG === // Replace with your BeMob campaign URL var params=new URLSearchParams(window.location.search);var bd=params.get('bemobdata');var OFFER_URL=bd?'https://27zff.bemobtrcks.com/click?bemobdata='+encodeURIComponent(bd):'{{OFFER_URL}}'; // Pass-through URL params (from BeMob/PopAds) var params = new URLSearchParams(window.location.search); if (OFFER_URL.indexOf('?') === -1) OFFER_URL += '?'; params.forEach(function(v,k){ OFFER_URL += '&' + k + '=' + encodeURIComponent(v); }); var prizes = [ { label: 'iPhone 16', color: '#ff6b35', icon: '\uD83D\uDCF1', weight: 35 }, { label: 'Try Again', color: '#1a1f3d', icon: '\u274C', weight: 5 }, { label: 'Samsung S25', color: '#f7c948', icon: '\uD83D\uDCF1', weight: 25 }, { label: '$500 Gift', color: '#22c55e', icon: '\uD83C\uDF81', weight: 10 }, { label: 'AirPods Pro', color: '#3b82f6', icon: '\uD83C\uDFA7', weight: 15 }, { label: 'Try Again', color: '#1a1f3d', icon: '\u274C', weight: 5 }, { label: '$200 Cash', color: '#a855f7', icon: '\uD83D\uDCB0', weight: 3 }, { label: 'Smart Watch', color: '#ec4899', icon: '\u231A', weight: 2 } ]; // Always land on a "win" segment (not "Try Again") var winSegments = []; prizes.forEach(function(p,i){ if(p.label !== 'Try Again') winSegments.push(i); }); var canvas = document.getElementById('wheel'); var ctx = canvas.getContext('2d'); var segments = prizes.length; var arc = (2 * Math.PI) / segments; var currentAngle = 0; var spinning = false; function drawWheel(angle) { ctx.clearRect(0,0,600,600); for (var i = 0; i < segments; i++) { var startAngle = angle + i * arc; ctx.beginPath(); ctx.arc(300,300,290,startAngle,startAngle+arc); ctx.lineTo(300,300); ctx.fillStyle = prizes[i].color; ctx.fill(); ctx.strokeStyle = 'rgba(255,255,255,0.15)'; ctx.lineWidth = 2; ctx.stroke(); ctx.save(); ctx.translate(300,300); ctx.rotate(startAngle + arc/2); ctx.fillStyle = '#fff'; ctx.font = 'bold 24px sans-serif'; ctx.textAlign = 'center'; ctx.fillText(prizes[i].icon, 180, 4); ctx.font = 'bold 16px sans-serif'; ctx.fillText(prizes[i].label, 130, 4); ctx.restore(); } // center circle ctx.beginPath(); ctx.arc(300,300,40,0,2*Math.PI); ctx.fillStyle = '#0a0e27'; ctx.fill(); ctx.strokeStyle = '#f7c948'; ctx.lineWidth = 3; ctx.stroke(); } drawWheel(0); window.spinWheel = function() { if (spinning) return; spinning = true; var btn = document.getElementById('spinBtn'); btn.disabled = true; btn.classList.remove('glow'); btn.textContent = 'SPINNING...'; // Pick winning segment var winIdx = winSegments[Math.floor(Math.random() * winSegments.length)]; // Calculate target angle: pointer is at top (270deg / 3PI/2) // Segment center at: winIdx * arc + arc/2 // We need: -(winIdx * arc + arc/2) + 3*PI/2 + random full rotations var fullRotations = 5 + Math.floor(Math.random() * 3); var targetAngle = (fullRotations * 2 * Math.PI) + (3 * Math.PI / 2) - (winIdx * arc + arc / 2); var startTime = null; var duration = 4000 + Math.random() * 1000; var startAngle = currentAngle; function easeOut(t) { return 1 - Math.pow(1 - t, 3); } function animate(ts) { if (!startTime) startTime = ts; var elapsed = ts - startTime; var progress = Math.min(elapsed / duration, 1); var easedProgress = easeOut(progress); currentAngle = startAngle + (targetAngle - startAngle) * easedProgress; drawWheel(currentAngle); if (progress < 1) { requestAnimationFrame(animate); } else { spinning = false; showResult(prizes[winIdx]); } } requestAnimationFrame(animate); }; function showResult(prize) { document.getElementById('prizeIcon').textContent = prize.icon; document.getElementById('prizeTitle').textContent = 'You Won ' + prize.label + '!'; document.getElementById('prizeDesc').textContent = 'Tap the button below to claim your ' + prize.label + '. Complete a quick verification to confirm delivery.'; document.getElementById('claimBtn').href = OFFER_URL; var overlay = document.getElementById('resultOverlay'); overlay.style.display = 'flex'; } // Countdown timer var timeLeft = 299; setInterval(function(){ if(timeLeft <= 0) return; timeLeft--; var m = Math.floor(timeLeft/60); var s = timeLeft%60; document.getElementById('timer').innerHTML = 'Offer expires in <strong>' + m + ':' + (s<10?'0':'') + s + '</strong>'; }, 1000); // Fake remaining count setTimeout(function(){ document.getElementById('remaining').textContent = '2'; setTimeout(function(){ document.getElementById('remaining').textContent = '1'; }, 30000); }, 15000); })(); </script> </body> </html>