Home প্রিমিয়াম পোস্ট APPS STORE NEW WEBSITE TO APP কোর্স

প্রম্পট এবং কোড দেখুন

AI Test Lab

Test your prompts directly on official platforms.

Prompt নিয়ে কাজ করার জন্য ওয়েবসাইট বানানোর সম্পুর্ন রেডিকোড।

Download

 



<?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 == &quot;&quot;'>

<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 != &quot;item&quot;'>

<!-- হোম/লেবেল পেজের শেয়ার ইমেজ: নিচের লিংকে আপনার ১২০০x৬৩০ ইমেজের URL বসান -->

<meta content='https://YOUR-SITE.blogspot.com/og-image.jpg' property='og:image'/>

</b:if>

<link expr:href='data:blog.homepageUrl + &quot;feeds/posts/default&quot;' 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&amp;family=Plus+Jakarta+Sans:wght@400;500;600;700;800&amp;family=Sora:wght@500;600;700;800&amp;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 == &quot;index&quot;'>

<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 == &quot;error_page&quot;'>

            <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 == &quot;item&quot;'>

              <b:loop values='data:posts' var='post'>

                <b:include data='post' name='post'/>

              </b:loop>

            <b:elseif cond='data:blog.pageType == &quot;static_page&quot;'/>

              <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 != &quot;lock&quot; and data:label.name != &quot;verify&quot; and data:label.name != &quot;download&quot; and data:label.name != &quot;popular&quot;'>

                  <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 != &quot;&quot;'>

            <div class='pb-box'>

              <b:if cond='data:title != &quot;&quot;'><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 != &quot;&quot;'><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 {"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"}[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>


বিজ্ঞাপন
পোস্ট করেছেন

Tanbin Farazi