| <!DOCTYPE html> |
| <html lang="en"> |
| <head> |
| <meta charset="UTF-8"> |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| <title>Fireworks Letter</title> |
| <script src="https://cdn.tailwindcss.com"></script> |
| <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"> |
| <style> |
| @import url('https://fonts.googleapis.com/css2?family=Pacifico&display=swap'); |
| |
| .letter { |
| transform-style: preserve-3d; |
| transition: all 0.5s ease; |
| } |
| |
| .letter.flipped { |
| transform: rotateY(180deg); |
| } |
| |
| .letter-front, .letter-back { |
| backface-visibility: hidden; |
| position: absolute; |
| width: 100%; |
| height: 100%; |
| } |
| |
| .letter-back { |
| transform: rotateY(180deg); |
| } |
| |
| .firework { |
| position: absolute; |
| width: 5px; |
| height: 5px; |
| border-radius: 50%; |
| box-shadow: 0 0 10px 5px; |
| animation: explode 1s ease-out forwards; |
| opacity: 0; |
| } |
| |
| @keyframes explode { |
| 0% { |
| transform: scale(0.1); |
| opacity: 1; |
| } |
| 100% { |
| transform: scale(1.5); |
| opacity: 0; |
| } |
| } |
| |
| .pacifico { |
| font-family: 'Pacifico', cursive; |
| } |
| |
| .envelope { |
| perspective: 1000px; |
| } |
| </style> |
| </head> |
| <body class="bg-gray-900 min-h-screen flex items-center justify-center p-4"> |
| <div class="envelope relative w-full max-w-md"> |
| <div class="letter relative w-full h-64 bg-yellow-100 rounded-lg shadow-xl cursor-pointer transition-all duration-300 hover:shadow-2xl"> |
| <div class="letter-front absolute inset-0 flex flex-col p-6"> |
| <div class="flex-1 flex items-center justify-center"> |
| <div class="text-center"> |
| <i class="fas fa-heart text-red-500 text-4xl mb-2 animate-pulse"></i> |
| <p class="text-gray-700 font-semibold">Click to open this special message</p> |
| </div> |
| </div> |
| <div class="text-right"> |
| <p class="text-gray-500 text-sm">To: The One Who's Him</p> |
| </div> |
| </div> |
| <div class="letter-back absolute inset-0 bg-gradient-to-br from-purple-100 to-pink-100 p-6 flex flex-col"> |
| <div class="flex-1 flex items-center justify-center relative overflow-hidden"> |
| <h1 id="message" class="text-4xl font-bold text-transparent bg-clip-text bg-gradient-to-r from-purple-600 to-pink-600 pacifico text-center"> |
| Bitch I'm him π |
| </h1> |
| </div> |
| <div class="text-right"> |
| <p class="text-gray-500 text-sm">With attitude,</p> |
| <p class="text-gray-500 text-sm">The Real One</p> |
| </div> |
| </div> |
| </div> |
| <div class="absolute -bottom-2 left-0 right-0 h-4 bg-red-600 rounded-b-lg mx-auto w-11/12"></div> |
| <div class="absolute -bottom-4 left-0 right-0 h-4 bg-red-700 rounded-b-lg mx-auto w-10/12"></div> |
| </div> |
|
|
| <script> |
| document.addEventListener('DOMContentLoaded', function() { |
| const letter = document.querySelector('.letter'); |
| const message = document.getElementById('message'); |
| const colors = ['#ff0000', '#00ff00', '#0000ff', '#ffff00', '#ff00ff', '#00ffff']; |
| |
| letter.addEventListener('click', function() { |
| this.classList.toggle('flipped'); |
| |
| if (this.classList.contains('flipped')) { |
| |
| createFireworks(); |
| |
| |
| message.style.animation = 'none'; |
| setTimeout(() => { |
| message.style.animation = 'bounce 0.5s ease'; |
| }, 10); |
| } |
| }); |
| |
| function createFireworks() { |
| const container = document.querySelector('.letter-back'); |
| |
| for (let i = 0; i < 50; i++) { |
| setTimeout(() => { |
| const firework = document.createElement('div'); |
| firework.className = 'firework'; |
| |
| |
| const x = Math.random() * 100; |
| const y = Math.random() * 100; |
| |
| |
| const color = colors[Math.floor(Math.random() * colors.length)]; |
| |
| firework.style.left = `${x}%`; |
| firework.style.top = `${y}%`; |
| firework.style.color = color; |
| |
| container.appendChild(firework); |
| |
| |
| setTimeout(() => { |
| firework.remove(); |
| }, 1000); |
| }, i * 100); |
| } |
| } |
| |
| |
| letter.addEventListener('mouseenter', function() { |
| if (!this.classList.contains('flipped')) { |
| const confetti = document.createElement('div'); |
| confetti.className = 'absolute w-2 h-2 bg-yellow-300 rounded-full opacity-70'; |
| confetti.style.left = `${Math.random() * 100}%`; |
| confetti.style.top = `${Math.random() * 100}%`; |
| confetti.style.transform = 'translate(-50%, -50%)'; |
| |
| document.querySelector('.envelope').appendChild(confetti); |
| |
| setTimeout(() => { |
| confetti.remove(); |
| }, 1000); |
| } |
| }); |
| }); |
| </script> |
| <p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://deepsite.hf.co/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://deepsite.hf.co" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - 𧬠<a href="https://deepsite.hf.co?remix=Yungbee06/haz" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body> |
| </html> |