সকল ফিচার সহ PromoptBox সম্পুর্ন রেডি কোড।
October 10, 2026
DownloadLockpopularprice-499
DownloadLockpopularprice-499
✦Tanbin Premium
🔐
এটি একটি Premium কন্টেন্ট
মাত্র ৫০ টাকা
bKash/Nagad অ্যাপে Send Money করে (Payment নয়) ৫০ টাকা পাঠান ও ফর্ম জমা দিন — অ্যাডমিন অ্যাপ্রুভ করলেই কন্টেন্ট আনলক হবে।
💰 পেমেন্ট মাধ্যম
যেকোনো একটি মাধ্যমে ৫০ টাকা পাঠান। bKash / Nagad / Rocket অ্যাপে অবশ্যই “Send Money” অপশন ব্যবহার করুন — “Payment” নয়।
💳 কীভাবে আনলক করবেন
- 1পছন্দের মাধ্যম (bKash/Nagad/Binance) বেছে নিন।
- 2৫০ টাকা Send Money করুন (Payment নয়)।
- 3Transaction ID সংরক্ষণ করুন।
- 4ফর্ম পূরণ করে জমা দিন — রিকোয়েস্ট শুধু একবারই দেবেন।
- 5স্ট্যাটাসে “Pending” দেখাবে, অ্যাডমিন যাচাই করছেন।
- 6অ্যাপ্রুভ হলেই এই পেজে কন্টেন্ট নিজে থেকে আনলক হবে।
📋 পেমেন্ট ভেরিফিকেশন ফর্ম
তথ্য দিয়ে জমা দিলে অ্যাডমিন যাচাই করে অ্যাপ্রুভ করবেন। একই কন্টেন্টের জন্য একবারই রিকোয়েস্ট দিন।
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html>
<html b:css='false' b:defaultwidgetversion='2' b:layoutsVersion='3' expr:dir='data:blog.languageDirection' expr:lang='data:blog.locale' xmlns='http://www.w3.org/1999/xhtml' xmlns:b='http://www.google.com/2005/gml/b' xmlns:data='http://www.google.com/2005/gml/data' xmlns:expr='http://www.google.com/2005/gml/expr'>
<head>
<meta charset='utf-8'/>
<meta content='width=device-width, initial-scale=1' name='viewport'/>
<title><data:blog.pageTitle/></title>
<b:include data='blog' name='all-head-content'/>
<link href='data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2040%2040%22%20width=%2236%22%20height=%2236%22%3E%3Cdefs%3E%3ClinearGradient%20id=%22pbg%22%20x1=%220%22%20y1=%220%22%20x2=%221%22%20y2=%221%22%3E%3Cstop%20offset=%220%22%20stop-color=%22%238b7bff%22/%3E%3Cstop%20offset=%221%22%20stop-color=%22%23b44bf0%22/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect%20width=%2240%22%20height=%2240%22%20rx=%2211%22%20fill=%22url(%23pbg)%22/%3E%3Cpath%20d=%22M13%2029V11h8.5a5.5%205.5%200%200%201%200%2011H17%22%20fill=%22none%22%20stroke=%22%23fff%22%20stroke-width=%223.4%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M29.5%208.5l1%202.5%202.5%201-2.5%201-1%202.5-1-2.5-2.5-1%202.5-1z%22%20fill=%22%23fff%22/%3E%3C/svg%3E' id='pbIcon' rel='icon' type='image/svg+xml'/>
<script>//<![CDATA[
/* ===== সাইটের সেটিং: এখান থেকে সব বদলান ===== */
window.PB = {
price: '৫০', /* Premium কন্টেন্টের ডিফল্ট দাম (টাকা) */
whatsapp: '8801927661298', /* আপনার WhatsApp নম্বর (880 দিয়ে শুরু) */
telegram: 'https://t.me/TanbinTech2',
facebook: 'https://www.facebook.com/earnigsurce',
youtube: 'https://youtube.com/@tanbintechzone?si=cXcHrYjhznx-rP9Q',
buyers: '', /* ক্রেতার সংখ্যা, যেমন '১০০+' (ফাঁকা রাখলে দেখাবে না) */
logoUrl: '', /* নিজের লোগোর ছবির লিংক (ফাঁকা রাখলে ডিফল্ট লোগো) */
course: 'http://tanbinachademy.top',
pwa: { name: 'PromptBox', short: 'PromptBox', color: '#7c6cff', bg: '#0a0c12' },
reviews: [], /* রিভিউ স্ক্রিনশটের লিংক */
reviewsText: [], /* লেখা রিভিউ, যেমন [{name: 'ক্রেতার নাম', text: 'আসল রিভিউ'}] */
/* ===== আপনার পেমেন্ট একাউন্ট (Premium পোস্টের ডিফল্ট + বিক্রেতার পোস্ট ফি এখানেই আসবে) ===== */
bkash: '01927661298',
nagad: '01927661298',
binance: '419997901',
pin: '81014166', /* ডিফল্ট Premium PIN (পোস্টে আলাদা PIN দিলে সেটা কাজ করবে) */
/* ===== "কোড/প্রম্পট বিক্রি করুন" ফর্মের পোস্ট ফি ===== */
sellFeeBdt: '১৪০', /* bKash / Nagad এ টাকা */
sellFeeUsd: '$1.20', /* Binance এ ডলার */
/* ===== Human Verification (ফ্রি পোস্টে View চাপলে আসে) =====
প্রতিটি লিংক = একটি Human Verify বাটন। ফাঁকা [] রাখলে বন্ধ হয়ে যাবে। */
tasks: [
'https://femalesfellowship.com/a0fkrfvyar?key=2e964f9cdd62c95c757c3b899a253e58', /* ধাপ ১ */
'https://femalesfellowship.com/a0fkrfvyar?key=2e964f9cdd62c95c757c3b899a253e58' /* ধাপ ২ */
],
taskSeconds: 5 /* লোডিং ঘুরবে কত সেকেন্ড, তারপর Verified */
};
/* পোস্টের লেবেলে price-30 (বা দাম-৩০) লিখলে ওই পোস্টের দাম ৩০ টাকা হবে */
window.pbPrice = function (names) {
var re = /^\s*(?:price|দাম)\s*[-_: ]\s*([0-9০-৯]+)\s*$/i;
for (var i = 0; i < (names || []).length; i++) {
var m = re.exec(names[i]);
if (m) { return m[1].replace(/[0-9]/g, function (d) { return '০১২৩৪৫৬৭৮৯'.charAt(d); }); }
}
return window.PB.price;
};
/* লেবেলে VERIFY লিখলে ওই পোস্ট লিস্টে ফ্রি দেখাবে; ভেতরে পেমেন্ট/PIN অথবা Human Verification - যেকোনো একটিতে এক্সেস (lock + VERIFY দুটোই দিতে হবে) */
window.pbIsVerify = function (names) {
for (var i = 0; i < (names || []).length; i++) {
if (/^\s*verify\s*$/i.test(String(names[i]))) { return true; }
}
return false;
};
/* লেবেলে download (বা ডাউনলোড) লিখলে পোস্টের লেখা Copy/Download কোড বক্সে আসবে */
window.pbIsDownload = function (names) {
for (var i = 0; i < (names || []).length; i++) {
if (/^\s*(?:download|ডাউনলোড)\s*$/i.test(String(names[i]))) { return true; }
}
return false;
};
/* লেবেল: bkash-01900000000 / nagad-... / binance-... / whatsapp-8801900000000 → ওই পোস্টের পেমেন্ট মাধ্যম ও WhatsApp */
window.pbPayLabels = function (names) {
var out = { bkash: '', nagad: '', binance: '', whatsapp: '' };
var re = /^\s*([A-Za-z]+|বিকাশ|নগদ|বাইনান্স)\s*[-_: ]\s*\+?([0-9০-৯]{5,})\s*$/;
for (var i = 0; i < (names || []).length; i++) {
var m = re.exec(String(names[i]));
if (!m) { continue; }
var k = m[1].toLowerCase();
var num = m[2].replace(/[০-৯]/g, function (d) { return '০১২৩৪৫৬৭৮৯'.indexOf(d); });
if (k === 'bkash' || k === 'bikash' || m[1] === 'বিকাশ') { out.bkash = num; }
else if (k === 'nagad' || m[1] === 'নগদ') { out.nagad = num; }
else if (k === 'binance' || m[1] === 'বাইনান্স') { out.binance = num; }
else if (k === 'whatsapp' || k === 'wa') {
if (/^0[0-9]{10}$/.test(num)) { num = '88' + num; }
out.whatsapp = num;
}
}
return out;
};
window.pbMarkVerify = function (card) {
if (!card || card.getAttribute('data-vf')) { return; }
var names = [];
var ls = card.querySelectorAll('.pb-lbls i');
for (var k = 0; k < ls.length; k++) { names.push(ls[k].textContent); }
if (!window.pbIsVerify(names)) { return; }
card.setAttribute('data-vf', '1');
var rm = card.querySelectorAll('.prem-flag, .prem-cost');
for (var j = 0; j < rm.length; j++) { if (rm[j].parentNode) { rm[j].parentNode.removeChild(rm[j]); } }
var tb = card.querySelector('.t-badges');
if (tb && !tb.children.length) { tb.style.display = 'none'; }
};
//]]></script>
<meta content='#0a0c12' name='theme-color'/>
<meta content='yes' name='mobile-web-app-capable'/>
<meta content='yes' name='apple-mobile-web-app-capable'/>
<meta content='PromptBox' name='apple-mobile-web-app-title'/>
<meta content='black-translucent' name='apple-mobile-web-app-status-bar-style'/>
<script>//<![CDATA[
/* PWA: app manifest + install button */
(function () {
var PB = window.PB || {};
var cfg = PB.pwa || {};
var NAME = cfg.name || 'PromptBox';
function roundRect(x, px, py, w, h, r) {
x.beginPath();
x.moveTo(px + r, py);
x.arcTo(px + w, py, px + w, py + h, r);
x.arcTo(px + w, py + h, px, py + h, r);
x.arcTo(px, py + h, px, py, r);
x.arcTo(px, py, px + w, py, r);
x.closePath();
}
function iconPng(size) {
var c = document.createElement('canvas');
c.width = size; c.height = size;
var x = c.getContext('2d');
var s = size / 40;
var g = x.createLinearGradient(0, 0, size, size);
g.addColorStop(0, '#8b7bff'); g.addColorStop(1, '#b44bf0');
x.fillStyle = g;
roundRect(x, 0, 0, size, size, size * 0.275);
x.fill();
x.strokeStyle = '#fff'; x.lineWidth = 3.4 * s; x.lineCap = 'round'; x.lineJoin = 'round';
x.beginPath();
x.moveTo(13 * s, 29 * s); x.lineTo(13 * s, 11 * s); x.lineTo(21.5 * s, 11 * s);
x.arc(21.5 * s, 16.5 * s, 5.5 * s, -Math.PI / 2, Math.PI / 2, false);
x.lineTo(17 * s, 22 * s);
x.stroke();
x.fillStyle = '#fff';
x.beginPath();
x.moveTo(29.5 * s, 8.5 * s); x.lineTo(30.5 * s, 11 * s); x.lineTo(33 * s, 12 * s); x.lineTo(30.5 * s, 13 * s);
x.lineTo(29.5 * s, 15.5 * s); x.lineTo(28.5 * s, 13 * s); x.lineTo(26 * s, 12 * s); x.lineTo(28.5 * s, 11 * s);
x.closePath(); x.fill();
return c.toDataURL('image/png');
}
function setup() {
var i192, i512;
try { i192 = iconPng(192); i512 = iconPng(512); } catch (e) { return; }
var manifest = {
name: NAME,
short_name: cfg.short || NAME,
description: 'AI প্রম্পট, রেডি কোড ও Premium কন্টেন্ট',
id: window.location.origin + '/',
start_url: window.location.origin + '/',
scope: window.location.origin + '/',
display: 'standalone',
orientation: 'portrait',
lang: 'bn',
background_color: cfg.bg || '#0a0c12',
theme_color: cfg.color || '#7c6cff',
icons: [
{ src: i192, sizes: '192x192', type: 'image/png', purpose: 'any' },
{ src: i512, sizes: '512x512', type: 'image/png', purpose: 'any' }
]
};
var blob = new Blob([JSON.stringify(manifest)], { type: 'application/manifest+json' });
var link = document.createElement('link');
link.rel = 'manifest';
link.href = URL.createObjectURL(blob);
document.head.appendChild(link);
var apple = document.createElement('link');
apple.rel = 'apple-touch-icon';
apple.href = iconPng(180);
document.head.appendChild(apple);
}
var deferred = null;
var standalone = (window.matchMedia && window.matchMedia('(display-mode: standalone)').matches) || window.navigator.standalone === true;
var isIos = /iphone|ipad|ipod/i.test(window.navigator.userAgent) && !window.MSStream;
window.addEventListener('beforeinstallprompt', function (e) {
e.preventDefault();
deferred = e;
show();
});
window.addEventListener('appinstalled', function () { deferred = null; hide(); });
function btn() { return document.getElementById('pwaInstall'); }
function show() { var b = btn(); if (b && !standalone) { b.hidden = false; } }
function hide() { var b = btn(); if (b) { b.hidden = true; } }
function tip() {
var old = document.getElementById('pwaTip');
if (old) { old.parentNode.removeChild(old); return; }
var t = document.createElement('div');
t.id = 'pwaTip'; t.className = 'pwa-tip';
t.innerHTML = '<b>অ্যাপ হিসেবে ইনস্টল করুন</b><p>Safari-র নিচের <b>Share</b> বাটন চেপে <b>Add to Home Screen</b> বাছুন।</p><button type="button">ঠিক আছে</button>';
t.querySelector('button').addEventListener('click', function () { t.parentNode.removeChild(t); });
document.body.appendChild(t);
}
function ready() {
setup();
var b = btn();
if (!b || standalone) { return; }
b.addEventListener('click', function () {
if (deferred) {
deferred.prompt();
deferred.userChoice.then(function () { deferred = null; hide(); });
} else if (isIos) {
tip();
}
});
if (isIos) { show(); }
else if (deferred) { show(); }
}
if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', ready); } else { ready(); }
})();
//]]></script>
<!-- Force 6 posts per page on home, label, archive and search pages -->
<b:if cond='data:blog.pageType == "index" or data:blog.pageType == "archive" or data:blog.pageType == "search"'>
<script>//<![CDATA[
(function () {
try {
var u = new URL(window.location.href);
if (u.searchParams.get('max-results') !== '6') {
u.searchParams.set('max-results', '6');
window.location.replace(u.toString());
}
} catch (e) {}
})();
//]]></script>
</b:if>
<link href='https://fonts.googleapis.com' rel='preconnect'/>
<link crossorigin='anonymous' href='https://fonts.gstatic.com' rel='preconnect'/>
<link href='https://fonts.googleapis.com/css2?family=Hind+Siliguri:wght@400;500;600;700&family=Plus+Jakarta+Sans:wght@500;600;700;800&family=Sora:wght@500;700;800&display=swap' rel='stylesheet'/>
<link href='https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css' rel='stylesheet'/>
<b:skin><![CDATA[
:root {
--bg: #070910;
--surface: #0f1220;
--surface-2: #171b2d;
--line: #232842;
--text: #f1f2f9;
--muted: #8f96b0;
--accent: #7c6cff;
--accent-2: #c46bff;
--accent-ink: #ffffff;
--accent-soft: rgba(124, 108, 255, 0.15);
--pin: #7c6cff;
--glow-a: rgba(124, 108, 255, 0.32);
--glow-b: rgba(236, 72, 153, 0.16);
--radius: 22px;
--radius-sm: 14px;
--ease: cubic-bezier(0.22, 0.61, 0.36, 1);
--font-head: 'Plus Jakarta Sans', 'Hind Siliguri', sans-serif;
--font-body: 'Hind Siliguri', 'Plus Jakarta Sans', sans-serif;
}
body.light-mode {
--bg: #c6c2ec;
--surface: #dad7f6;
--surface-2: #c9c5ee;
--line: #a7a2db;
--text: #16123a;
--muted: #46427e;
--accent: #5a3df0;
--accent-2: #a23ff0;
--accent-soft: rgba(90, 61, 240, 0.16);
--pin: #5a3df0;
--glow-a: rgba(90, 61, 240, 0.28);
--glow-b: rgba(190, 60, 200, 0.18);
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
font-family: var(--font-body); font-size: 16px; line-height: 1.65;
background: var(--bg); color: var(--text);
overflow-x: hidden; -webkit-font-smoothing: antialiased; position: relative;
transition: background 0.3s var(--ease), color 0.3s var(--ease);
}
body::before {
content: ''; position: absolute; top: -120px; left: 0; right: 0; height: 640px; z-index: -1; pointer-events: none;
background:
radial-gradient(520px 320px at 18% 30%, var(--glow-a), transparent 70%),
radial-gradient(460px 300px at 82% 20%, var(--glow-b), transparent 70%);
}
body::after {
content: ''; position: absolute; top: 0; left: 0; right: 0; height: 560px; z-index: -1; pointer-events: none; opacity: 0.4;
background-image:
linear-gradient(var(--line) 1px, transparent 1px),
linear-gradient(90deg, var(--line) 1px, transparent 1px);
background-size: 60px 60px;
-webkit-mask-image: linear-gradient(to bottom, #000, transparent 80%);
mask-image: linear-gradient(to bottom, #000, transparent 80%);
}
a { color: inherit; text-decoration: none; }
a:focus-visible, button:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
h1, h2, h3, .logo { font-family: var(--font-head); letter-spacing: -0.02em; }
.container { width: 100%; max-width: 1280px; margin: 0 auto; padding: 0 16px; }
@media (min-width: 768px) { .container { padding: 0 32px; } }
/* Floating pill header */
.header-wrap { position: sticky; top: 0; z-index: 100; padding: 12px 12px 0; }
@media (min-width: 768px) { .header-wrap { padding: 16px 32px 0; } }
.site-header {
max-width: 1216px; margin: 0 auto; height: 64px; padding: 0 12px 0 18px;
display: flex; align-items: center; justify-content: space-between; gap: 10px;
background: color-mix(in srgb, var(--surface) 78%, transparent);
-webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px);
border: 1px solid var(--line); border-radius: 20px;
box-shadow: 0 12px 40px -18px rgba(0, 0, 0, 0.55);
}
.logo { display: flex; align-items: center; gap: 10px; font-size: 19px; font-weight: 800; }
.logo-mark { background: none !important; width: auto; height: auto; display: block; line-height: 0; box-shadow: none; }
.logo-mark svg, .logo-mark img { display: block; width: 36px; height: 36px; }
.nav-links { display: flex; align-items: center; gap: 4px; padding: 4px; background: var(--surface-2); border-radius: 999px; }
.nav-links a {
font-family: var(--font-head); font-size: 14px; font-weight: 600; color: var(--muted); white-space: nowrap;
padding: 8px 18px; border-radius: 999px; transition: color 0.2s, background 0.2s;
}
.nav-links a:hover { color: var(--text); }
.nav-links a.active { color: #fff; background: linear-gradient(135deg, var(--accent), var(--accent-2)); }
.header-actions { display: flex; align-items: center; gap: 8px; }
.icon-btn {
width: 40px; height: 40px; border-radius: 13px; cursor: pointer; display: grid; place-items: center;
background: var(--surface-2); border: 1px solid var(--line); color: var(--text); font-size: 15px;
transition: border-color 0.2s;
}
.icon-btn:hover { border-color: var(--accent); }
.menu-btn { display: none; }
@media (max-width: 768px) { .nav-links { display: none; } .menu-btn { display: grid; } }
.mobile-nav {
display: none; flex-direction: column; margin: 8px 12px 0; padding: 6px 16px;
background: var(--surface); border: 1px solid var(--line); border-radius: 18px;
}
.mobile-nav.open { display: flex; }
.mobile-nav a { font-family: var(--font-head); font-weight: 600; font-size: 15px; color: var(--muted); padding: 13px 2px; border-bottom: 1px solid var(--line); }
.mobile-nav a:last-child { border-bottom: none; }
.mobile-nav a.active { color: var(--accent); }
.mobile-nav a.pb-sell { color: #f5c76b; }
/* Hero */
.hero { padding: 52px 0 48px; }
@media (min-width: 768px) { .hero { padding: 96px 0 48px; } }
.hero-title {
font-size: 31px; line-height: 1.3; font-weight: 800; max-width: 920px; letter-spacing: -0.03em;
background: linear-gradient(180deg, var(--text) 35%, color-mix(in srgb, var(--text) 55%, var(--accent)));
-webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent;
}
@media (min-width: 768px) { .hero-title { font-size: 64px; line-height: 1.18; } }
.section-head { display: flex; align-items: center; gap: 16px; margin-bottom: 22px; }
.section-head h2 { font-size: 24px; font-weight: 800; white-space: nowrap; }
.section-head h2::before { content: ''; display: inline-block; width: 10px; height: 10px; margin-right: 12px; border-radius: 50%; background: linear-gradient(135deg, var(--accent), var(--accent-2)); box-shadow: 0 0 14px var(--accent); }
.section-head span { flex: 1; height: 1px; background: linear-gradient(90deg, var(--line), transparent); }
.layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 28px; }
@media (min-width: 992px) { .layout { grid-template-columns: minmax(0, 1fr) 320px; gap: 40px; } .layout > aside { position: sticky; top: 100px; align-self: start; } }
#main-blog-section, #main-blog-section .widget { width: 100%; margin: 0; padding: 0; }
.post-grid { display: grid; grid-template-columns: 1fr; gap: 22px; width: 100%; }
@media (min-width: 560px) { .post-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1240px) { .post-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; } }
.post-card {
position: relative; display: flex; flex-direction: column; padding: 10px;
background: linear-gradient(180deg, var(--surface), color-mix(in srgb, var(--surface) 72%, var(--bg)));
border: 1px solid var(--line); border-radius: var(--radius);
transition: transform 0.35s var(--ease), border-color 0.35s var(--ease), box-shadow 0.35s var(--ease);
}
.post-card:hover { transform: translateY(-5px); border-color: color-mix(in srgb, var(--accent) 70%, var(--line)); box-shadow: 0 30px 60px -28px var(--accent); }
.post-card:has(.pin-flag) { border-color: var(--pin); }
.post-card:has(.prem-flag):not(:has(.pin-flag)) { border-color: color-mix(in srgb, #f5c76b 50%, var(--line)); }
.post-card::before {
content: ''; position: absolute; inset: 0; border-radius: inherit; padding: 1.5px; pointer-events: none;
background: linear-gradient(135deg, var(--accent), transparent 45%, var(--accent-2));
-webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
-webkit-mask-composite: xor; mask-composite: exclude;
opacity: 0; transition: opacity 0.4s var(--ease);
}
.post-card:hover::before { opacity: 1; }
@keyframes shimmer { to { background-position: -220% 0; } }
.thumb {
position: relative; display: block; aspect-ratio: 16 / 10; border-radius: calc(var(--radius) - 8px); overflow: hidden;
border: 1px solid var(--line); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.06);
background: linear-gradient(100deg, var(--surface-2) 30%, color-mix(in srgb, var(--surface-2) 55%, var(--line)) 50%, var(--surface-2) 70%);
background-size: 220% 100%; animation: shimmer 1.5s linear infinite;
}
.thumb img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.7s var(--ease); }
.post-card:hover .thumb img { transform: scale(1.06); }
.thumb-empty { width: 100%; height: 100%; display: grid; place-items: center; font-size: 34px; color: var(--muted); background: linear-gradient(135deg, var(--accent-soft), var(--surface-2)); }
.thumb::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to top, rgba(6, 8, 14, 0.5), transparent 45%); pointer-events: none; }
.pin-flag, .prem-flag { font-family: var(--font-head); font-size: 12px; font-weight: 700; padding: 5px 12px; border-radius: 999px; }
.prem-flag { background: linear-gradient(135deg, #f5c76b, #e8993a); color: #2a1700; }
.pin-flag { background: var(--pin); color: #231600; }
.card-body { display: flex; flex-direction: column; gap: 16px; padding: 16px 10px 8px; flex: 1; }
.card-title {
font-size: 17px; line-height: 1.5; font-weight: 700; min-height: 3em;
display: flex; flex-direction: column; align-items: flex-start; gap: 8px;
}
.card-title a { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.card-title a:hover { color: var(--accent); }
.t-badges { display: flex; flex-wrap: wrap; gap: 6px; }
.t-badges:empty { display: none; }
.t-badges .pin-flag, .t-badges .prem-flag {
position: static; display: inline-flex; align-items: center; gap: 6px;
font-size: 11.5px; font-weight: 800; line-height: 1; padding: 6px 11px; border-radius: 8px; box-shadow: none;
}
.t-badges .prem-flag { background: linear-gradient(135deg, #f8d684, #e8993a); color: #2a1700; }
.t-badges .pin-flag { background: var(--accent-soft); color: var(--accent); border: 1px solid var(--accent); }
.t-badges .auto-flag { display: inline-flex; align-items: center; gap: 6px; font-family: var(--font-head); font-size: 11.5px; font-weight: 800; line-height: 1; padding: 6px 11px; border-radius: 8px; }
.t-badges .auto-flag.new { color: #22c55e; background: rgba(34, 197, 94, 0.14); border: 1px solid rgba(34, 197, 94, 0.5); letter-spacing: 0.04em; }
.t-badges .auto-flag.hot { color: #f87171; background: rgba(239, 68, 68, 0.14); border: 1px solid rgba(239, 68, 68, 0.5); }
body.light-mode .t-badges .auto-flag.new { color: #0f6b2f; background: rgba(34, 197, 94, 0.22); }
body.light-mode .t-badges .auto-flag.hot { color: #a11d1d; background: rgba(239, 68, 68, 0.2); }
.prem-cost, .prem-tag {
display: inline-flex; align-items: center; gap: 6px; width: max-content;
font-family: var(--font-head); font-size: 11.5px; font-weight: 800; line-height: 1;
padding: 6px 11px; border-radius: 8px; color: #f5c76b;
background: rgba(245, 199, 107, 0.14); border: 1px solid rgba(232, 153, 58, 0.55);
}
body.light-mode .prem-cost, body.light-mode .prem-tag { color: #7a4a00; background: rgba(232, 153, 58, 0.2); }
.prem-tag { margin: 2px 2px 0; }
.card-foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: auto; }
.stats { display: flex; align-items: center; gap: 14px; visibility: hidden; }
.stats.ready { visibility: visible; }
.stat { display: inline-flex; align-items: center; gap: 6px; color: var(--muted); font-family: var(--font-head); font-size: 13px; font-weight: 600; }
.stat i { color: var(--accent); font-size: 13px; }
.view-btn {
flex-shrink: 0; white-space: nowrap; display: inline-flex; align-items: center; gap: 8px;
font-family: var(--font-head); font-size: 13px; font-weight: 700; color: #fff;
padding: 9px 12px 9px 18px; border-radius: 999px;
background: linear-gradient(135deg, var(--accent), var(--accent-2));
box-shadow: 0 8px 20px -8px var(--accent);
transition: transform 0.25s var(--ease), box-shadow 0.25s var(--ease);
}
.view-btn i { width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; font-size: 10px; background: rgba(255, 255, 255, 0.22); transition: transform 0.25s var(--ease); }
.view-btn:hover { transform: translateY(-2px); box-shadow: 0 12px 26px -8px var(--accent); }
.view-btn:hover i { transform: translateX(3px); }
.panel { background: linear-gradient(180deg, var(--surface), color-mix(in srgb, var(--surface) 72%, var(--bg))); border: 1px solid var(--line); border-radius: var(--radius); padding: 22px; margin-bottom: 20px; }
.panel h3 { font-size: 16px; font-weight: 700; margin-bottom: 14px; }
.cat-list { list-style: none; display: flex; flex-direction: column; gap: 4px; }
.cat-list a { display: flex; align-items: center; gap: 12px; padding: 11px 12px; border-radius: var(--radius-sm); color: var(--muted); font-size: 15px; transition: background 0.2s, color 0.2s; }
.cat-list a i { width: 32px; height: 32px; border-radius: 10px; display: grid; place-items: center; font-size: 13px; background: var(--accent-soft); color: var(--accent); }
.cat-list a:hover { background: var(--surface-2); color: var(--text); }
.cat-list a::after { content: '\f054'; font-family: 'Font Awesome 6 Free'; font-weight: 900; font-size: 10px; margin-left: auto; opacity: 0.35; transition: transform 0.25s var(--ease), opacity 0.25s; }
.cat-list a:hover::after { transform: translateX(3px); opacity: 1; color: var(--accent); }
/* Premium panel */
.prem-panel { position: relative; padding: 20px; border: 1.5px solid transparent;
background: linear-gradient(var(--surface), var(--surface)) padding-box, linear-gradient(135deg, #f5c76b, #e8993a 45%, var(--accent-2)) border-box;
box-shadow: 0 24px 60px -28px #e8993a; }
.prem-head { display: flex; align-items: center; gap: 14px; margin-bottom: 16px; }
.prem-crown { flex: none; width: 52px; height: 52px; border-radius: 16px; display: grid; place-items: center; font-size: 23px; color: #2a1700;
background: linear-gradient(135deg, #f5c76b, #e8993a); box-shadow: 0 10px 26px -8px #e8993a; }
.prem-head h3 { font-size: 22px; font-weight: 800; margin: 0; color: var(--text); }
.prem-head p { color: var(--muted); font-size: 13.5px; margin: 0; }
.prem-list { list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.prem-list li:first-child { grid-column: 1 / -1; }
.prem-item { display: flex; flex-direction: column; align-items: stretch; gap: 9px; padding: 8px; background: var(--surface-2); border: 1px solid var(--line); border-radius: var(--radius-sm); height: 100%; transition: border-color 0.2s; }
.prem-item:hover { border-color: #f5c76b; }
.prem-thumb { position: relative; width: 100%; aspect-ratio: 16 / 10; border-radius: 10px; overflow: hidden; display: grid; place-items: center; font-size: 24px; background: var(--surface-2); color: #f5c76b; border: 1px solid var(--line); }
.prem-thumb img { width: 100%; height: 100%; object-fit: contain; display: block; }
.prem-title { font-size: 13px; font-weight: 600; line-height: 1.45; padding: 0 2px 2px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.prem-list li:first-child .prem-title { font-size: 15px; }
.prem-item:hover .prem-title { color: var(--accent); }
.prem-skel { list-style: none; }
.prem-skel span { display: block; aspect-ratio: 16 / 10; border-radius: 12px; background: linear-gradient(100deg, var(--surface-2) 30%, color-mix(in srgb, var(--surface-2) 55%, var(--line)) 50%, var(--surface-2) 70%); background-size: 220% 100%; animation: shimmer 1.5s linear infinite; }
.prem-all { display: flex; align-items: center; justify-content: center; gap: 10px; margin-top: 16px; padding: 13px 18px; border-radius: 999px;
font-family: var(--font-head); font-weight: 800; font-size: 14px; color: #2a1700;
background: linear-gradient(135deg, #f5c76b, #e8993a); box-shadow: 0 12px 28px -12px #e8993a; transition: transform 0.25s var(--ease); }
.prem-all:hover { transform: translateY(-2px); }
.prem-empty { color: var(--muted); text-align: center; padding: 6px 0; }
/* Trust strip, reviews, footer */
.trust { padding: 0 0 30px; }
.trust-strip { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 12px; }
.trust-item { display: flex; align-items: center; gap: 14px; padding: 15px 18px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-sm); }
.trust-item i { flex: none; width: 44px; height: 44px; border-radius: 13px; display: grid; place-items: center; font-size: 18px; background: var(--accent-soft); color: var(--accent); }
.trust-item.prem i { background: linear-gradient(135deg, #f8d684, #e8993a); color: #2a1700; }
.trust-item b { display: block; font-family: var(--font-head); font-size: 18px; line-height: 1.3; }
.trust-item span { font-size: 13px; color: var(--muted); }
.rev-title { font-size: 20px; margin: 28px 0 12px; }
.rev-row { display: flex; gap: 12px; overflow-x: auto; padding-bottom: 8px; scroll-snap-type: x mandatory; }
.rev-row a { flex: 0 0 220px; scroll-snap-align: start; border-radius: 14px; overflow: hidden; border: 1px solid var(--line); background: var(--surface-2); }
.rev-row img { width: 100%; height: auto; display: block; }
.rev-text { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 12px; margin-top: 12px; }
.rev-text:empty { display: none; }
.rev-card { padding: 18px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-sm); }
.rev-card i { color: var(--accent); font-size: 18px; margin-bottom: 10px; display: block; }
.rev-card p { font-size: 15px; margin-bottom: 12px; }
.rev-card b { font-family: var(--font-head); font-size: 14px; }
.foot-social { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; margin-bottom: 18px; }
.foot-social a { display: inline-flex; align-items: center; gap: 9px; padding: 10px 18px; border-radius: 999px; border: 1px solid var(--line); background: var(--surface); font-family: var(--font-head); font-weight: 700; font-size: 14px; color: var(--text); transition: border-color 0.2s, transform 0.2s var(--ease); }
.foot-social a i { color: var(--accent); font-size: 16px; }
.foot-social a:hover { border-color: var(--accent); transform: translateY(-2px); }
footer { margin-top: 72px; padding: 32px 18px; text-align: center; font-size: 14px; color: var(--muted); border-top: 1px solid var(--line); }
/* Course + Sell menu */
.nav-links a.nav-course { color: var(--accent); background: var(--accent-soft); }
.nav-links a.nav-course:hover { color: var(--accent-ink); background: var(--accent); }
.nav-links a.nav-sell { color: #f5c76b; background: rgba(245, 199, 107, 0.14); }
.nav-links a.nav-sell:hover { color: #2a1700; background: linear-gradient(135deg, #f8d684, #e8993a); }
body.light-mode .nav-links a.nav-sell { color: #7a4a00; background: rgba(232, 153, 58, 0.22); }
.nav-links a.nav-course i, .nav-links a.nav-sell i, .mobile-nav a.pb-course i, .mobile-nav a.pb-sell i { margin-right: 6px; }
.sell-short { display: none; }
@media (max-width: 1120px) { .sell-long { display: none; } .sell-short { display: inline; } }
.course-card { display: flex; align-items: center; gap: 14px; border-color: var(--accent); background: linear-gradient(135deg, var(--accent-soft), var(--surface) 70%); transition: transform 0.25s var(--ease), box-shadow 0.25s var(--ease); cursor: pointer; }
.course-card:hover { transform: translateY(-3px); box-shadow: 0 20px 44px -24px var(--accent); }
.course-card h3 { font-size: 17px; margin: 0 0 2px; }
.course-card p { font-size: 13px; color: var(--muted); margin: 0; line-height: 1.5; }
.course-ic { flex: none; width: 48px; height: 48px; border-radius: 14px; display: grid; place-items: center; font-size: 20px; background: var(--accent); color: var(--accent-ink); }
.course-go { margin-left: auto; color: var(--accent); }
.sell-card { border-color: #e8993a; background: linear-gradient(135deg, rgba(245, 199, 107, 0.16), var(--surface) 70%); }
.sell-card:hover { box-shadow: 0 20px 44px -24px #e8993a; }
.sell-card .course-ic { background: linear-gradient(135deg, #f8d684, #e8993a); color: #2a1700; }
.sell-card .course-go { color: #e8993a; }
/* PWA install */
.pwa-btn { display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 16px; border-radius: 999px; border: none; cursor: pointer; font-family: var(--font-head); font-size: 13px; font-weight: 700; color: var(--accent-ink); background: var(--accent); box-shadow: 0 10px 24px -12px var(--accent); }
.pwa-btn[hidden] { display: none; }
.pwa-btn:hover { filter: brightness(1.1); }
@media (max-width: 480px) { .pwa-btn { padding: 0; width: 40px; justify-content: center; } .pwa-btn span { display: none; } }
.pwa-tip { position: fixed; left: 14px; right: 14px; bottom: 14px; z-index: 100002; max-width: 420px; margin: 0 auto; padding: 18px; border-radius: 18px; background: var(--surface); border: 1px solid var(--accent); box-shadow: 0 24px 60px rgba(0, 0, 0, 0.5); }
.pwa-tip p { margin: 6px 0 12px; font-size: 14px; color: var(--muted); }
.pwa-tip button { border: none; cursor: pointer; padding: 9px 20px; border-radius: 999px; background: var(--accent); color: var(--accent-ink); font-family: var(--font-head); font-weight: 700; }
/* Popular / Premium sections on home */
#popular-section, #popular-section .widget { width: 100%; margin: 0; padding: 0; background: none; border: none; box-shadow: none; }
.pop-wrap { margin-top: 48px; padding-top: 32px; border-top: 1px solid var(--line); }
.pop-title { display: flex; align-items: center; gap: 10px; font-size: 22px; margin-bottom: 18px; }
.pop-title i { color: #f87171; }
#premWrap { margin-top: 40px; }
#premWrap .pop-title i { color: #f5c76b; }
#premWrap .prem-all { max-width: 340px; margin: 22px auto 0; }
.blog-pager { display: flex; justify-content: center; gap: 12px; flex-wrap: wrap; margin-top: 44px; }
.blog-pager a {
font-family: var(--font-head); font-size: 14px; font-weight: 700; padding: 12px 26px; border-radius: 999px;
background: var(--surface); border: 1px solid var(--line); color: var(--text);
transition: background 0.2s, border-color 0.2s, color 0.2s;
}
.blog-pager a:hover { background: linear-gradient(135deg, var(--accent), var(--accent-2)); border-color: transparent; color: #fff; }
.tool-view { display: none; padding: 40px 0 20px; }
.tool-box { max-width: 560px; margin: 0 auto; text-align: center; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 38px 24px; }
.tool-box h2 { font-size: 24px; margin-bottom: 8px; }
.tool-box p { color: var(--muted); font-size: 15px; margin-bottom: 22px; }
.tool-actions { display: flex; justify-content: center; gap: 12px; flex-wrap: wrap; }
.btn {
font-family: var(--font-head); font-size: 14px; font-weight: 700; cursor: pointer; border: none; color: #fff;
padding: 12px 24px; border-radius: 999px; background: linear-gradient(135deg, var(--accent), var(--accent-2));
box-shadow: 0 8px 20px -8px var(--accent); transition: transform 0.2s var(--ease);
}
.btn:hover { transform: translateY(-2px); }
/* Single post */
.article { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 22px; }
@media (min-width: 768px) { .article { padding: 40px; } }
.article h1 { font-size: 26px; line-height: 1.35; font-weight: 800; margin-bottom: 10px; word-break: break-word; }
@media (min-width: 768px) { .article h1 { font-size: 36px; } }
.article-date { color: var(--muted); font-size: 14px; padding-bottom: 20px; margin-bottom: 24px; border-bottom: 1px solid var(--line); }
.post-body { font-size: 16px; line-height: 1.85; word-break: break-word; overflow-wrap: break-word; }
@media (min-width: 768px) { .post-body { font-size: 17px; } }
.post-body img, .post-body iframe, .post-body video { max-width: 100% !important; height: auto !important; border-radius: var(--radius-sm); margin: 14px 0; }
.post-body pre, .post-body code {
max-width: 100%; overflow-x: auto; white-space: pre-wrap; word-wrap: break-word;
background: var(--surface-2); border: 1px solid var(--line); padding: 14px; border-radius: 10px; font-size: 14px;
}
.post-body textarea { display: block; width: 100%; min-height: 320px; padding: 14px; resize: vertical; font: 13px/1.65 ui-monospace, Consolas, monospace; color: var(--text); background: var(--surface-2); border: 1px solid var(--line); border-radius: 12px; }
.pb-lbls { display: none; }
.vcfg { display: none !important; }
.pb-media { margin-bottom: 8px; text-align: center; }
.pb-media a { display: block; }
.pb-media img { display: block; margin: 12px auto; }
/* ===== Neon code box (label: download) ===== */
@property --angle { syntax: '<angle>'; initial-value: 0deg; inherits: false; }
@keyframes rainbowSpin { to { --angle: 360deg; } }
@keyframes blobFloat { 0%, 100% { transform: translate(0,0) scale(1); } 33% { transform: translate(20px,-15px) scale(1.15); } 66% { transform: translate(-15px,10px) scale(.9); } }
@keyframes labelGlow { 0%, 100% { text-shadow: 0 0 8px rgba(236,72,153,.6), 0 0 16px rgba(168,85,247,.4); } 50% { text-shadow: 0 0 14px rgba(56,189,248,.8), 0 0 24px rgba(168,85,247,.6); } }
@keyframes dotBlink { 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: .55; transform: scale(.85); } }
@keyframes popCheck { 0% { transform: scale(0) rotate(-45deg); opacity: 0; } 60% { transform: scale(1.3) rotate(8deg); opacity: 1; } 100% { transform: scale(1) rotate(0); } }
@keyframes floatIn { from { opacity: 0; transform: translateY(16px) scale(.98); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes sparkTwinkle { 0%, 100% { opacity: .4; transform: scale(1); } 50% { opacity: 1; transform: scale(1.3); } }
.neon-code-box { --angle: 0deg; position: relative; width: 100%; margin: 22px 0 8px; border-radius: 20px; overflow: hidden; isolation: isolate;
background: linear-gradient(160deg, #1a1030 0%, #100a24 55%, #0b0818 100%); font-family: "Courier New", monospace; box-sizing: border-box;
animation: floatIn .55s cubic-bezier(.16,1,.3,1) both; box-shadow: 0 25px 60px rgba(0,0,0,.5); color: #e9e4ff; }
.neon-code-box::before { content: ""; position: absolute; inset: -2px; z-index: 0; border-radius: 21px; padding: 2px; pointer-events: none;
background: conic-gradient(from var(--angle), #ec4899, #a855f7, #38bdf8, #22d3ee, #34d399, #facc15, #f97316, #ec4899);
-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); -webkit-mask-composite: xor; mask-composite: exclude;
animation: rainbowSpin 5s linear infinite; opacity: .85; }
.neon-code-box:hover::before { opacity: 1; filter: brightness(1.3); }
.neon-glow-blob { position: absolute; width: 160px; height: 160px; border-radius: 50%; filter: blur(55px); z-index: 0; pointer-events: none; opacity: .5; animation: blobFloat 9s ease-in-out infinite; }
.neon-glow-blob.blob-1 { top: -40px; left: -30px; background: radial-gradient(circle, #ec4899, transparent 70%); }
.neon-glow-blob.blob-2 { bottom: -50px; right: -20px; background: radial-gradient(circle, #22d3ee, transparent 70%); animation-delay: -4s; }
.neon-header { position: relative; z-index: 2; min-height: 58px; padding: 10px 14px; display: flex; align-items: center; justify-content: space-between; gap: 10px;
background: rgba(255,255,255,.04); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); border-bottom: 1px solid rgba(255,255,255,.08); box-sizing: border-box; }
.neon-tag { display: flex; align-items: center; gap: 10px; }
.neon-dots { display: flex; gap: 6px; }
.neon-dots .dot { width: 10px; height: 10px; border-radius: 50%; animation: dotBlink 2.4s ease-in-out infinite; }
.neon-dots .dot-red { background: #ff5f56; box-shadow: 0 0 10px #ff5f56; }
.neon-dots .dot-yellow { background: #ffbd2e; box-shadow: 0 0 10px #ffbd2e; animation-delay: .3s; }
.neon-dots .dot-green { background: #27c93f; box-shadow: 0 0 10px #27c93f; animation-delay: .6s; }
.neon-label { font-family: Arial, sans-serif; font-size: 12px; font-weight: 800; letter-spacing: 1.8px; color: #f5d0fe; animation: labelGlow 3s ease-in-out infinite; }
.neon-actions { display: flex; align-items: center; gap: 8px; }
.neon-btn { border: 1px solid rgba(255,255,255,.14); color: #f1e9ff; padding: 9px 16px; border-radius: 12px; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; gap: 7px;
font-family: Arial, sans-serif; font-size: 13px; font-weight: 700; position: relative; overflow: hidden; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
transition: transform .25s cubic-bezier(.34,1.56,.64,1), box-shadow .3s ease, border-color .3s ease; white-space: nowrap; }
.neon-btn.btn-copy { background: linear-gradient(135deg, rgba(236,72,153,.28), rgba(168,85,247,.22)); }
.neon-btn.btn-download { background: linear-gradient(135deg, rgba(56,189,248,.28), rgba(34,211,238,.22)); }
.neon-btn::after { content: ""; position: absolute; top: 0; left: -80%; width: 55%; height: 100%; background: linear-gradient(120deg, transparent, rgba(255,255,255,.35), transparent); transform: skewX(-20deg); transition: left .55s ease; }
.neon-btn:hover::after { left: 140%; }
.neon-btn.btn-copy:hover { border-color: #ec4899; box-shadow: 0 6px 20px rgba(236,72,153,.45); }
.neon-btn.btn-download:hover { border-color: #38bdf8; box-shadow: 0 6px 20px rgba(56,189,248,.45); }
.neon-btn:hover { transform: translateY(-3px) scale(1.04); }
.neon-btn:active { transform: translateY(0) scale(.95); }
.neon-icon { font-size: 15px; line-height: 1; }
.neon-btn.copied, .neon-btn.saved { background: linear-gradient(135deg, rgba(34,211,153,.35), rgba(16,185,129,.25)); border-color: #34d399; box-shadow: 0 0 22px rgba(52,211,153,.5); }
.neon-btn.copied .neon-icon, .neon-btn.saved .neon-icon { animation: popCheck .45s ease; }
.neon-content { position: relative; z-index: 2; width: 100%; box-sizing: border-box; background: rgba(6,4,16,.55); }
.post-body .neon-content pre { display: block; margin: 0; padding: 22px; min-height: 80px; max-height: 560px; overflow: auto; color: #e9e4ff; background: none; border: 0; border-radius: 0;
font-family: "Courier New", Consolas, monospace; font-size: 14px; line-height: 1.75; white-space: pre-wrap; word-break: break-word; box-sizing: border-box; }
.post-body .neon-content code { display: block; padding: 0; margin: 0; border: 0; border-radius: 0; background: none; color: inherit; font-family: inherit; font-size: inherit; white-space: inherit; overflow: visible; }
.neon-footer { position: relative; z-index: 2; text-align: center; padding: 8px 10px; font-family: Arial, sans-serif; font-size: 10.5px; letter-spacing: 1.5px; text-transform: uppercase; color: #b9a8e0; background: rgba(255,255,255,.03); border-top: 1px solid rgba(255,255,255,.06); }
.footer-spark { display: inline-block; color: #ec4899; animation: sparkTwinkle 1.8s ease-in-out infinite; margin: 0 6px; }
.neon-content pre::-webkit-scrollbar { height: 8px; width: 8px; }
.neon-content pre::-webkit-scrollbar-track { background: rgba(255,255,255,.03); }
.neon-content pre::-webkit-scrollbar-thumb { background: linear-gradient(90deg, #ec4899, #38bdf8); border-radius: 10px; }
@media (max-width: 600px) {
.neon-header { padding: 8px 10px; }
.neon-actions { gap: 6px; }
.neon-btn { padding: 8px 12px; font-size: 12px; }
.neon-label { font-size: 10.5px; letter-spacing: 1px; }
.post-body .neon-content pre { padding: 15px; font-size: 13px; }
}
/* ===== Premium lock (posts labelled "lock") ===== */
.tbp-root{--tbg:#07070d;--card:rgba(255,255,255,.055);--tline:rgba(255,255,255,.11);--tx:#eceaf6;--tmut:#a3a1bd;--ta:#8b5cf6;--tb:#22d3ee;--gold:#f5c76b;--ok:#34d399;--bad:#fb7185;
position:relative;overflow:hidden;width:100%;padding:26px 16px 40px;margin-top:6px;color:var(--tx);border-radius:22px;
background:radial-gradient(900px 500px at 15% -10%,rgba(139,92,246,.28),transparent 60%),radial-gradient(800px 500px at 100% 10%,rgba(34,211,238,.16),transparent 60%),var(--tbg)}
.tbp-root h2,.tbp-root h3{color:#fff;line-height:1.25}
.tbp-root button,.tbp-root input,.tbp-root textarea{font-family:inherit;font-size:inherit;color:inherit}
.tbp-root button{cursor:pointer;border:0;background-color:transparent}
.tbp-wrap{position:relative;z-index:1;max-width:980px;margin:0 auto}
.tbp-glass{background:var(--card);border:1px solid var(--tline);border-radius:20px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 20px 50px rgba(0,0,0,.35)}
.tbp-brand{display:flex;align-items:center;gap:10px;font:700 15px 'Sora',sans-serif;margin-bottom:20px}
.tbp-brand i{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;font-style:normal;background:linear-gradient(135deg,var(--ta),var(--tb))}
.tbp-hero{text-align:center;padding:40px 20px}
.tbp-lock{width:88px;height:88px;margin:0 auto 18px;border-radius:26px;display:grid;place-items:center;font-size:40px;background:linear-gradient(135deg,rgba(139,92,246,.35),rgba(34,211,238,.25));border:1px solid var(--tline);box-shadow:0 0 50px rgba(139,92,246,.5);animation:tbpPulse 3s ease-in-out infinite}
@keyframes tbpPulse{50%{box-shadow:0 0 80px rgba(34,211,238,.55)}}
.tbp-hero h2{font:800 clamp(26px,5vw,40px) 'Sora','Hind Siliguri',sans-serif;margin-bottom:10px}
.tbp-hero p{max-width:540px;margin:0 auto 22px;color:var(--tmut)}
.tbp-hero p b,.tbp-sub b{color:var(--gold)}
.tbp-price{display:inline-block;margin-bottom:14px;padding:7px 18px;border-radius:99px;border:1px solid rgba(245,199,107,.4);background:rgba(245,199,107,.1);font-weight:700;font-size:17px}
.tbp-price b{color:var(--gold);font-size:20px}
.tbp-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:11px 24px;border-radius:14px;font-weight:600;color:#fff;background:linear-gradient(135deg,var(--ta),#6366f1 55%,var(--tb));box-shadow:0 10px 28px rgba(99,102,241,.45);transition:transform .2s,filter .2s;cursor:pointer;border:0;font-family:inherit;font-size:inherit}
.tbp-btn:hover{transform:translateY(-2px);filter:brightness(1.1)}
.tbp-btn.ghost{background:rgba(255,255,255,.07);border:1px solid var(--tline);box-shadow:none}
.tbp-btn.wa{background:linear-gradient(135deg,#16a34a,#22c55e)}
.tbp-btn[disabled]{opacity:.7;pointer-events:none}
.tbp-sec{margin-top:30px}
.tbp-sec>h2{font-size:21px;margin-bottom:4px}
.tbp-sub{color:var(--tmut);margin-bottom:16px}
.tbp-grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}
.tbp-pay{padding:20px;transition:transform .25s,border-color .25s}
.tbp-pay:hover{transform:translateY(-4px);border-color:rgba(139,92,246,.6)}
.tbp-ico{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;font:800 19px 'Sora';color:#fff;margin-bottom:12px}
.tbp-pay small{display:block;color:var(--tmut);margin-top:8px}
.tbp-pay b{display:block;font:600 18px 'Sora',monospace;margin:2px 0 14px;word-break:break-all;color:#fff}
.tbp-pay .tbp-btn{width:100%}
.tbp-steps{padding:22px}
.tbp-steps ol{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:12px 22px;margin-top:14px}
.tbp-steps li{display:flex;gap:12px;align-items:flex-start}
.tbp-steps li span{flex:none;width:30px;height:30px;border-radius:10px;display:grid;place-items:center;font:700 13px 'Sora';background:linear-gradient(135deg,var(--ta),var(--tb));color:#fff}
.tbp-pinbox{padding:26px 18px;text-align:center}
.tbp-pins{display:grid;gap:8px;max-width:480px;margin:18px auto}
.tbp-pins input{width:100%;min-width:0;height:56px;padding:0;text-align:center;font:700 24px 'Sora';border-radius:13px;background:rgba(255,255,255,.06);border:1.5px solid var(--tline);color:#fff;outline:0;transition:border-color .2s,box-shadow .2s}
.tbp-pins input:focus{border-color:var(--tb);box-shadow:0 0 0 4px rgba(34,211,238,.18)}
.tbp-pins input.filled{border-color:var(--ta)}
.tbp-pins.shake{animation:tbpShake .45s}
@keyframes tbpShake{20%,60%{transform:translateX(-8px)}40%,80%{transform:translateX(8px)}}
.tbp-row{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.tbp-msg{min-height:26px;margin-top:12px;font-weight:600}
.tbp-msg.ok{color:var(--ok)}.tbp-msg.bad{color:var(--bad)}
.tbp-wa{position:fixed;right:18px;bottom:18px;z-index:50}
.tbp-verify{padding:24px 18px;text-align:center}
.tbp-verify h2{font-size:19px;margin-bottom:4px}
/* Modals (payment form + sell form) */
.tbp-modal{position:fixed;inset:0;z-index:99999;display:none;align-items:center;justify-content:center;padding:14px;background:rgba(3,3,10,.78)}
.tbp-modal.on{display:flex}
.tbp-sheet{width:100%;max-width:540px;max-height:94vh;overflow:auto;padding:24px;background:#10101c;color:#eceaf6;font:400 15px/1.6 'Hind Siliguri',system-ui,sans-serif;border:1px solid rgba(255,255,255,.12);border-radius:22px;box-shadow:0 30px 80px rgba(0,0,0,.6)}
.tbp-sheet h2{font:700 20px 'Sora','Hind Siliguri',sans-serif;color:#fff}
.tbp-sheet button{font-family:inherit}
.tbp-x{float:right;width:36px;height:36px;border-radius:11px;background:rgba(255,255,255,.08);color:#fff;border:0;cursor:pointer;font-size:17px}
.tbp-f{margin-top:13px}
.tbp-f label{display:block;font-weight:600;font-size:14px;margin-bottom:6px;color:#cfcde6}
.tbp-f label i{color:#fb7185;font-style:normal}
.tbp-f input[type=text],.tbp-f input[type=tel],.tbp-f textarea{width:100%;padding:12px 14px;border-radius:13px;background:rgba(255,255,255,.06);border:1.5px solid rgba(255,255,255,.12);color:#fff;font:inherit;outline:0}
.tbp-f textarea{min-height:80px;resize:vertical}
.tbp-f input:focus,.tbp-f textarea:focus{border-color:#22d3ee}
.tbp-f.err input,.tbp-f.err textarea,.tbp-f.err .tbp-opts{border-color:#fb7185}
.tbp-opts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.tbp-opt{position:relative}
.tbp-opt input{position:absolute;opacity:0;inset:0;cursor:pointer;width:100%;height:100%}
.tbp-opt span{display:block;text-align:center;padding:11px 6px;border-radius:13px;border:1.5px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);font-weight:600}
.tbp-opt input:checked+span{border-color:#8b5cf6;background:rgba(139,92,246,.22)}
.tbp-toasts{position:fixed;top:16px;left:50%;transform:translateX(-50%);z-index:100000;display:grid;gap:8px;width:min(92vw,420px);pointer-events:none}
.tbp-toast{padding:12px 16px;border-radius:14px;background:rgba(20,20,34,.96);border:1px solid rgba(255,255,255,.14);color:#fff;font:600 14px/1.5 'Hind Siliguri',system-ui,sans-serif;box-shadow:0 14px 40px rgba(0,0,0,.5)}
.tbp-toast.ok{border-color:#34d399}.tbp-toast.bad{border-color:#fb7185}.tbp-toast.warn{border-color:#f5c76b}
/* Sell form extras */
.sell-lead{color:#a3a1bd;font-size:14px;margin-top:4px}
.sell-fee{margin-top:14px;padding:14px;border-radius:16px;background:rgba(245,199,107,.09);border:1px solid rgba(245,199,107,.35)}
.sell-fee p{font-size:14px;margin-bottom:10px;color:#eceaf6}
.sell-fee p b{color:#f5c76b}
.sell-pay{display:flex;align-items:center;gap:10px;padding:9px 10px;margin-top:8px;border-radius:12px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1)}
.sell-pay strong{flex:none;min-width:62px;font-size:13px}
.sell-pay code{flex:1;min-width:0;font:600 14px 'Sora',monospace;word-break:break-all;color:#fff}
.sell-pay em{flex:none;font-style:normal;font-size:12px;color:#f5c76b;font-weight:700}
.sell-pay button{flex:none;border:0;cursor:pointer;padding:6px 12px;border-radius:9px;background:rgba(255,255,255,.1);color:#fff;font-size:12px;font-weight:700}
.sell-h{margin:20px 0 0;padding-top:14px;border-top:1px dashed rgba(255,255,255,.14);font:700 15px 'Sora','Hind Siliguri',sans-serif;color:#f5c76b}
.sell-hint{font-size:12.5px;color:#a3a1bd;margin-top:5px}
.sell-submit{width:100%;margin-top:18px;min-height:48px;border:0;border-radius:14px;cursor:pointer;font-weight:700;color:#fff;background:linear-gradient(135deg,#16a34a,#22c55e);box-shadow:0 10px 28px rgba(34,197,94,.35)}
.sell-submit[disabled]{opacity:.7;pointer-events:none}
@media(max-width:720px){
.tbp-steps ol{grid-template-columns:1fr}
.tbp-root{padding:14px 8px 80px;border-radius:14px}
.tbp-hero{padding:26px 12px}
.tbp-steps,.tbp-pinbox,.tbp-pay{padding:16px 12px}
.tbp-btn{width:100%}
.tbp-pins{gap:5px;margin:14px auto}
.tbp-pins input{height:46px;font-size:19px;border-radius:10px}
.tbp-wa{left:auto;right:14px;bottom:14px}
.tbp-wa .tbp-btn{width:auto;min-height:48px;padding:10px 20px;box-shadow:0 12px 30px rgba(22,163,74,.5)}
.tbp-modal{align-items:flex-end;padding:0}
.tbp-sheet{max-width:none;border-radius:22px 22px 0 0;max-height:92vh;max-height:92dvh;padding:18px 16px 28px}
.tbp-f input[type=text],.tbp-f input[type=tel],.tbp-f textarea{font-size:16px}
.sell-pay{flex-wrap:wrap}
.trust-item{padding:12px 14px}
.foot-social a{padding:9px 14px;font-size:13px}
.prem-panel{padding:28px 14px 16px}
.article{padding:14px;border-radius:16px}
.article h1{font-size:22px}
}
@media (max-width: 380px) {
.tbp-pins{gap:4px}
.tbp-pins input{height:42px;font-size:17px}
.hero-title{font-size:27px}
}
/* ===== Human Verification gate ===== */
@keyframes hvSpin { to { transform: rotate(360deg); } }
@keyframes hvPop { 0% { transform: scale(0); } 60% { transform: scale(1.25); } 100% { transform: scale(1); } }
@keyframes hvGlow { 0%, 100% { box-shadow: 0 0 0 4px var(--accent-soft); } 50% { box-shadow: 0 0 0 7px var(--accent-soft); } }
.task-gate { position: fixed; inset: 0; z-index: 100001; display: none; align-items: center; justify-content: center; padding: 14px; overflow-y: auto; background: rgba(5, 6, 12, 0.88); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.task-gate.on { display: flex; }
.task-box { position: relative; width: 100%; max-width: 440px; padding: 22px; border: 1.5px solid transparent; border-radius: 26px; box-shadow: 0 30px 80px rgba(0, 0, 0, 0.55);
background: linear-gradient(var(--surface), var(--surface)) padding-box, linear-gradient(135deg, var(--accent), var(--accent-2) 50%, #22d3ee) border-box; animation: floatIn .4s cubic-bezier(.16,1,.3,1) both; }
.task-head { display: flex; align-items: center; gap: 14px; margin-bottom: 18px; }
.task-shield { flex: none; width: 52px; height: 52px; border-radius: 16px; display: grid; place-items: center; font-size: 22px; color: #fff; background: linear-gradient(135deg, var(--accent), var(--accent-2)); box-shadow: 0 10px 24px -10px var(--accent); }
.task-head h3 { font-size: 17px; line-height: 1.4; margin: 0 0 3px; }
.task-head p { font-size: 13px; color: var(--muted); line-height: 1.5; }
.task-prog { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; font-family: var(--font-head); font-size: 13px; font-weight: 800; }
.task-prog em { font-style: normal; color: var(--accent); }
.task-track { flex: 1; height: 8px; border-radius: 99px; background: var(--surface-2); overflow: hidden; }
.task-track span { display: block; height: 100%; width: 0; border-radius: 99px; background: linear-gradient(90deg, var(--accent), var(--accent-2)); transition: width 0.4s var(--ease); }
.task-list { list-style: none; display: flex; flex-direction: column; gap: 12px; }
.task-item { display: flex; flex-direction: column; gap: 11px; padding: 14px; border: 1px solid var(--line); border-radius: 18px; background: var(--surface-2); transition: border-color 0.2s, opacity 0.2s; }
.task-item[data-state='locked'] { opacity: 0.55; }
.task-item[data-state='ready'], .task-item[data-state='run'] { border-color: var(--accent); }
.task-item[data-state='done'] { border-color: #16a34a; }
.task-top { display: flex; align-items: center; gap: 12px; }
.task-n { flex: none; width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; font-family: var(--font-head); font-weight: 800; font-size: 14px; background: var(--accent-soft); color: var(--accent); }
.task-item[data-state='done'] .task-n { background: #16a34a; color: #fff; }
.task-txt { flex: 1; min-width: 0; }
.task-txt b { display: block; font-family: var(--font-head); font-size: 14px; line-height: 1.4; }
.task-txt span { display: block; font-size: 12.5px; color: var(--muted); line-height: 1.45; }
.hv-btn { display: flex; align-items: center; gap: 14px; width: 100%; padding: 12px 14px; border-radius: 14px; border: 1.5px solid var(--line); background: var(--surface); color: var(--text); cursor: pointer; transition: transform 0.2s var(--ease), border-color 0.2s; }
.hv-box { flex: none; position: relative; width: 30px; height: 30px; border-radius: 9px; border: 2px solid var(--muted); display: grid; place-items: center; background: var(--surface-2); transition: background 0.25s, border-color 0.25s; }
.hv-spin { display: none; width: 16px; height: 16px; border-radius: 50%; border: 2.5px solid var(--accent-soft); border-top-color: var(--accent); animation: hvSpin 0.7s linear infinite; }
.hv-tick { display: none; font-size: 14px; color: #fff; }
.hv-lock { display: none; font-size: 12px; color: var(--muted); }
.hv-label { flex: 1; font-family: var(--font-head); font-size: 15px; font-weight: 700; }
.hv-brand { flex: none; display: flex; flex-direction: column; align-items: center; gap: 1px; color: var(--accent); font-size: 17px; line-height: 1; }
.hv-brand small { font-size: 8px; letter-spacing: 0.12em; font-weight: 800; color: var(--muted); }
.task-item[data-state='ready'] .hv-btn { border-color: var(--accent); animation: hvGlow 2s ease-in-out infinite; }
.task-item[data-state='ready'] .hv-btn:hover { transform: translateY(-2px); }
.task-item[data-state='ready'] .hv-box { border-color: var(--accent); }
.task-item[data-state='locked'] .hv-btn { pointer-events: none; cursor: default; }
.task-item[data-state='locked'] .hv-lock { display: block; }
.task-item[data-state='run'] .hv-btn { pointer-events: none; cursor: default; border-color: var(--accent); }
.task-item[data-state='run'] .hv-box { border-color: var(--accent); }
.task-item[data-state='run'] .hv-spin { display: block; }
.task-item[data-state='done'] .hv-btn { pointer-events: none; cursor: default; border-color: #16a34a; background: rgba(22, 163, 74, 0.1); }
.task-item[data-state='done'] .hv-box { background: #16a34a; border-color: #16a34a; }
.task-item[data-state='done'] .hv-tick { display: block; animation: hvPop 0.4s ease both; }
.task-item[data-state='done'] .hv-label { color: #16a34a; }
.task-item[data-state='done'] .hv-brand { color: #16a34a; }
.task-foot { display: flex; align-items: center; gap: 10px; margin-top: 16px; }
.task-go { flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 48px; padding: 11px 18px; border: none; border-radius: 999px; cursor: pointer; font-family: var(--font-head); font-size: 14px; font-weight: 800; color: #fff; background: linear-gradient(135deg, #16a34a, #22c55e); box-shadow: 0 12px 26px -12px #16a34a; transition: transform 0.2s var(--ease), opacity 0.2s; }
.task-go:hover { transform: translateY(-2px); }
.task-go[disabled] { opacity: 0.4; cursor: not-allowed; transform: none; box-shadow: none; }
.task-cancel { border: 1px solid var(--line); background: var(--surface-2); color: var(--text); cursor: pointer; font-family: var(--font-body); font-size: 14px; padding: 12px 20px; border-radius: 999px; }
.task-cancel:hover { border-color: var(--accent); }
@media (prefers-reduced-motion: reduce) {
*, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
.hv-spin { animation: hvSpin 1.2s linear infinite !important; }
}
]]></b:skin>
</head>
<body>
<!-- promptbox: popular section uses label 'popular' only -->
<!-- Header -->
<div class='header-wrap'>
<header class='site-header'>
<a class='logo' expr:href='data:blog.homepageUrl'>
<span class='logo-mark'><svg height='36' viewBox='0 0 40 40' width='36' xmlns='http://www.w3.org/2000/svg'><defs><linearGradient id='pbg' x1='0' x2='1' y1='0' y2='1'><stop offset='0' stop-color='#8b7bff'/><stop offset='1' stop-color='#b44bf0'/></linearGradient></defs><rect fill='url(#pbg)' height='40' rx='11' width='40'/><path d='M13 29V11h8.5a5.5 5.5 0 0 1 0 11H17' fill='none' stroke='#fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3.4'/><path d='M29.5 8.5l1 2.5 2.5 1-2.5 1-1 2.5-1-2.5-2.5-1 2.5-1z' fill='#fff'/></svg></span>
<span>PromptBox</span>
</a>
<nav class='nav-links'>
<a class='nav-link-tab active' expr:href='data:blog.homepageUrl'>Home</a>
<a class='nav-link-tab' data-target='aiTestLabView' href='javascript:void(0);'>AI Test Lab</a>
<a class='nav-course pb-course' href='http://tanbinachademy.top' rel='noopener' target='_blank'><i class='fa-solid fa-graduation-cap'/> কোর্স</a>
<a class='nav-sell pb-sell' href='javascript:void(0);'><i class='fa-solid fa-store'/><span class='sell-long'>আপনার কোড বা প্রম্পট বিক্রি করুন</span><span class='sell-short'>বিক্রি করুন</span></a>
</nav>
<div class='header-actions'>
<button class='pwa-btn' hidden='hidden' id='pwaInstall' type='button'><i class='fa-solid fa-download'/> <span>অ্যাপ ইনস্টল</span></button>
<button aria-label='Toggle theme' class='icon-btn' id='themeToggleBtn' type='button'><i class='fa-solid fa-sun' id='themeIcon'/></button>
<button aria-label='Menu' class='icon-btn menu-btn' id='mobileMenuBtn' type='button'><i class='fa-solid fa-bars'/></button>
</div>
</header>
<div class='mobile-nav' id='mobileNav'>
<a class='nav-link-tab' expr:href='data:blog.homepageUrl'>Home</a>
<a class='nav-link-tab' data-target='aiTestLabView' href='javascript:void(0);'>AI Test Lab</a>
<a class='pb-course' href='http://tanbinachademy.top' rel='noopener' target='_blank'><i class='fa-solid fa-graduation-cap'/> কোর্স</a>
<a class='pb-sell' href='javascript:void(0);'><i class='fa-solid fa-store'/> আপনার কোড বা প্রম্পট বিক্রি করুন</a>
</div>
</div>
<!-- Hero -->
<section class='container hero' id='heroSection'>
<h1 class='hero-title'>এক ক্লিকে আপনার প্রিমিয়াম AI প্রম্পট ও টুলস</h1>
</section>
<!-- AI Test Lab -->
<div class='container tool-view' id='aiTestLabView'>
<div class='tool-box'>
<h2>AI Test Lab</h2>
<p>Test your prompts directly on official platforms.</p>
<div class='tool-actions'>
<a class='btn' href='https://chatgpt.com' rel='noopener' target='_blank'>Open ChatGPT</a>
<a class='btn' href='https://gemini.google.com' rel='noopener' target='_blank'>Open Gemini</a>
</div>
</div>
</div>
<!-- Main content -->
<div class='container' id='mainHomeContent'>
<section class='trust' id='trustWrap' style='display:none'>
<div class='trust-strip'>
<div class='trust-item'><i class='fa-solid fa-layer-group'/><div><b id='tsTotal'>-</b><span>মোট পোস্ট</span></div></div>
<div class='trust-item prem' id='tsPremWrap'><i class='fa-solid fa-crown'/><div><b id='tsPrem'>-</b><span>Premium কন্টেন্ট</span></div></div>
<div class='trust-item' id='tsBuyWrap' style='display:none'><i class='fa-solid fa-users'/><div><b id='tsBuy'/><span>সন্তুষ্ট ক্রেতা</span></div></div>
<div class='trust-item'><i class='fa-brands fa-whatsapp'/><div><b>সরাসরি সাপোর্ট</b><span>WhatsApp এ যোগাযোগ</span></div></div>
</div>
<div id='reviewsWrap' style='display:none'>
<h2 class='rev-title'>ক্রেতাদের মতামত</h2>
<div class='rev-row' id='revRow'/>
<div class='rev-text' id='revText'/>
</div>
</section>
<div class='layout'>
<main style='min-width:0;'>
<b:section id='main-blog-section' showaddelement='yes'>
<b:widget id='Blog1' locked='false' title='Blog Posts' type='Blog' version='2' visible='true'>
<b:widget-settings>
<b:widget-setting name='showDateHeader'>false</b:widget-setting>
<b:widget-setting name='style.textcolor'>#ffffff</b:widget-setting>
<b:widget-setting name='showShareButtons'>false</b:widget-setting>
<b:widget-setting name='showCommentLink'>false</b:widget-setting>
<b:widget-setting name='style.urlcolor'>#ffffff</b:widget-setting>
<b:widget-setting name='showAuthor'>false</b:widget-setting>
<b:widget-setting name='style.linkcolor'>#ffffff</b:widget-setting>
<b:widget-setting name='style.unittype'>TextAndImage</b:widget-setting>
<b:widget-setting name='style.bgcolor'>#ffffff</b:widget-setting>
<b:widget-setting name='timestampLabel'/>
<b:widget-setting name='reactionsLabel'/>
<b:widget-setting name='showAuthorProfile'>false</b:widget-setting>
<b:widget-setting name='style.layout'>1x1</b:widget-setting>
<b:widget-setting name='showLabels'>false</b:widget-setting>
<b:widget-setting name='showLocation'>false</b:widget-setting>
<b:widget-setting name='postLabelsLabel'/>
<b:widget-setting name='showTimestamp'>true</b:widget-setting>
<b:widget-setting name='postsPerAd'>1</b:widget-setting>
<b:widget-setting name='showBacklinks'>false</b:widget-setting>
<b:widget-setting name='style.bordercolor'>#ffffff</b:widget-setting>
<b:widget-setting name='showInlineAds'>false</b:widget-setting>
<b:widget-setting name='showReactions'>false</b:widget-setting>
</b:widget-settings>
<b:includable id='main'>
<b:if cond='data:blog.pageType == "index" or data:blog.pageType == "archive" or data:blog.pageType == "search"'>
<div class='section-head'><h2>সর্বশেষ প্রম্পট</h2><span/></div>
<div class='post-grid' id='postGrid'>
<b:loop values='data:posts' var='post'>
<article class='post-card' expr:data-id='data:post.id'>
<a class='thumb' expr:href='data:post.url' expr:title='data:post.title'>
<b:if cond='data:post.featuredImage'>
<img expr:alt='data:post.title' expr:src='data:post.featuredImage' loading='lazy'/>
<b:elseif cond='data:post.firstImageUrl'/>
<img expr:alt='data:post.title' expr:src='data:post.firstImageUrl' loading='lazy'/>
<b:else/>
<span class='thumb-empty'><i class='fa-regular fa-image'/></span>
</b:if>
</a>
<div class='card-body'>
<h3 class='card-title'>
<span class='t-badges'>
<b:if cond='data:post.labels'>
<b:loop values='data:post.labels' var='label'>
<b:if cond='data:label.name == "lock" or data:label.name == "Lock"'>
<span class='prem-flag'><i class='fa-solid fa-crown'/> Premium</span>
<span class='prem-cost'><b class='pb-price'>৫০</b> টাকা</span>
</b:if>
<b:if cond='data:label.name == "Pinned"'>
<span class='pin-flag'><i class='fa-solid fa-thumbtack'/> Pinned</span>
</b:if>
<b:if cond='data:label.name == "popular" or data:label.name == "Popular" or data:label.name == "POPULAR"'>
<span class='auto-flag hot'>🔥 POPULAR</span>
</b:if>
</b:loop>
</b:if>
</span>
<a expr:href='data:post.url'><data:post.title/></a>
</h3>
<b:if cond='data:post.labels'><span class='pb-lbls'><b:loop values='data:post.labels' var='lb'><i><data:lb.name/></i></b:loop></span></b:if>
<div class='card-foot'>
<span class='stats'>
<span class='stat'><i class='fa-regular fa-eye'/> <span class='n-views'/></span>
<span class='stat'><i class='fa-regular fa-copy'/> <span class='n-copies'/></span>
</span>
<a class='view-btn' expr:href='data:post.url'>View <i class='fa-solid fa-arrow-right'/></a>
</div>
</div>
</article>
</b:loop>
</div>
<div class='blog-pager' id='blog-pager'>
<b:if cond='data:newerPageUrl'>
<a class='blog-pager-newer-link' expr:href='data:newerPageUrl'><i class='fa-solid fa-arrow-left'/> নতুন পোস্ট</a>
</b:if>
<b:if cond='data:olderPageUrl'>
<a class='blog-pager-older-link' expr:href='data:olderPageUrl'>আরও দেখুন.. <i class='fa-solid fa-arrow-right'/></a>
</b:if>
</div>
<b:else/>
<b:loop values='data:posts' var='post'>
<article class='article'>
<h1><data:post.title/></h1>
<div class='article-date'><i class='fa-regular fa-calendar'/> <data:post.date/></div>
<b:if cond='data:post.labels'><span class='pb-lbls' id='pbPostLbls'><b:loop values='data:post.labels' var='lb'><i><data:lb.name/></i></b:loop></span></b:if>
<b:if cond='data:post.labels'>
<b:loop values='data:post.labels' var='label'>
<b:if cond='data:label.name == "lock" or data:label.name == "Lock"'>
<style id='tbpHideStyle'>#postBody{display:none!important}</style>
<div class='tbp-root' id='tbpRoot'>
<div class='tbp-wrap'>
<span class='pb-lbls' id='pbLbls'><b:loop values='data:post.labels' var='lb'><i><data:lb.name/></i></b:loop></span>
<div class='tbp-brand'><i>✦</i><span id='tbpBrand'>Tanbin Premium</span></div>
<section class='tbp-hero tbp-glass'>
<div class='tbp-lock'>🔐</div>
<h2>এটি একটি Premium কন্টেন্ট</h2>
<div class='tbp-price'>মাত্র <b class='tbp-amt'>৫০ টাকা</b></div>
<p>এই কন্টেন্ট দেখতে <b class='tbp-amt'>৫০ টাকা</b> পেমেন্ট করে আপনার তথ্য পাঠান এবং Premium PIN নিয়ে আনলক করুন।</p>
<button class='tbp-btn' id='tbpOpen' type='button'>👑 Premium PIN এর জন্য আবেদন করুন</button>
</section>
<section class='tbp-sec' id='tbpVerifySec' style='display:none'>
<div class='tbp-verify tbp-glass'>
<h2>✅ পেমেন্ট ছাড়াই আনলক করতে চান?</h2>
<p class='tbp-sub' style='margin:6px 0 16px'>পেমেন্ট না করে Human Verification সম্পন্ন করলেও এই কন্টেন্ট ফ্রিতে দেখতে পারবেন।</p>
<button class='tbp-btn' id='tbpVerifyBtn' type='button'>🛡️ Human Verify করে আনলক করুন</button>
</div>
</section>
<section class='tbp-sec'>
<h2>💰 পেমেন্ট মাধ্যম</h2>
<p class='tbp-sub'>যেকোনো একটি মাধ্যমে <b class='tbp-amt'>৫০ টাকা</b> পেমেন্ট করুন।</p>
<div class='tbp-grid3' id='tbpPays'/>
</section>
<section class='tbp-sec'>
<div class='tbp-steps tbp-glass'>
<h2>💳 কীভাবে Premium PIN পাবেন</h2>
<ol>
<li><span>1</span>পছন্দের পেমেন্ট মাধ্যম বেছে নিন।</li>
<li><span>2</span><div><b class='tbp-amt'>৫০ টাকা</b> পাঠান।</div></li>
<li><span>3</span>Transaction ID সংরক্ষণ করুন।</li>
<li><span>4</span>পেমেন্ট ফর্মটি পূরণ করুন।</li>
<li><span>5</span>WhatsApp এ তথ্য পাঠান।</li>
<li><span>6</span>যাচাইয়ের পর আপনাকে Premium PIN দেওয়া হবে।</li>
<li><span>7</span>Premium PIN দিয়ে কন্টেন্ট আনলক করুন।</li>
</ol>
</div>
</section>
<section class='tbp-sec'>
<div class='tbp-pinbox tbp-glass'>
<h2>🔐 আপনার কাছে Premium PIN আছে?</h2>
<p class='tbp-sub' style='margin:6px 0 0'>নিচে Premium PIN লিখে কন্টেন্ট আনলক করুন।</p>
<div class='tbp-pins' id='tbpPins'/>
<div class='tbp-row'>
<button class='tbp-btn' id='tbpUnlockBtn' type='button'>🔓 আনলক করুন</button>
<button class='tbp-btn ghost' id='tbpClear' type='button'>মুছে ফেলুন</button>
</div>
<div class='tbp-msg' id='tbpMsg' role='status'/>
</div>
</section>
</div>
<div class='tbp-wa'><button class='tbp-btn wa' id='tbpOpen3' type='button'>💬 পেমেন্ট ফর্ম</button></div>
</div>
<div aria-modal='true' class='tbp-modal' id='tbpModal' role='dialog'>
<div class='tbp-sheet'>
<button aria-label='Close' class='tbp-x' id='tbpClose' type='button'>✕</button>
<h2>📋 পেমেন্ট ভেরিফিকেশন ফর্ম</h2>
<p style='color:#a3a1bd;font-size:14px'>তথ্য দিয়ে Send করলে WhatsApp খুলবে।</p>
<form id='tbpForm' novalidate='novalidate'>
<div class='tbp-f' data-f='name'><label>আপনার নাম <i>*</i></label><input autocomplete='name' id='tbpName' placeholder='আপনার নাম লিখুন' type='text'/></div>
<div class='tbp-f' data-f='wa'><label>WhatsApp নম্বর <i>*</i></label><input autocomplete='tel' id='tbpWa' placeholder='আপনার WhatsApp নম্বর' type='tel'/></div>
<div class='tbp-f' data-f='method'><label>পেমেন্ট মাধ্যম <i>*</i></label>
<div class='tbp-opts' id='tbpOpts'/>
</div>
<div class='tbp-f' data-f='trx'><label>Transaction ID <i>*</i></label><input id='tbpTrx' placeholder='Transaction ID লিখুন' type='text'/></div>
<div class='tbp-f' data-f='amt'><label>পেমেন্টের পরিমাণ <i>*</i></label><input id='tbpAmt' placeholder='যেমন: ৫০ টাকা' type='text'/></div>
<div class='tbp-f'><label>অতিরিক্ত বার্তা</label><textarea id='tbpNote' placeholder='অতিরিক্ত কোনো তথ্য থাকলে লিখুন...'/></div>
<button class='tbp-btn wa' id='tbpSend' style='width:100%;margin-top:18px' type='submit'>💬 তথ্য পাঠান</button>
</form>
</div>
</div>
<div class='tbp-toasts' id='tbpToasts'/>
</b:if>
</b:loop>
</b:if>
<div class='post-body' id='postBody'>
<data:post.body/>
</div>
</article>
</b:loop>
</b:if>
</b:includable>
<b:includable id='aboutPostAuthor'>
<div class='author-name'>
<a class='g-profile' expr:href='data:post.author.profileUrl' rel='author' title='author profile'>
<span>
<data:post.author.name/>
</span>
</a>
</div>
<div>
<span class='author-desc'>
<data:post.author.aboutMe/>
</span>
</div>
</b:includable>
<b:includable id='addComments'>
<a expr:href='data:post.commentsUrl' expr:onclick='data:post.commentsUrlOnclick'>
<b:message name='messages.postAComment'/>
</a>
</b:includable>
<b:includable id='commentAuthorAvatar'>
<div class='avatar-image-container'>
<img class='author-avatar' expr:src='data:comment.authorAvatarSrc' height='35' width='35'/>
</div>
</b:includable>
<b:includable id='commentDeleteIcon' var='comment'>
<span expr:class='"item-control " + data:comment.adminClass'>
<b:if cond='data:showCmtPopup'>
<div class='goog-toggle-button'>
<div class='goog-inline-block comment-action-icon'/>
</div>
<b:else/>
<a class='comment-delete' expr:href='data:comment.deleteUrl' expr:title='data:messages.deleteComment'>
<img src='https://resources.blogblog.com/img/icon_delete13.gif'/>
</a>
</b:if>
</span>
</b:includable>
<b:includable id='commentForm' var='post'>
<div class='comment-form'>
<a name='comment-form'/>
<h4 id='comment-post-message'><data:messages.postAComment/></h4>
<b:if cond='data:this.messages.blogComment != ""'>
<p><data:this.messages.blogComment/></p>
</b:if>
<b:include data='post' name='commentFormIframeSrc'/>
<iframe allowtransparency='allowtransparency' class='blogger-iframe-colorize blogger-comment-from-post' expr:height='data:cmtIframeInitialHeight ?: "90px"' frameborder='0' id='comment-editor' name='comment-editor' src='' width='100%'/>
<data:post.cmtfpIframe/>
<script type='text/javascript'>
BLOG_CMT_createIframe('<data:post.appRpcRelayPath/>');
</script>
</div>
</b:includable>
<b:includable id='commentFormIframeSrc' var='post'>
<a expr:href='data:post.commentFormIframeSrc' id='comment-editor-src'/>
</b:includable>
<b:includable id='commentItem' var='comment'>
<div class='comment' expr:id='"c" + data:comment.id'>
<b:include cond='data:blog.enabledCommentProfileImages' name='commentAuthorAvatar'/>
<div class='comment-block'>
<div class='comment-author'>
<b:if cond='data:comment.authorUrl'>
<b:message name='messages.authorSaidWithLink'>
<b:param expr:value='data:comment.author' name='authorName'/>
<b:param expr:value='data:comment.authorUrl' name='authorUrl'/>
</b:message>
<b:else/>
<b:message name='messages.authorSaid'>
<b:param expr:value='data:comment.author' name='authorName'/>
</b:message>
</b:if>
</div>
<div expr:class='"comment-body" + (data:comment.isDeleted ? " deleted" : "")'>
<data:comment.body/>
</div>
<div class='comment-footer'>
<span class='comment-timestamp'>
<a expr:href='data:comment.url' title='comment permalink'>
<data:comment.timestamp/>
</a>
<b:include data='comment' name='commentDeleteIcon'/>
</span>
</div>
</div>
</div>
</b:includable>
<b:includable id='commentList' var='comments'>
<div id='comments-block'>
<b:loop values='data:comments' var='comment'>
<b:include data='comment' name='commentItem'/>
</b:loop>
</div>
</b:includable>
<b:includable id='commentPicker' var='post'>
<b:if cond='data:post.showThreadedComments'>
<b:include data='post' name='threadedComments'/>
<b:else/>
<b:include data='post' name='comments'/>
</b:if>
</b:includable>
<b:includable id='comments' var='post'>
<section expr:class='"comments" + (data:post.embedCommentForm ? " embed" : "")' expr:data-num-comments='data:post.numberOfComments' id='comments'>
<a name='comments'/>
<b:if cond='data:post.allowComments'>
<b:include name='commentsTitle'/>
<div expr:id='data:widget.instanceId + "_comments-block-wrapper"'>
<b:include cond='data:post.comments' data='post.comments' name='commentList'/>
</div>
<b:if cond='data:post.commentPagingRequired'>
<div class='paging-control-container'>
<b:if cond='data:post.hasOlderLinks'>
<a expr:class='data:post.oldLinkClass' expr:href='data:post.oldestLinkUrl'>
<data:messages.oldest/>
</a>
<a expr:class='data:post.oldLinkClass' expr:href='data:post.olderLinkUrl'>
<data:messages.older/>
</a>
</b:if>
<span class='comment-range-text'>
<data:post.commentRangeText/>
</span>
<b:if cond='data:post.hasNewerLinks'>
<a expr:class='data:post.newLinkClass' expr:href='data:post.newerLinkUrl'>
<data:messages.newer/>
</a>
<a expr:class='data:post.newLinkClass' expr:href='data:post.newestLinkUrl'>
<data:messages.newest/>
</a>
</b:if>
</div>
</b:if>
<div class='footer'>
<b:if cond='data:post.embedCommentForm'>
<b:if cond='data:post.allowNewComments'>
<b:include data='post' name='commentForm'/>
<b:else/>
<data:post.noNewCommentsText/>
</b:if>
<b:else/>
<b:if cond='data:post.allowComments'>
<b:include data='post' name='addComments'/>
</b:if>
</b:if>
</div>
</b:if>
<b:if cond='data:showCmtPopup'>
<div id='comment-popup'>
<iframe allowtransparency='allowtransparency' frameborder='0' id='comment-actions' name='comment-actions' scrolling='no'>
</iframe>
</div>
</b:if>
</section>
</b:includable>
<b:includable id='commentsTitle'>
<h3 class='title'><data:messages.comments/></h3>
</b:includable>
<b:includable id='feedLinks'>
<b:if cond='!data:view.isPost'> <!-- Blog feed links -->
<b:if cond='data:feedLinks'>
<div class='blog-feeds'>
<b:include data='feedLinks' name='feedLinksBody'/>
</div>
</b:if>
<b:else/> <!--Post feed links -->
<div class='post-feeds'>
<b:loop values='data:posts' var='post'>
<b:if cond='data:post.allowComments and data:post.feedLinks'>
<b:include data='post.feedLinks' name='feedLinksBody'/>
</b:if>
</b:loop>
</div>
</b:if>
</b:includable>
<b:includable id='feedLinksBody' var='links'>
<div class='feed-links'>
<data:messages.subscribeTo/>
<b:loop values='data:links' var='f'>
<a class='feed-link' expr:href='data:f.url' expr:type='data:f.mimeType' target='_blank'><data:f.name/> (<data:f.feedType/>)</a>
</b:loop>
</div>
</b:includable>
<b:includable id='homePageLink'>
<a class='home-link' expr:href='data:blog.homepageUrl'>
<data:messages.home/>
</a>
</b:includable>
<b:includable id='iframeComments' var='post'>
<!-- G+ comments, no longer available. The includable is retained for backwards-compatibility. -->
</b:includable>
<b:includable id='inlineAd' var='post'>
<b:if cond='!data:view.isPreview'>
<b:if cond='data:this.adCode or data:this.adClientId or data:blog.adsenseClientId'>
<!-- Ad -->
<div class='inline-ad'>
<b:if cond='data:this.adCode != ""'>
<data:this.adCode/>
<b:else/>
<b:include cond='data:this.adClientId or data:blog.adsenseClientId' name='defaultAdUnit'/>
</b:if>
</div>
</b:if>
<b:else/>
<div class='inline-ad'>
<div class='inline-ad-placeholder'>
<span><b:message name='messages.adsGoHere'/></span>
</div>
</div>
</b:if>
</b:includable>
<b:includable id='nextPageLink'>
<a class='blog-pager-older-link' expr:href='data:olderPageUrl' expr:id='data:widget.instanceId + "_blog-pager-older-link"' expr:title='data:messages.olderPosts'>
<data:messages.olderPosts/>
</a>
</b:includable>
<b:includable id='post' var='post'>
<div class='post'>
<b:include data='post' name='postMeta'/>
<b:include data='post' name='postTitle'/>
<b:include name='headerByline'/>
<b:if cond='data:view.isSingleItem'>
<b:include data='post' name='postBody'/>
<b:else/>
<b:include data='post' name='postBodySnippet'/>
<b:include data='post' name='postJumpLink'/>
</b:if>
<b:include data='post' name='postFooter'/>
</div>
</b:includable>
<b:includable id='postBody' var='post'>
<!-- If metaDescription is empty, use the post body as the schema.org description too, for G+/FB snippeting. -->
<div class='post-body entry-content float-container' expr:id='"post-body-" + data:post.id'>
<data:post.body/>
</div>
</b:includable>
<b:includable id='postBodySnippet' var='post'>
<b:include data='post' name='postBody'/>
</b:includable>
<b:includable id='postCommentsAndAd' var='post'>
<article class='post-outer-container'>
<!-- Post title and body -->
<div class='post-outer'>
<b:include data='post' name='post'/>
</div>
<!-- Comments -->
<b:include cond='data:view.isSingleItem' data='post' name='commentPicker'/>
<!-- Show ad inside post container, after comments, if single item. -->
<b:include cond='data:view.isSingleItem and data:post.includeAd' data='post' name='inlineAd'/>
</article>
<!-- Show ad outside post container (between posts) for feed pages. -->
<b:include cond='data:view.isMultipleItems and data:post.includeAd' data='post' name='inlineAd'/>
</b:includable>
<b:includable id='postCommentsLink'>
<b:if cond='data:view.isMultipleItems'>
<span class='byline post-comment-link container'>
<b:include cond='data:post.commentSource != 1' name='commentsLink'/>
</span>
</b:if>
</b:includable>
<b:includable id='postFooter' var='post'>
<div class='post-footer'>
<b:include name='footerBylines'/>
<b:include data='post' name='postFooterAuthorProfile'/>
</div>
</b:includable>
<b:includable id='postFooterAuthorProfile' var='post'>
<b:if cond='data:post.author.aboutMe and data:view.isPost'>
<div class='author-profile'>
<b:if cond='data:post.author.authorPhoto.url'>
<img class='author-image' expr:src='data:post.author.authorPhoto.url' width='50px'/>
<div class='author-about'>
<b:include data='post' name='aboutPostAuthor'/>
</div>
<b:else/>
<b:include data='post' name='aboutPostAuthor'/>
</b:if>
</div>
</b:if>
</b:includable>
<b:includable id='postHeader' var='post'>
<b:include name='headerByline'/>
</b:includable>
<b:includable id='postMeta' var='post'>
<b:include data='post' name='postMetadataJSON'/>
</b:includable>
<b:includable id='postPagination'>
<div class='blog-pager container' id='blog-pager'>
<b:include cond='data:newerPageUrl' name='previousPageLink'/>
<b:include cond='data:olderPageUrl' name='nextPageLink'/>
<b:include cond='data:view.url != data:blog.homepageUrl' name='homePageLink'/>
</div>
</b:includable>
<b:includable id='postTitle' var='post'>
<a expr:name='data:post.id'/>
<b:if cond='data:post.title != ""'>
<h3 class='post-title entry-title'>
<b:if cond='data:post.link or (data:post.url and data:view.url != data:post.url)'>
<a expr:href='data:post.link ?: data:post.url'><data:post.title/></a>
<b:else/>
<data:post.title/>
</b:if>
</h3>
</b:if>
</b:includable>
<b:includable id='previousPageLink'>
<a class='blog-pager-newer-link' expr:href='data:newerPageUrl' expr:id='data:widget.instanceId + "_blog-pager-newer-link"' expr:title='data:messages.newerPosts'>
<data:messages.newerPosts/>
</a>
</b:includable>
<b:includable id='threadedCommentForm' var='post'>
<div class='comment-form'>
<a name='comment-form'/>
<h4 id='comment-post-message'><data:messages.postAComment/></h4>
<b:if cond='data:this.messages.blogComment != ""'>
<p><data:this.messages.blogComment/></p>
</b:if>
<b:include data='post' name='commentFormIframeSrc'/>
<iframe allowtransparency='allowtransparency' class='blogger-iframe-colorize blogger-comment-from-post' expr:height='data:cmtIframeInitialHeight ?: "90px"' frameborder='0' id='comment-editor' name='comment-editor' src='' width='100%'/>
<data:post.cmtfpIframe/>
<script type='text/javascript'>
BLOG_CMT_createIframe('<data:post.appRpcRelayPath/>');
</script>
</div>
</b:includable>
<b:includable id='threadedCommentJs' var='post'>
<script async='async' expr:src='data:post.commentSrc' type='text/javascript'/>
<b:template-script inline='true' name='threaded_comments'/>
<script type='text/javascript'>
blogger.widgets.blog.initThreadedComments(
<data:post.commentJso/>,
<data:post.commentMsgs/>,
<data:post.commentConfig/>);
</script>
</b:includable>
<b:includable id='threadedComments' var='post'>
<section class='comments threaded' expr:data-embed='data:post.embedCommentForm' expr:data-num-comments='data:post.numberOfComments' id='comments'>
<a name='comments'/>
<b:include name='commentsTitle'/>
<div class='comments-content'>
<b:if cond='data:post.embedCommentForm'>
<b:include data='post' name='threadedCommentJs'/>
</b:if>
<div id='comment-holder'>
<data:post.commentHtml/>
</div>
</div>
<p class='comment-footer'>
<b:if cond='data:post.allowNewComments'>
<b:include data='post' name='threadedCommentForm'/>
<b:else/>
<data:post.noNewCommentsText/>
</b:if>
<b:if cond='data:post.showManageComments'>
<b:include data='post' name='manageComments'/>
</b:if>
</p>
<b:if cond='data:showCmtPopup'>
<div id='comment-popup'>
<iframe allowtransparency='allowtransparency' frameborder='0' id='comment-actions' name='comment-actions' scrolling='no'>
</iframe>
</div>
</b:if>
</section>
</b:includable>
<b:includable id='tooltipCss'>
<!-- LINT.IfChange -->
<style>
.post-body a.b-tooltip-container {
position: relative;
display: inline-block;
}
.post-body a.b-tooltip-container .b-tooltip {
display: block !important;
position: absolute;
top: 100%;
left: 50%;
transform: translate(-20%, 1px);
visibility: hidden;
opacity: 0;
z-index: 1;
transition: opacity 0.2s ease-in-out;
}
.post-body a.b-tooltip-container .b-tooltip iframe {
width: 200px;
height: 198px;
max-width: none;
border: none;
border-radius: 20px;
box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.2);
}
@media (hover: hover) {
.post-body a.b-tooltip-container:hover .b-tooltip {
visibility: visible;
opacity: 1;
}
}
</style>
<!-- LINT.ThenChange(//depot/google3/java/com/google/blogger/b2/layouts/widgets/v2-style.css) -->
</b:includable>
</b:widget>
</b:section>
<div class='pop-wrap' id='popWrap' style='display:none'>
<h2 class='pop-title'><i class='fa-solid fa-fire'/> জনপ্রিয় পোস্ট</h2>
<div class='post-grid' id='popGrid'/>
</div>
<div class='pop-wrap' id='premWrap' style='display:none'>
<h2 class='pop-title'><i class='fa-solid fa-crown'/> Premium পোস্ট</h2>
<div class='post-grid' id='premGrid'/>
<a class='prem-all' href='/search/label/lock'>সব Premium পোস্ট দেখুন <i class='fa-solid fa-arrow-right'/></a>
</div>
</main>
<!-- Sidebar -->
<aside style='min-width:0;'>
<div class='panel'>
<h3>Trending categories</h3>
<ul class='cat-list'>
<li><a href='/search?q=ChatGPT'><i class='fa-solid fa-comments'/> ChatGPT Master Prompts</a></li>
<li><a href='/search?q=Gemini'><i class='fa-solid fa-gem'/> Google Gemini Pro</a></li>
<li><a href='/search?q=Image'><i class='fa-solid fa-image'/> AI Image Generation</a></li>
<li><a href='/search?q=%E0%A6%B0%E0%A7%87%E0%A6%A1%E0%A6%BF+%E0%A6%95%E0%A7%8B%E0%A6%A1'><i class='fa-solid fa-code'/> ওয়েবসাইট রেডি কোড</a></li>
</ul>
</div>
<div class='panel prem-panel' id='premPanel'>
<div class='prem-head'>
<span class='prem-crown'><i class='fa-solid fa-crown'/></span>
<div><h3>Premium পোস্ট</h3><p>PIN দিয়ে আনলক করুন</p></div>
</div>
<ul class='prem-list' id='premList'><li class='prem-skel'><span/></li><li class='prem-skel'><span/></li><li class='prem-skel'><span/></li></ul>
<p class='prem-empty' id='premEmpty' style='display:none'>শীঘ্রই নতুন Premium কন্টেন্ট আসছে।</p>
<a class='prem-all' href='/search/label/lock'>সব Premium পোস্ট দেখুন <i class='fa-solid fa-arrow-right'/></a>
</div>
<a class='panel course-card pb-course' href='http://tanbinachademy.top' rel='noopener' target='_blank'>
<span class='course-ic'><i class='fa-solid fa-graduation-cap'/></span>
<div><h3>Tanbin Academy</h3><p>আমার কোর্সগুলো দেখতে ও ভর্তি হতে ভিজিট করুন</p></div>
<span class='course-go'><i class='fa-solid fa-arrow-right'/></span>
</a>
<a class='panel course-card sell-card pb-sell' href='javascript:void(0);'>
<span class='course-ic'><i class='fa-solid fa-store'/></span>
<div><h3>আপনার কোড বা প্রম্পট বিক্রি করুন</h3><p>আপনার তৈরি কোড/প্রম্পট নিজের দামে আমাদের সাইটে বিক্রি করুন</p></div>
<span class='course-go'><i class='fa-solid fa-arrow-right'/></span>
</a>
</aside>
</div>
</div>
<!-- Human Verification gate: shown when a visitor opens a free post (or unlocks a VERIFY post) -->
<div aria-live='polite' aria-modal='true' class='task-gate' id='taskGate' role='dialog'>
<div class='task-box'>
<div class='task-head'>
<span class='task-shield'><i class='fa-solid fa-shield-halved'/></span>
<div>
<h3>রেডিকোড পেতে Human Verification করুন।</h3>
<p id='taskMsg'>নিচের ধাপগুলো সম্পন্ন করে আপনি মানুষ তা নিশ্চিত করুন।</p>
</div>
</div>
<div class='task-prog'>
<div class='task-track'><span id='taskBar'/></div>
<em id='taskCount'>০/২</em>
</div>
<ol class='task-list' id='taskList'/>
<div class='task-foot'>
<button class='task-go' disabled='disabled' id='taskGo' type='button'><i class='fa-solid fa-lock-open'/> এক্সেস নিন</button>
<button class='task-cancel' id='taskCancel' type='button'>বাতিল</button>
</div>
</div>
</div>
<!-- Sell your code / prompt -->
<div aria-modal='true' class='tbp-modal' id='sellModal' role='dialog'>
<div class='tbp-sheet'>
<button aria-label='Close' class='tbp-x' id='sellClose' type='button'>✕</button>
<h2>🛒 আপনার কোড বা প্রম্পট বিক্রি করুন</h2>
<p class='sell-lead'>নিজের পছন্দমতো দাম দিন। তথ্য পাঠালে আমরা যাচাই করে আপনার পোস্ট সাইটে দিয়ে দেব।</p>
<div class='sell-fee'>
<p>পোস্ট করার ফি: <b id='sellFeeBdt'/> টাকা (bKash/Nagad) অথবা <b id='sellFeeUsd'/> (Binance)। নিচের যেকোনো একটিতে পাঠান।</p>
<div id='sellPays'/>
</div>
<form id='sellForm' novalidate='novalidate'>
<div class='sell-h'>১) আপনার তথ্য</div>
<div class='tbp-f' data-f='name'><label>আপনার নাম <i>*</i></label><input autocomplete='name' id='sellName' placeholder='আপনার নাম' type='text'/></div>
<div class='tbp-f' data-f='wa'><label>আপনার WhatsApp নম্বর <i>*</i></label><input autocomplete='tel' id='sellWa' inputmode='numeric' placeholder='যেমন: 8801900000000' type='tel'/>
<div class='sell-hint'>ক্রেতারা পেমেন্টের তথ্য এই নম্বরেই পাঠাবে।</div></div>
<div class='sell-h'>২) কোড / প্রম্পটের বিবরণ</div>
<div class='tbp-f' data-f='title'><label>টাইটেল <i>*</i></label><input id='sellTitle' placeholder='কোড বা প্রম্পটের নাম' type='text'/></div>
<div class='tbp-f' data-f='desc'><label>বিবরণ <i>*</i></label><textarea id='sellDesc' placeholder='এটি কী কাজ করে, কীভাবে ব্যবহার করবেন...'/></div>
<div class='tbp-f' data-f='code'><label>আপনার কোড / প্রম্পট <i>*</i></label><textarea id='sellCode' placeholder='এখানে পেস্ট করুন' style='min-height:140px'/>
<div class='sell-hint'>খুব বড় কোড হলে ফর্মে শুরুর অংশ দিন, বাকিটা WhatsApp এ আলাদা পাঠাবেন।</div></div>
<div class='tbp-f' data-f='price'><label>আপনার নির্ধারিত দাম (টাকা) <i>*</i></label><input id='sellPrice' inputmode='numeric' placeholder='যেমন: 150' type='text'/></div>
<div class='sell-h'>৩) আপনার পেমেন্ট একাউন্ট (ক্রেতা এখানে টাকা পাঠাবে)</div>
<div class='tbp-f' data-f='acc'><label>কমপক্ষে একটি দিন <i>*</i></label>
<input id='sellBkash' inputmode='numeric' placeholder='bKash নম্বর' style='margin-bottom:8px' type='text'/>
<input id='sellNagad' inputmode='numeric' placeholder='Nagad নম্বর' style='margin-bottom:8px' type='text'/>
<input id='sellBinance' inputmode='numeric' placeholder='Binance ID' type='text'/>
</div>
<div class='tbp-f' data-f='pin'><label>আপনার সেট করা PIN <i>*</i></label><input id='sellPin' inputmode='numeric' maxlength='10' placeholder='৪-১০ সংখ্যার PIN' type='text'/>
<div class='sell-hint'>পেমেন্ট যাচাইয়ের পর ক্রেতাকে এই PIN দেবেন, সে PIN দিয়ে কন্টেন্ট আনলক করবে।</div></div>
<div class='sell-h'>৪) পোস্ট ফি পেমেন্ট</div>
<div class='tbp-f' data-f='feem'><label>যে মাধ্যমে ফি পাঠিয়েছেন <i>*</i></label>
<div class='tbp-opts'>
<label class='tbp-opt'><input name='sellFeeM' type='radio' value='bKash'/><span>bKash</span></label>
<label class='tbp-opt'><input name='sellFeeM' type='radio' value='Nagad'/><span>Nagad</span></label>
<label class='tbp-opt'><input name='sellFeeM' type='radio' value='Binance'/><span>Binance</span></label>
</div>
</div>
<div class='tbp-f' data-f='trx'><label>ফি-এর Transaction ID <i>*</i></label><input id='sellTrx' placeholder='Transaction ID' type='text'/></div>
<div class='tbp-f'><label>অতিরিক্ত বার্তা</label><textarea id='sellNote' placeholder='কিছু জানানোর থাকলে লিখুন...'/></div>
<button class='sell-submit' id='sellSend' type='submit'>💬 WhatsApp এ পাঠান</button>
</form>
</div>
</div>
<div class='tbp-toasts' id='pbToasts'/>
<footer>
<div class='foot-social' id='footSocial'/>
<p>© 2026 PromptBox Marketplace. All rights reserved.</p>
</footer>
<script>//<![CDATA[
/* theme, mobile menu, tabs */
document.addEventListener('DOMContentLoaded', function () {
var body = document.body;
var toggleBtn = document.getElementById('themeToggleBtn');
var icon = document.getElementById('themeIcon');
var saved = null;
try { saved = localStorage.getItem('promptbox_theme'); } catch (e) {}
if (saved === 'light') {
body.classList.add('light-mode');
if (icon) icon.className = 'fa-solid fa-moon';
}
if (toggleBtn) {
toggleBtn.addEventListener('click', function () {
body.classList.toggle('light-mode');
var light = body.classList.contains('light-mode');
try { localStorage.setItem('promptbox_theme', light ? 'light' : 'dark'); } catch (e) {}
if (icon) icon.className = light ? 'fa-solid fa-moon' : 'fa-solid fa-sun';
});
}
var menuBtn = document.getElementById('mobileMenuBtn');
var mobileNav = document.getElementById('mobileNav');
if (menuBtn && mobileNav) {
menuBtn.addEventListener('click', function () { mobileNav.classList.toggle('open'); });
}
var tabs = document.querySelectorAll('.nav-link-tab');
var home = document.getElementById('mainHomeContent');
var hero = document.getElementById('heroSection');
var lab = document.getElementById('aiTestLabView');
tabs.forEach(function (tab) {
tab.addEventListener('click', function () {
var target = this.getAttribute('data-target');
if (!target) { return; }
home.style.display = 'none';
hero.style.display = 'none';
lab.style.display = 'none';
document.getElementById(target).style.display = 'block';
tabs.forEach(function (t) {
t.classList.toggle('active', t.getAttribute('data-target') === target);
});
if (mobileNav) { mobileNav.classList.remove('open'); }
});
});
});
//]]></script>
<script>//<![CDATA[
/* VERIFY label: cards of VERIFY posts look free (no Premium badge / price) */
(function () {
function run() {
var cards = document.querySelectorAll('.post-card');
for (var i = 0; i < cards.length; i++) { window.pbMarkVerify(cards[i]); }
}
if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', run); } else { run(); }
})();
//]]></script>
<script>//<![CDATA[
/* card stats */
(function () {
function hash(str) {
var h = 2166136261;
for (var i = 0; i < str.length; i++) {
h ^= str.charCodeAt(i);
h = Math.imul(h, 16777619) >>> 0;
}
return h;
}
function fmt(n) { return n >= 1000 ? (n / 1000).toFixed(1).replace('.0', '') + 'K' : String(n); }
function run() {
var cards = document.querySelectorAll('.post-card');
for (var i = 0; i < cards.length; i++) {
var card = cards[i];
var link = card.querySelector('.card-title a');
var stats = card.querySelector('.stats');
if (!link || !stats) { continue; }
var h = hash((link.getAttribute('href') || String(i)).replace(/^https?:\/\/[^\/]+/, '').split('?')[0]);
var views = 180 + (h % 2400);
var copies = Math.round(views * (0.16 + ((h >>> 8) % 22) / 100));
var v = stats.querySelector('.n-views');
var c = stats.querySelector('.n-copies');
if (v) { v.textContent = fmt(views); }
if (c) { c.textContent = fmt(copies); }
stats.className = 'stats ready';
}
}
if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', run); } else { run(); }
})();
//]]></script>
<script>//<![CDATA[
/* Premium lock: payment methods, payment form, PIN */
(function () {
var root = document.getElementById('tbpRoot');
if (!root) { return; }
var PB = window.PB || {};
var lbEl = document.getElementById('pbLbls');
var lbNames = [];
if (lbEl) { var lis = lbEl.querySelectorAll('i'); for (var q0 = 0; q0 < lis.length; q0++) { lbNames.push(lis[q0].textContent); } }
var isVerify = window.pbIsVerify(lbNames);
/* লেবেলে bkash-/nagad-/binance-/whatsapp- থাকলে ওই পোস্টের পেমেন্ট মাধ্যম ও WhatsApp সেটাই হবে */
var custom = window.pbPayLabels(lbNames);
var hasCustomPay = !!(custom.bkash || custom.nagad || custom.binance);
var CONFIG = {
brandName: hasCustomPay ? 'Premium Content' : 'Tanbin Premium',
whatsappNumber: custom.whatsapp || PB.whatsapp,
accessPin: PB.pin || '81014166',
price: window.pbPrice(lbNames)
};
/* আলাদা PIN: পোস্টে <div class="vcfg">PIN: 4821</div> লিখলে ওই পোস্টের PIN সেটাই হবে */
var vc = document.querySelector('#postBody .vcfg');
if (vc) {
var pm = /PIN\s*[::=-]\s*([0-9০-৯]+)/i.exec(vc.textContent || '');
if (pm) { CONFIG.accessPin = pm[1].replace(/[০-৯]/g, function (d) { return '০১২৩৪৫৬৭৮৯'.indexOf(d); }); }
}
var $ = function (id) { return document.getElementById(id); };
var esc = function (s) { return String(s).replace(/[&<>"']/g, function (c) { return { '&': '&', '<': '<', '>': '>', '"': '"', "'": ''' }[c]; }); };
function toast(msg, type) {
var t = document.createElement('div');
t.className = 'tbp-toast ' + (type || '');
t.textContent = msg;
$('tbpToasts').appendChild(t);
setTimeout(function () { if (t.parentNode) { t.parentNode.removeChild(t); } }, 3200);
}
function copyText(text) {
var done = function () { toast('✅ কপি হয়েছে!', 'ok'); };
var fallback = function () {
var a = document.createElement('textarea');
a.value = text; a.style.cssText = 'position:fixed;opacity:0';
document.body.appendChild(a); a.select();
try { document.execCommand('copy'); done(); } catch (e) { toast('⚠️ কপি হয়নি, নিজে কপি করুন।', 'warn'); }
document.body.removeChild(a);
};
if (navigator.clipboard && window.isSecureContext) { navigator.clipboard.writeText(text).then(done, fallback); } else { fallback(); }
}
$('tbpBrand').textContent = CONFIG.brandName;
var amts = document.querySelectorAll('.tbp-amt');
for (var q = 0; q < amts.length; q++) { amts[q].textContent = CONFIG.price + ' টাকা'; }
var all = [
{ n: 'bKash', v: PB.bkash, l: 'নম্বর', b: 'নম্বর কপি', c: 'linear-gradient(135deg,#e2136e,#a30a50)', i: 'b' },
{ n: 'Nagad', v: PB.nagad, l: 'নম্বর', b: 'নম্বর কপি', c: 'linear-gradient(135deg,#f7941d,#d9531e)', i: 'N' },
{ n: 'Binance', v: PB.binance, l: 'ID', b: 'ID কপি', c: 'linear-gradient(135deg,#f3ba2f,#c99400)', i: '◆' }
];
if (hasCustomPay) {
all[0].v = custom.bkash; all[1].v = custom.nagad; all[2].v = custom.binance;
}
var pays = all.filter(function (p) { return !!p.v; });
$('tbpPays').innerHTML = pays.map(function (p, k) {
return '<div class="tbp-pay tbp-glass"><div class="tbp-ico" style="background:' + p.c + '">' + p.i + '</div><h3>' + p.n + '</h3><small>' + p.l + '</small><b>' + esc(p.v) + '</b><button type="button" class="tbp-btn ghost" data-copy="' + k + '">' + p.b + '</button></div>';
}).join('');
$('tbpPays').addEventListener('click', function (e) {
var b = e.target.closest ? e.target.closest('[data-copy]') : null;
if (b) { copyText(pays[b.getAttribute('data-copy')].v); }
});
/* পেমেন্ট ফর্মের মাধ্যম = এই পোস্টের পেমেন্ট মাধ্যম */
var opts = $('tbpOpts');
opts.innerHTML = pays.map(function (p) {
return '<label class="tbp-opt"><input name="tbpM" type="radio" value="' + p.n + '"/><span>' + p.n + '</span></label>';
}).join('');
opts.style.gridTemplateColumns = 'repeat(' + Math.max(pays.length, 1) + ',1fr)';
function openM() { $('tbpModal').classList.add('on'); }
function closeM() { $('tbpModal').classList.remove('on'); }
$('tbpOpen').addEventListener('click', openM);
$('tbpOpen3').addEventListener('click', openM);
$('tbpClose').addEventListener('click', closeM);
$('tbpModal').addEventListener('click', function (e) { if (e.target === this) { closeM(); } });
document.addEventListener('keydown', function (e) { if (e.key === 'Escape') { closeM(); } });
/* WhatsApp (সাইট মালিক অথবা লেবেলে দেওয়া বিক্রেতার নম্বরে) */
$('tbpForm').addEventListener('submit', function (e) {
e.preventDefault();
var m = document.querySelector('input[name=tbpM]:checked');
var d = { name: $('tbpName').value.trim(), wa: $('tbpWa').value.trim(), method: m ? m.value : '', trx: $('tbpTrx').value.trim(), amt: $('tbpAmt').value.trim(), note: $('tbpNote').value.trim() };
var bad = false;
var h1 = document.querySelector('.article h1');
var cn = h1 ? h1.textContent.trim() : '';
['name', 'wa', 'method', 'trx', 'amt'].forEach(function (k) {
var f = document.querySelector('#tbpForm [data-f=' + k + ']');
if (f) { f.classList.remove('err'); }
if (!d[k]) { bad = true; if (f) { f.classList.add('err'); } }
});
if (bad) { toast('⚠️ সব তথ্য পূরণ করুন।', 'warn'); return; }
var line = '━━━━━━━━━━━━━━━━━━';
var msg = line + '\n🔐 PREMIUM ACCESS REQUEST\n' + line + '\n\n👤 Name:\n' + d.name + '\n\n📱 WhatsApp:\n' + d.wa + '\n\n💳 Payment Method:\n' + d.method + '\n\n🧾 Transaction ID:\n' + d.trx + '\n\n💰 Amount:\n' + d.amt + '\n\n📦 Content:\n' + cn + '\n' + window.location.href + '\n\n📝 Message:\n' + (d.note || 'N/A') + '\n\n' + line + '\nPlease verify my payment and provide the Premium PIN.\n' + line;
var url = 'https://wa.me/' + CONFIG.whatsappNumber + '?text=' + encodeURIComponent(msg);
var btn = $('tbpSend');
var old = btn.innerHTML;
btn.disabled = true;
btn.innerHTML = 'অপেক্ষা করুন...';
var w = window.open('', '_blank');
setTimeout(function () {
if (w && !w.closed) { w.location.href = url; } else { window.location.href = url; }
btn.disabled = false;
btn.innerHTML = old;
toast('WhatsApp খুলছে...', 'ok');
closeM();
}, 700);
});
/* আনলক (PIN সঠিক হলে অথবা Human Verification সম্পন্ন হলে) */
function unlock() {
var msg = $('tbpMsg');
msg.className = 'tbp-msg ok'; msg.textContent = '✅ আনলক হয়েছে';
toast('✅ আনলক হয়েছে', 'ok');
var st = $('tbpHideStyle');
if (st && st.parentNode) { st.parentNode.removeChild(st); }
root.style.display = 'none';
var body = $('postBody');
if (body && body.scrollIntoView) { body.scrollIntoView({ behavior: 'smooth', block: 'start' }); }
}
if (isVerify) {
$('tbpVerifySec').style.display = '';
$('tbpVerifyBtn').addEventListener('click', function () {
if (window.PBTask) { window.PBTask.open(unlock); } else { unlock(); }
});
}
/* PIN */
var LEN = CONFIG.accessPin.length;
var pw = $('tbpPins');
var pins = [];
for (var i = 0; i < LEN; i++) {
var inp = document.createElement('input');
inp.type = 'password'; inp.setAttribute('inputmode', 'numeric'); inp.maxLength = 1;
inp.setAttribute('autocomplete', 'one-time-code');
pw.appendChild(inp); pins.push(inp);
}
pw.style.gridTemplateColumns = 'repeat(' + LEN + ',minmax(0,1fr))';
function verify() {
var v = pins.map(function (p) { return p.value; }).join('');
var msg = $('tbpMsg');
if (v.length < LEN) { toast('⚠️ সম্পূর্ণ ' + LEN + ' ডিজিটের Premium PIN দিন।', 'warn'); return; }
if (v === CONFIG.accessPin) {
unlock();
} else {
msg.className = 'tbp-msg bad'; msg.textContent = '❌ ভুল Premium PIN';
toast('❌ ভুল Premium PIN', 'bad');
pw.classList.remove('shake'); void pw.offsetWidth; pw.classList.add('shake');
}
}
pins.forEach(function (el, i) {
el.addEventListener('input', function () {
el.value = el.value.replace(/\D/g, '').slice(-1);
el.classList.toggle('filled', !!el.value);
if (el.value && i < LEN - 1) { pins[i + 1].focus(); }
});
el.addEventListener('keydown', function (e) {
if (e.key === 'Backspace' && !el.value && i > 0) { pins[i - 1].value = ''; pins[i - 1].classList.remove('filled'); pins[i - 1].focus(); }
else if (e.key === 'Enter') { verify(); }
});
el.addEventListener('paste', function (e) {
e.preventDefault();
var t = ((e.clipboardData || window.clipboardData).getData('text') || '').replace(/\D/g, '').slice(0, LEN);
for (var k = 0; k < t.length; k++) { if (pins[i + k]) { pins[i + k].value = t.charAt(k); pins[i + k].classList.add('filled'); } }
pins[Math.min(i + t.length, LEN - 1)].focus();
});
});
$('tbpClear').addEventListener('click', function () {
pins.forEach(function (p) { p.value = ''; p.classList.remove('filled'); });
$('tbpMsg').textContent = ''; pins[0].focus();
});
$('tbpUnlockBtn').addEventListener('click', verify);
})();
//]]></script>
<script>//<![CDATA[
/* Premium list in sidebar */
(function () {
var list = document.getElementById('premList');
var empty = document.getElementById('premEmpty');
if (!list) { return; }
function fromFeed(label) {
return fetch('/feeds/posts/default/-/' + label + '?alt=json&max-results=12')
.then(function (r) { return r.json(); })
.then(function (data) {
var entries = (data.feed && data.feed.entry) || [];
return entries.map(function (e) {
var href = '#';
(e.link || []).forEach(function (l) { if (l.rel === 'alternate') { href = l.href; } });
var img = '';
if (e.media$thumbnail) {
img = e.media$thumbnail.url.replace(/\/s\d+(-c)?\//, '/s480/').replace(/=s\d+(-c)?$/, '=s480');
} else if (e.content && e.content.$t) {
var m = e.content.$t.match(/<img[^>]+src=["']([^"']+)["']/i);
if (m) { img = m[1]; }
}
var labs = [];
(e.category || []).forEach(function (c) { labs.push(c.term); });
return { href: href, img: img, title: e.title.$t, labels: labs };
}).filter(function (it) { return !window.pbIsVerify(it.labels); }).slice(0, 6);
})
.catch(function () { return []; });
}
function fromPage(label) {
return fetch('/search/label/' + label + '?max-results=6')
.then(function (r) { return r.text(); })
.then(function (html) {
var doc = new DOMParser().parseFromString(html, 'text/html');
var cards = doc.querySelectorAll('.post-card');
var out = [];
for (var i = 0; i < cards.length && out.length < 6; i++) {
var a = cards[i].querySelector('.card-title a');
var im = cards[i].querySelector('.thumb img');
if (a) {
var labs = [];
var ls = cards[i].querySelectorAll('.pb-lbls i');
for (var k = 0; k < ls.length; k++) { labs.push(ls[k].textContent); }
if (window.pbIsVerify(labs)) { continue; }
out.push({ href: a.getAttribute('href'), img: im ? im.getAttribute('src') : '', title: a.textContent.trim(), labels: labs });
}
}
return out;
})
.catch(function () { return []; });
}
function firstNonEmpty(tasks) {
return tasks.reduce(function (p, task) {
return p.then(function (res) { return res.length ? res : task(); });
}, Promise.resolve([]));
}
function render(items) {
list.innerHTML = '';
if (!items.length) { if (empty) { empty.style.display = 'block'; } return; }
items.forEach(function (it) {
var li = document.createElement('li');
var a = document.createElement('a');
a.className = 'prem-item';
a.href = it.href;
var th = document.createElement('span');
th.className = 'prem-thumb';
if (it.img) {
var im = document.createElement('img');
im.src = it.img; im.alt = ''; im.loading = 'lazy';
th.appendChild(im);
} else {
var ic = document.createElement('i');
ic.className = 'fa-solid fa-lock';
th.appendChild(ic);
}
var tag = document.createElement('span');
tag.className = 'prem-tag';
tag.innerHTML = '<i class="fa-solid fa-crown"></i> ' + window.pbPrice(it.labels || []) + ' টাকা';
var ti = document.createElement('span');
ti.className = 'prem-title';
ti.textContent = it.title;
a.appendChild(th);
a.appendChild(tag);
a.appendChild(ti);
li.appendChild(a);
list.appendChild(li);
});
}
firstNonEmpty([
function () { return fromFeed('lock'); },
function () { return fromFeed('Lock'); },
function () { return fromPage('lock'); },
function () { return fromPage('Lock'); }
]).then(render);
})();
//]]></script>
<script>//<![CDATA[
/* NEW badge, prices, logo, footer links, trust strip */
(function () {
var PB = window.PB || {};
var i;
function pathOf(u) { return String(u || '').replace(/^https?:\/\/[^\/]+/, '').split('?')[0]; }
fetch('/feeds/posts/summary?alt=json&max-results=1')
.then(function (r) { return r.json(); })
.then(function (d) {
var e = ((d.feed && d.feed.entry) || [])[0];
if (!e) { return; }
var href = '';
(e.link || []).forEach(function (l) { if (l.rel === 'alternate') { href = l.href; } });
var target = pathOf(href);
var cs = document.querySelectorAll('.post-card');
for (var k = 0; k < cs.length; k++) {
var a2 = cs[k].querySelector('.card-title a');
var row2 = cs[k].querySelector('.t-badges');
if (a2 && row2 && pathOf(a2.getAttribute('href')) === target && !row2.querySelector('.auto-flag.new')) {
var nf = document.createElement('span');
nf.className = 'auto-flag new';
nf.textContent = 'NEW';
row2.appendChild(nf);
row2.style.display = '';
}
}
})
.catch(function () {});
var rows = document.querySelectorAll('.t-badges');
for (i = 0; i < rows.length; i++) { if (!rows[i].children.length) { rows[i].style.display = 'none'; } }
var prices = document.querySelectorAll('.pb-price');
for (i = 0; i < prices.length; i++) {
var pc = prices[i].closest ? prices[i].closest('.post-card') : null;
var pn = [];
if (pc) { var pl = pc.querySelectorAll('.pb-lbls i'); for (var k2 = 0; k2 < pl.length; k2++) { pn.push(pl[k2].textContent); } }
prices[i].textContent = window.pbPrice(pn);
}
if (PB.logoUrl) {
var lm = document.querySelector('.logo-mark');
if (lm) {
lm.innerHTML = '';
var im = document.createElement('img');
im.src = PB.logoUrl; im.alt = 'PromptBox';
im.style.cssText = 'border-radius:11px;object-fit:cover';
lm.appendChild(im);
}
var fv = document.getElementById('pbIcon');
if (fv) { fv.href = PB.logoUrl; fv.removeAttribute('type'); }
}
if (PB.course) {
var cl = document.querySelectorAll('.pb-course');
for (i = 0; i < cl.length; i++) { cl[i].href = PB.course; }
}
var soc = document.getElementById('footSocial');
if (soc) {
var links = [];
if (PB.course) { links.push([PB.course, 'fa-solid fa-graduation-cap', 'কোর্স']); }
if (PB.whatsapp) { links.push(['https://wa.me/' + PB.whatsapp, 'fa-brands fa-whatsapp', 'WhatsApp']); }
if (PB.telegram) { links.push([PB.telegram, 'fa-brands fa-telegram', 'Telegram']); }
if (PB.facebook) { links.push([PB.facebook, 'fa-brands fa-facebook', 'Facebook']); }
if (PB.youtube) { links.push([PB.youtube, 'fa-brands fa-youtube', 'YouTube']); }
links.forEach(function (l) {
var a = document.createElement('a');
a.href = l[0]; a.target = '_blank'; a.rel = 'noopener';
var ic = document.createElement('i'); ic.className = l[1];
var tx = document.createElement('span'); tx.textContent = l[2];
a.appendChild(ic); a.appendChild(tx);
soc.appendChild(a);
});
}
var wrap = document.getElementById('trustWrap');
var path = window.location.pathname;
var isHome = (path === '/' || path === '/index.html') && window.location.search.indexOf('updated-max') === -1;
if (!wrap || !isHome) { return; }
wrap.style.display = 'block';
function bn(n) { return n.toLocaleString('bn-BD'); }
function total(url) {
return fetch(url).then(function (r) { return r.json(); }).then(function (d) {
return parseInt(d.feed.openSearch$totalResults.$t, 10) || 0;
});
}
function premCount(label) {
return fetch('/feeds/posts/summary/-/' + label + '?alt=json&max-results=500')
.then(function (r) { return r.json(); })
.then(function (d) {
var n = 0;
((d.feed && d.feed.entry) || []).forEach(function (e) {
var t = (e.category || []).map(function (c) { return c.term; });
if (!window.pbIsVerify(t)) { n++; }
});
return n;
});
}
total('/feeds/posts/summary?alt=json&max-results=0').then(function (n) {
document.getElementById('tsTotal').textContent = bn(n);
}, function () { document.getElementById('tsTotal').parentNode.parentNode.style.display = 'none'; });
premCount('lock').then(function (n) {
if (n) { return n; }
return premCount('Lock');
}).then(function (n) {
if (!n) { document.getElementById('tsPremWrap').style.display = 'none'; return; }
document.getElementById('tsPrem').textContent = bn(n);
}, function () { document.getElementById('tsPremWrap').style.display = 'none'; });
if (PB.buyers) {
document.getElementById('tsBuy').textContent = PB.buyers;
document.getElementById('tsBuyWrap').style.display = 'flex';
}
if (PB.reviews && PB.reviews.length) {
var row = document.getElementById('revRow');
PB.reviews.forEach(function (u) {
var a = document.createElement('a');
a.href = u; a.target = '_blank'; a.rel = 'noopener';
var im2 = document.createElement('img');
im2.src = u; im2.alt = 'ক্রেতার মতামত'; im2.loading = 'lazy';
a.appendChild(im2); row.appendChild(a);
});
document.getElementById('reviewsWrap').style.display = 'block';
}
if (PB.reviewsText && PB.reviewsText.length) {
var box = document.getElementById('revText');
PB.reviewsText.forEach(function (r) {
if (!r || !r.text) { return; }
var card = document.createElement('div');
card.className = 'rev-card';
var q = document.createElement('i'); q.className = 'fa-solid fa-quote-left';
var tx = document.createElement('p'); tx.textContent = r.text;
card.appendChild(q); card.appendChild(tx);
if (r.name) { var nm = document.createElement('b'); nm.textContent = r.name; card.appendChild(nm); }
box.appendChild(card);
});
document.getElementById('reviewsWrap').style.display = 'block';
}
})();
//]]></script>
<script>//<![CDATA[
/* ===== Human Verification gate =====
ফ্রি পোস্টের View চাপলে PB.tasks এর প্রতিটি লিংকের জন্য একটি "Human Verify" বাটন আসে।
বাটনে ক্লিক -> লিংক খোলে + লোডিং ঘোরে (taskSeconds) -> Verified। সব শেষ হলে "এক্সেস নিন" চালু হয়।
Premium (lock) পোস্টে গেট আসে না; VERIFY লেবেলের পোস্টে PIN/পেমেন্ট অথবা এই ভেরিফিকেশন - যেকোনো একটিতে আনলক। */
(function () {
var PB = window.PB || {};
var TASKS = (PB.tasks || []).filter(function (u) { return !!u; });
var SECS = PB.taskSeconds || 5;
var gate = document.getElementById('taskGate');
var list = document.getElementById('taskList');
var goBtn = document.getElementById('taskGo');
var cancelBtn = document.getElementById('taskCancel');
var msg = document.getElementById('taskMsg');
var bar = document.getElementById('taskBar');
var count = document.getElementById('taskCount');
var onDone = null;
var timers = [];
var done = 0;
function bn(n) { return String(n).replace(/[0-9]/g, function (d) { return '০১২৩৪৫৬৭৮৯'.charAt(d); }); }
function clearTimers() {
for (var i = 0; i < timers.length; i++) { clearTimeout(timers[i]); }
timers = [];
}
function close() {
clearTimers();
if (gate) { gate.classList.remove('on'); }
document.body.style.overflow = '';
onDone = null;
}
function update() {
var all = done >= TASKS.length;
bar.style.width = (TASKS.length ? (done / TASKS.length) * 100 : 0) + '%';
count.textContent = bn(done) + '/' + bn(TASKS.length);
goBtn.disabled = !all;
msg.textContent = all ? '✅ ভেরিফিকেশন সফল! এখন এক্সেস নিন।' : 'নিচের ধাপগুলো সম্পন্ন করে আপনি মানুষ তা নিশ্চিত করুন।';
}
function setLabel(a, t) { var l = a.querySelector('.hv-label'); if (l) { l.textContent = t; } }
function finish(li, a) {
li.setAttribute('data-state', 'done');
setLabel(a, 'Verified');
done++;
var next = li.nextElementSibling;
if (next) { next.setAttribute('data-state', 'ready'); }
update();
}
function run(li, a) {
li.setAttribute('data-state', 'run');
setLabel(a, 'Verifying...');
timers.push(setTimeout(function () { finish(li, a); }, SECS * 1000));
}
function render() {
list.innerHTML = '';
TASKS.forEach(function (url, i) {
var li = document.createElement('li');
li.className = 'task-item';
li.setAttribute('data-state', i === 0 ? 'ready' : 'locked');
li.innerHTML = '<div class="task-top"><span class="task-n">' + bn(i + 1) + '</span><div class="task-txt"><b>Human Verification ' + bn(i + 1) + '</b><span>বাটনে ক্লিক করুন, ' + bn(SECS) + ' সেকেন্ডেই ভেরিফাই হয়ে যাবে</span></div></div>' +
'<a class="hv-btn" target="_blank" rel="noopener"><span class="hv-box"><i class="hv-spin"></i><i class="fa-solid fa-check hv-tick"></i><i class="fa-solid fa-lock hv-lock"></i></span><span class="hv-label">Human Verify</span><span class="hv-brand"><i class="fa-solid fa-shield-halved"></i><small>SECURE</small></span></a>';
var a = li.querySelector('.hv-btn');
a.href = url;
a.addEventListener('click', function (e) {
if (li.getAttribute('data-state') !== 'ready') { e.preventDefault(); return; }
run(li, a);
});
list.appendChild(li);
});
update();
}
/* অন্য স্ক্রিপ্ট থেকে ব্যবহারের জন্য: PBTask.open(callback) */
window.PBTask = {
open: function (cb) {
if (!gate || !TASKS.length) { if (cb) { cb(); } return; }
clearTimers();
onDone = cb || null;
done = 0;
render();
gate.classList.add('on');
document.body.style.overflow = 'hidden';
}
};
if (!gate) { return; }
goBtn.addEventListener('click', function () {
if (done < TASKS.length) { return; }
var cb = onDone;
close();
if (cb) { cb(); }
});
cancelBtn.addEventListener('click', close);
document.addEventListener('keydown', function (e) { if (e.key === 'Escape') { close(); } });
window.addEventListener('pageshow', close);
/* ফ্রি পোস্টের কার্ডে ক্লিক করলে গেট (Premium ও VERIFY কার্ডে নয়) */
function freeLink(el) {
var a = el && el.closest ? el.closest('.post-card a') : null;
if (!a) { return null; }
var card = a.closest('.post-card');
if (!card || card.querySelector('.prem-flag') || card.getAttribute('data-vf')) { return null; }
var href = a.getAttribute('href');
if (!href || href.charAt(0) === '#') { return null; }
return a;
}
window.addEventListener('click', function (e) {
if (e.defaultPrevented || e.button !== 0 || e.metaKey || e.ctrlKey || e.shiftKey || e.altKey) { return; }
if (!TASKS.length) { return; }
var a = freeLink(e.target);
if (!a) { return; }
e.preventDefault();
var target = a.href;
window.PBTask.open(function () { window.location.href = target; });
}, false);
})();
//]]></script>
<script>//<![CDATA[
/* Popular + Premium grids on home */
(function () {
if (document.querySelector('.article')) { return; }
var popWrap = document.getElementById('popWrap');
var popGrid = document.getElementById('popGrid');
var premWrap = document.getElementById('premWrap');
var premGrid = document.getElementById('premGrid');
function hash(str) {
var h = 2166136261;
for (var i = 0; i < str.length; i++) { h ^= str.charCodeAt(i); h = Math.imul(h, 16777619) >>> 0; }
return h;
}
function fmt(n) { return n >= 1000 ? (n / 1000).toFixed(1).replace('.0', '') + 'K' : String(n); }
function path(u) { return String(u || '').replace(/^https?:\/\/[^\/]+/, '').split('?')[0]; }
function make(tag, cls) { var e = document.createElement(tag); if (cls) { e.className = cls; } return e; }
function card(it) {
var art = make('article', 'post-card');
if (it.vf) { art.setAttribute('data-vf', '1'); }
var th = make('a', 'thumb');
th.href = it.href; th.title = it.title;
if (it.img) {
var im = make('img');
im.src = it.img; im.alt = it.title; im.loading = 'lazy';
th.appendChild(im);
} else {
var em = make('span', 'thumb-empty');
em.innerHTML = '<i class="fa-regular fa-image"></i>';
th.appendChild(em);
}
var body = make('div', 'card-body');
var h3 = make('h3', 'card-title');
if (it.prem) {
var tb = make('span', 't-badges');
tb.innerHTML = '<span class="prem-flag"><i class="fa-solid fa-crown"></i> Premium</span><span class="prem-cost">' + it.price + ' টাকা</span>';
h3.appendChild(tb);
}
var ta = make('a');
ta.href = it.href; ta.textContent = it.title;
h3.appendChild(ta);
var foot = make('div', 'card-foot');
var h = hash(path(it.href));
var views = 180 + (h % 2400);
var copies = Math.round(views * (0.16 + ((h >>> 8) % 22) / 100));
var st = make('span', 'stats ready');
st.innerHTML = '<span class="stat"><i class="fa-regular fa-eye"></i> <span>' + fmt(views) + '</span></span><span class="stat"><i class="fa-regular fa-copy"></i> <span>' + fmt(copies) + '</span></span>';
var vb = make('a', 'view-btn');
vb.href = it.href;
vb.innerHTML = 'View <i class="fa-solid fa-arrow-right"></i>';
foot.appendChild(st); foot.appendChild(vb);
body.appendChild(h3); body.appendChild(foot);
art.appendChild(th); art.appendChild(body);
return art;
}
function items(d) {
var out = [];
((d.feed && d.feed.entry) || []).forEach(function (e) {
var terms = (e.category || []).map(function (c) { return String(c.term || '').trim(); });
var href = '';
(e.link || []).forEach(function (l) { if (l.rel === 'alternate') { href = l.href; } });
if (!href) { return; }
var img = '';
if (e.media$thumbnail) { img = e.media$thumbnail.url; }
else if (e.content && e.content.$t) {
var m = e.content.$t.match(/<img[^>]+src=["']([^"']+)["']/i);
if (m) { img = m[1]; }
}
img = img.replace(/\/s\d+(-c)?\//, '/s800/').replace(/=s\d+(-c)?$/, '=s800');
var vf = window.pbIsVerify(terms);
out.push({
title: e.title.$t, href: href, img: img, terms: terms,
vf: vf,
prem: !vf && terms.some(function (t) { return /^lock$/i.test(t); }),
pop: terms.some(function (t) { return /^popular$/i.test(t); }),
price: window.pbPrice(terms)
});
});
return out;
}
function get(label, n) {
return fetch('/feeds/posts/default/-/' + label + '?alt=json&max-results=' + n)
.then(function (r) { if (!r.ok) { throw new Error('feed'); } return r.json(); })
.then(items)
.catch(function () { return []; });
}
function show(wrap, grid, list) {
if (!wrap || !grid || !list.length) { return; }
list.forEach(function (it) { grid.appendChild(card(it)); });
wrap.style.display = 'block';
}
get('popular', 12).then(function (list) {
show(popWrap, popGrid, list.filter(function (it) { return it.pop; }).slice(0, 6));
});
get('lock', 18).then(function (list) { return list.length ? list : get('Lock', 18); }).then(function (list) {
show(premWrap, premGrid, list.filter(function (it) { return it.prem; }).slice(0, 6));
});
})();
//]]></script>
<script>//<![CDATA[
/* Fill the page to 6 posts */
(function () {
var WANT = 6;
var grid = document.getElementById('postGrid');
if (!grid) { return; }
var have = grid.querySelectorAll('.post-card').length;
var pager = document.getElementById('blog-pager');
var older = pager ? pager.querySelector('.blog-pager-older-link') : null;
if (!have || have >= WANT || WANT % have !== 0 || !older) { return; }
var need = WANT - have;
function hash(str) {
var h = 2166136261;
for (var i = 0; i < str.length; i++) { h ^= str.charCodeAt(i); h = Math.imul(h, 16777619) >>> 0; }
return h;
}
function fmt(n) { return n >= 1000 ? (n / 1000).toFixed(1).replace('.0', '') + 'K' : String(n); }
function path(u) { return String(u || '').replace(/^https?:\/\/[^\/]+/, '').split('?')[0]; }
function enhance(c) {
var link = c.querySelector('.card-title a');
var st = c.querySelector('.stats');
if (link && st) {
var h = hash(path(link.getAttribute('href')));
var views = 180 + (h % 2400);
var copies = Math.round(views * (0.16 + ((h >>> 8) % 22) / 100));
var v = st.querySelector('.n-views'); var cp = st.querySelector('.n-copies');
if (v) { v.textContent = fmt(views); }
if (cp) { cp.textContent = fmt(copies); }
st.className = 'stats ready';
}
var pr = c.querySelector('.pb-price');
if (pr && window.pbPrice) {
var names = [];
var ls = c.querySelectorAll('.pb-lbls i');
for (var k = 0; k < ls.length; k++) { names.push(ls[k].textContent); }
pr.textContent = window.pbPrice(names);
}
if (window.pbMarkVerify) { window.pbMarkVerify(c); }
var tb = c.querySelector('.t-badges');
if (tb && !tb.children.length) { tb.style.display = 'none'; }
}
function step(url) {
fetch(url)
.then(function (r) { return r.text(); })
.then(function (html) {
var doc = new DOMParser().parseFromString(html, 'text/html');
var cards = doc.querySelectorAll('#postGrid .post-card');
var nl = doc.querySelector('#blog-pager .blog-pager-older-link');
var nextUrl = nl ? nl.getAttribute('href') : '';
var take = Math.min(need, cards.length);
for (var i = 0; i < take; i++) {
var c = document.importNode(cards[i], true);
grid.appendChild(c);
enhance(c);
}
need -= take;
if (need > 0 && nextUrl && take > 0) { step(nextUrl); return; }
if (take === cards.length) {
if (nextUrl) { older.setAttribute('href', nextUrl); }
else if (older.parentNode) { older.parentNode.removeChild(older); }
}
})
.catch(function () {});
}
step(older.getAttribute('href'));
})();
//]]></script>
<script>//<![CDATA[
/* ===== লেবেল "download" => পোস্টের লেখা Neon Copy/Download বক্সে =====
- ছবি/ভিডিও বক্সের বাইরে থাকে (কপি/ডাউনলোডে আসে না), টাইটেলও আসে না
- বক্সে শুধু আপনার লেখা বা কোড, বাড়তি কিছু যোগ হয় না */
(function () {
var body = document.getElementById('postBody');
var lb = document.getElementById('pbPostLbls');
if (!body || !lb) { return; }
var names = [];
var els = lb.querySelectorAll('i');
for (var i = 0; i < els.length; i++) { names.push(els[i].textContent); }
if (!window.pbIsDownload(names)) { return; }
function bn(n) { return String(n).replace(/[0-9]/g, function (d) { return '০১২৩৪৫৬৭৮৯'.charAt(d); }); }
function textOf(root) {
var c = root.cloneNode(true), k;
var drop = c.querySelectorAll('script, style, .vcfg');
for (k = 0; k < drop.length; k++) { if (drop[k].parentNode) { drop[k].parentNode.removeChild(drop[k]); } }
var brs = c.querySelectorAll('br');
for (k = 0; k < brs.length; k++) { if (brs[k].parentNode) { brs[k].parentNode.replaceChild(document.createTextNode('\n'), brs[k]); } }
var blocks = c.querySelectorAll('p, div, li, ul, ol, h1, h2, h3, h4, h5, h6, tr, blockquote, pre, textarea, table');
for (k = 0; k < blocks.length; k++) { blocks[k].appendChild(document.createTextNode('\n')); }
var t = (c.textContent || '').replace(/\u00a0/g, ' ').replace(/\r/g, '');
t = t.replace(/[ \t]+\n/g, '\n').replace(/\n{3,}/g, '\n\n');
return t.trim();
}
/* ছবি, ভিডিও বের করে আলাদা রাখি */
var media = document.createElement('div');
media.className = 'pb-media';
var items = body.querySelectorAll('img, iframe, video');
for (i = 0; i < items.length; i++) {
var n = items[i];
var p = n.parentNode;
if (p && p !== body && p.tagName === 'A') { n = p; }
media.appendChild(n);
}
var text = textOf(body);
if (!text) { return; }
var box = document.createElement('div');
box.className = 'neon-code-box';
box.innerHTML =
'<div class="neon-glow-blob blob-1"></div><div class="neon-glow-blob blob-2"></div>' +
'<div class="neon-header"><div class="neon-tag"><span class="neon-dots"><span class="dot dot-red"></span><span class="dot dot-yellow"></span><span class="dot dot-green"></span></span><span class="neon-label">✦ READY CODE</span></div>' +
'<div class="neon-actions"><button type="button" class="neon-btn btn-copy"><span class="neon-icon">⧉</span><span class="neon-text">Copy</span></button>' +
'<button type="button" class="neon-btn btn-download"><span class="neon-icon">⬇</span><span class="neon-text">Download</span></button></div></div>' +
'<div class="neon-content"><pre><code></code></pre></div>' +
'<div class="neon-footer"><span class="footer-spark">⬥</span> <span class="neon-stat"></span> <span class="footer-spark">⬥</span></div>';
box.querySelector('code').textContent = text;
box.querySelector('.neon-stat').textContent = bn(text.split('\n').length) + ' লাইন · ' + bn(text.length) + ' অক্ষর';
function flash(btn, cls, label, icon, old, oldIcon) {
var t = btn.querySelector('.neon-text'), ic = btn.querySelector('.neon-icon');
btn.classList.add(cls); t.textContent = label; ic.textContent = icon;
clearTimeout(btn._t);
btn._t = setTimeout(function () { btn.classList.remove(cls); t.textContent = old; ic.textContent = oldIcon; }, 2000);
}
var copyBtn = box.querySelector('.btn-copy');
var dlBtn = box.querySelector('.btn-download');
copyBtn.addEventListener('click', function () {
var ok = function () { flash(copyBtn, 'copied', 'Copied!', '✓', 'Copy', '⧉'); };
var fb = function () {
var a = document.createElement('textarea');
a.value = text; a.style.cssText = 'position:fixed;left:-9999px;top:0;opacity:0';
document.body.appendChild(a); a.focus(); a.select();
try { document.execCommand('copy'); ok(); } catch (e) { alert('Copy failed'); }
document.body.removeChild(a);
};
if (navigator.clipboard && window.isSecureContext) { navigator.clipboard.writeText(text).then(ok, fb); } else { fb(); }
});
dlBtn.addEventListener('click', function () {
var h1 = document.querySelector('.article h1');
var base = (h1 ? h1.textContent : 'code').replace(/[\\\/:*?"<>|]+/g, '').replace(/\s+/g, '-').slice(0, 60) || 'code';
var blob = new Blob([text], { type: 'text/plain;charset=utf-8' });
var url = URL.createObjectURL(blob);
var a = document.createElement('a');
a.href = url; a.download = base + '.txt'; a.style.display = 'none';
document.body.appendChild(a); a.click();
setTimeout(function () { document.body.removeChild(a); URL.revokeObjectURL(url); }, 1500);
flash(dlBtn, 'saved', 'Saved!', '✓', 'Download', '⬇');
});
body.innerHTML = '';
if (media.children.length) { body.appendChild(media); }
body.appendChild(box);
})();
//]]></script>
<script>//<![CDATA[
/* ===== আপনার কোড বা প্রম্পট বিক্রি করুন (WhatsApp ফর্ম) ===== */
(function () {
var PB = window.PB || {};
var modal = document.getElementById('sellModal');
if (!modal) { return; }
var $ = function (id) { return document.getElementById(id); };
var esc = function (s) { return String(s).replace(/[&<>"']/g, function (c) { return { '&': '&', '<': '<', '>': '>', '"': '"', "'": ''' }[c]; }); };
function en(s) { return String(s || '').replace(/[০-৯]/g, function (d) { return '০১২৩৪৫৬৭৮৯'.indexOf(d); }); }
function digits(s) { return en(s).replace(/\D/g, ''); }
function toast(msg, type) {
var t = document.createElement('div');
t.className = 'tbp-toast ' + (type || '');
t.textContent = msg;
$('pbToasts').appendChild(t);
setTimeout(function () { if (t.parentNode) { t.parentNode.removeChild(t); } }, 3200);
}
function copyText(text) {
var done = function () { toast('✅ কপি হয়েছে!', 'ok'); };
var fallback = function () {
var a = document.createElement('textarea');
a.value = text; a.style.cssText = 'position:fixed;opacity:0';
document.body.appendChild(a); a.select();
try { document.execCommand('copy'); done(); } catch (e) { toast('⚠️ কপি হয়নি, নিজে কপি করুন।', 'warn'); }
document.body.removeChild(a);
};
if (navigator.clipboard && window.isSecureContext) { navigator.clipboard.writeText(text).then(done, fallback); } else { fallback(); }
}
var feeBdt = PB.sellFeeBdt || '১৪০';
var feeUsd = PB.sellFeeUsd || '$1.20';
$('sellFeeBdt').textContent = feeBdt;
$('sellFeeUsd').textContent = feeUsd;
var rows = [['bKash', PB.bkash, feeBdt + ' টাকা'], ['Nagad', PB.nagad, feeBdt + ' টাকা'], ['Binance', PB.binance, feeUsd]];
var pw = $('sellPays');
rows.forEach(function (r) {
if (!r[1]) { return; }
var d = document.createElement('div');
d.className = 'sell-pay';
d.innerHTML = '<strong>' + r[0] + '</strong><code>' + esc(r[1]) + '</code><em>' + esc(r[2]) + '</em><button type="button">কপি</button>';
d.querySelector('button').addEventListener('click', function () { copyText(r[1]); });
pw.appendChild(d);
});
function openM(e) {
if (e && e.preventDefault) { e.preventDefault(); }
modal.classList.add('on');
document.body.style.overflow = 'hidden';
var mn = $('mobileNav');
if (mn) { mn.classList.remove('open'); }
}
function closeM() { modal.classList.remove('on'); document.body.style.overflow = ''; }
var links = document.querySelectorAll('.pb-sell');
for (var i = 0; i < links.length; i++) { links[i].addEventListener('click', openM); }
$('sellClose').addEventListener('click', closeM);
modal.addEventListener('click', function (e) { if (e.target === modal) { closeM(); } });
document.addEventListener('keydown', function (e) { if (e.key === 'Escape' && modal.classList.contains('on')) { closeM(); } });
$('sellForm').addEventListener('submit', function (e) {
e.preventDefault();
var fm = document.querySelector('input[name=sellFeeM]:checked');
var wa = digits($('sellWa').value);
if (/^0[0-9]{10}$/.test(wa)) { wa = '88' + wa; }
var d = {
name: $('sellName').value.trim(),
wa: wa,
title: $('sellTitle').value.trim(),
desc: $('sellDesc').value.trim(),
code: $('sellCode').value.replace(/\s+$/, ''),
price: digits($('sellPrice').value),
bk: digits($('sellBkash').value),
ng: digits($('sellNagad').value),
bn: digits($('sellBinance').value),
pin: digits($('sellPin').value),
fee: fm ? fm.value : '',
trx: $('sellTrx').value.trim(),
note: $('sellNote').value.trim()
};
var rules = {
name: !!d.name, wa: d.wa.length >= 10, title: !!d.title, desc: !!d.desc,
code: !!d.code.trim(), price: !!d.price && parseInt(d.price, 10) > 0,
acc: !!(d.bk || d.ng || d.bn), pin: d.pin.length >= 4 && d.pin.length <= 10,
feem: !!d.fee, trx: !!d.trx
};
var first = null;
Object.keys(rules).forEach(function (k) {
var f = document.querySelector('#sellForm [data-f=' + k + ']');
if (f) { f.classList.remove('err'); }
if (!rules[k]) { if (f) { f.classList.add('err'); if (!first) { first = f; } } else if (!first) { first = true; } }
});
if (first) {
toast('⚠️ সব * চিহ্নিত তথ্য সঠিকভাবে পূরণ করুন।', 'warn');
if (first !== true && first.scrollIntoView) { first.scrollIntoView({ behavior: 'smooth', block: 'center' }); }
return;
}
var code = d.code;
var cut = false;
if (encodeURIComponent(code).length > 4500) {
while (encodeURIComponent(code).length > 4500) { code = code.slice(0, Math.floor(code.length * 0.9)); }
cut = true;
}
var price = parseInt(d.price, 10);
var accs = [];
if (d.bk) { accs.push('bKash: ' + d.bk); }
if (d.ng) { accs.push('Nagad: ' + d.ng); }
if (d.bn) { accs.push('Binance ID: ' + d.bn); }
var labels = ['lock', 'price-' + price];
if (d.bk) { labels.push('bkash-' + d.bk); }
if (d.ng) { labels.push('nagad-' + d.ng); }
if (d.bn) { labels.push('binance-' + d.bn); }
labels.push('whatsapp-' + d.wa);
var line = '━━━━━━━━━━━━━━━━━━';
var msg = line + '\n🛒 SELL REQUEST (NEW POST)\n' + line +
'\n\n👤 Seller Name:\n' + d.name +
'\n\n📱 Seller WhatsApp:\n' + d.wa +
'\n\n📝 Title:\n' + d.title +
'\n\n📄 Description:\n' + d.desc +
'\n\n💰 Selling Price:\n' + price + ' টাকা' +
'\n\n💳 Seller Payment Accounts:\n' + accs.join('\n') +
'\n\n🔐 Seller PIN:\n' + d.pin +
'\n\n✅ Posting Fee (' + feeBdt + ' টাকা / ' + feeUsd + ') via:\n' + d.fee +
'\n\n🧾 Fee Transaction ID:\n' + d.trx +
'\n\n📝 Note:\n' + (d.note || 'N/A') +
'\n\n🏷 Labels:\n' + labels.join(', ') +
'\n\n📌 PIN line:\n<div class="vcfg">PIN: ' + d.pin + '</div>' +
'\n\n📦 Code / Prompt:\n' + code + (cut ? '\n\n[কোড বড় হওয়ায় বাকি অংশ আলাদা পাঠাচ্ছি]' : '') +
'\n\n' + line;
var url = 'https://wa.me/' + PB.whatsapp + '?text=' + encodeURIComponent(msg);
var btn = $('sellSend');
var old = btn.innerHTML;
btn.disabled = true;
btn.innerHTML = 'অপেক্ষা করুন...';
var w = window.open('', '_blank');
setTimeout(function () {
if (w && !w.closed) { w.location.href = url; } else { window.location.href = url; }
btn.disabled = false;
btn.innerHTML = old;
toast(cut ? 'WhatsApp খুলছে... কোডের বাকি অংশ আলাদা পাঠান।' : 'WhatsApp খুলছে...', 'ok');
closeM();
}, 700);
});
})();
//]]></script>
</body>
</html>
PIN: 4821
