| <!DOCTYPE html> |
| <html lang="en"> |
| <head> |
| <meta charset="UTF-8"> |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| <title>Multilingual Rhymes Maker</title> |
| <script src="https://cdn.tailwindcss.com"></script> |
| <script src="https://kit.fontawesome.com/a076d05399.js" crossorigin="anonymous"></script> |
| <style> |
| @import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700&family=Poppins:wght@300;400;500;600&display=swap'); |
| |
| :root { |
| --polish-gradient: linear-gradient(135deg, #dc143c, #ff6347); |
| --russian-gradient: linear-gradient(135deg, #0039a6, #d52b1e); |
| --english-gradient: linear-gradient(135deg, #0047AB, #B0E0E6); |
| --dark-bg: #0f172a; |
| } |
| |
| body { |
| font-family: 'Poppins', sans-serif; |
| background: linear-gradient(135deg, #1a202c, #2d3748); |
| min-height: 100vh; |
| color: #f0f9ff; |
| } |
| |
| .card { |
| box-shadow: 0 15px 30px rgba(0, 0, 0, 0.3); |
| border-radius: 20px; |
| overflow: hidden; |
| transform: translateY(0); |
| transition: transform 0.3s ease, box-shadow 0.3s ease; |
| } |
| |
| .card:hover { |
| transform: translateY(-10px); |
| box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4); |
| } |
| |
| .rhyme-card { |
| animation: fadeIn 0.5s ease-out; |
| transition: transform 0.3s ease; |
| } |
| |
| .rhyme-card:hover { |
| transform: scale(1.03); |
| } |
| |
| @keyframes fadeIn { |
| from { opacity: 0; transform: translateY(10px); } |
| to { opacity: 1; transform: translateY(0); } |
| } |
| |
| .tabs li.active { |
| position: relative; |
| } |
| |
| .tabs li.active::after { |
| content: ''; |
| position: absolute; |
| bottom: -2px; |
| left: 20%; |
| width: 60%; |
| height: 3px; |
| background: currentColor; |
| border-radius: 10px; |
| } |
| |
| .language-card { |
| position: relative; |
| overflow: hidden; |
| transition: all 0.3s ease; |
| cursor: pointer; |
| } |
| |
| .language-card:hover::before { |
| content: ''; |
| position: absolute; |
| top: 0; |
| left: 0; |
| right: 0; |
| bottom: 0; |
| background: linear-gradient(rgba(0,0,0,0.3), rgba(0,0,0,0.6)); |
| z-index: 1; |
| } |
| |
| .language-card.active { |
| transform: scale(1.05); |
| box-shadow: 0 10px 25px rgba(0,0,0,0.3); |
| } |
| |
| .language-card.active::after { |
| content: '✓'; |
| position: absolute; |
| top: 10px; |
| right: 10px; |
| width: 30px; |
| height: 30px; |
| background-color: #3b82f6; |
| color: white; |
| border-radius: 50%; |
| display: flex; |
| align-items: center; |
| justify-content: center; |
| z-index: 2; |
| font-weight: bold; |
| } |
| |
| .floating-button { |
| animation: float 3s ease-in-out infinite; |
| } |
| |
| @keyframes float { |
| 0% { transform: translateY(0px); } |
| 50% { transform: translateY(-10px); } |
| 100% { transform: translateY(0px); } |
| } |
| |
| .rhyme-chip { |
| display: inline-block; |
| background: rgba(255,255,255,0.1); |
| padding: 5px 15px; |
| border-radius: 20px; |
| margin: 5px; |
| transition: all 0.2s ease; |
| cursor: pointer; |
| } |
| |
| .rhyme-chip:hover { |
| background: rgba(59, 130, 246, 0.8); |
| transform: scale(1.05); |
| } |
| |
| #inputWord:focus { |
| box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.5); |
| } |
| |
| .flag-icon { |
| width: 24px; |
| height: 24px; |
| display: inline-block; |
| margin-right: 8px; |
| border-radius: 50%; |
| } |
| </style> |
| </head> |
| <body class="min-h-screen flex flex-col items-center py-8 px-4"> |
| |
| <header class="w-full max-w-6xl text-center mb-8"> |
| <h1 class="text-4xl md:text-5xl font-bold bg-clip-text text-transparent bg-gradient-to-r from-blue-400 to-teal-400 mb-4"> |
| Rhymes Maker |
| </h1> |
| <p class="text-xl text-gray-300 max-w-2xl mx-auto"> |
| Find perfect rhymes in Polish, Russian and English. Create poetic expressions effortlessly. |
| </p> |
| <div class="mt-6 flex flex-wrap justify-center gap-4"> |
| <div class="flex items-center"> |
| <span class="flag-icon bg-gradient-to-r from-red-500 to-white"></span> |
| <span>Polish</span> |
| </div> |
| <div class="flex items-center"> |
| <span class="flag-icon bg-gradient-to-r from-blue-500 to-red-500"></span> |
| <span>Russian</span> |
| </div> |
| <div class="flex items-center"> |
| <span class="flag-icon bg-gradient-to-r from-blue-700 to-red-600"></span> |
| <span>English</span> |
| </div> |
| </div> |
| </header> |
|
|
| |
| <section class="w-full max-w-4xl mb-12"> |
| <h2 class="text-2xl font-semibold text-center mb-6">Select Language</h2> |
| <div class="grid grid-cols-1 md:grid-cols-3 gap-6"> |
| |
| <div class="language-card active card bg-gradient-to-br from-[#dc143c] to-[#ff6347] text-white p-6 flex flex-col items-center"> |
| <div class="text-4xl mb-4">🇵🇱</div> |
| <h3 class="text-xl font-bold">Polish</h3> |
| <p class="text-center mt-2 opacity-90">Over 50,000 polish words</p> |
| <div class="mt-4 flex items-center"> |
| <i class="fas fa-book mr-2"></i> |
| <span>Rich vocabulary</span> |
| </div> |
| </div> |
| |
| |
| <div class="language-card card bg-gradient-to-br from-[#0039a6] to-[#d52b1e] text-white p-6 flex flex-col items-center"> |
| <div class="text-4xl mb-4">🇷🇺</div> |
| <h3 class="text-xl font-bold">Russian</h3> |
| <p class="text-center mt-2 opacity-90">Extensive rhyme database</p> |
| <div class="mt-4 flex items-center"> |
| <i class="fas fa-feather mr-2"></i> |
| <span>Poetic expressions</span> |
| </div> |
| </div> |
| |
| |
| <div class="language-card card bg-gradient-to-br from-[#0047AB] to-[#B0E0E6] text-white p-6 flex flex-col items-center"> |
| <div class="text-4xl mb-4">🇬🇧</div> |
| <h3 class="text-xl font-bold">English</h3> |
| <p class="text-center mt-2 opacity-90">Over 100,000 english words</p> |
| <div class="mt-4 flex items-center"> |
| <i class="fas fa-language mr-2"></i> |
| <span>Perfect rhymes</span> |
| </div> |
| </div> |
| </div> |
| </section> |
| |
| |
| <section class="w-full max-w-2xl mb-12"> |
| <div class="card bg-gray-800 p-6 md:p-8"> |
| <div class="flex items-center mb-6"> |
| <div class="w-10 h-10 rounded-full bg-blue-500 flex items-center justify-center mr-4"> |
| <i class="fas fa-keyboard text-white"></i> |
| </div> |
| <h2 class="text-2xl font-bold">Find Rhymes</h2> |
| </div> |
| |
| <div class="flex flex-col sm:flex-row gap-4 mb-6"> |
| <div class="relative flex-grow"> |
| <input |
| type="text" |
| id="inputWord" |
| placeholder="Enter a word..." |
| class="w-full px-6 py-4 rounded-2xl bg-gray-700 border border-gray-600 text-white focus:outline-none focus:border-blue-500 text-lg" |
| > |
| <i class="fas fa-pen absolute right-4 top-1/2 transform -translate-y-1/2 text-gray-400"></i> |
| </div> |
| <button id="findRhymesBtn" class="px-8 py-4 bg-gradient-to-r from-blue-500 to-teal-500 text-white font-semibold rounded-2xl hover:from-blue-600 hover:to-teal-600 transition-all duration-300 transform hover:scale-105"> |
| <i class="fas fa-search mr-2"></i> Find Rhymes |
| </button> |
| </div> |
| |
| <div class="flex justify-between text-gray-400"> |
| <div class="flex items-center"> |
| <i class="fas fa-lightbulb mr-2 text-yellow-400"></i> |
| <span>Tip: Use nouns for best results</span> |
| </div> |
| <div> |
| <span>Rhyme level: <span class="text-blue-400">Advanced</span></span> |
| </div> |
| </div> |
| </div> |
| </section> |
| |
| |
| <section class="w-full max-w-4xl mb-12"> |
| <div class="flex justify-between items-center mb-6"> |
| <h2 class="text-2xl font-bold">Rhyme Results</h2> |
| <div class="text-gray-300"> |
| <span id="resultCount" class="bg-blue-500 text-white py-1 px-3 rounded-full">0</span> |
| <span> words found</span> |
| </div> |
| </div> |
| |
| |
| <ul class="tabs flex border-b border-gray-700 mb-6"> |
| <li class="text-lg py-2 px-4 font-medium cursor-pointer active text-blue-400">Perfect Rhymes</li> |
| <li class="text-lg py-2 px-4 font-medium cursor-pointer text-gray-400">Near Rhymes</li> |
| <li class="text-lg py-2 px-4 font-medium cursor-pointer text-gray-400">Syllable Rhymes</li> |
| </ul> |
| |
| |
| <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4"> |
| <div class="rhyme-card card bg-gradient-to-br from-blue-900/50 to-indigo-900/50 p-6"> |
| <div class="flex items-center mb-3"> |
| <div class="w-8 h-8 rounded-full bg-purple-500 flex items-center justify-center mr-3"> |
| <i class="fas fa-star"></i> |
| </div> |
| <h3 class="font-semibold text-lg">Wind</h3> |
| </div> |
| <p class="text-sm text-gray-300 mb-2">English · 1 syllable</p> |
| <div> |
| <span class="rhyme-chip">remind</span> |
| <span class="rhyme-chip">kind</span> |
| <span class="rhyme-chip">behind</span> |
| <span class="rhyme-chip">mind</span> |
| </div> |
| </div> |
| |
| <div class="rhyme-card card bg-gradient-to-br from-rose-900/50 to-pink-900/50 p-6"> |
| <div class="flex items-center mb-3"> |
| <div class="w-8 h-8 rounded-full bg-red-500 flex items-center justify-center mr-3"> |
| <i class="fas fa-heart"></i> |
| </div> |
| <h3 class="font-semibold text-lg">Miłość</h3> |
| </div> |
| <p class="text-sm text-gray-300 mb-2">Polish · 2 syllables</p> |
| <div> |
| <span class="rhyme-chip">radość</span> |
| <span class="rhyme-chip">słodycz</span> |
| <span class="rhyme-chip">czułość</span> |
| <span class="rhyme-chip">trwałość</span> |
| </div> |
| </div> |
| |
| <div class="rhyme-card card bg-gradient-to-br from-red-900/50 to-orange-900/50 p-6"> |
| <div class="flex items-center mb-3"> |
| <div class="w-8 h-8 rounded-full bg-orange-500 flex items-center justify-center mr-3"> |
| <i class="fas fa-sun"></i> |
| </div> |
| <h3 class="font-semibold text-lg">Любовь</h3> |
| </div> |
| <p class="text-sm text-gray-300 mb-2">Russian · 2 syllables</p> |
| <div> |
| <span class="rhyme-chip">кровь</span> |
| <span class="rhyme-chip">вновь</span> |
| <span class="rhyme-chip">морковь</span> |
| <span class="rhyme-chip">плотин</span> |
| </div> |
| </div> |
| </div> |
| </section> |
| |
| |
| <section class="w-full max-w-2xl mb-12"> |
| <div class="card bg-gradient-to-r from-indigo-900 to-purple-900 p-8 text-center"> |
| <h2 class="text-2xl font-bold mb-4">Create Beautiful Poems</h2> |
| <p class="text-gray-200 mb-6">Save, share, and even create AI-generated poems with your rhymes</p> |
| <div class="flex flex-col sm:flex-row gap-4 justify-center"> |
| <button class="px-6 py-3 bg-white text-gray-800 font-semibold rounded-xl hover:bg-gray-100 transition-all"> |
| <i class="fas fa-save mr-2"></i> Save Results |
| </button> |
| <button class="px-6 py-3 bg-gradient-to-r from-pink-500 to-rose-500 text-white font-semibold rounded-xl hover:from-pink-600 hover:to-rose-600 transition-all"> |
| <i class="fas fa-magic mr-2"></i> Generate Poem |
| </button> |
| </div> |
| </div> |
| </section> |
| |
| |
| <button class="floating-button fixed bottom-8 right-8 w-16 h-16 rounded-full bg-gradient-to-r from-blue-500 to-teal-500 text-white flex items-center justify-center shadow-xl z-10"> |
| <i class="fas fa-plus text-xl"></i> |
| </button> |
| |
| |
| <footer class="w-full max-w-6xl text-center mt-auto py-8 text-gray-500"> |
| <div class="flex justify-center space-x-6 mb-4"> |
| <a href="#" class="hover:text-white transition"><i class="fab fa-github"></i></a> |
| <a href="#" class="hover:text-white transition"><i class="fab fa-twitter"></i></a> |
| <a href="#" class="hover:text-white transition"><i class="fab fa-facebook"></i></a> |
| <a href="#" class="hover:text-white transition"><i class="fab fa-instagram"></i></a> |
| </div> |
| <p>© 2023 Rhymes Maker. The multilingual poetry assistant.</p> |
| <p class="mt-2 text-sm">Supporting Polish (Polski), Russian (Русский), and English languages.</p> |
| </footer> |
|
|
| <script> |
| |
| document.querySelectorAll('.language-card').forEach(card => { |
| card.addEventListener('click', function() { |
| document.querySelectorAll('.language-card').forEach(c => c.classList.remove('active')); |
| this.classList.add('active'); |
| }); |
| }); |
| |
| |
| document.querySelectorAll('.tabs li').forEach(tab => { |
| tab.addEventListener('click', function() { |
| document.querySelectorAll('.tabs li').forEach(t => t.classList.remove('active')); |
| this.classList.add('active'); |
| }); |
| }); |
| |
| |
| document.getElementById('findRhymesBtn').addEventListener('click', function() { |
| const input = document.getElementById('inputWord').value.trim(); |
| const resultCount = document.getElementById('resultCount'); |
| |
| if(input === '') { |
| resultCount.textContent = '0'; |
| return; |
| } |
| |
| |
| this.innerHTML = '<i class="fas fa-spinner fa-spin mr-2"></i> Finding...'; |
| this.disabled = true; |
| |
| setTimeout(() => { |
| this.innerHTML = '<i class="fas fa-search mr-2"></i> Find Rhymes'; |
| this.disabled = false; |
| |
| |
| const count = Math.floor(Math.random() * 15) + 12; |
| resultCount.textContent = count; |
| |
| |
| document.body.insertAdjacentHTML('beforeend', ` |
| <div class="fixed bottom-6 left-1/2 transform -translate-x-1/2 bg-green-500 text-white py-3 px-6 rounded-lg shadow-lg z-50"> |
| Found ${count} rhymes for "${input}"! |
| </div> |
| `); |
| |
| |
| setTimeout(() => { |
| document.querySelector('.fixed.bg-green-500')?.remove(); |
| }, 3000); |
| }, 1500); |
| }); |
| </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://enzostvs-deepsite.hf.space/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://enzostvs-deepsite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - 🧬 <a href="https://enzostvs-deepsite.hf.space?remix=mukolaz44/pooko" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body> |
| </html> |