\<\!DOCTYPE html\> \ \ \ \ \रक्षा बंधन शुभकामनाएँ हिंदी शुभकामनाएँ\ \ \ \ \ \ \ \ \ \ \ :root{ --bg1:\#fff7ed; --bg2:\#ffedd5; --fg:\#0b0b0c; --muted:\#5f5f62; --card:\#ffffffcc; --border:\#00000014; --accent:\#f59e0b; --success:\#10b981; } @media (prefers-color-scheme: dark){ :root{ --bg1:\#0b0b0c; --bg2:\#09090b; --fg:\#f5f5f5; --muted:\#c3c3c7; --card:\#18181bcd; --border:\#ffffff1a; } } \*{box-sizing:border-box} body{margin:0; font-family:system-ui,-apple-system,Segoe UI,Inter,Roboto,Helvetica,Arial; color:var(--fg); background:linear-gradient(180deg,var(--bg1),var(--bg2)); } header{ position:sticky; top:0; z-index:10; backdrop-filter:saturate(120%) blur(6px); background: rgba(255,255,255,.6); border-bottom:1px solid var(--border); } @media (prefers-color-scheme: dark){ header{ background: rgba(11,11,12,.7); } } .container{ max-width:1120px; margin:0 auto; padding:16px; } .row{ display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; } .brand{ display:flex; align-items:center; gap:10px; font-weight:800; letter-spacing:.3px; } .brand-title{ font-size:22px; margin:0; display:flex; align-items:center; gap:10px } .muted{ color:var(--muted); font-size:14px } .controls{ padding-top:20px } .grid{ display:grid; gap:16px } @media(min-width:640px){ .grid{ grid-template-columns: repeat(2,minmax(0,1fr)); } } @media(min-width:1024px){ .grid{ grid-template-columns: repeat(3,minmax(0,1fr)); } } .card{ border:1px solid var(--border); border-radius:16px; background:var(--card); box-shadow:0 1px 3px rgba(0,0,0,.06); } .card h3{ margin:0; padding:14px 16px 4px 16px; font-size:15px; display:flex; gap:8px; align-items:center } .card .content{ padding:0 16px 16px 16px } .card p{ margin:8px 0 16px 0; font-size:14px; line-height:1.55; white-space:pre-wrap } .btn{ border-radius:12px; padding:8px 12px; font-size:13px; border:1px solid var(--border); background:\#fff3; cursor:pointer } .btn.secondary{ background:rgba(16,185,129,.08) } .btn.success{ background:var(--success); color:\#fff; border-color:transparent } .btn.outline{ background:transparent } .toolbar{ display:flex; gap:8px } .chipbar{ display:flex; gap:8px; overflow:auto; padding-bottom:6px } .chip{ padding:8px 12px; font-size:13px; border-radius:999px; border:1px solid var(--border); background:\#fff8; white-space:nowrap; cursor:pointer } .chip.active{ background:var(--accent); color:white; border-color:var(--accent) } .field{ position:relative } .input{ width:100%; padding:10px 12px 10px 36px; border-radius:12px; border:1px solid var(--border); background:\#fff8; color:var(--fg); outline:none } .icon{ position:absolute; left:10px; top:50%; transform:translateY(-50%); opacity:.7 } footer{ border-top:1px solid var(--border); margin-top:24px } .toast{ position:fixed; bottom:16px; right:16px; background:var(--success); color:\#fff; padding:10px 14px; border-radius:12px; box-shadow:0 6px 28px rgba(0,0,0,.18); font-size:13px; opacity:0; transform:translateY(10px); transition:all .2s ease; } .toast.show{ opacity:1; transform:translateY(0) } .helper{ font-size:13px; opacity:.8; margin:8px 0 16px 0 } \ \ \ \ \
\
\
\\

🎉 रक्षा बंधन शुभकामनाएँ\ \ \
DataKnobs Festive\ \ \ \ \
\
\
\
\🔎\ \ \ \ \
\ \ \

\ \ \

\
\ \ \ \
🎉 भाई-बहन के अटूट प्रेम का प्रतीक रक्षा बंधन पर स्नेह और शुभकामनाएँ बाँटें। \ \ \
कॉपी हुआ\ \ const CATEGORIES = [{"id":"brother","title":"भाई के लिए","emoji":"👦","wishes":["प्रिय भाई, तुम्हारी कलाई पर बंधी यह राखी मेरे प्यार और तुम्हारी सुरक्षा की कामना का प्रतीक है। रक्षा बंधन की ढेर सारी शुभकामनाएँ\!","भाई, तुम मेरे सबसे अच्छे दोस्त और मेरे रक्षक हो। ईश्वर तुम्हें हमेशा खुश और सफल रखे। हैप्पी रक्षा बंधन\!","मेरे प्यारे भाई, यह राखी का धागा हमारे अटूट रिश्ते की निशानी है। तुम्हारा जीवन हमेशा खुशियों से भरा रहे। रक्षा बंधन मुबारक\!"]},{"id":"sister","title":"बहन के लिए","emoji":"👧","wishes":["मेरी प्यारी बहन, तुम्हारा भेजा हुआ यह राखी का धागा सिर्फ एक धागा नहीं, बल्कि तुम्हारा प्यार और आशीर्वाद है। रक्षा बंधन की शुभकामनाएँ\!","बहना, मैं वादा करता हूँ कि हमेशा तुम्हारी रक्षा करूँगा और तुम्हारे साथ खड़ा रहूँगा। तुम्हें रक्षा बंधन की बहुत-बहुत शुभकामनाएँ।","मेरी लाड़ली बहन, इस रक्षा बंधन पर तुम्हारे जीवन में खुशियों की बहार आए। हमेशा मुस्कुराती रहो। शुभकामनाएँ\!"]},{"id":"emotional","title":"भावनात्मक","emoji":"💖","wishes":["यह सिर्फ राखी का धागा नहीं, बल्कि हमारे बचपन की खट्टी-मीठी यादों, अनगिनत शरारतों और गहरे प्यार का बंधन है। रक्षा बंधन की शुभकामनाएँ।","सालों बीत गए, पर हमारे रिश्ते की मिठास और इस कच्चे धागे की मजबूती आज भी वैसी ही है। हैप्पी रक्षा बंधन\!","भाई-बहन का रिश्ता दुनिया के हर रिश्ते से अनोखा और अनमोल होता है। आओ इस रिश्ते का जश्न मनाएँ। रक्षा बंधन मुबारक\!"]},{"id":"long-distance","title":"दूर रहने वाले","emoji":"✈️","wishes":["भले ही आज हम मीलों दूर हैं, पर यह राखी का धागा हमारे दिलों को हमेशा जोड़े रखता है। तुम्हारी बहुत याद आती है। रक्षा बंधन की शुभकामनाएँ\!","दूरी हमारे प्यार को कम नहीं कर सकती। मेरी शुभकामनाएँ और आशीर्वाद हमेशा तुम्हारे साथ हैं। हैप्पी रक्षा बंधन, भाई/बहन।","इस रक्षा बंधन पर तुम्हें पास न पाकर थोड़ी कमी महसूस हो रही है, पर हमारा प्यार दूरियों से परे है। जल्द मिलेंगे। शुभकामनाएँ\!"]}]; let activeCategory = 'all'; let query = ''; ``` const searchEl = document.getElementById('search'); const chipbarEl = document.getElementById('chipbar'); const gridEl = document.getElementById('grid'); const countEl = document.getElementById('count'); const toastEl = document.getElementById('toast'); searchEl.addEventListener('input', (e)=>{ query = e.target.value.trim().toLowerCase(); render(); }); function announce(msg){ toastEl.textContent = msg; toastEl.classList.add('show'); setTimeout(()=>toastEl.classList.remove('show'), 1100); } function copyText(text, key){ navigator.clipboard.writeText(text).then(()=>{ const btn = document.querySelector(`[data-key="${key}"]`); if(btn){ btn.textContent='✔ कॉपी हुआ'; setTimeout(()=> btn.textContent='कॉपी', 1500); } announce('कॉपी हुआ'); }).catch(()=> alert('कॉपी सपोर्ट उपलब्ध नहीं।')); } function shareText(text){ if(navigator.share){ navigator.share({ text }).catch(()=>{}); } else{ navigator.clipboard.writeText(text).then(()=> alert('शेयर सपोर्ट नहीं है टेक्स्ट कॉपी कर दिया गया है।')); } } function getAllWishes(){ const list = []; CATEGORIES.forEach(cat => { cat.wishes.forEach((w, i) => list.push({ id: `${cat.id}-${i}`, categoryId:cat.id, categoryTitle:cat.title, emoji:cat.emoji, text:w })); }); return list; } function renderChips(){ chipbarEl.innerHTML = ''; const allChip = document.createElement('button'); allChip.className = 'chip ' + (activeCategory==='all'?'active':''); allChip.textContent = 'सभी'; allChip.setAttribute('role','tab'); allChip.onclick = ()=>{ activeCategory='all'; render(); }; chipbarEl.appendChild(allChip); CATEGORIES.forEach(c=>{ const btn = document.createElement('button'); btn.className='chip ' + (activeCategory===c.id?'active':''); btn.innerHTML = `${c.emoji} ${c.title}`; btn.setAttribute('role','tab'); btn.onclick = ()=>{ activeCategory=c.id; render(); }; chipbarEl.appendChild(btn); }); } function renderGrid(){ const all = getAllWishes(); let list = activeCategory==='all' ? all : all.filter(w=>w.categoryId===activeCategory); if(query) list = list.filter(w=>w.text.toLowerCase().includes(query)); countEl.textContent = (activeCategory==='all') ? `कुल ${list.length} संदेश मिले।` : `${CATEGORIES.find(c=>c.id===activeCategory)?.title} में ${list.length} संदेश।`; gridEl.innerHTML = ''; list.forEach(w=>{ const card = document.createElement('div'); card.className='card'; const h3 = document.createElement('h3'); h3.innerHTML = `${w.emoji}${w.categoryTitle}`; const content = document.createElement('div'); content.className='content'; const p = document.createElement('p'); p.textContent = w.text; const bar = document.createElement('div'); bar.className='toolbar'; const cbtn = document.createElement('button'); cbtn.className='btn secondary'; cbtn.textContent='कॉपी'; cbtn.dataset.key=w.id; cbtn.onclick=()=>copyText(w.text, w.id); const sbtn = document.createElement('button'); sbtn.className='btn outline'; sbtn.textContent='शेयर'; sbtn.onclick=()=>shareText(w.text); bar.appendChild(cbtn); bar.appendChild(sbtn); content.appendChild(p); content.appendChild(bar); card.appendChild(h3); card.appendChild(content); gridEl.appendChild(card); }); } function render(){ renderChips(); renderGrid(); } render(); ``` \ \ \