freespin.html 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222
  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. <title>Free Spins Bonus</title>
  7. <script src="https://cdn.tailwindcss.com"></script>
  8. <script> window.FontAwesomeConfig = { autoReplaceSvg: 'nest'};</script>
  9. <script src="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/js/all.min.js" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
  10. <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600;800&family=Russo+One&display=swap" rel="stylesheet">
  11. <script>
  12. tailwind.config = {
  13. theme: {
  14. extend: {
  15. fontFamily: {
  16. sans: ['Inter', 'sans-serif'],
  17. display: ['Russo One', 'sans-serif'],
  18. },
  19. colors: {
  20. gold: {
  21. 400: '#FFD700',
  22. 500: '#FFC000',
  23. 600: '#E6AC00',
  24. },
  25. dark: {
  26. 900: '#0F172A',
  27. 800: '#1E293B',
  28. 700: '#334155',
  29. }
  30. },
  31. backgroundImage: {
  32. 'casino-gradient': 'linear-gradient(135deg, #1a1c2e 0%, #0f1016 100%)',
  33. 'btn-silver': 'linear-gradient(180deg, #F1F5F9 0%, #CBD5E1 100%)',
  34. 'btn-silver-hover': 'linear-gradient(180deg, #FFFFFF 0%, #E2E8F0 100%)',
  35. }
  36. }
  37. }
  38. }
  39. </script>
  40. <style>
  41. ::-webkit-scrollbar { display: none;}
  42. .text-glow {
  43. text-shadow: 0 0 10px rgba(255, 215, 0, 0.5);
  44. }
  45. .modal-enter {
  46. animation: modalPop 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
  47. }
  48. @keyframes modalPop {
  49. 0% { transform: scale(0.9); opacity: 0; }
  50. 100% { transform: scale(1); opacity: 1; }
  51. }
  52. </style>
  53. </head>
  54. <body class="bg-black min-h-screen flex items-center justify-center font-sans antialiased p-4">
  55. <!-- Mobile Screen Container -->
  56. <div id="mobile-screen" class="w-full max-w-md h-[850px] bg-slate-900 relative rounded-3xl overflow-hidden shadow-2xl border border-slate-800">
  57. <!-- Background Elements (Simulating the app behind the modal) -->
  58. <div class="absolute inset-0 opacity-30 pointer-events-none">
  59. <div class="grid grid-cols-2 gap-4 p-4">
  60. <div class="h-32 bg-emerald-900/50 rounded-xl border border-emerald-500/20"></div>
  61. <div class="h-32 bg-emerald-900/50 rounded-xl border border-emerald-500/20"></div>
  62. <div class="h-32 bg-emerald-900/50 rounded-xl border border-emerald-500/20"></div>
  63. <div class="h-32 bg-emerald-900/50 rounded-xl border border-emerald-500/20"></div>
  64. </div>
  65. </div>
  66. <!-- Backdrop Blur -->
  67. <div class="absolute inset-0 bg-black/70 backdrop-blur-sm z-10"></div>
  68. <!-- Modal Container -->
  69. <div id="bonus-modal" class="absolute top left -translate-x-1/2 -translate-y-1/2 w-[100%] max-w-sm z-20 modal-enter">
  70. <!-- Close Button -->
  71. <button class="absolute -top-12 right-0 w-8 h-8 flex items-center justify-center rounded-full bg-white/10 text-white hover:bg-white/20 transition-colors z-30">
  72. <i class="fa-solid fa-xmark"></i>
  73. </button>
  74. <!-- Modal Content Card -->
  75. <div class="bg-[#1e2330] rounded-2xl shadow-2xl border border-white/10 overflow-hidden relative">
  76. <!-- Decorative Glow -->
  77. <div class="absolute top-0 left-1/2 -translate-x-1/2 w-full h-32 bg-yellow-500/20 blur-3xl rounded-full pointer-events-none"></div>
  78. <!-- Hero Section -->
  79. <div class="relative pt-6 px-4 pb-2 text-center">
  80. <!-- Hero Image -->
  81. <div class="relative w-full h-48 mb-2 mx-auto">
  82. <div class="absolute inset-0 flex justify-center items-center z-10"
  83. style="background:url('https://storage.googleapis.com/uxpilot-auth.appspot.com/72de738462-b525fc609d5e3acd8376.png') center/contain no-repeat; mix-blend-mode: normal; mask-image: radial-gradient(circle at center, black 40%, transparent 50%);">
  84. <div class="w-full h-full object-contain drop-shadow-2xl scale-110 absolute inset-0 bg-gradient-to-t from-black/100 via-transparent to-casino-dark"></div>
  85. </div>
  86. </div>
  87. <!-- Main Title -->
  88. <h1 class="text-2xl md:text-3xl font-display font-bold text-transparent bg-clip-text bg-gradient-to-r from-yellow-300 via-yellow-100 to-yellow-300 uppercase tracking-wide text-glow mb-1">
  89. Free Spins Madness!
  90. </h1>
  91. <!-- Subtitle -->
  92. <p class="text-slate-300 text-sm font-medium">
  93. Log in to claim <span class="text-yellow-400 font-bold">0 free spins</span>
  94. </p>
  95. </div>
  96. <!-- Scrollable Content Area -->
  97. <div class="px-4 pb-6 space-y-5">
  98. <!-- Countdown Timer -->
  99. <div class="bg-gradient-to-b from-orange-500 to-orange-600 rounded-xl p-3 shadow-lg border border-orange-400/50">
  100. <div class="text-center">
  101. <h3 class="text-orange-100 text-xs font-bold uppercase tracking-wider mb-2">Countdown to next claim</h3>
  102. <div class="flex justify-center items-center gap-2 text-white font-display">
  103. <!-- Hours -->
  104. <div class="bg-black/30 rounded px-2 py-1 min-w-[40px]">
  105. <span class="text-2xl font-bold">18</span>
  106. <div class="text-[9px] text-orange-200 font-sans font-normal">HH</div>
  107. </div>
  108. <span class="text-xl pb-3">:</span>
  109. <!-- Minutes -->
  110. <div class="bg-black/30 rounded px-2 py-1 min-w-[40px]">
  111. <span class="text-2xl font-bold">56</span>
  112. <div class="text-[9px] text-orange-200 font-sans font-normal">MM</div>
  113. </div>
  114. <span class="text-xl pb-3">:</span>
  115. <!-- Seconds -->
  116. <div class="bg-black/30 rounded px-2 py-1 min-w-[40px]">
  117. <span class="text-2xl font-bold" id="seconds">44</span>
  118. <div class="text-[9px] text-orange-200 font-sans font-normal">SS</div>
  119. </div>
  120. </div>
  121. </div>
  122. </div>
  123. <!-- Schedule Section -->
  124. <div class="rounded-xl overflow-hidden border border-emerald-500/30 bg-slate-900/50">
  125. <!-- Header -->
  126. <div class="bg-gradient-to-r from-emerald-600 to-emerald-500 py-2 text-center shadow-md">
  127. <h3 class="text-white font-bold text-sm uppercase flex items-center justify-center gap-2">
  128. <i class="fa-regular fa-clock"></i> Time to Claim
  129. </h3>
  130. </div>
  131. <!-- Grid -->
  132. <div class="p-3 grid grid-cols-4 gap-2">
  133. <!-- Days 1-4 -->
  134. <div class="bg-slate-800 rounded p-1.5 text-center border border-slate-700">
  135. <div class="text-[10px] text-slate-400 font-bold mb-0.5">SUN</div>
  136. <div class="text-[9px] text-yellow-400 font-mono">18-22h</div>
  137. </div>
  138. <div class="bg-slate-800 rounded p-1.5 text-center border border-slate-700">
  139. <div class="text-[10px] text-slate-400 font-bold mb-0.5">MON</div>
  140. <div class="text-[9px] text-yellow-400 font-mono">18-22h</div>
  141. </div>
  142. <div class="bg-slate-800 rounded p-1.5 text-center border border-slate-700">
  143. <div class="text-[10px] text-slate-400 font-bold mb-0.5">TUE</div>
  144. <div class="text-[9px] text-yellow-400 font-mono">18-22h</div>
  145. </div>
  146. <div class="bg-slate-800 rounded p-1.5 text-center border border-slate-700">
  147. <div class="text-[10px] text-slate-400 font-bold mb-0.5">WED</div>
  148. <div class="text-[9px] text-yellow-400 font-mono">18-22h</div>
  149. </div>
  150. </div>
  151. <!-- Days 5-7 (Centered bottom row) -->
  152. <div class="px-3 pb-3 flex justify-center gap-2">
  153. <div class="bg-slate-800 rounded p-1.5 text-center border border-slate-700 w-1/4">
  154. <div class="text-[10px] text-slate-400 font-bold mb-0.5">THU</div>
  155. <div class="text-[9px] text-yellow-400 font-mono">18-22h</div>
  156. </div>
  157. <div class="bg-slate-800 rounded p-1.5 text-center border border-slate-700 w-1/4">
  158. <div class="text-[10px] text-slate-400 font-bold mb-0.5">FRI</div>
  159. <div class="text-[9px] text-yellow-400 font-mono">18-22h</div>
  160. </div>
  161. <div class="bg-slate-800 rounded p-1.5 text-center border border-slate-700 w-1/4">
  162. <div class="text-[10px] text-slate-400 font-bold mb-0.5">SAT</div>
  163. <div class="text-[9px] text-yellow-400 font-mono">18-22h</div>
  164. </div>
  165. </div>
  166. </div>
  167. <!-- Info List -->
  168. <ul class="space-y-2 text-xs text-slate-400 px-1">
  169. <li class="flex items-start gap-2">
  170. <i class="fa-solid fa-crown text-yellow-500 mt-0.5 text-[10px]"></i>
  171. <span>VIP members get free spins every day during event hours.</span>
  172. </li>
  173. <li class="flex items-start gap-2">
  174. <i class="fa-solid fa-hourglass-half text-slate-500 mt-0.5 text-[10px]"></i>
  175. <span>Use within 12 hours—expired spins disappear.</span>
  176. </li>
  177. <li class="flex items-start gap-2">
  178. <i class="fa-solid fa-gamepad text-slate-500 mt-0.5 text-[10px]"></i>
  179. <span>Only valid for selected games. Terms apply.</span>
  180. </li>
  181. </ul>
  182. <!-- CTA Button -->
  183. <button class="w-full bg-btn-silver hover:bg-btn-silver-hover text-slate-900 font-display font-bold text-lg py-3 rounded-xl shadow-lg transform active:scale-95 transition-all duration-150 uppercase tracking-wide border-b-4 border-slate-400 active:border-b-0 active:translate-y-1">
  184. Claim Your Free Spins
  185. </button>
  186. </div>
  187. </div>
  188. </div>
  189. </div>
  190. <!-- Countdown Script -->
  191. <script>
  192. document.addEventListener('DOMContentLoaded', () => {
  193. const secElement = document.getElementById('seconds');
  194. let seconds = 44;
  195. setInterval(() => {
  196. seconds--;
  197. if (seconds < 0) seconds = 59;
  198. secElement.textContent = seconds < 10 ? '0' + seconds : seconds;
  199. }, 1000);
  200. });
  201. </script>
  202. </body>
  203. </html>