<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html>
<html b:version='2' class='v2' expr:dir='data:blog.languageDirection' lang='bn' 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>
<!-- ==========================================================================
PROMPTBOX THEME | ADMIN SETTINGS (সব এডিটযোগ্য তথ্য এই একটি জায়গায়)
নিচের PB_CONFIG ব্লকে আপনার নম্বর, পেমেন্ট মেথড, ভেরিফাই টাস্ক/অ্যাড,
মেনু, রিভিউ, PIN সব বদলাতে পারবেন। বাকি কোডে হাত দেওয়ার দরকার নেই।
========================================================================== -->
<script>//<![CDATA[
window.PB_CONFIG = {
/* ---------- ১. সাইট ---------- */
siteName: 'PromptBox',
tagline: 'Premium AI Prompt & Code Marketplace',
defaultTheme: 'dark', // 'dark' অথবা 'light'
/* ---------- ২. অ্যাডমিন WhatsApp (দেশের কোড সহ, + ছাড়া) ---------- */
whatsapp: '8801XXXXXXXXX',
/* ---------- ৩. ডিফল্ট পেমেন্ট নম্বর (পোস্টের লেবেল দিয়ে আলাদাও করা যায়) ----------
পোস্টে লেবেল দিলে সেই পোস্টের জন্য এগুলো বদলে যাবে:
bkash-01700000000 | nagad-01700000000 | binance-123456789 | whatsapp-8801700000000 */
pay: {
bkash: '01XXXXXXXXX',
nagad: '01XXXXXXXXX',
binance: 'BINANCE-PAY-ID'
},
price: 50, // প্রিমিয়াম পোস্টের মূল্য (টাকা)
/* ---------- ৪. PIN (এখানে যতগুলো খুশি PIN দিন) ----------
একটি পোস্টের জন্য আলাদা PIN চাইলে সেই পোস্টে লেবেল দিন: pin-9876 */
pins: ['1234'],
/* ---------- ৫. কোড/প্রম্পট বিক্রির ফর্ম ---------- */
sell: {
feeUSD: '1.20',
feeBDT: 140
},
/* ---------- ৬. মেনু ----------
u যদি /search/label/লেবেল-নাম হয়, মেনুর নিচে ওই লেবেলের সর্বশেষ পোস্ট ড্রপডাউনে নিজে থেকে আসবে।
ড্রপডাউন বন্ধ করতে: dropdown:false | অন্য লেবেল দেখাতে: label:'নাম' */
menu: [
{ t: 'হোম', u: '/' },
{ t: 'Premium', u: '/search/label/lock' },
{ t: 'AI Test Lab', u: '/search/label/ai-test-lab', badge: 'NEW' },
{ t: 'কোর্স', u: '/search/label/course' }
],
/* ---------- ৭. Human Verification (label: verify) ----------
প্রতিটি টাস্কে url = আপনার অ্যাড/স্মার্টলিংক। ক্লিক করলে নতুন ট্যাবে খুলবে,
এরপর loadingSeconds সেকেন্ড স্পিনার ঘুরে ✔ Success দেখাবে। */
verify: {
title: 'রেডিকোড পেতে Human Verification করুন।',
sub: 'নিচের ২টি টাস্ক সম্পন্ন করলে কনটেন্ট খুলে যাবে।',
loadingSeconds: 5,
tasks: [
{ title: 'Task 1: Human Verify', desc: 'বাটনে ক্লিক করে ভেরিফাই করুন', url: 'https://uplcm.com/4/12003305' },
{ title: 'Task 2: Human Verify', desc: 'বাটনে ক্লিক করে ভেরিফাই করুন', url: 'https://femalesfellowship.com/me7xy2yp?key=d67ad64222f27878af4b3d5dd1ae8222' }
]
},
/* ---------- ৮. ব্যানার অ্যাড (৩০০x২৫০) — ভেরিফাই পপআপে দেখাবে ----------
invoke.js টাইপ অ্যাডের জন্য key ও host দিন। অথবা html এ পুরো কাস্টম HTML দিন। */
banner: {
enabled: false, // ব্যানার অ্যাড চালাতে key বসিয়ে true করুন
width: 300,
height: 250,
key: 'YOUR_AD_KEY',
host: 'https://www.highperformanceformat.com',
html: '' // কাস্টম অ্যাড কোড দিলে উপরের key/host বাদ যাবে
},
/* ---------- ৯. হোমপেজ ---------- */
menuPosts: 6, // মেনু ড্রপডাউনে কয়টি পোস্ট
perPage: 6, // প্রতি পেজে পোস্ট সংখ্যা
labels: { // সিস্টেম লেবেল (চাইলে বদলান, ছোট হাতের অক্ষরে)
lock: 'lock', verify: 'verify', download: 'download', popular: 'popular'
},
hero: {
title: 'প্রিমিয়াম AI Prompt ও Code মার্কেটপ্লেস',
sub: 'রেডি-টু-ইউজ AI প্রম্পট, কোড ও টুলস — দেখুন, কপি করুন, কাজে লাগান।',
chips: [['ChatGPT','chatgpt'],['Midjourney','midjourney'],['Code','code'],['Business','business']]
},
/* ---------- ১০. সাইডবার ---------- */
trust: [
['✔','ভেরিফায়েড পেমেন্ট সিস্টেম'],
['⚡','পেমেন্টের পর দ্রুত PIN ডেলিভারি'],
['💬','WhatsApp সাপোর্ট'],
['🔒','সিকিউর প্রিমিয়াম কনটেন্ট']
],
reviews: [
{ n: 'রাফি', r: 5, t: 'প্রম্পটগুলো সত্যিই কাজের, PIN খুব দ্রুত পেয়েছি।' },
{ n: 'সাদিয়া', r: 5, t: 'Premium কনটেন্ট দারুণ, সাপোর্টও ভালো।' },
{ n: 'তানভীর', r: 4, t: 'কোড কপি করা অনেক সহজ, ডিজাইন সুন্দর।' }
],
/* ---------- ১১. ফুটার লিংক ---------- */
footerLinks: [
['হোম','/'],['Premium','/search/label/lock'],['AI Test Lab','/search/label/ai-test-lab']
],
/* ---------- ১২. SEO (JSON-LD এ ব্যবহার হয়) ---------- */
seo: {
orgName: 'PromptBox',
sameAs: [] // যেমন: ['https://facebook.com/yourpage']
}
};
//]]></script>
<script>//<![CDATA[
(function(){var d=document.documentElement;d.className+=' pb-js';try{var t=localStorage.getItem('pb_theme')||(window.PB_CONFIG||{}).defaultTheme||'dark';d.setAttribute('data-theme',t)}catch(e){d.setAttribute('data-theme','dark')}})();
//]]></script>
<meta charset='utf-8'/>
<meta content='width=device-width, initial-scale=1, viewport-fit=cover' name='viewport'/>
<meta content='#070910' name='theme-color'/>
<meta content='yes' name='mobile-web-app-capable'/>
<meta content='yes' name='apple-mobile-web-app-capable'/>
<meta content='black-translucent' name='apple-mobile-web-app-status-bar-style'/>
<meta content='PromptBox' name='apple-mobile-web-app-title'/>
<title><data:blog.pageTitle/></title>
<b:include data='blog' name='all-head-content'/>
<!-- SEO: নিচের কীওয়ার্ড ও ডেসক্রিপশন নিজের মতো এডিট করুন -->
<meta content='AI prompt, ChatGPT prompt, Midjourney prompt, premium prompt, code marketplace, বাংলা AI প্রম্পট' name='keywords'/>
<b:if cond='data:blog.metaDescription == ""'>
<meta content='PromptBox - প্রিমিয়াম AI প্রম্পট ও কোড মার্কেটপ্লেস। ChatGPT, Midjourney ও কোডের রেডি প্রম্পট কপি করুন বা কিনুন।' name='description'/>
</b:if>
<meta expr:content='data:blog.title' property='og:site_name'/>
<meta content='bn_BD' property='og:locale'/>
<meta content='summary_large_image' name='twitter:card'/>
<b:if cond='data:blog.pageType != "item"'>
<!-- হোম/লেবেল পেজের শেয়ার ইমেজ: নিচের লিংকে আপনার ১২০০x৬৩০ ইমেজের URL বসান -->
<meta content='https://YOUR-SITE.blogspot.com/og-image.jpg' property='og:image'/>
</b:if>
<link expr:href='data:blog.homepageUrl + "feeds/posts/default"' rel='alternate' title='Atom' type='application/atom+xml'/>
<!-- Favicon (SVG লোগো) -->
<link href='data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 64 64%22%3E%3Cdefs%3E%3ClinearGradient id=%22g%22 x1=%220%22 y1=%220%22 x2=%221%22 y2=%221%22%3E%3Cstop offset=%220%22 stop-color=%22%2300e5ff%22/%3E%3Cstop offset=%221%22 stop-color=%22%237a5cff%22/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect width=%2264%22 height=%2264%22 rx=%2216%22 fill=%22%23070910%22/%3E%3Cpath d=%22M20 46V18h13a9 9 0 010 18H26%22 fill=%22none%22 stroke=%22url(%23g)%22 stroke-width=%226%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22/%3E%3C/svg%3E' rel='icon' type='image/svg+xml'/>
<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@400;500;600;700;800&family=Sora:wght@500;600;700;800&display=swap' rel='stylesheet'/>
<b:skin><![CDATA[
/* ===== PromptBox Theme CSS ===== */
:root{--bg:#070910;--bg2:#0d1121;--card:rgba(255,255,255,.045);--cardb:rgba(255,255,255,.10);--tx:#e9ecf8;--mut:#98a2c3;--p:#00e5ff;--p2:#7a5cff;--p3:#ff2fb3;--ok:#22e58a;--warn:#ffb020;--hd:rgba(7,9,16,.72);--sh:0 10px 40px rgba(0,0,0,.45);--glow:0 0 28px rgba(0,229,255,.28);--r:18px}
[data-theme="light"]{--bg:#f3f5fc;--bg2:#ffffff;--card:rgba(255,255,255,.78);--cardb:rgba(20,30,70,.11);--tx:#10152b;--mut:#566086;--p:#0786c9;--p2:#6a4cf0;--p3:#dc2288;--ok:#0fa968;--warn:#d98a00;--hd:rgba(255,255,255,.82);--sh:0 10px 36px rgba(60,70,130,.14);--glow:0 6px 26px rgba(106,76,240,.18)}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:'Plus Jakarta Sans','Hind Siliguri',system-ui,sans-serif;background:var(--bg);color:var(--tx);line-height:1.7;min-height:100vh;overflow-x:hidden;font-size:15.5px}
body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(620px 420px at 8% -5%,rgba(122,92,255,.26),transparent 62%),radial-gradient(720px 520px at 96% 4%,rgba(0,229,255,.18),transparent 62%),radial-gradient(520px 420px at 50% 112%,rgba(255,47,179,.14),transparent 62%)}
[data-theme="light"] body:before{opacity:.55}
h1,h2,h3,h4{font-family:'Sora','Hind Siliguri',sans-serif;line-height:1.28;letter-spacing:-.01em}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto}
button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}
input,select,textarea{font:inherit;color:var(--tx)}
.navbar,#navbar,#Navbar1{display:none!important}
.pb-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.pb-wrap{width:min(1240px,100% - 28px);margin-inline:auto}
.pb-lockscroll{overflow:hidden}
/* Header */
.pb-header{position:sticky;top:0;z-index:900;background:var(--hd);backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);border-bottom:1px solid var(--cardb)}
.pb-hd-in{display:flex;align-items:center;gap:18px;min-height:68px}
.pb-logo{display:flex;align-items:center;gap:10px;font-family:'Sora',sans-serif;font-weight:800;font-size:20px;white-space:nowrap}
.pb-logo svg{width:34px;height:34px;filter:drop-shadow(0 0 10px rgba(0,229,255,.55))}
.pb-logo-t{background:linear-gradient(90deg,var(--p),var(--p2) 60%,var(--p3));-webkit-background-clip:text;background-clip:text;color:transparent}
.pb-nav{display:flex;gap:4px;margin-left:10px;flex:1}
.pb-nav a{padding:8px 14px;border-radius:12px;font-weight:600;font-size:14.5px;color:var(--mut);transition:.2s;position:relative}
.pb-nav a:hover{color:var(--tx);background:var(--card)}
.pb-nb{font-style:normal;font-size:9px;font-weight:800;background:linear-gradient(90deg,var(--p3),var(--p2));color:#fff;padding:1px 6px;border-radius:99px;margin-left:6px;vertical-align:middle}
/* Menu dropdown (latest posts of a label) */
.pb-ni{position:relative}
.pb-dd{display:none;position:absolute;left:0;top:100%;min-width:290px;max-width:340px;padding:8px;border-radius:16px;background:var(--bg2);border:1px solid var(--cardb);box-shadow:var(--sh),var(--glow);z-index:950}
.pb-ni:hover>.pb-dd,.pb-ni:focus-within>.pb-dd{display:block}
.pb-ni:hover:after{content:"";position:absolute;left:0;right:0;top:100%;height:10px}
.pb-nav .pb-dd a{display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:10px;font-size:13.5px;font-weight:600;color:var(--tx);line-height:1.4}
.pb-nav .pb-dd a:hover{background:rgba(0,229,255,.10)}
.pb-dd a em{font-style:normal;font-size:10px;font-weight:800;padding:1px 7px;border-radius:99px;background:linear-gradient(90deg,#ffb020,#ff6a00);color:#1a1000;flex:none}
.pb-dd .pb-dd-all{color:var(--p)!important;font-weight:700;border-top:1px solid var(--cardb);border-radius:0 0 10px 10px!important;margin-top:4px}
.pb-dd .pb-dd-e{padding:10px 12px;color:var(--mut);font-size:13px}
.pb-hd-act{display:flex;align-items:center;gap:8px}
.pb-ic{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--card);border:1px solid var(--cardb);transition:.2s}
.pb-ic:hover{border-color:var(--p);box-shadow:var(--glow)}
.pb-ic svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.pb-sun{display:none}[data-theme="light"] .pb-sun{display:block}[data-theme="light"] .pb-moon{display:none}
.pb-burger{display:none}
.pb-s{display:none}
/* Buttons */
.pb-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;border-radius:13px;font-weight:700;font-size:14px;background:var(--card);border:1px solid var(--cardb);transition:.22s;white-space:nowrap}
.pb-btn:hover{border-color:var(--p);transform:translateY(-1px)}
.pb-btn-neon{background:linear-gradient(120deg,var(--p2),var(--p));color:#fff;border-color:transparent;box-shadow:0 0 22px rgba(122,92,255,.45)}
.pb-btn-neon:hover{box-shadow:0 0 32px rgba(0,229,255,.6);border-color:transparent}
.pb-btn-sm{padding:7px 13px;font-size:13px;border-radius:10px}
.pb-btn[disabled]{opacity:.45;pointer-events:none}
.pb-wide{width:100%}
.pb-btn-wa{background:#1fa855;color:#fff;border-color:transparent}
/* Hero */
.pb-hero{text-align:center;padding:54px 0 28px}
.pb-hero h1{font-size:clamp(28px,5vw,50px);font-weight:800;background:linear-gradient(90deg,var(--tx),var(--p) 55%,var(--p3));-webkit-background-clip:text;background-clip:text;color:transparent;max-width:900px;margin:0 auto 14px}
.pb-hero p{color:var(--mut);max-width:640px;margin:0 auto 24px;font-size:16.5px}
.pb-search{display:flex;max-width:600px;margin:0 auto;border-radius:16px;padding:5px;background:var(--card);border:1px solid var(--cardb);box-shadow:var(--glow);backdrop-filter:blur(10px)}
.pb-search input{flex:1;min-width:0;background:none;border:0;outline:0;padding:11px 16px;font-size:15px}
.pb-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:18px}
.pb-chips a{padding:6px 14px;border-radius:99px;font-size:13px;font-weight:600;background:var(--card);border:1px solid var(--cardb);color:var(--mut);transition:.2s}
.pb-chips a:hover{color:var(--tx);border-color:var(--p)}
/* Layout */
.pb-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:28px;padding:22px 0 50px;align-items:start}
.pb-sec{margin-bottom:38px}
.pb-sec-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:10px}
.pb-sec-h h2{font-size:21px;display:flex;align-items:center;gap:10px}
.pb-sec-h h2:before{content:"";width:5px;height:22px;border-radius:4px;background:linear-gradient(var(--p),var(--p2))}
.pb-sec-h a{font-size:13.5px;color:var(--p);font-weight:700}
.pb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(236px,1fr));gap:18px}
/* Cards */
.pb-card{position:relative;border-radius:var(--r);background:var(--card);border:1px solid var(--cardb);overflow:hidden;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:.28s;display:flex;flex-direction:column}
.pb-card:hover{transform:translateY(-5px);border-color:rgba(0,229,255,.55);box-shadow:var(--glow),var(--sh)}
.pb-thumb{display:block;position:relative;aspect-ratio:16/10;background:linear-gradient(135deg,rgba(122,92,255,.35),rgba(0,229,255,.25));overflow:hidden}
.pb-thumb img{width:100%;height:100%;object-fit:cover;transition:.5s}
.pb-card:hover .pb-thumb img{transform:scale(1.07)}
.pb-ph{position:absolute;inset:0;display:grid;place-items:center;font-size:42px;opacity:.7}
.pb-badge{position:absolute;top:10px;left:10px;font-size:11px;font-weight:800;letter-spacing:.04em;padding:4px 10px;border-radius:99px;background:linear-gradient(90deg,#ffb020,#ff6a00);color:#1a1000;box-shadow:0 0 16px rgba(255,150,0,.55)}
.pb-card-b{padding:14px 15px 16px;display:flex;flex-direction:column;gap:9px;flex:1}
.pb-cat{align-self:flex-start;font-size:11.5px;font-weight:700;color:var(--p);background:rgba(0,229,255,.10);padding:2px 10px;border-radius:99px;text-transform:uppercase;letter-spacing:.03em}
.pb-card h3{font-size:15.5px;font-weight:700;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em}
.pb-stats{display:flex;gap:14px;color:var(--mut);font-size:12.5px}
.pb-stats span{display:inline-flex;align-items:center;gap:5px}
.pb-stats svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.pb-view{margin-top:auto}
.pb-idx-ok #pb-ssr{display:none}
.pb-skel{height:300px;border-radius:var(--r);background:linear-gradient(100deg,var(--card) 30%,rgba(255,255,255,.09) 50%,var(--card) 70%);background-size:200% 100%;animation:pbSk 1.3s linear infinite;border:1px solid var(--cardb)}
@keyframes pbSk{to{background-position:-200% 0}}
.pb-empty{padding:40px;text-align:center;color:var(--mut);border:1px dashed var(--cardb);border-radius:var(--r)}
.pb-pager{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:26px}
.pb-pager a,.pb-pager span{min-width:40px;height:40px;padding:0 12px;display:grid;place-items:center;border-radius:12px;font-weight:700;background:var(--card);border:1px solid var(--cardb)}
.pb-pager .on{background:linear-gradient(120deg,var(--p2),var(--p));color:#fff;border-color:transparent}
.pb-pager a:hover{border-color:var(--p)}
.pb-title-h{font-size:26px;margin-bottom:18px}
/* Sidebar */
.pb-side{display:flex;flex-direction:column;gap:20px;position:sticky;top:86px}
.pb-box{border-radius:var(--r);background:var(--card);border:1px solid var(--cardb);padding:18px;backdrop-filter:blur(12px)}
.pb-box h3,.pb-box h2{font-size:16px;margin-bottom:12px}
.pb-trust{display:grid;gap:10px}
.pb-trust div{display:flex;gap:10px;align-items:center;font-size:14px;font-weight:600}
.pb-trust b{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:rgba(34,229,138,.12);flex:none}
.pb-box ul{list-style:none;display:grid;gap:6px}
.pb-box li a{display:flex;justify-content:space-between;padding:8px 12px;border-radius:11px;color:var(--mut);font-weight:600;font-size:14px;transition:.2s}
.pb-box li a:hover{background:rgba(0,229,255,.10);color:var(--tx)}
.pb-box li a span{font-size:12px;background:var(--card);border:1px solid var(--cardb);padding:0 8px;border-radius:99px}
.pb-rv{padding:12px;border-radius:13px;background:rgba(255,255,255,.03);border:1px solid var(--cardb);margin-bottom:10px;font-size:13.5px}
.pb-rv b{display:flex;justify-content:space-between;font-size:13.5px}
.pb-star{color:#ffc01e;letter-spacing:2px}
.pb-rv p{color:var(--mut);margin-top:4px}
/* Post */
.pb-post{border-radius:var(--r);background:var(--card);border:1px solid var(--cardb);padding:clamp(16px,3vw,32px);backdrop-filter:blur(12px)}
.pb-crumb{font-size:13px;color:var(--mut);margin-bottom:12px;display:flex;gap:6px;flex-wrap:wrap}
.pb-post-title{font-size:clamp(24px,3.6vw,34px);font-weight:800;margin-bottom:12px}
.pb-meta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;color:var(--mut);font-size:13px;margin-bottom:20px}
.pb-chip{padding:2px 12px;border-radius:99px;font-weight:700;font-size:12px;background:rgba(0,229,255,.10);color:var(--p)}
.pb-lbls{display:flex;gap:6px;flex-wrap:wrap}
.pb-js .pb-post:not(.pb-ready) .post-body{visibility:hidden;min-height:140px}
.post-body{font-size:16.5px;word-wrap:break-word;overflow-wrap:anywhere}
.post-body img{border-radius:14px;margin:10px 0}
.post-body a{color:var(--p);text-decoration:underline}
.post-body h2,.post-body h3{margin:22px 0 10px}
.post-body pre,.post-body code{font-family:ui-monospace,Menlo,Consolas,monospace}
.post-body pre{background:rgba(0,0,0,.35);padding:14px;border-radius:12px;overflow:auto}
.pb-share{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px;padding-top:18px;border-top:1px solid var(--cardb);align-items:center}
.pb-share>span{font-weight:700;color:var(--mut);font-size:14px;margin-right:4px}
.pb-rel{margin-top:34px}
/* Lock screen (tbp-root) */
.tbp-root{border-radius:20px;padding:clamp(16px,3vw,28px);background:linear-gradient(160deg,rgba(122,92,255,.14),rgba(0,229,255,.06));border:1px solid rgba(122,92,255,.4);box-shadow:0 0 40px rgba(122,92,255,.18)}
.tbp-head{text-align:center;margin-bottom:18px}
.tbp-lock{width:64px;height:64px;margin:0 auto 10px;border-radius:20px;display:grid;place-items:center;font-size:30px;background:linear-gradient(135deg,var(--p2),var(--p));box-shadow:0 0 30px rgba(0,229,255,.5);animation:pbFloat 3s ease-in-out infinite}
@keyframes pbFloat{50%{transform:translateY(-5px)}}
.tbp-head h3{font-size:22px}
.tbp-price{display:inline-block;margin-top:8px;font-weight:800;font-size:20px;color:var(--ok);background:rgba(34,229,138,.12);padding:3px 16px;border-radius:99px}
.tbp-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0;font-size:12.5px;text-align:center;color:var(--mut)}
.tbp-steps div{padding:8px;border-radius:12px;background:var(--card);border:1px solid var(--cardb)}
.tbp-steps b{display:block;color:var(--p);font-size:15px}
.tbp-pay{display:grid;gap:10px;margin-bottom:16px}
.pb-pm{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:14px;background:var(--card);border:1px solid var(--cardb)}
.pb-pm i{width:10px;height:36px;border-radius:6px;flex:none}
.pb-pm div{flex:1;min-width:0}
.pb-pm small{display:block;color:var(--mut);font-size:12px}
.pb-pm b{font-size:16px;letter-spacing:.02em;word-break:break-all}
.tbp-form{display:grid;gap:10px;margin-bottom:16px}
.tbp-sec-t{font-weight:800;font-size:14.5px;margin:6px 0 2px}
.pb-f{display:grid;gap:5px;font-size:13px;font-weight:600;color:var(--mut)}
.pb-f input,.pb-f select,.pb-f textarea{width:100%;padding:11px 14px;border-radius:12px;background:rgba(0,0,0,.22);border:1px solid var(--cardb);outline:0;color:var(--tx);font-size:14.5px;font-weight:500}
[data-theme="light"] .pb-f input,[data-theme="light"] .pb-f select,[data-theme="light"] .pb-f textarea{background:rgba(255,255,255,.9)}
.pb-f input:focus,.pb-f select:focus,.pb-f textarea:focus{border-color:var(--p);box-shadow:0 0 0 3px rgba(0,229,255,.15)}
.pb-row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.tbp-pin{display:flex;gap:8px}
.tbp-pin input{flex:1;min-width:0;padding:12px 14px;border-radius:12px;background:rgba(0,0,0,.22);border:1px solid var(--cardb);outline:0;text-align:center;letter-spacing:.35em;font-weight:800;font-size:17px}
[data-theme="light"] .tbp-pin input{background:#fff}
.tbp-pin.err{animation:pbShake .4s}
@keyframes pbShake{25%{transform:translateX(-7px)}75%{transform:translateX(7px)}}
.tbp-msg{font-size:13px;min-height:18px;margin-top:6px;text-align:center;color:#ff5f7a}
.pb-note{font-size:12.5px;color:var(--mut);padding:10px 12px;border-radius:12px;background:rgba(255,176,32,.10);border:1px solid rgba(255,176,32,.3)}
/* Neon code box */
.pb-neon{padding:2px;border-radius:20px;background:linear-gradient(90deg,#ff0080,#ff8c00,#ffe600,#00ff9d,#00cfff,#7a5cff,#ff0080);background-size:300% 100%;animation:pbRb 4s linear infinite;box-shadow:0 0 26px rgba(0,207,255,.35),0 0 60px rgba(255,0,128,.15)}
@keyframes pbRb{to{background-position:300% 0}}
.pb-neon-in{background:#070910;border-radius:18px;overflow:hidden}
[data-theme="light"] .pb-neon-in{background:#0b1022;color:#e9ecf8}
.pb-neon-top{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border-bottom:1px solid rgba(255,255,255,.08);flex-wrap:wrap}
.pb-dots{display:flex;gap:6px}.pb-dots i{width:11px;height:11px;border-radius:50%;background:#ff5f56}.pb-dots i:nth-child(2){background:#ffbd2e}.pb-dots i:nth-child(3){background:#27c93f}
.pb-neon-act{display:flex;gap:8px}
.pb-neon-act button{padding:7px 16px;border-radius:10px;font-weight:700;font-size:13px;color:#fff;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);transition:.2s}
.pb-neon-act button:hover{background:linear-gradient(120deg,var(--p2),var(--p));border-color:transparent;box-shadow:0 0 18px rgba(0,229,255,.5)}
.pb-neon-act button.ok{background:var(--ok);color:#00200f;border-color:transparent}
.pb-neon-pre{margin:0;padding:18px;max-height:560px;overflow:auto;white-space:pre-wrap;word-break:break-word;color:#baf7ff;font-family:ui-monospace,Menlo,Consolas,'Hind Siliguri',monospace;font-size:14px;line-height:1.75;text-shadow:0 0 8px rgba(0,229,255,.35);background:none;border-radius:0}
/* Modal / Toast */
.pb-modal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:14px;background:rgba(3,5,12,.74);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);animation:pbFade .2s}
@keyframes pbFade{from{opacity:0}}
.pb-modal-box{width:min(580px,100%);max-height:94vh;overflow:auto;border-radius:22px;background:var(--bg2);border:1px solid var(--cardb);box-shadow:0 0 50px rgba(122,92,255,.3),var(--sh);animation:pbPop .25s}
@keyframes pbPop{from{transform:translateY(14px) scale(.97);opacity:0}}
.pb-modal-h{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 20px;border-bottom:1px solid var(--cardb);position:sticky;top:0;background:var(--bg2);z-index:2}
.pb-modal-h h3{font-size:17px}
.pb-x{width:34px;height:34px;border-radius:10px;font-size:22px;line-height:1;background:var(--card)}
.pb-modal-b{padding:18px 20px 22px;display:grid;gap:12px}
.pb-sub{color:var(--mut);font-size:14px}
.pb-tasks{display:grid;gap:10px}
.pb-task{display:flex;align-items:center;gap:12px;padding:12px;border-radius:14px;background:var(--card);border:1px solid var(--cardb)}
.pb-task-i{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-weight:800;background:linear-gradient(135deg,var(--p2),var(--p));color:#fff;flex:none}
.pb-task-t{flex:1;min-width:0}.pb-task-t b{display:block;font-size:14.5px}.pb-task-t small{color:var(--mut)}
.pb-task.done{border-color:var(--ok)}.pb-task.done .pb-task-i{background:var(--ok)}
.pb-spin{width:15px;height:15px;border-radius:50%;border:2.5px solid rgba(255,255,255,.3);border-top-color:var(--p);animation:pbRot .7s linear infinite}
@keyframes pbRot{to{transform:rotate(360deg)}}
.pb-ad{margin:4px auto 0;max-width:100%;overflow:hidden;border-radius:12px}
.pb-ad iframe{display:block;max-width:100%;border:0}
.pb-toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,30px);opacity:0;z-index:99999;padding:10px 20px;border-radius:99px;font-weight:700;background:var(--ok);color:#00200f;box-shadow:0 8px 30px rgba(0,0,0,.4);transition:.25s;pointer-events:none}
.pb-toast.on{opacity:1;transform:translate(-50%,0)}
/* Footer */
.pb-footer{border-top:1px solid var(--cardb);padding:30px 0 40px;color:var(--mut);font-size:14px}
.pb-ft{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;align-items:center}
.pb-ft nav{display:flex;gap:16px;flex-wrap:wrap}
.pb-ft a:hover{color:var(--p)}
/* Responsive */
@media(max-width:980px){
.pb-layout{grid-template-columns:1fr}
.pb-side{position:static}
.pb-burger{display:grid}
.pb-nav{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;padding:12px 14px;background:var(--bg2);border-bottom:1px solid var(--cardb);margin:0}
.pb-header.open .pb-nav{display:flex;max-height:78vh;overflow:auto}
.pb-dd{display:block;position:static;min-width:0;max-width:none;box-shadow:none;border:0;background:none;padding:0 0 6px 14px}
.pb-ni:hover:after{display:none}
.pb-hd-in{position:relative}
.pb-hd-act{margin-left:auto}
}
@media(max-width:640px){
body{font-size:15px}
.pb-l{display:none}.pb-s{display:inline}
.pb-hd-act .pb-btn{padding:9px 12px}
.pb-grid{grid-template-columns:repeat(2,1fr);gap:12px}
.pb-card-b{padding:10px}.pb-card h3{font-size:14px}
.pb-stats{gap:9px;font-size:11.5px}
.pb-hero{padding-top:34px}
.tbp-steps,.pb-row2{grid-template-columns:1fr}
#pb-install span{display:none}
}
@media(max-width:400px){.pb-grid{grid-template-columns:1fr}}
]]></b:skin>
</head>
<body expr:data-type='data:blog.pageType'>
<!-- Navbar (লুকানো, ব্লগারের জন্য আবশ্যক) -->
<b:section class='navbar' id='navbar' maxwidgets='1' showaddelement='no'>
<b:widget id='Navbar1' locked='true' title='Navbar' type='Navbar' version='1'>
<b:includable id='main'><div></div></b:includable>
</b:widget>
</b:section>
<!-- ============ HEADER ============ -->
<header class='pb-header' id='pb-header'>
<div class='pb-wrap pb-hd-in'>
<a class='pb-logo' expr:href='data:blog.homepageUrl' title='Home'>
<svg viewBox='0 0 64 64' aria-hidden='true'><defs><linearGradient id='pbg' x1='0' y1='0' x2='1' y2='1'><stop offset='0' stop-color='#00e5ff'/><stop offset='1' stop-color='#7a5cff'/></linearGradient></defs><rect width='64' height='64' rx='16' fill='#0d1121'/><path d='M20 46V18h13a9 9 0 010 18H26' fill='none' stroke='url(#pbg)' stroke-width='6' stroke-linecap='round' stroke-linejoin='round'/></svg>
<span class='pb-logo-t'><data:blog.title/></span>
</a>
<nav class='pb-nav' id='pb-nav' aria-label='Main menu'></nav>
<div class='pb-hd-act'>
<button class='pb-ic' id='pb-theme' type='button' aria-label='Dark / Light mode' title='Dark / Light'>
<svg class='pb-moon' viewBox='0 0 24 24'><path d='M21 12.8A9 9 0 1111.2 3a7 7 0 009.8 9.8z'/></svg>
<svg class='pb-sun' viewBox='0 0 24 24'><circle cx='12' cy='12' r='4'/><path d='M12 2v2M12 20v2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M2 12h2M20 12h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4'/></svg>
</button>
<button class='pb-ic' id='pb-install' type='button' aria-label='Install App' title='অ্যাপ ইনস্টল করুন'>
<svg viewBox='0 0 24 24'><path d='M12 3v12M7 10l5 5 5-5M5 20h14'/></svg>
</button>
<button class='pb-btn pb-btn-neon' id='pb-sell' type='button'><span class='pb-l'>আপনার কোড বা প্রম্পট বিক্রি করুন</span><span class='pb-s'>বিক্রি করুন</span></button>
<button class='pb-ic pb-burger' id='pb-burger' type='button' aria-label='Menu'>
<svg viewBox='0 0 24 24'><path d='M4 7h16M4 12h16M4 17h16'/></svg>
</button>
</div>
</div>
</header>
<main class='pb-wrap'>
<b:if cond='data:blog.pageType == "index"'>
<section class='pb-hero' id='pb-hero'>
<h1 id='pb-hero-h'><data:blog.title/></h1>
<p id='pb-hero-p'></p>
<form class='pb-search' action='/search' method='get' role='search'>
<input name='q' type='search' placeholder='প্রম্পট বা কোড খুঁজুন...' aria-label='Search'/>
<button class='pb-btn pb-btn-neon' type='submit'>সার্চ</button>
</form>
<div class='pb-chips' id='pb-hero-chips'></div>
</section>
</b:if>
<div class='pb-layout'>
<div class='pb-main'>
<b:section class='main' id='main' showaddelement='no'>
<b:widget id='Blog1' locked='true' title='Blog Posts' type='Blog' version='2'>
<b:widget-settings>
<b:widget-setting name='showDateHeader'>false</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='showReactions'>false</b:widget-setting>
<b:widget-setting name='showBacklinks'>false</b:widget-setting>
<b:widget-setting name='showInlineAds'>false</b:widget-setting>
<b:widget-setting name='showAuthor'>false</b:widget-setting>
<b:widget-setting name='showLabels'>true</b:widget-setting>
<b:widget-setting name='showLocation'>false</b:widget-setting>
<b:widget-setting name='showTimestamp'>true</b:widget-setting>
</b:widget-settings>
<b:includable id='main' var='top'>
<b:if cond='data:blog.pageType == "error_page"'>
<div class='pb-empty'>
<h2>৪০৪ — পেজটি পাওয়া যায়নি</h2>
<p>আপনি যে পেজটি খুঁজছেন সেটি নেই বা সরিয়ে নেওয়া হয়েছে।</p>
<br/><a class='pb-btn pb-btn-neon' expr:href='data:blog.homepageUrl'>হোমে ফিরে যান</a>
</div>
<b:else/>
<b:if cond='data:blog.pageType == "item"'>
<b:loop values='data:posts' var='post'>
<b:include data='post' name='post'/>
</b:loop>
<b:elseif cond='data:blog.pageType == "static_page"'/>
<b:loop values='data:posts' var='post'>
<b:include data='post' name='post'/>
</b:loop>
<b:else/>
<div id='pb-index'></div>
<!-- সার্ভার-সাইড ব্যাকআপ গ্রিড: JS ফিড লোড হলে এটি লুকিয়ে যায় -->
<div class='pb-grid' id='pb-ssr'>
<b:loop values='data:posts' var='post'>
<article class='pb-card'>
<b:if cond='data:post.featuredImage'>
<a class='pb-thumb' expr:href='data:post.url'><img expr:alt='data:post.title' expr:src='data:post.featuredImage'/></a>
</b:if>
<div class='pb-card-b'>
<h3><a expr:href='data:post.url'><data:post.title/></a></h3>
<a class='pb-btn pb-btn-neon pb-view' expr:href='data:post.url'>View</a>
</div>
</article>
</b:loop>
</div>
</b:if>
</b:if>
</b:includable>
<b:includable id='post' var='post'>
<article class='pb-post' expr:data-id='data:post.id' expr:data-url='data:post.url' expr:data-title='data:post.title'>
<div class='pb-crumb'><a expr:href='data:blog.homepageUrl'>হোম</a><span>/</span><span><data:post.title/></span></div>
<h1 class='pb-post-title'><data:post.title/></h1>
<div class='pb-meta'>
<span><data:post.timestamp/></span>
<b:if cond='data:post.labels'>
<span class='pb-lbls'>
<b:loop values='data:post.labels' var='label'>
<a class='pb-chip' expr:href='data:label.url' rel='tag' expr:data-l='data:label.name'><data:label.name/></a>
</b:loop>
</span>
</b:if>
</div>
<div class='post-body entry-content' id='pb-body'><data:post.body/></div>
<div class='pb-share' id='pb-share'></div>
<div class='pb-rel' id='pb-rel'></div>
</article>
</b:includable>
</b:widget>
</b:section>
</div>
<!-- ============ SIDEBAR ============ -->
<aside class='pb-side'>
<div class='pb-box'>
<h3>🛡️ কেন PromptBox?</h3>
<div class='pb-trust' id='pb-trust'></div>
</div>
<b:section class='sidebar' id='sidebar' maxwidgets='6' showaddelement='yes'>
<b:widget id='Label1' locked='false' title='ক্যাটাগরি' type='Label' version='2'>
<b:widget-settings>
<b:widget-setting name='display'>LIST</b:widget-setting>
<b:widget-setting name='selectedLabelsList'/>
<b:widget-setting name='showType'>ALL</b:widget-setting>
<b:widget-setting name='sorting'>ALPHA</b:widget-setting>
</b:widget-settings>
<b:includable id='main' var='this'>
<div class='pb-box'>
<h3>📂 <data:title/></h3>
<ul>
<b:loop values='data:labels' var='label'>
<b:if cond='data:label.name != "lock" and data:label.name != "verify" and data:label.name != "download" and data:label.name != "popular"'>
<li><a expr:href='data:label.url'><data:label.name/><span><data:label.count/></span></a></li>
</b:if>
</b:loop>
</ul>
</div>
</b:includable>
</b:widget>
<b:widget id='HTML1' locked='false' title='' type='HTML' version='2'>
<b:widget-settings><b:widget-setting name='content'/></b:widget-settings>
<b:includable id='main'>
<b:if cond='data:content != ""'>
<div class='pb-box'>
<b:if cond='data:title != ""'><h3><data:title/></h3></b:if>
<div><data:content/></div>
</div>
</b:if>
</b:includable>
</b:widget>
</b:section>
<div class='pb-box'>
<h3>⭐ ইউজার রিভিউ</h3>
<div id='pb-reviews'></div>
<button class='pb-btn pb-wide' id='pb-rvbtn' type='button'>রিভিউ দিন</button>
</div>
</aside>
</div>
</main>
<!-- ============ FOOTER ============ -->
<footer class='pb-footer'>
<div class='pb-wrap pb-ft'>
<div>© <span id='pb-year'></span> <data:blog.title/> — সর্বস্বত্ব সংরক্ষিত।</div>
<nav id='pb-fnav'></nav>
</div>
<b:section class='footer' id='footer' maxwidgets='2' showaddelement='yes'>
<b:widget id='HTML2' locked='false' title='' type='HTML' version='2'>
<b:widget-settings><b:widget-setting name='content'/></b:widget-settings>
<b:includable id='main'>
<b:if cond='data:content != ""'><div class='pb-wrap'><data:content/></div></b:if>
</b:includable>
</b:widget>
</b:section>
</footer>
<!-- ============ MAIN SCRIPT ============ -->
<script>//<![CDATA[
(function(){
"use strict";
var C=window.PB_CONFIG||{},D=document;
var $=function(s,r){return (r||D).querySelector(s)};
var $$=function(s,r){return Array.prototype.slice.call((r||D).querySelectorAll(s))};
var esc=function(s){return String(s==null?"":s).replace(/[&<>"']/g,function(c){return {"&":"&","<":"<",">":">",'"':""","'":"'"}[c]})};
var el=function(t,c,h){var e=D.createElement(t);if(c)e.className=c;if(h!=null)e.innerHTML=h;return e};
var store={g:function(k){try{return localStorage.getItem(k)}catch(e){return null}},s:function(k,v){try{localStorage.setItem(k,v)}catch(e){}}};
var sess={g:function(k){try{return sessionStorage.getItem(k)}catch(e){return null}},s:function(k,v){try{sessionStorage.setItem(k,v)}catch(e){}}};
var LB=C.labels||{};
var L={lock:(LB.lock||"lock").toLowerCase(),verify:(LB.verify||"verify").toLowerCase(),download:(LB.download||"download").toLowerCase(),popular:(LB.popular||"popular").toLowerCase()};
var TYPE=D.body.getAttribute("data-type")||"index";
var I={
eye:'<svg viewBox="0 0 24 24"><path d="M1 12s4-7 11-7 11 7 11 7-4 7-11 7S1 12 1 12z"/><circle cx="12" cy="12" r="3"/></svg>',
copy:'<svg viewBox="0 0 24 24"><rect x="9" y="9" width="12" height="12" rx="2"/><path d="M5 15H4a1 1 0 01-1-1V4a1 1 0 011-1h10a1 1 0 011 1v1"/></svg>'
};
function isSys(l){l=String(l).toLowerCase();return l===L.lock||l===L.verify||l===L.download||l===L.popular||/^(bkash|nagad|binance|whatsapp|pin)-/.test(l)}
function pkey(u){try{return new URL(u,location.href).pathname}catch(e){return String(u)}}
function cnt(k,u){return parseInt(store.g("pb_"+k+"_"+pkey(u))||"0",10)||0}
function inc(k,u){store.s("pb_"+k+"_"+pkey(u),cnt(k,u)+1)}
function toast(m){var t=$("#pb-toast");if(!t){t=el("div","pb-toast");t.id="pb-toast";D.body.appendChild(t)}t.textContent=m;t.classList.add("on");clearTimeout(toast._t);toast._t=setTimeout(function(){t.classList.remove("on")},1800)}
function copyText(txt){
if(navigator.clipboard&&window.isSecureContext){return navigator.clipboard.writeText(txt)}
return new Promise(function(res,rej){var a=D.createElement("textarea");a.value=txt;a.style.cssText="position:fixed;opacity:0";D.body.appendChild(a);a.select();try{D.execCommand("copy")?res():rej()}catch(e){rej(e)}a.remove()});
}
function modal(title,html,opt){
opt=opt||{};
var m=el("div","pb-modal"+(opt.nox?" nox":""));
m.innerHTML='<div class="pb-modal-box" role="dialog" aria-modal="true"><div class="pb-modal-h"><h3>'+title+'</h3>'+(opt.nox?"":'<button class="pb-x" type="button" aria-label="Close">×</button>')+'</div><div class="pb-modal-b">'+html+'</div></div>';
D.body.appendChild(m);D.documentElement.classList.add("pb-lockscroll");
m.close=function(){m.remove();if(!$(".pb-modal"))D.documentElement.classList.remove("pb-lockscroll")};
if(!opt.nox){$(".pb-x",m).onclick=m.close;m.addEventListener("mousedown",function(e){if(e.target===m)m.close()})}
return m;
}
D.addEventListener("keydown",function(e){if(e.key==="Escape"){var ms=$$(".pb-modal:not(.nox)");if(ms.length)ms[ms.length-1].close()}});
function waLink(num,text){return "https://wa.me/"+String(num||"").replace(/\D/g,"")+"?text="+encodeURIComponent(text)}
function openWA(num,text){window.open(waLink(num,text),"_blank","noopener")}
function field(id,label,ph,type,extra){
if(type==="ta")return '<label class="pb-f"><span>'+label+'</span><textarea id="'+id+'" rows="4" placeholder="'+esc(ph||"")+'"></textarea></label>';
if(type==="sel")return '<label class="pb-f"><span>'+label+'</span><select id="'+id+'">'+extra+'</select></label>';
return '<label class="pb-f"><span>'+label+'</span><input id="'+id+'" type="'+(type||"text")+'" placeholder="'+esc(ph||"")+'" autocomplete="off"/></label>';
}
function val(m,id){var e=$("#"+id,m);return e?e.value.trim():""}
/* Copy buttons (payment numbers) */
D.addEventListener("click",function(e){
var b=e.target.closest&&e.target.closest(".pb-cp");if(!b)return;
copyText(b.getAttribute("data-c")).then(function(){toast("Copied!");var o=b.textContent;b.textContent="Copied!";setTimeout(function(){b.textContent=o},1400)},function(){toast("Copy হয়নি")});
});
/* Payment methods */
var PM={bkash:["bKash","#e2136e"],nagad:["Nagad","#f6921e"],binance:["Binance Pay ID","#f0b90b"]};
function payHTML(pay){
var h="";
Object.keys(PM).forEach(function(k){
if(!pay[k])return;
h+='<div class="pb-pm"><i style="background:'+PM[k][1]+';box-shadow:0 0 14px '+PM[k][1]+'88"></i><div><small>'+PM[k][0]+(k==="binance"?"":" (Send Money / Personal)")+'</small><b>'+esc(pay[k])+'</b></div><button type="button" class="pb-btn pb-btn-sm pb-cp" data-c="'+esc(pay[k])+'">Copy</button></div>';
});
return h;
}
/* ---------- Theme / Header ---------- */
function setTheme(t){D.documentElement.setAttribute("data-theme",t);store.s("pb_theme",t);var m=$('meta[name="theme-color"]');if(m)m.setAttribute("content",t==="light"?"#f3f5fc":"#070910")}
function initHeader(){
var nav=$("#pb-nav");
nav.innerHTML=(C.menu||[]).map(function(m,i){
var lm=String(m.label||"").trim()||((String(m.u).match(/\/search\/label\/([^?#]+)/)||[])[1]?decodeURIComponent(String(m.u).match(/\/search\/label\/([^?#]+)/)[1]):"");
return '<div class="pb-ni"><a href="'+esc(m.u)+'">'+esc(m.t)+(m.badge?'<i class="pb-nb">'+esc(m.badge)+"</i>":"")+"</a>"+(lm&&m.dropdown!==false?'<div class="pb-dd" data-lbl="'+esc(lm)+'" data-all="'+esc(m.u)+'"></div>':"")+"</div>";
}).join("");
$$(".pb-dd",nav).forEach(function(dd){
var lb=dd.getAttribute("data-lbl"),all=dd.getAttribute("data-all");
getFeed("/feeds/posts/default/-/"+encodeURIComponent(lb),"max-results="+(C.menuPosts||6)).then(function(r){
if(!r.posts.length){dd.innerHTML='<div class="pb-dd-e">এই ক্যাটাগরিতে এখনো কোনো পোস্ট নেই।</div>';return}
dd.innerHTML=r.posts.map(function(p){return '<a href="'+esc(p.url)+'" data-url="'+esc(p.url)+'" data-verify="'+(p.verify?1:0)+'">'+(p.lock?"<em>PREMIUM</em>":"")+"<span>"+esc(p.title)+"</span></a>"}).join("")+'<a class="pb-dd-all" href="'+esc(all)+'">সব দেখুন →</a>';
}).catch(function(){dd.remove()});
});
$("#pb-burger").onclick=function(){$("#pb-header").classList.toggle("open")};
$("#pb-theme").onclick=function(){setTheme(D.documentElement.getAttribute("data-theme")==="light"?"dark":"light")};
$("#pb-sell").onclick=sellModal;
var y=$("#pb-year");if(y)y.textContent=new Date().getFullYear();
var f=$("#pb-fnav");if(f)f.innerHTML=(C.footerLinks||[]).map(function(x){return '<a href="'+esc(x[1])+'">'+esc(x[0])+"</a>"}).join("");
var tr=$("#pb-trust");if(tr)tr.innerHTML=(C.trust||[]).map(function(x){return "<div><b>"+x[0]+"</b><span>"+esc(x[1])+"</span></div>"}).join("");
var rv=$("#pb-reviews");
if(rv)rv.innerHTML=(C.reviews||[]).map(function(r){return '<div class="pb-rv"><b><span>'+esc(r.n)+'</span><span class="pb-star">'+"★".repeat(r.r||5)+"</span></b><p>"+esc(r.t)+"</p></div>"}).join("");
var rb=$("#pb-rvbtn");if(rb)rb.onclick=reviewModal;
// hero
var H=C.hero||{};
var hh=$("#pb-hero-h");if(hh&&H.title)hh.textContent=H.title;
var hp=$("#pb-hero-p");if(hp)hp.textContent=H.sub||"";
var hc=$("#pb-hero-chips");if(hc)hc.innerHTML=(H.chips||[]).map(function(c){return '<a href="/search/label/'+encodeURIComponent(c[1])+'">'+esc(c[0])+"</a>"}).join("");
}
/* ---------- PWA (manifest generator + install) ---------- */
var deferred=null;
function iconPNG(s){
var c=D.createElement("canvas");c.width=c.height=s;var x=c.getContext("2d"),g=x.createLinearGradient(0,0,s,s);
g.addColorStop(0,"#00e5ff");g.addColorStop(1,"#7a5cff");
var r=s*.22;x.fillStyle="#070910";x.beginPath();x.moveTo(r,0);x.arcTo(s,0,s,s,r);x.arcTo(s,s,0,s,r);x.arcTo(0,s,0,0,r);x.arcTo(0,0,s,0,r);x.closePath();x.fill();
x.strokeStyle=g;x.lineWidth=s*.095;x.lineCap="round";x.lineJoin="round";x.beginPath();x.moveTo(s*.31,s*.72);x.lineTo(s*.31,s*.28);x.lineTo(s*.52,s*.28);x.arc(s*.52,s*.42,s*.14,-Math.PI/2,Math.PI/2);x.lineTo(s*.4,s*.56);x.stroke();
return c.toDataURL("image/png");
}
function manifestObj(){
var n=C.siteName||D.title;
return {name:n,short_name:String(n).slice(0,12),description:C.tagline||"",start_url:location.origin+"/",scope:location.origin+"/",display:"standalone",orientation:"portrait",background_color:"#070910",theme_color:"#070910",lang:"bn",
icons:[{src:iconPNG(192),sizes:"192x192",type:"image/png",purpose:"any maskable"},{src:iconPNG(512),sizes:"512x512",type:"image/png",purpose:"any maskable"}]};
}
function initPWA(){
try{
var mf=manifestObj(),blob=new Blob([JSON.stringify(mf)],{type:"application/manifest+json"});
var l=D.createElement("link");l.rel="manifest";l.href=URL.createObjectURL(blob);D.head.appendChild(l);
var a=D.createElement("link");a.rel="apple-touch-icon";a.href=mf.icons[0].src;D.head.appendChild(a);
window.__pbManifest=mf;
}catch(e){}
window.addEventListener("beforeinstallprompt",function(e){e.preventDefault();deferred=e});
window.addEventListener("appinstalled",function(){deferred=null;toast("অ্যাপ ইনস্টল হয়েছে ✔")});
$("#pb-install").onclick=function(){
if(window.matchMedia&&matchMedia("(display-mode: standalone)").matches){toast("অ্যাপ আগেই ইনস্টল করা আছে");return}
if(deferred){deferred.prompt();deferred.userChoice.finally(function(){deferred=null});return}
var m=modal("অ্যাপ ইনস্টল করুন",'<p class="pb-sub">আপনার ব্রাউজারের মেনু থেকে ইনস্টল করুন:</p><div class="pb-note"><b>Android (Chrome):</b> ⋮ মেনু → “Install app” / “Add to Home screen”<br/><b>iPhone (Safari):</b> Share বাটন → “Add to Home Screen”<br/><b>Desktop (Chrome/Edge):</b> অ্যাড্রেস বারের ডান পাশের ইনস্টল আইকন</div><button class="pb-btn pb-wide" id="pb-mfdl" type="button">manifest.json ডাউনলোড</button>');
$("#pb-mfdl",m).onclick=function(){downloadText(JSON.stringify(window.__pbManifest||manifestObj(),null,2),"manifest.json","application/json")};
};
}
function downloadText(txt,name,type){
var b=new Blob([txt],{type:(type||"text/plain")+";charset=utf-8"}),a=D.createElement("a");
a.href=URL.createObjectURL(b);a.download=name;D.body.appendChild(a);a.click();
setTimeout(function(){URL.revokeObjectURL(a.href);a.remove()},500);
}
/* ---------- Sell modal ---------- */
function sellModal(){
var S=C.sell||{},P=C.pay||{};
var h='<p class="pb-sub">ফর্মটি পূরণ করে WhatsApp এ এডমিনের কাছে পাঠান। অনুমোদনের পর আপনার কনটেন্ট সাইটে পাবলিশ হবে।</p>'+
field("s-name","আপনার নাম *","পূর্ণ নাম")+field("s-wa","আপনার WhatsApp নম্বর *","01XXXXXXXXX","tel")+
field("s-type","ধরন","","sel",'<option>AI Prompt</option><option>Code / Script</option><option>Template / Tool</option><option>অন্যান্য</option>')+
field("s-title","টাইটেল *","যেমন: Midjourney Realistic Portrait Prompt")+
field("s-desc","বিবরণ *","কনটেন্টটি কী, কী কাজে লাগবে, কীভাবে ব্যবহার করবে","ta")+
'<div class="pb-row2">'+field("s-price","বিক্রয় মূল্য (৳) *","যেমন: 50","number")+field("s-pin","ক্রেতাদের জন্য আনলক PIN *","যেমন: 4827")+"</div>"+
'<div class="tbp-sec-t">💰 আপনি যে একাউন্টে টাকা পেতে চান *</div>'+
field("s-bk","bKash নম্বর","01XXXXXXXXX","tel")+field("s-ng","Nagad নম্বর","01XXXXXXXXX","tel")+field("s-bn","Binance Pay ID","Pay ID")+
'<div class="tbp-sec-t">🧾 পোস্টিং ফি: $'+esc(S.feeUSD||"1.20")+" / ৳"+esc(S.feeBDT||140)+'</div><div class="tbp-pay">'+payHTML(P)+"</div>"+
'<div class="pb-row2">'+field("s-fm","ফি পাঠানোর মাধ্যম","","sel",'<option>bKash</option><option>Nagad</option><option>Binance</option>')+field("s-trx","Transaction ID *","TrxID / Order ID")+"</div>"+
'<button class="pb-btn pb-btn-wa pb-wide" id="s-go" type="button">WhatsApp এ জমা দিন</button><div class="tbp-msg" id="s-msg"></div>';
var m=modal("আপনার কোড বা প্রম্পট বিক্রি করুন",h);
$("#s-go",m).onclick=function(){
var g=function(i){return val(m,i)};
if(!g("s-name")||!g("s-wa")||!g("s-title")||!g("s-desc")||!g("s-price")||!g("s-pin")||!g("s-trx")){$("#s-msg",m).textContent="* চিহ্নিত সব ঘর পূরণ করুন।";return}
if(!g("s-bk")&&!g("s-ng")&&!g("s-bn")){$("#s-msg",m).textContent="কমপক্ষে একটি পেমেন্ট একাউন্ট দিন।";return}
var t="🛒 *নতুন বিক্রয় রিকোয়েস্ট*\n\n👤 নাম: "+g("s-name")+"\n📱 WhatsApp: "+g("s-wa")+"\n📦 ধরন: "+g("s-type")+"\n🏷️ টাইটেল: "+g("s-title")+"\n📝 বিবরণ: "+g("s-desc")+"\n💵 বিক্রয় মূল্য: ৳"+g("s-price")+"\n🔑 PIN: "+g("s-pin")+"\n\n💰 *পেমেন্ট একাউন্ট*\nbKash: "+(g("s-bk")||"-")+"\nNagad: "+(g("s-ng")||"-")+"\nBinance: "+(g("s-bn")||"-")+"\n\n🧾 *পোস্টিং ফি* ($"+(S.feeUSD||"1.20")+" / ৳"+(S.feeBDT||140)+")\nমাধ্যম: "+g("s-fm")+"\nTransaction ID: "+g("s-trx")+"\n\n🌐 "+location.origin;
openWA(C.whatsapp,t);
};
}
function reviewModal(){
var h=field("r-name","আপনার নাম *","")+field("r-star","রেটিং","","sel",'<option value="5">★★★★★ (5)</option><option value="4">★★★★ (4)</option><option value="3">★★★ (3)</option><option value="2">★★ (2)</option><option value="1">★ (1)</option>')+field("r-txt","আপনার রিভিউ *","কেমন লাগলো লিখুন","ta")+'<button class="pb-btn pb-btn-wa pb-wide" id="r-go" type="button">WhatsApp এ পাঠান</button><div class="tbp-msg" id="r-msg"></div>';
var m=modal("রিভিউ দিন",h);
$("#r-go",m).onclick=function(){
if(!val(m,"r-name")||!val(m,"r-txt")){$("#r-msg",m).textContent="নাম ও রিভিউ লিখুন।";return}
openWA(C.whatsapp,"⭐ *নতুন রিভিউ*\nনাম: "+val(m,"r-name")+"\nরেটিং: "+val(m,"r-star")+"/5\nরিভিউ: "+val(m,"r-txt"));
};
}
/* ---------- Human Verification gate ---------- */
function adFrame(){
var B=C.banner||{};if(!B.enabled)return "";
var w=B.width||300,h=B.height||250,doc;
if(B.html){doc=B.html}
else{
var S="scr"+"ipt";
doc='<!DOCTYPE html><html><body style="margin:0">'+"<"+S+'>atOptions={"key":"'+B.key+'","format":"iframe","height":'+h+',"width":'+w+',"params":{}};</'+S+">"+"<"+S+' src="'+B.host+"/"+B.key+'/invoke.js"></'+S+"></body></html>";
}
return '<div class="pb-ad" style="width:'+w+"px;height:"+h+'px"><iframe width="'+w+'" height="'+h+'" scrolling="no" frameborder="0" sandbox="allow-scripts allow-same-origin allow-popups allow-popups-to-escape-sandbox allow-top-navigation-by-user-activation" srcdoc="'+esc(doc)+'"></iframe></div>';
}
function passed(u){return sess.g("pb_vp_"+pkey(u))==="1"}
function gate(opt){
var V=C.verify||{},tasks=V.tasks||[],done=0,busy=false;
var h='<p class="pb-sub">'+esc(V.sub||"")+'</p><div class="pb-tasks">'+tasks.map(function(t,i){
return '<div class="pb-task" data-i="'+i+'"><div class="pb-task-i">'+(i+1)+'</div><div class="pb-task-t"><b>'+esc(t.title)+"</b><small>"+esc(t.desc||"")+'</small></div><button class="pb-btn pb-btn-sm pb-btn-neon" type="button" data-go>শুরু করুন</button></div>';
}).join("")+"</div>"+adFrame()+'<button class="pb-btn pb-btn-neon pb-wide" id="pb-vgo" type="button" disabled>চালিয়ে যান →</button>';
var m=modal(esc(V.title||"Human Verification"),h,{nox:!!opt.lock});
var go=$("#pb-vgo",m);
$$(".pb-task",m).forEach(function(row){
var btn=$("[data-go]",row),t=tasks[+row.getAttribute("data-i")];
btn.onclick=function(){
if(busy)return;busy=true;
if(t.url&&t.url.indexOf("http")===0)window.open(t.url,"_blank","noopener");
var s=V.loadingSeconds||5;
btn.innerHTML='<span class="pb-spin"></span> '+s+"s";btn.disabled=true;
var iv=setInterval(function(){
s--;if(s>0){btn.innerHTML='<span class="pb-spin"></span> '+s+"s";return}
clearInterval(iv);busy=false;row.classList.add("done");btn.textContent="✔ Success";done++;
if(done>=tasks.length)go.disabled=false;
},1000);
};
});
go.onclick=function(){
sess.s("pb_vp_"+pkey(opt.url),"1");m.close();
if(opt.onDone)opt.onDone();else location.href=opt.url;
};
}
/* ---------- Feed / cards ---------- */
function parse(e){
var url="#";(e.link||[]).forEach(function(l){if(l.rel==="alternate")url=l.href});
var cats=(e.category||[]).map(function(c){return c.term}),low=cats.map(function(c){return c.toLowerCase()});
var img="";
if(e["media$thumbnail"]){img=e["media$thumbnail"].url.replace(/\/s\d+(-c)?\//,"/w640-h400-c/").replace(/=s\d+(-c)?$/,"=w640-h400-c")}
else{var c=(e.content&&e.content.$t)||"",mm=c.match(/<img[^>]+src=["']([^"']+)["']/i);if(mm)img=mm[1]}
return {title:e.title.$t,url:url,img:img,cat:cats.filter(function(c){return !isSys(c)})[0]||"Prompt",lock:low.indexOf(L.lock)>-1,verify:low.indexOf(L.verify)>-1};
}
function card(p){
var u=esc(p.url);
return '<article class="pb-card'+(p.lock?" is-lock":"")+'" data-url="'+u+'" data-verify="'+(p.verify?1:0)+'">'+
'<a class="pb-thumb" href="'+u+'" aria-label="'+esc(p.title)+'">'+(p.img?'<img loading="lazy" decoding="async" alt="'+esc(p.title)+'" src="'+esc(p.img)+'"/>':'<span class="pb-ph">✦</span>')+(p.lock?'<span class="pb-badge">🔒 PREMIUM</span>':"")+"</a>"+
'<div class="pb-card-b"><span class="pb-cat">'+esc(p.cat)+"</span><h3><a href=\""+u+'">'+esc(p.title)+"</a></h3>"+
'<div class="pb-stats"><span title="Views">'+I.eye+"<b>"+cnt("v",p.url)+'</b></span><span title="Copies">'+I.copy+"<b>"+cnt("c",p.url)+"</b></span></div>"+
'<a class="pb-btn pb-btn-neon pb-view" href="'+u+'">View</a></div></article>';
}
function getFeed(base,params){
return fetch(base+"?alt=json&"+params).then(function(r){return r.json()}).then(function(d){
var f=d.feed||{};return {total:parseInt((f["openSearch$totalResults"]||{}).$t||"0",10),posts:(f.entry||[]).map(parse)};
});
}
function skel(n){var s="";for(var i=0;i<n;i++)s+='<div class="pb-skel"></div>';return '<div class="pb-grid">'+s+"</div>"}
function grid(posts){return posts.length?'<div class="pb-grid">'+posts.map(card).join("")+"</div>":'<div class="pb-empty">কোনো পোস্ট পাওয়া যায়নি।</div>'}
function pager(total,page,per){
var pages=Math.ceil(total/per);if(pages<2)return "";
var q=new URLSearchParams(location.search);
function link(n,t,cls){q.set("pbpage",n);var s=q.toString();return '<a '+(cls?'class="'+cls+'" ':"")+'href="?'+esc(s)+'#pb-latest">'+t+"</a>"}
var h='<div class="pb-pager">';
if(page>1)h+=link(page-1,"‹");
for(var i=1;i<=pages;i++){
if(i===1||i===pages||Math.abs(i-page)<=1){h+=i===page?'<span class="on">'+i+"</span>":link(i,i)}
else if(Math.abs(i-page)===2){h+="<span>…</span>"}
}
if(page<pages)h+=link(page+1,"›");
return h+"</div>";
}
function section(id,title,link){return '<section class="pb-sec" id="'+id+'"><div class="pb-sec-h"><h2>'+title+"</h2>"+(link?'<a href="'+link+'">সব দেখুন →</a>':"")+'</div><div class="pb-body">'+skel(3)+"</div></section>"}
function initIndex(){
var root=$("#pb-index");
if(!root){var pm=$(".pb-main");if(!pm)return;root=el("div");root.id="pb-index";pm.insertBefore(root,pm.firstChild)}
try{renderIndex(root)}catch(err){D.documentElement.classList.remove("pb-idx-ok");root.innerHTML='<div class="pb-empty">লোড এরর: '+esc(err&&err.message)+"</div>"}
}
function renderIndex(root){
function fail(){D.documentElement.classList.remove("pb-idx-ok");root.innerHTML=""}
function ssrHas(){var x=$("#pb-ssr");return !!(x&&x.children.length)}
var q=new URLSearchParams(location.search),page=Math.max(1,parseInt(q.get("pbpage")||"1",10)),per=C.perPage||6,start=(page-1)*per+1;
var path=decodeURIComponent(location.pathname),base="/feeds/posts/default",extra="",title="",home=false,m;
if((m=path.match(/^\/search\/label\/(.+)$/))){base="/feeds/posts/default/-/"+encodeURIComponent(m[1]);title="📂 "+m[1]}
else if(q.get("q")){extra="&q="+encodeURIComponent(q.get("q"));title="🔍 সার্চ: "+q.get("q")}
else if((m=path.match(/^\/(\d{4})\/(\d{2})\/?/))){
var y=+m[1],mo=+m[2],ny=mo===12?y+1:y,nm=mo===12?1:mo+1,z=function(n){return (n<10?"0":"")+n};
extra="&published-min="+y+"-"+z(mo)+"-01T00:00:00&published-max="+ny+"-"+z(nm)+"-01T00:00:00";title="🗂️ আর্কাইভ: "+y+"-"+z(mo);
}else{home=true}
var hero=$("#pb-hero");if(hero&&!home)hero.remove();
if(home&&page===1){
root.innerHTML=section("pb-popular","🔥 জনপ্রিয় পোস্ট","/search/label/"+encodeURIComponent(L.popular))+section("pb-premium","👑 Premium পোস্ট","/search/label/"+encodeURIComponent(L.lock))+section("pb-latest","🆕 সর্বশেষ পোস্ট","");
getFeed("/feeds/posts/default/-/"+encodeURIComponent(L.popular),"max-results="+per).then(function(r){
if(r.posts.length)return r;return getFeed("/feeds/posts/default","max-results="+per);
}).then(function(r){$("#pb-popular .pb-body").innerHTML=grid(r.posts)}).catch(function(){$("#pb-popular").remove()});
getFeed("/feeds/posts/default/-/"+encodeURIComponent(L.lock),"max-results="+per).then(function(r){
if(!r.posts.length){$("#pb-premium").remove();return}$("#pb-premium .pb-body").innerHTML=grid(r.posts)}).catch(function(){$("#pb-premium").remove()});
getFeed(base,"max-results="+per+"&start-index="+start).then(function(r){if(!r.posts.length&&ssrHas()){fail();return}$("#pb-latest .pb-body").innerHTML=grid(r.posts)+pager(r.total,page,per)}).catch(function(){if(ssrHas())fail();else $("#pb-latest .pb-body").innerHTML='<div class="pb-empty">লোড করা যায়নি।</div>'});
}else{
root.innerHTML=(title?'<h2 class="pb-title-h">'+esc(title)+"</h2>":"")+'<section id="pb-latest">'+skel(6)+"</section>";
if(home)root.innerHTML='<section class="pb-sec" id="pb-latest"><div class="pb-sec-h"><h2>🆕 সর্বশেষ পোস্ট</h2></div><div class="pb-body">'+skel(6)+"</div></section>";
var tgt=home?"#pb-latest .pb-body":"#pb-latest";
getFeed(base,"max-results="+per+"&start-index="+start+extra).then(function(r){if(!r.posts.length&&ssrHas()){fail();return}$(tgt).innerHTML=grid(r.posts)+pager(r.total,page,per)}).catch(function(){if(ssrHas())fail();else $(tgt).innerHTML='<div class="pb-empty">লোড করা যায়নি।</div>'});
}
D.documentElement.classList.add("pb-idx-ok");
// JSON-LD: WebSite
if(home)ld({"@context":"https://schema.org","@graph":[{"@type":"WebSite","name":C.siteName||D.title,"url":location.origin+"/","potentialAction":{"@type":"SearchAction","target":location.origin+"/search?q={search_term_string}","query-input":"required name=search_term_string"}},{"@type":"Organization","name":(C.seo||{}).orgName||C.siteName,"url":location.origin+"/","sameAs":(C.seo||{}).sameAs||[]}]});
}
D.addEventListener("click",function(e){
var dl=e.target.closest&&e.target.closest(".pb-dd a[data-url]");
if(dl){var du=dl.getAttribute("data-url");inc("v",du);if(dl.getAttribute("data-verify")==="1"&&!passed(du)){e.preventDefault();gate({url:du})}return}
var a=e.target.closest&&e.target.closest(".pb-card a");if(!a)return;
var card=a.closest(".pb-card"),u=card.getAttribute("data-url");inc("v",u);
if(card.getAttribute("data-verify")==="1"&&!passed(u)){e.preventDefault();gate({url:u})}
});
function ld(o){var s=D.createElement("script");s.type="application/ld+json";s.textContent=JSON.stringify(o);D.head.appendChild(s)}
/* ---------- Post page ---------- */
function parseLabels(arr){
var o={pay:{},wa:C.whatsapp,pin:"",lock:0,verify:0,download:0},m;
arr.forEach(function(l){
var x=String(l).toLowerCase().trim();
if(x===L.lock)o.lock=1;else if(x===L.verify)o.verify=1;else if(x===L.download)o.download=1;
else if((m=x.match(/^(bkash|nagad|binance)-(.+)$/)))o.pay[m[1]]=m[2];
else if((m=x.match(/^whatsapp-(\d+)$/)))o.wa=m[1];
else if((m=x.match(/^pin-(.+)$/)))o.pin=m[1];
});
return o;
}
function plainText(html){
var box=el("div");box.style.cssText="position:absolute;left:-99999px;top:0;width:800px;white-space:normal";box.innerHTML=html;
$$("img,script,style,iframe,noscript,figure img",box).forEach(function(n){n.remove()});
D.body.appendChild(box);
var t=(box.innerText||box.textContent||"");box.remove();
return t.replace(/\u00a0/g," ").replace(/\n{3,}/g,"\n\n").trim();
}
function neon(text,title,url){
var w=el("div","pb-neon");
w.innerHTML='<div class="pb-neon-in"><div class="pb-neon-top"><div class="pb-dots"><i></i><i></i><i></i></div><div class="pb-neon-act"><button type="button" data-copy>Copy</button><button type="button" data-dl>Download</button></div></div><pre class="pb-neon-pre"></pre></div>';
$(".pb-neon-pre",w).textContent=text;
var cb=$("[data-copy]",w);
cb.onclick=function(){copyText(text).then(function(){inc("c",url);cb.textContent="Copied!";cb.classList.add("ok");toast("Copied!");setTimeout(function(){cb.textContent="Copy";cb.classList.remove("ok")},1600)},function(){toast("Copy হয়নি")})};
$("[data-dl]",w).onclick=function(){
var name=String(title||"prompt").replace(/[\\\/:*?"<>|]+/g,"").trim().replace(/\s+/g,"-").slice(0,60)||"prompt";
downloadText(text,name+".txt","text/plain");
};
return w;
}
function lockScreen(body,info,title,url,id,onUnlock){
var pay=Object.keys(info.pay).length?info.pay:(C.pay||{});
var root=el("div","tbp-root");root.id="tbp-root";
root.innerHTML='<div class="tbp-head"><div class="tbp-lock">🔒</div><h3>এটি একটি Premium কনটেন্ট</h3><div class="tbp-price">৳'+esc(C.price||50)+'</div></div>'+
'<div class="tbp-steps"><div><b>১</b>পেমেন্ট করুন</div><div><b>২</b>তথ্য পাঠান</div><div><b>৩</b>PIN দিয়ে আনলক</div></div>'+
'<div class="tbp-sec-t">💳 পেমেন্ট নম্বর</div><div class="tbp-pay">'+payHTML(pay)+"</div>"+
'<div class="tbp-sec-t">🧾 পেমেন্ট ভেরিফিকেশন ফর্ম</div><div class="tbp-form">'+
'<div class="pb-row2">'+field("v-name","আপনার নাম *","")+field("v-method","পেমেন্ট মাধ্যম","","sel",'<option>bKash</option><option>Nagad</option><option>Binance</option>')+"</div>"+
'<div class="pb-row2">'+field("v-from","যে নম্বর/ID থেকে পাঠিয়েছেন *","01XXXXXXXXX")+field("v-trx","Transaction ID *","TrxID / Order ID")+"</div>"+
'<button class="pb-btn pb-btn-wa pb-wide" id="v-wa" type="button">WhatsApp এ পেমেন্ট ইনফো পাঠান</button><div class="tbp-msg" id="v-msg"></div></div>'+
'<div class="tbp-sec-t">🔑 PIN দিয়ে আনলক করুন</div><div class="tbp-pin" id="v-pinrow"><input id="v-pin" type="password" inputmode="text" maxlength="24" placeholder="••••" autocomplete="off"/><button class="pb-btn pb-btn-neon" id="v-unlock" type="button">আনলক</button></div><div class="tbp-msg" id="v-pmsg"></div>'+
'<div class="pb-note">পেমেন্ট ভেরিফাই হলে এডমিন আপনাকে WhatsApp এ PIN পাঠাবেন।</div>';
body.innerHTML="";body.appendChild(root);
$("#v-wa",root).onclick=function(){
var n=val(root,"v-name"),f=val(root,"v-from"),t=val(root,"v-trx");
if(!n||!f||!t){$("#v-msg",root).textContent="* চিহ্নিত সব ঘর পূরণ করুন।";return}
$("#v-msg",root).textContent="";
openWA(info.wa,"🔐 *Premium আনলক রিকোয়েস্ট*\n\n📄 পোস্ট: "+title+"\n🔗 লিংক: "+url+"\n💵 পরিমাণ: ৳"+(C.price||50)+"\n💳 মাধ্যম: "+val(root,"v-method")+"\n👤 নাম: "+n+"\n📱 Sender: "+f+"\n🧾 TrxID: "+t);
};
function tryPin(){
var v=val(root,"v-pin"),ok=v&&((C.pins||[]).map(String).indexOf(v)>-1||(info.pin&&info.pin===v.toLowerCase()));
if(ok){store.s("pb_u_"+id,"1");toast("আনলক সফল ✔");onUnlock()}
else{var r=$("#v-pinrow",root);r.classList.remove("err");void r.offsetWidth;r.classList.add("err");$("#v-pmsg",root).textContent="ভুল PIN। আবার চেষ্টা করুন।"}
}
$("#v-unlock",root).onclick=tryPin;
$("#v-pin",root).addEventListener("keydown",function(e){if(e.key==="Enter")tryPin()});
}
function share(art,title,url){
var box=$("#pb-share");if(!box)return;
var u=encodeURIComponent(url),t=encodeURIComponent(title);
box.innerHTML='<span>শেয়ার:</span><a class="pb-btn pb-btn-sm" target="_blank" rel="noopener" href="https://wa.me/?text='+t+"%20"+u+'">WhatsApp</a><a class="pb-btn pb-btn-sm" target="_blank" rel="noopener" href="https://www.facebook.com/sharer/sharer.php?u='+u+'">Facebook</a><a class="pb-btn pb-btn-sm" target="_blank" rel="noopener" href="https://t.me/share/url?url='+u+"&text="+t+'">Telegram</a><button class="pb-btn pb-btn-sm pb-cp" type="button" data-c="'+esc(url)+'">লিংক কপি</button>';
}
function initPost(){
var art=$(".pb-post");if(!art)return;
var body=$("#pb-body",art),id=art.getAttribute("data-id")||pkey(location.href),title=art.getAttribute("data-title")||D.title,url=art.getAttribute("data-url")||location.href;
var chips=$$(".pb-chip",art),labels=chips.map(function(a){return a.getAttribute("data-l")||""});
chips.forEach(function(a){if(isSys(a.getAttribute("data-l")))a.remove()});
var info=parseLabels(labels),orig=body.innerHTML;
function reveal(){art.classList.add("pb-ready")}
function finalize(){
if(info.download){
var txt=plainText(orig);
body.innerHTML="";body.appendChild(neon(txt,title,url));
}else{body.innerHTML=orig}
reveal();
}
function afterVerify(){
if(info.lock&&store.g("pb_u_"+id)!=="1"){lockScreen(body,info,title,url,id,finalize);reveal()}
else finalize();
}
try{
share(art,title,url);
if(info.verify&&!passed(url)){
body.innerHTML="";reveal();
gate({url:url,lock:true,onDone:afterVerify});
}else afterVerify();
}catch(err){body.innerHTML=orig;reveal()}
// related
var first=labels.filter(function(l){return !isSys(l)})[0],rel=$("#pb-rel");
if(first&&rel){
getFeed("/feeds/posts/default/-/"+encodeURIComponent(first),"max-results=5").then(function(r){
var ps=r.posts.filter(function(p){return pkey(p.url)!==pkey(url)}).slice(0,4);
if(ps.length)rel.innerHTML='<div class="pb-sec-h"><h2>সম্পর্কিত পোস্ট</h2></div><div class="pb-grid">'+ps.map(card).join("")+"</div>";
}).catch(function(){});
}
// SEO: Article + Breadcrumb JSON-LD
fetch("/feeds/posts/default/"+encodeURIComponent(id)+"?alt=json").then(function(r){return r.json()}).then(function(d){
var e=d.entry,p=parse(e),og=$('meta[property="og:image"]');
var d1=$('meta[name="description"]');
ld({"@context":"https://schema.org","@graph":[
{"@type":"Article","headline":title,"mainEntityOfPage":url,"datePublished":e.published&&e.published.$t,"dateModified":e.updated&&e.updated.$t,"author":{"@type":"Person","name":(e.author&&e.author[0]&&e.author[0].name.$t)||C.siteName},"publisher":{"@type":"Organization","name":(C.seo||{}).orgName||C.siteName},"image":(og&&og.content)||p.img||undefined,"description":d1?d1.content:undefined,"isAccessibleForFree":!info.lock},
{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":location.origin+"/"},{"@type":"ListItem","position":2,"name":title,"item":url}]}
]});
}).catch(function(){});
}
/* ---------- Rescue: ব্লগারের উইজেট পোস্ট না দিলে ফিড থেকে পোস্ট বানায় ---------- */
function rescuePost(done){
var path=location.pathname;
function get(u){return fetch(u).then(function(r){return r.json()})}
function first(d){var e=d&&d.feed&&d.feed.entry&&d.feed.entry[0];if(!e)throw new Error("not found");return e}
get("/feeds/posts/default?alt=json&path="+path).then(first).catch(function(){return get("/feeds/pages/default?alt=json&path="+path).then(first)}).then(function(e){
var pm=$(".pb-main");if(!pm)throw new Error("no main");
var title=e.title.$t,alt="";(e.link||[]).forEach(function(l){if(l.rel==="alternate")alt=l.href});
var idm=String(e.id.$t).match(/(?:post|page)-(\d+)$/),cats=(e.category||[]).map(function(c){return c.term});
var art=el("article","pb-post");
art.setAttribute("data-id",idm?idm[1]:path);art.setAttribute("data-url",alt||location.href);art.setAttribute("data-title",title);
var dt="";try{dt=new Date(e.published.$t).toLocaleDateString("bn-BD",{year:"numeric",month:"long",day:"numeric"})}catch(x){}
art.innerHTML='<div class="pb-crumb"><a href="/">হোম</a><span>/</span><span>'+esc(title)+'</span></div><h1 class="pb-post-title">'+esc(title)+'</h1><div class="pb-meta"><span>'+esc(dt)+'</span><span class="pb-lbls">'+cats.map(function(c){return '<a class="pb-chip" rel="tag" href="/search/label/'+encodeURIComponent(c)+'" data-l="'+esc(c)+'">'+esc(c)+"</a>"}).join("")+'</span></div><div class="post-body entry-content" id="pb-body"></div><div class="pb-share" id="pb-share"></div><div class="pb-rel" id="pb-rel"></div>';
$("#pb-body",art).innerHTML=(e.content&&e.content.$t)||(e.summary&&e.summary.$t)||"";
pm.innerHTML="";pm.appendChild(art);D.title=title+" | "+(C.siteName||"");
done();
}).catch(function(){});
}
/* ---------- Init ---------- */
function init(){
try{initHeader()}catch(e){}
try{initPWA()}catch(e){}
// পেজের ধরন DOM থেকেই ধরা হয় (body এর data-type এর ওপর নির্ভর করে না)
var isPost=!!$(".pb-post");
var postPath=/\/\d{4}\/\d{2}\/[^\/]+\.html$/.test(location.pathname)||/^\/p\/[^\/]+\.html$/.test(location.pathname);
if(!isPost&&postPath){rescuePost(function(){try{initPost()}catch(e){$$(".pb-post").forEach(function(a){a.classList.add("pb-ready")})}});return}
// সেফটি: কোনো কারণে স্ক্রিপ্ট আটকে গেলেও ৪ সেকেন্ড পর পোস্টের লেখা দেখাবে
setTimeout(function(){$$(".pb-post").forEach(function(a){a.classList.add("pb-ready")})},4000);
if(isPost){try{initPost()}catch(e){$$(".pb-post").forEach(function(a){a.classList.add("pb-ready")})}}
else if(TYPE!=="error_page")initIndex();
}
if(D.readyState==="loading")D.addEventListener("DOMContentLoaded",init);else init();
})();
//]]></script>
</body>
</html>
