<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html>
<html b:css='false' b:defaultwidgetversion='2' b:layoutsVersion='3' expr:dir='data:blog.languageDirection' expr:lang='data:blog.locale' xmlns='http://www.w3.org/1999/xhtml' xmlns:b='http://www.google.com/2005/gml/b' xmlns:data='http://www.google.com/2005/gml/data' xmlns:expr='http://www.google.com/2005/gml/expr'>
<head>
<meta charset='utf-8'/>
<meta content='width=device-width, initial-scale=1' name='viewport'/>
<title><data:blog.pageTitle/></title>
<b:include data='blog' name='all-head-content'/>
<link href='data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2040%2040%22%20width=%2236%22%20height=%2236%22%3E%3Cdefs%3E%3ClinearGradient%20id=%22pbg%22%20x1=%220%22%20y1=%220%22%20x2=%221%22%20y2=%221%22%3E%3Cstop%20offset=%220%22%20stop-color=%22%238b7bff%22/%3E%3Cstop%20offset=%221%22%20stop-color=%22%23b44bf0%22/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect%20width=%2240%22%20height=%2240%22%20rx=%2211%22%20fill=%22url(%23pbg)%22/%3E%3Cpath%20d=%22M13%2029V11h8.5a5.5%205.5%200%200%201%200%2011H17%22%20fill=%22none%22%20stroke=%22%23fff%22%20stroke-width=%223.4%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M29.5%208.5l1%202.5%202.5%201-2.5%201-1%202.5-1-2.5-2.5-1%202.5-1z%22%20fill=%22%23fff%22/%3E%3C/svg%3E' id='pbIcon' rel='icon' type='image/svg+xml'/>
<script>//<![CDATA[
/* ===== সাইটের সেটিং: এখান থেকে সব বদলান ===== */
window.PB = {
price: '৫০', /* Premium কন্টেন্টের দাম (টাকা) */
whatsapp: '8801927661298', /* WhatsApp নম্বর (880 দিয়ে শুরু) */
telegram: 'https://t.me/TanbinTech2', /* Telegram লিংক */
facebook: 'https://www.facebook.com/earnigsurce', /* Facebook পেজ লিংক */
youtube: 'https://youtube.com/@tanbintechzone?si=cXcHrYjhznx-rP9Q', /* YouTube চ্যানেল লিংক */
buyers: '', /* ক্রেতার সংখ্যা, যেমন '১০০+' (ফাঁকা রাখলে দেখাবে না) */
logoUrl: '', /* নিজের লোগোর ছবির লিংক (ফাঁকা রাখলে ডিফল্ট লোগো) */
course: 'http://tanbinachademy.top', /* কোর্সের ওয়েবসাইট */
pwa: { name: 'PromptBox', short: 'PromptBox', color: '#7c6cff', bg: '#0a0c12' }, /* অ্যাপের নাম ও রং */
reviews: [], /* রিভিউ স্ক্রিনশটের লিংক, যেমন ['https://.../1.jpg', 'https://.../2.jpg'] */
reviewsText: [], /* লেখা রিভিউ, যেমন [{name: 'ক্রেতার নাম', text: 'আসল রিভিউ'}] */
adBox: 'https://femalesfellowship.com/a0fkrfvyar?key=2e964f9cdd62c95c757c3b899a253e58', /* এই অ্যাড লিংক টাইমার বক্সের ভেতরে দেখাবে */
adScript: '', /* পপআন্ডার স্ক্রিপ্ট চাইলে এখানে দিন, বক্স ব্যবহার করলে ফাঁকা রাখুন: https://femalesfellowship.com/0a/1e/82/0a1e82337508907e93580b11c31c43b2.js */
adLink: '', /* (ঐচ্ছিক) ডাইরেক্ট লিংক, দিলে অ্যাড নতুন ট্যাবে খুলবে */
adHtml: '', /* (ঐচ্ছিক) ব্যানার অ্যাডের কোড। দিলে অ্যাড নতুন ট্যাবে না গিয়ে বক্সের ভেতরেই দেখাবে */
adSeconds: 10 /* কত সেকেন্ড অপেক্ষা করতে হবে */
};
/* পোস্টের লেবেলে price-30 (বা দাম-৩০) লিখলে ওই পোস্টের দাম ৩০ টাকা হবে; না লিখলে উপরের price ব্যবহার হবে */
window.pbPrice = function (names) {
var re = /^\s*(?:price|দাম)\s*[-_: ]\s*([0-9০-৯]+)\s*$/i;
for (var i = 0; i < (names || []).length; i++) {
var m = re.exec(names[i]);
if (m) { return m[1].replace(/[0-9]/g, function (d) { return '০১২৩৪৫৬৭৮৯'.charAt(d); }); }
}
return window.PB.price;
};
//]]></script>
<meta content='#0a0c12' name='theme-color'/>
<meta content='yes' name='mobile-web-app-capable'/>
<meta content='yes' name='apple-mobile-web-app-capable'/>
<meta content='PromptBox' name='apple-mobile-web-app-title'/>
<meta content='black-translucent' name='apple-mobile-web-app-status-bar-style'/>
<script>//<![CDATA[
/* PWA: app manifest + install button (works without any extra files on Blogger) */
(function () {
var PB = window.PB || {};
var cfg = PB.pwa || {};
var NAME = cfg.name || 'PromptBox';
function roundRect(x, px, py, w, h, r) {
x.beginPath();
x.moveTo(px + r, py);
x.arcTo(px + w, py, px + w, py + h, r);
x.arcTo(px + w, py + h, px, py + h, r);
x.arcTo(px, py + h, px, py, r);
x.arcTo(px, py, px + w, py, r);
x.closePath();
}
function iconPng(size) {
var c = document.createElement('canvas');
c.width = size; c.height = size;
var x = c.getContext('2d');
var s = size / 40;
var g = x.createLinearGradient(0, 0, size, size);
g.addColorStop(0, '#8b7bff'); g.addColorStop(1, '#b44bf0');
x.fillStyle = g;
roundRect(x, 0, 0, size, size, size * 0.275);
x.fill();
x.strokeStyle = '#fff'; x.lineWidth = 3.4 * s; x.lineCap = 'round'; x.lineJoin = 'round';
x.beginPath();
x.moveTo(13 * s, 29 * s); x.lineTo(13 * s, 11 * s); x.lineTo(21.5 * s, 11 * s);
x.arc(21.5 * s, 16.5 * s, 5.5 * s, -Math.PI / 2, Math.PI / 2, false);
x.lineTo(17 * s, 22 * s);
x.stroke();
x.fillStyle = '#fff';
x.beginPath();
x.moveTo(29.5 * s, 8.5 * s); x.lineTo(30.5 * s, 11 * s); x.lineTo(33 * s, 12 * s); x.lineTo(30.5 * s, 13 * s);
x.lineTo(29.5 * s, 15.5 * s); x.lineTo(28.5 * s, 13 * s); x.lineTo(26 * s, 12 * s); x.lineTo(28.5 * s, 11 * s);
x.closePath(); x.fill();
return c.toDataURL('image/png');
}
function setup() {
var i192, i512;
try { i192 = iconPng(192); i512 = iconPng(512); } catch (e) { return; }
var manifest = {
name: NAME,
short_name: cfg.short || NAME,
description: 'AI প্রম্পট, রেডি কোড ও Premium কন্টেন্ট',
id: window.location.origin + '/',
start_url: window.location.origin + '/',
scope: window.location.origin + '/',
display: 'standalone',
orientation: 'portrait',
lang: 'bn',
background_color: cfg.bg || '#0a0c12',
theme_color: cfg.color || '#7c6cff',
icons: [
{ src: i192, sizes: '192x192', type: 'image/png', purpose: 'any' },
{ src: i512, sizes: '512x512', type: 'image/png', purpose: 'any' }
]
};
var blob = new Blob([JSON.stringify(manifest)], { type: 'application/manifest+json' });
var link = document.createElement('link');
link.rel = 'manifest';
link.href = URL.createObjectURL(blob);
document.head.appendChild(link);
var apple = document.createElement('link');
apple.rel = 'apple-touch-icon';
apple.href = iconPng(180);
document.head.appendChild(apple);
}
var deferred = null;
var standalone = (window.matchMedia && window.matchMedia('(display-mode: standalone)').matches) || window.navigator.standalone === true;
var isIos = /iphone|ipad|ipod/i.test(window.navigator.userAgent) && !window.MSStream;
window.addEventListener('beforeinstallprompt', function (e) {
e.preventDefault();
deferred = e;
show();
});
window.addEventListener('appinstalled', function () { deferred = null; hide(); });
function btn() { return document.getElementById('pwaInstall'); }
function show() { var b = btn(); if (b && !standalone) { b.hidden = false; } }
function hide() { var b = btn(); if (b) { b.hidden = true; } }
function tip() {
var old = document.getElementById('pwaTip');
if (old) { old.parentNode.removeChild(old); return; }
var t = document.createElement('div');
t.id = 'pwaTip'; t.className = 'pwa-tip';
t.innerHTML = '<b>অ্যাপ হিসেবে ইনস্টল করুন</b><p>Safari-র নিচের <b>Share</b> বাটন চেপে <b>Add to Home Screen</b> বাছুন।</p><button type="button">ঠিক আছে</button>';
t.querySelector('button').addEventListener('click', function () { t.parentNode.removeChild(t); });
document.body.appendChild(t);
}
function ready() {
setup();
var b = btn();
if (!b || standalone) { return; }
b.addEventListener('click', function () {
if (deferred) {
deferred.prompt();
deferred.userChoice.then(function () { deferred = null; hide(); });
} else if (isIos) {
tip();
}
});
if (isIos) { show(); }
else if (deferred) { show(); }
}
if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', ready); } else { ready(); }
})();
//]]></script>
<!-- Force 6 posts per page on home, label, archive and search pages -->
<b:if cond='data:blog.pageType == "index" or data:blog.pageType == "archive" or data:blog.pageType == "search"'>
<script>//<![CDATA[
(function () {
try {
var u = new URL(window.location.href);
if (u.searchParams.get('max-results') !== '6') {
u.searchParams.set('max-results', '6');
window.location.replace(u.toString());
}
} catch (e) {}
})();
//]]></script>
</b:if>
<link href='https://fonts.googleapis.com' rel='preconnect'/>
<link crossorigin='anonymous' href='https://fonts.gstatic.com' rel='preconnect'/>
<link href='https://fonts.googleapis.com/css2?family=Hind+Siliguri:wght@400;500;600;700&family=Plus+Jakarta+Sans:wght@500;600;700;800&family=Sora:wght@500;700;800&display=swap' rel='stylesheet'/>
<link href='https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css' rel='stylesheet'/>
<b:skin><![CDATA[
:root {
--bg: #070910;
--surface: #0f1220;
--surface-2: #171b2d;
--line: #232842;
--text: #f1f2f9;
--muted: #8f96b0;
--accent: #7c6cff;
--accent-2: #c46bff;
--accent-soft: rgba(124, 108, 255, 0.15);
--pin: #7c6cff;
--glow-a: rgba(124, 108, 255, 0.32);
--glow-b: rgba(236, 72, 153, 0.16);
--radius: 22px;
--radius-sm: 14px;
--ease: cubic-bezier(0.22, 0.61, 0.36, 1);
--font-head: 'Plus Jakarta Sans', 'Hind Siliguri', sans-serif;
--font-body: 'Hind Siliguri', 'Plus Jakarta Sans', sans-serif;
}
body.light-mode {
--bg: #c6c2ec;
--surface: #dad7f6;
--surface-2: #c9c5ee;
--line: #a7a2db;
--text: #16123a;
--muted: #46427e;
--accent: #5a3df0;
--accent-2: #a23ff0;
--accent-soft: rgba(90, 61, 240, 0.16);
--pin: #5a3df0;
--glow-a: rgba(90, 61, 240, 0.28);
--glow-b: rgba(190, 60, 200, 0.18);
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
font-family: var(--font-body); font-size: 16px; line-height: 1.65;
background: var(--bg); color: var(--text);
overflow-x: hidden; -webkit-font-smoothing: antialiased; position: relative;
transition: background 0.3s var(--ease), color 0.3s var(--ease);
}
/* Aurora glow behind the hero */
body::before {
content: ''; position: absolute; top: -120px; left: 0; right: 0; height: 640px; z-index: -1; pointer-events: none;
background:
radial-gradient(520px 320px at 18% 30%, var(--glow-a), transparent 70%),
radial-gradient(460px 300px at 82% 20%, var(--glow-b), transparent 70%);
}
body::after {
content: ''; position: absolute; top: 0; left: 0; right: 0; height: 560px; z-index: -1; pointer-events: none; opacity: 0.4;
background-image:
linear-gradient(var(--line) 1px, transparent 1px),
linear-gradient(90deg, var(--line) 1px, transparent 1px);
background-size: 60px 60px;
-webkit-mask-image: linear-gradient(to bottom, #000, transparent 80%);
mask-image: linear-gradient(to bottom, #000, transparent 80%);
}
a { color: inherit; text-decoration: none; }
a:focus-visible, button:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
h1, h2, h3, .logo { font-family: var(--font-head); letter-spacing: -0.02em; }
.container { width: 100%; max-width: 1280px; margin: 0 auto; padding: 0 16px; }
@media (min-width: 768px) { .container { padding: 0 32px; } }
/* Floating pill header */
.header-wrap { position: sticky; top: 0; z-index: 100; padding: 12px 12px 0; }
@media (min-width: 768px) { .header-wrap { padding: 16px 32px 0; } }
.site-header {
max-width: 1216px; margin: 0 auto; height: 64px; padding: 0 12px 0 18px;
display: flex; align-items: center; justify-content: space-between;
background: color-mix(in srgb, var(--surface) 78%, transparent);
-webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px);
border: 1px solid var(--line); border-radius: 20px;
box-shadow: 0 12px 40px -18px rgba(0, 0, 0, 0.55);
}
.logo { display: flex; align-items: center; gap: 10px; font-size: 19px; font-weight: 800; }
.logo-mark {
width: 36px; height: 36px; border-radius: 11px; display: grid; place-items: center;
background: linear-gradient(135deg, var(--accent), var(--accent-2)); color: #fff; font-size: 15px;
box-shadow: 0 6px 18px -4px var(--accent);
}
.nav-links { display: flex; align-items: center; gap: 4px; padding: 4px; background: var(--surface-2); border-radius: 999px; }
.nav-links a {
font-family: var(--font-head); font-size: 14px; font-weight: 600; color: var(--muted);
padding: 8px 18px; border-radius: 999px; transition: color 0.2s, background 0.2s;
}
.nav-links a:hover { color: var(--text); }
.nav-links a.active { color: #fff; background: linear-gradient(135deg, var(--accent), var(--accent-2)); }
.header-actions { display: flex; align-items: center; gap: 8px; }
.icon-btn {
width: 40px; height: 40px; border-radius: 13px; cursor: pointer; display: grid; place-items: center;
background: var(--surface-2); border: 1px solid var(--line); color: var(--text); font-size: 15px;
transition: border-color 0.2s;
}
.icon-btn:hover { border-color: var(--accent); }
.menu-btn { display: none; }
@media (max-width: 768px) { .nav-links { display: none; } .menu-btn { display: grid; } }
.mobile-nav {
display: none; flex-direction: column; margin: 8px 12px 0; padding: 6px 16px;
background: var(--surface); border: 1px solid var(--line); border-radius: 18px;
}
.mobile-nav.open { display: flex; }
.mobile-nav a { font-family: var(--font-head); font-weight: 600; font-size: 15px; color: var(--muted); padding: 13px 2px; border-bottom: 1px solid var(--line); }
.mobile-nav a:last-child { border-bottom: none; }
.mobile-nav a.active { color: var(--accent); }
/* Hero */
.hero { padding: 52px 0 40px; }
@media (min-width: 768px) { .hero { padding: 88px 0 60px; } }
.hero-title {
font-size: 31px; line-height: 1.3; font-weight: 800; max-width: 800px;
background: linear-gradient(180deg, var(--text) 35%, color-mix(in srgb, var(--text) 55%, var(--accent)));
-webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent;
}
@media (min-width: 768px) { .hero-title { font-size: 54px; line-height: 1.22; } }
.hero-sub { margin-top: 18px; max-width: 560px; color: var(--muted); font-size: 16px; }
@media (min-width: 768px) { .hero-sub { font-size: 18px; } }
/* Section heading above the grid */
.section-head { display: flex; align-items: center; gap: 16px; margin-bottom: 22px; }
.section-head h2 { font-size: 22px; font-weight: 800; white-space: nowrap; }
.section-head span { flex: 1; height: 1px; background: linear-gradient(90deg, var(--line), transparent); }
/* Layout */
.layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 28px; }
@media (min-width: 992px) { .layout { grid-template-columns: minmax(0, 1fr) 320px; gap: 40px; } }
#main-blog-section, #main-blog-section .widget { width: 100%; margin: 0; padding: 0; }
/* Post grid: 6 posts per page */
.post-grid { display: grid; grid-template-columns: 1fr; gap: 22px; width: 100%; }
@media (min-width: 560px) { .post-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1240px) { .post-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; } }
/* Card with a framed thumbnail */
.post-card {
position: relative; display: flex; flex-direction: column; padding: 10px;
background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius);
transition: transform 0.35s var(--ease), border-color 0.35s var(--ease), box-shadow 0.35s var(--ease);
}
.post-card:hover { transform: translateY(-5px); border-color: color-mix(in srgb, var(--accent) 70%, var(--line)); box-shadow: 0 24px 50px -24px var(--accent); }
.post-card:has(.pin-flag) { border-color: var(--pin); }
.thumb { position: relative; display: block; aspect-ratio: 16 / 10; border-radius: calc(var(--radius) - 8px); background: var(--surface-2); overflow: hidden; }
.thumb img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.7s var(--ease); }
.post-card:hover .thumb img { transform: scale(1.06); }
.thumb-empty { width: 100%; height: 100%; display: grid; place-items: center; font-size: 34px; color: var(--muted); background: linear-gradient(135deg, var(--accent-soft), var(--surface-2)); }
.thumb::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to top, rgba(6, 8, 14, 0.5), transparent 45%); pointer-events: none; }
.pin-flag {
position: absolute; top: 12px; left: 12px; z-index: 2;
font-family: var(--font-head); font-size: 12px; font-weight: 700;
padding: 5px 12px; border-radius: 999px; background: var(--pin); color: #231600;
}
.card-body { display: flex; flex-direction: column; gap: 16px; padding: 16px 10px 8px; flex: 1; }
.card-title {
font-size: 17px; line-height: 1.5; font-weight: 700; min-height: 3em;
display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.card-title a:hover { color: var(--accent); }
.card-foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: auto; }
.card-date { font-size: 13px; color: var(--muted); display: inline-flex; align-items: center; gap: 7px; white-space: nowrap; min-width: 0; }
.view-btn {
flex-shrink: 0; white-space: nowrap; display: inline-flex; align-items: center; gap: 8px;
font-family: var(--font-head); font-size: 13px; font-weight: 700; color: #fff;
padding: 9px 12px 9px 18px; border-radius: 999px;
background: linear-gradient(135deg, var(--accent), var(--accent-2));
box-shadow: 0 8px 20px -8px var(--accent);
transition: transform 0.25s var(--ease), box-shadow 0.25s var(--ease);
}
.view-btn i { width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; font-size: 10px; background: rgba(255, 255, 255, 0.22); transition: transform 0.25s var(--ease); }
.view-btn:hover { transform: translateY(-2px); box-shadow: 0 12px 26px -8px var(--accent); }
.view-btn:hover i { transform: translateX(3px); }
/* ---------- Modern layer ---------- */
.hero { padding-bottom: 48px; }
.hero-title { max-width: 920px; letter-spacing: -0.03em; }
@media (min-width: 768px) { .hero-title { font-size: 64px; line-height: 1.18; } .hero { padding-top: 96px; } }
.hero-sub { padding-left: 16px; border-left: 3px solid var(--accent); }
.post-card { background: linear-gradient(180deg, var(--surface), color-mix(in srgb, var(--surface) 72%, var(--bg))); }
.post-card::before {
content: ''; position: absolute; inset: 0; border-radius: inherit; padding: 1.5px; pointer-events: none;
background: linear-gradient(135deg, var(--accent), transparent 45%, var(--accent-2));
-webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
-webkit-mask-composite: xor; mask-composite: exclude;
opacity: 0; transition: opacity 0.4s var(--ease);
}
.post-card:hover::before { opacity: 1; }
.post-card:hover { box-shadow: 0 30px 60px -28px var(--accent); }
.thumb { box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.06); }
.stats { position: absolute; left: 12px; bottom: 12px; z-index: 2; display: flex; gap: 8px; }
.stat {
display: inline-flex; align-items: center; gap: 6px; color: #fff;
font-family: var(--font-head); font-size: 12px; font-weight: 600;
padding: 5px 11px; border-radius: 999px; background: rgba(8, 10, 16, 0.62);
-webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
border: 1px solid rgba(255, 255, 255, 0.16);
}
.stat i { font-size: 11px; opacity: 0.85; }
.stats { visibility: hidden; }
.stats.ready { visibility: visible; }
.card-foot .stats { position: static; display: flex; align-items: center; gap: 14px; }
.card-foot .stat { padding: 0; background: none; border: none; -webkit-backdrop-filter: none; backdrop-filter: none; color: var(--muted); font-size: 13px; font-weight: 600; }
.card-foot .stat i { color: var(--accent); opacity: 1; font-size: 13px; }
.section-head h2 { font-size: 24px; }
.section-head h2::before { content: ''; display: inline-block; width: 10px; height: 10px; margin-right: 12px; border-radius: 50%; background: linear-gradient(135deg, var(--accent), var(--accent-2)); box-shadow: 0 0 14px var(--accent); }
@media (min-width: 992px) { .layout > aside { position: sticky; top: 100px; align-self: start; } }
.panel { background: linear-gradient(180deg, var(--surface), color-mix(in srgb, var(--surface) 72%, var(--bg))); }
.cat-list a::after {
content: '\f054'; font-family: 'Font Awesome 6 Free'; font-weight: 900; font-size: 10px;
margin-left: auto; opacity: 0.35; transition: transform 0.25s var(--ease), opacity 0.25s;
}
.cat-list a:hover::after { transform: translateX(3px); opacity: 1; color: var(--accent); }
/* ---------- Premium lock (posts labelled "lock") ---------- */
.tbp-root{--tbg:#07070d;--card:rgba(255,255,255,.055);--tline:rgba(255,255,255,.11);--tx:#eceaf6;--tmut:#a3a1bd;--ta:#8b5cf6;--tb:#22d3ee;--gold:#f5c76b;--ok:#34d399;--bad:#fb7185;
position:relative;overflow:hidden;width:100%;padding:26px 16px 40px;margin-top:6px;color:var(--tx);border-radius:22px;
background:radial-gradient(900px 500px at 15% -10%,rgba(139,92,246,.28),transparent 60%),radial-gradient(800px 500px at 100% 10%,rgba(34,211,238,.16),transparent 60%),var(--tbg)}
.tbp-root h2,.tbp-root h3{color:#fff;line-height:1.25}
.tbp-root button,.tbp-root input,.tbp-root textarea{font-family:inherit;font-size:inherit;color:inherit}
.tbp-root button{cursor:pointer;border:0;background-color:transparent}
.tbp-wrap{position:relative;z-index:1;max-width:980px;margin:0 auto}
.tbp-glass{background:var(--card);border:1px solid var(--tline);border-radius:20px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 20px 50px rgba(0,0,0,.35)}
.tbp-brand{display:flex;align-items:center;gap:10px;font:700 15px 'Sora',sans-serif;margin-bottom:20px}
.tbp-brand i{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;font-style:normal;background:linear-gradient(135deg,var(--ta),var(--tb))}
.tbp-hero{text-align:center;padding:40px 20px}
.tbp-lock{width:88px;height:88px;margin:0 auto 18px;border-radius:26px;display:grid;place-items:center;font-size:40px;background:linear-gradient(135deg,rgba(139,92,246,.35),rgba(34,211,238,.25));border:1px solid var(--tline);box-shadow:0 0 50px rgba(139,92,246,.5);animation:tbpPulse 3s ease-in-out infinite}
@keyframes tbpPulse{50%{box-shadow:0 0 80px rgba(34,211,238,.55)}}
.tbp-hero h2{font:800 clamp(26px,5vw,40px) 'Sora','Hind Siliguri',sans-serif;margin-bottom:10px}
.tbp-hero p{max-width:540px;margin:0 auto 22px;color:var(--tmut)}
.tbp-hero p b,.tbp-sub b{color:var(--gold)}
.tbp-price{display:inline-block;margin-bottom:14px;padding:7px 18px;border-radius:99px;border:1px solid rgba(245,199,107,.4);background:rgba(245,199,107,.1);font-weight:700;font-size:17px}
.tbp-price b{color:var(--gold);font-size:20px}
.tbp-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:11px 24px;border-radius:14px;font-weight:600;color:#fff;background:linear-gradient(135deg,var(--ta),#6366f1 55%,var(--tb));box-shadow:0 10px 28px rgba(99,102,241,.45);transition:transform .2s,filter .2s}
.tbp-btn:hover{transform:translateY(-2px);filter:brightness(1.1)}
.tbp-btn.ghost{background:rgba(255,255,255,.07);border:1px solid var(--tline);box-shadow:none}
.tbp-btn.wa{background:linear-gradient(135deg,#16a34a,#22c55e)}
.tbp-btn[disabled]{opacity:.7;pointer-events:none}
.tbp-sec{margin-top:30px}
.tbp-sec>h2{font-size:21px;margin-bottom:4px}
.tbp-sub{color:var(--tmut);margin-bottom:16px}
.tbp-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.tbp-pay{padding:20px;transition:transform .25s,border-color .25s}
.tbp-pay:hover{transform:translateY(-4px);border-color:rgba(139,92,246,.6)}
.tbp-ico{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;font:800 19px 'Sora';color:#fff;margin-bottom:12px}
.tbp-pay small{display:block;color:var(--tmut);margin-top:8px}
.tbp-pay b{display:block;font:600 18px 'Sora',monospace;margin:2px 0 14px;word-break:break-all;color:#fff}
.tbp-pay .tbp-btn{width:100%}
.tbp-steps{padding:22px}
.tbp-steps ol{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:12px 22px;margin-top:14px}
.tbp-steps li{display:flex;gap:12px;align-items:flex-start}
.tbp-steps li span{flex:none;width:30px;height:30px;border-radius:10px;display:grid;place-items:center;font:700 13px 'Sora';background:linear-gradient(135deg,var(--ta),var(--tb));color:#fff}
.tbp-pinbox{padding:26px 18px;text-align:center}
.tbp-pins{display:flex;justify-content:center;gap:8px;margin:18px 0}
.tbp-pins input{width:46px;height:58px;max-width:11vw;text-align:center;font:700 24px 'Sora';border-radius:13px;background:rgba(255,255,255,.06);border:1.5px solid var(--tline);color:#fff;outline:0;transition:border-color .2s,box-shadow .2s}
.tbp-pins input:focus{border-color:var(--tb);box-shadow:0 0 0 4px rgba(34,211,238,.18)}
.tbp-pins input.filled{border-color:var(--ta)}
.tbp-pins.shake{animation:tbpShake .45s}
@keyframes tbpShake{20%,60%{transform:translateX(-8px)}40%,80%{transform:translateX(8px)}}
.tbp-row{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.tbp-msg{min-height:26px;margin-top:12px;font-weight:600}
.tbp-msg.ok{color:var(--ok)}.tbp-msg.bad{color:var(--bad)}
.tbp-wa{position:fixed;right:18px;bottom:18px;z-index:50}
.tbp-modal{position:fixed;inset:0;z-index:99999;display:none;align-items:center;justify-content:center;padding:14px;background:rgba(3,3,10,.78)}
.tbp-modal.on{display:flex}
.tbp-sheet{width:100%;max-width:540px;max-height:94vh;overflow:auto;padding:24px;background:#10101c;color:#eceaf6;font:400 15px/1.6 'Hind Siliguri',system-ui,sans-serif;border:1px solid rgba(255,255,255,.12);border-radius:22px;box-shadow:0 30px 80px rgba(0,0,0,.6)}
.tbp-sheet h2{font:700 20px 'Sora',sans-serif;color:#fff}
.tbp-x{float:right;width:36px;height:36px;border-radius:11px;background:rgba(255,255,255,.08);color:#fff;border:0;cursor:pointer;font-size:17px}
.tbp-f{margin-top:13px}
.tbp-f label{display:block;font-weight:600;font-size:14px;margin-bottom:6px;color:#cfcde6}
.tbp-f label i{color:#fb7185;font-style:normal}
.tbp-f input[type=text],.tbp-f input[type=tel],.tbp-f textarea{width:100%;padding:12px 14px;border-radius:13px;background:rgba(255,255,255,.06);border:1.5px solid rgba(255,255,255,.12);color:#fff;font:inherit;outline:0}
.tbp-f textarea{min-height:80px;resize:vertical}
.tbp-f input:focus,.tbp-f textarea:focus{border-color:#22d3ee}
.tbp-f.err input,.tbp-f.err .tbp-opts{border-color:#fb7185}
.tbp-opts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.tbp-opt{position:relative}
.tbp-opt input{position:absolute;opacity:0;inset:0;cursor:pointer;width:100%;height:100%}
.tbp-opt span{display:block;text-align:center;padding:11px 6px;border-radius:13px;border:1.5px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);font-weight:600}
.tbp-opt input:checked+span{border-color:#8b5cf6;background:rgba(139,92,246,.22)}
.tbp-toasts{position:fixed;top:16px;left:50%;transform:translateX(-50%);z-index:100000;display:grid;gap:8px;width:min(92vw,420px);pointer-events:none}
.tbp-toast{padding:12px 16px;border-radius:14px;background:rgba(20,20,34,.96);border:1px solid rgba(255,255,255,.14);color:#fff;font:600 14px/1.5 'Hind Siliguri',system-ui,sans-serif;box-shadow:0 14px 40px rgba(0,0,0,.5)}
.tbp-toast.ok{border-color:#34d399}.tbp-toast.bad{border-color:#fb7185}.tbp-toast.warn{border-color:#f5c76b}
@media(max-width:720px){
.tbp-grid3,.tbp-steps ol{grid-template-columns:1fr}
.tbp-root{padding:16px 10px 80px;border-radius:16px}
.tbp-btn{width:100%}
.tbp-pins{gap:5px}.tbp-pins input{width:10.5vw;height:50px;font-size:19px}
.tbp-opts{grid-template-columns:1fr}
.tbp-wa{left:12px;right:12px}
}
/* ---------- Premium badge and featured premium posts ---------- */
.prem-flag {
position: absolute; top: 12px; right: 12px; z-index: 2; display: inline-flex; align-items: center; gap: 6px;
font-family: var(--font-head); font-size: 12px; font-weight: 700; padding: 5px 12px; border-radius: 999px;
background: linear-gradient(135deg, #f5c76b, #e8993a); color: #2a1700; box-shadow: 0 6px 16px -6px #e8993a;
}
.post-card:has(.prem-flag):not(:has(.pin-flag)) { border-color: color-mix(in srgb, #f5c76b 50%, var(--line)); }
.prem-panel h3 i { color: #f5c76b; margin-right: 6px; }
.prem-list { list-style: none; display: flex; flex-direction: column; gap: 6px; }
.prem-item { display: flex; align-items: center; gap: 12px; padding: 8px; border-radius: var(--radius-sm); transition: background 0.2s; }
.prem-item:hover { background: var(--surface-2); }
.prem-thumb { flex: none; width: 58px; height: 58px; border-radius: 12px; overflow: hidden; display: grid; place-items: center; background: var(--surface-2); color: #f5c76b; border: 1px solid var(--line); }
.prem-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.prem-title { font-size: 14px; font-weight: 600; line-height: 1.45; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.prem-item:hover .prem-title { color: var(--accent); }
/* Premium posts grid */
.prem-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.prem-item { flex-direction: column; align-items: stretch; gap: 9px; padding: 8px; background: var(--surface-2); border: 1px solid var(--line); border-radius: var(--radius-sm); height: 100%; }
.prem-item:hover { border-color: #f5c76b; }
.prem-thumb { width: 100%; height: auto; aspect-ratio: 4 / 3; font-size: 24px; border-radius: 10px; }
.prem-title { font-size: 13px; padding: 0 2px 2px; }
/* Premium panel: big and eye-catching */
.prem-panel { position: relative; padding: 20px; border: 1.5px solid transparent;
background: linear-gradient(var(--surface), var(--surface)) padding-box, linear-gradient(135deg, #f5c76b, #e8993a 45%, var(--accent-2)) border-box;
box-shadow: 0 24px 60px -28px #e8993a; }
.prem-head { display: flex; align-items: center; gap: 14px; margin-bottom: 16px; }
.prem-crown { flex: none; width: 52px; height: 52px; border-radius: 16px; display: grid; place-items: center; font-size: 23px; color: #2a1700;
background: linear-gradient(135deg, #f5c76b, #e8993a); box-shadow: 0 10px 26px -8px #e8993a; }
.prem-head h3 { font-size: 22px; font-weight: 800; margin: 0; color: var(--text); }
.prem-head p { color: var(--muted); font-size: 13.5px; margin: 0; }
.prem-list li:first-child { grid-column: 1 / -1; }
.prem-list li:first-child .prem-thumb { aspect-ratio: 16 / 9; }
.prem-list li:first-child .prem-title { font-size: 15px; }
.prem-thumb { position: relative; }
.prem-badge { position: absolute; top: 8px; right: 8px; width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; font-size: 12px;
background: linear-gradient(135deg, #f5c76b, #e8993a); color: #2a1700; box-shadow: 0 6px 14px -4px #e8993a; }
.prem-all { display: flex; align-items: center; justify-content: center; gap: 10px; margin-top: 16px; padding: 13px 18px; border-radius: 999px;
font-family: var(--font-head); font-weight: 800; font-size: 14px; color: #2a1700;
background: linear-gradient(135deg, #f5c76b, #e8993a); box-shadow: 0 12px 28px -12px #e8993a; transition: transform 0.25s var(--ease); }
.prem-all:hover { transform: translateY(-2px); }
.prem-empty { color: var(--muted); text-align: center; padding: 6px 0; }
/* Badges in the title, full-image premium thumbs, hero icons */
.card-title { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; -webkit-line-clamp: unset; overflow: visible; }
.card-title a { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.t-badges { display: flex; flex-wrap: wrap; gap: 6px; }
.t-badges:empty { display: none; }
.t-badges .pin-flag, .t-badges .prem-flag {
position: static; display: inline-flex; align-items: center; gap: 6px;
font-family: var(--font-head); font-size: 11.5px; font-weight: 800; line-height: 1; padding: 6px 11px; border-radius: 8px; box-shadow: none;
}
.t-badges .prem-flag { background: linear-gradient(135deg, #f8d684, #e8993a); color: #2a1700; }
.t-badges .pin-flag { background: var(--accent-soft); color: var(--accent); border: 1px solid var(--accent); }
.prem-thumb, .prem-list li:first-child .prem-thumb { aspect-ratio: 16 / 10; background: var(--surface-2); }
.prem-thumb img { object-fit: contain; }
/* ---------- Polish: skeletons, price tags, trust, logo, footer ---------- */
@keyframes shimmer { to { background-position: -220% 0; } }
.thumb, .prem-skel span {
background: linear-gradient(100deg, var(--surface-2) 30%, color-mix(in srgb, var(--surface-2) 55%, var(--line)) 50%, var(--surface-2) 70%);
background-size: 220% 100%; animation: shimmer 1.5s linear infinite;
}
.prem-skel { list-style: none; }
.prem-skel span { display: block; aspect-ratio: 16 / 10; border-radius: 12px; }
.thumb { border: 1px solid var(--line); }
.prem-price {
position: absolute; top: 12px; right: 12px; z-index: 2; display: inline-flex; align-items: center; gap: 6px;
padding: 6px 12px; border-radius: 999px; font-family: var(--font-head); font-size: 12.5px; font-weight: 800;
background: linear-gradient(135deg, #f8d684, #e8993a); color: #2a1700; box-shadow: 0 8px 20px -8px #e8993a;
}
.prem-badge { width: auto; height: auto; padding: 5px 11px; border-radius: 999px; display: inline-flex; align-items: center; gap: 6px; font-size: 11.5px; font-weight: 800; font-family: var(--font-head); }
.logo-mark { background: none !important; width: auto; height: auto; display: block; line-height: 0; box-shadow: none; }
.logo-mark svg, .logo-mark img { display: block; width: 36px; height: 36px; }
.trust { padding: 0 0 30px; }
.trust-strip { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 12px; }
.trust-item { display: flex; align-items: center; gap: 14px; padding: 15px 18px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-sm); }
.trust-item i { flex: none; width: 44px; height: 44px; border-radius: 13px; display: grid; place-items: center; font-size: 18px; background: var(--accent-soft); color: var(--accent); }
.trust-item.prem i { background: linear-gradient(135deg, #f8d684, #e8993a); color: #2a1700; }
.trust-item b { display: block; font-family: var(--font-head); font-size: 18px; line-height: 1.3; }
.trust-item span { font-size: 13px; color: var(--muted); }
.rev-title { font-size: 20px; margin: 28px 0 12px; }
.rev-row { display: flex; gap: 12px; overflow-x: auto; padding-bottom: 8px; scroll-snap-type: x mandatory; }
.rev-row a { flex: 0 0 220px; scroll-snap-align: start; border-radius: 14px; overflow: hidden; border: 1px solid var(--line); background: var(--surface-2); }
.rev-row img { width: 100%; height: auto; display: block; }
.foot-social { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; margin-bottom: 18px; }
.foot-social a { display: inline-flex; align-items: center; gap: 9px; padding: 10px 18px; border-radius: 999px; border: 1px solid var(--line); background: var(--surface); font-family: var(--font-head); font-weight: 700; font-size: 14px; color: var(--text); transition: border-color 0.2s, transform 0.2s var(--ease); }
.foot-social a i { color: var(--accent); font-size: 16px; }
.foot-social a:hover { border-color: var(--accent); transform: translateY(-2px); }
/* ---------- Course link and text reviews ---------- */
.nav-links a.nav-course { color: var(--accent); background: var(--accent-soft); }
.nav-links a.nav-course:hover { color: var(--accent-ink); background: var(--accent); }
.nav-links a.nav-course i, .mobile-nav a.pb-course i { margin-right: 6px; }
.course-card { display: flex; align-items: center; gap: 14px; border-color: var(--accent); background: linear-gradient(135deg, var(--accent-soft), var(--surface) 70%); transition: transform 0.25s var(--ease), box-shadow 0.25s var(--ease); }
.course-card:hover { transform: translateY(-3px); box-shadow: 0 20px 44px -24px var(--accent); }
.course-card h3 { font-size: 17px; margin: 0 0 2px; }
.course-card p { font-size: 13px; color: var(--muted); margin: 0; line-height: 1.5; }
.course-ic { flex: none; width: 48px; height: 48px; border-radius: 14px; display: grid; place-items: center; font-size: 20px; background: var(--accent); color: var(--accent-ink); }
.course-go { margin-left: auto; color: var(--accent); }
.rev-text { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 12px; margin-top: 12px; }
.rev-text:empty { display: none; }
.rev-card { padding: 18px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-sm); }
.rev-card i { color: var(--accent); font-size: 18px; margin-bottom: 10px; display: block; }
.rev-card p { font-size: 15px; margin-bottom: 12px; }
.rev-card b { font-family: var(--font-head); font-size: 14px; }
/* Price beside the Premium badge (never on the image) */
.prem-price, .prem-badge { display: none !important; }
.prem-cost, .prem-tag {
display: inline-flex; align-items: center; gap: 6px; width: max-content;
font-family: var(--font-head); font-size: 11.5px; font-weight: 800; line-height: 1;
padding: 6px 11px; border-radius: 8px; color: #f5c76b;
background: rgba(245, 199, 107, 0.14); border: 1px solid rgba(232, 153, 58, 0.55);
}
body.light-mode .prem-cost, body.light-mode .prem-tag { color: #7a4a00; background: rgba(232, 153, 58, 0.2); }
.prem-tag { margin: 2px 2px 0; }
/* ---------- Mobile friendly ---------- */
html { -webkit-text-size-adjust: 100%; }
.tbp-pins { display: grid; gap: 8px; max-width: 480px; margin: 18px auto; }
.tbp-pins input { width: 100%; max-width: none; min-width: 0; height: 56px; padding: 0; }
@media (max-width: 720px) {
.article { padding: 14px; border-radius: 16px; }
.article h1 { font-size: 22px; }
.tbp-root { padding: 14px 8px 28px; border-radius: 14px; }
.tbp-hero { padding: 26px 12px; }
.tbp-steps, .tbp-pinbox, .tbp-pay { padding: 16px 12px; }
.tbp-pins { gap: 5px; margin: 14px auto; }
.tbp-pins input { height: 46px; font-size: 19px; border-radius: 10px; }
.tbp-wa { left: auto; right: 14px; bottom: 14px; }
.tbp-wa .tbp-btn { width: auto; min-height: 48px; padding: 10px 20px; box-shadow: 0 12px 30px rgba(22, 163, 74, 0.5); }
.tbp-opts { grid-template-columns: repeat(3, 1fr); gap: 8px; }
.tbp-modal { align-items: flex-end; padding: 0; }
.tbp-sheet { max-width: none; border-radius: 22px 22px 0 0; max-height: 92vh; max-height: 92dvh; padding: 18px 16px 28px; }
.tbp-f input[type=text], .tbp-f input[type=tel], .tbp-f textarea { font-size: 16px; }
.trust-item { padding: 12px 14px; }
.foot-social a { padding: 9px 14px; font-size: 13px; }
.prem-panel { padding: 28px 14px 16px; }
}
@media (max-width: 380px) {
.tbp-pins { gap: 4px; }
.tbp-pins input { height: 42px; font-size: 17px; }
.hero-title { font-size: 27px; }
}
.post-body textarea { display: block; width: 100%; min-height: 320px; padding: 14px; resize: vertical; font: 13px/1.65 ui-monospace, Consolas, monospace; color: var(--text); background: var(--surface-2); border: 1px solid var(--line); border-radius: 12px; }
/* ---------- Ad gate (in-page box) ---------- */
.ad-gate { position: fixed; inset: 0; z-index: 100001; display: none; align-items: center; justify-content: center; padding: 14px; overflow-y: auto; background: rgba(5, 6, 12, 0.86); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.ad-gate.on { display: flex; }
.ad-box { width: 100%; max-width: 480px; padding: 18px; background: var(--surface); border: 1px solid var(--line); border-radius: 22px; box-shadow: 0 30px 80px rgba(0, 0, 0, 0.55); }
.ad-top { display: flex; align-items: center; gap: 14px; margin-bottom: 14px; }
.ad-ring { position: relative; flex: none; width: 58px; height: 58px; }
.ad-ring svg { transform: rotate(-90deg); display: block; }
.ad-track, .ad-prog { fill: none; stroke-width: 9; }
.ad-track { stroke: var(--line); }
.ad-prog { stroke: var(--accent); stroke-linecap: round; stroke-dasharray: 276.46; stroke-dashoffset: 276.46; }
.ad-ring b { position: absolute; inset: 0; display: grid; place-items: center; font-family: var(--font-head); font-size: 20px; font-weight: 800; }
.ad-info h3 { font-size: 17px; margin: 0 0 2px; }
.ad-info p { font-size: 13px; color: var(--muted); line-height: 1.5; }
.ad-frame { height: min(54vh, 440px); border-radius: 14px; overflow: hidden; border: 1px solid var(--line); background: #fff; }
.ad-frame.banner { height: 280px; display: grid; place-items: center; }
.ad-frame iframe { width: 100%; height: 100%; border: 0; display: block; }
.ad-foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 12px; }
.ad-note { padding: 26px 16px; text-align: center; border: 1px dashed var(--line); border-radius: 14px; color: var(--muted); font-size: 14px; }
.ad-note i { display: block; margin-bottom: 10px; font-size: 26px; color: var(--accent); }
.ad-newtab { font-size: 12.5px; color: var(--muted); text-decoration: underline; }
.ad-newtab:hover { color: var(--accent); }
.ad-cancel { border: 1px solid var(--line); background: var(--surface-2); color: var(--text); cursor: pointer; font-family: var(--font-body); font-size: 14px; padding: 8px 18px; border-radius: 999px; }
.ad-cancel:hover { border-color: var(--accent); }
.pb-lbls { display: none; }
/* Automatic NEW / POPULAR badges (title block) */
.t-badges .auto-flag { display: inline-flex; align-items: center; gap: 6px; font-family: var(--font-head); font-size: 11.5px; font-weight: 800; line-height: 1; padding: 6px 11px; border-radius: 8px; }
.t-badges .auto-flag.new { color: #22c55e; background: rgba(34, 197, 94, 0.14); border: 1px solid rgba(34, 197, 94, 0.5); letter-spacing: 0.04em; }
.t-badges .auto-flag.hot { color: #f87171; background: rgba(239, 68, 68, 0.14); border: 1px solid rgba(239, 68, 68, 0.5); }
body.light-mode .t-badges .auto-flag.new { color: #0f6b2f; background: rgba(34, 197, 94, 0.22); }
body.light-mode .t-badges .auto-flag.hot { color: #a11d1d; background: rgba(239, 68, 68, 0.2); }
/* ---------- Popular posts ---------- */
#popular-section, #popular-section .widget { width: 100%; margin: 0; padding: 0; background: none; border: none; box-shadow: none; }
.pop-wrap { margin-top: 48px; padding-top: 32px; border-top: 1px solid var(--line); }
.pop-title { display: flex; align-items: center; gap: 10px; font-size: 22px; margin-bottom: 18px; }
.pop-title i { color: #f87171; }
/* ---------- PWA install ---------- */
.pwa-btn { display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 16px; border-radius: 999px; border: none; cursor: pointer; font-family: var(--font-head); font-size: 13px; font-weight: 700; color: var(--accent-ink); background: var(--accent); box-shadow: 0 10px 24px -12px var(--accent); }
.pwa-btn[hidden] { display: none; }
.pwa-btn:hover { filter: brightness(1.1); }
@media (max-width: 480px) { .pwa-btn { padding: 0; width: 40px; justify-content: center; } .pwa-btn span { display: none; } }
.pwa-tip { position: fixed; left: 14px; right: 14px; bottom: 14px; z-index: 100002; max-width: 420px; margin: 0 auto; padding: 18px; border-radius: 18px; background: var(--surface); border: 1px solid var(--accent); box-shadow: 0 24px 60px rgba(0, 0, 0, 0.5); }
.pwa-tip p { margin: 6px 0 12px; font-size: 14px; color: var(--muted); }
.pwa-tip button { border: none; cursor: pointer; padding: 9px 20px; border-radius: 999px; background: var(--accent); color: var(--accent-ink); font-family: var(--font-head); font-weight: 700; }
/* Pager */
.blog-pager { display: flex; justify-content: center; gap: 12px; flex-wrap: wrap; margin-top: 44px; }
.blog-pager a {
font-family: var(--font-head); font-size: 14px; font-weight: 700; padding: 12px 26px; border-radius: 999px;
background: var(--surface); border: 1px solid var(--line); color: var(--text);
transition: background 0.2s, border-color 0.2s, color 0.2s;
}
.blog-pager a:hover { background: linear-gradient(135deg, var(--accent), var(--accent-2)); border-color: transparent; color: #fff; }
/* Sidebar */
.panel { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 22px; margin-bottom: 20px; }
.panel h3 { font-size: 16px; font-weight: 700; margin-bottom: 14px; }
.cat-list { list-style: none; display: flex; flex-direction: column; gap: 4px; }
.cat-list a { display: flex; align-items: center; gap: 12px; padding: 11px 12px; border-radius: var(--radius-sm); color: var(--muted); font-size: 15px; transition: background 0.2s, color 0.2s; }
.cat-list a i { width: 32px; height: 32px; border-radius: 10px; display: grid; place-items: center; font-size: 13px; background: var(--accent-soft); color: var(--accent); }
.cat-list a:hover { background: var(--surface-2); color: var(--text); }
/* Tool views */
.tool-view { display: none; padding: 40px 0 20px; }
.tool-box { max-width: 560px; margin: 0 auto; text-align: center; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 38px 24px; }
.tool-box h2 { font-size: 24px; margin-bottom: 8px; }
.tool-box p { color: var(--muted); font-size: 15px; margin-bottom: 22px; }
.tool-actions { display: flex; justify-content: center; gap: 12px; flex-wrap: wrap; }
.btn {
font-family: var(--font-head); font-size: 14px; font-weight: 700; cursor: pointer; border: none; color: #fff;
padding: 12px 24px; border-radius: 999px; background: linear-gradient(135deg, var(--accent), var(--accent-2));
box-shadow: 0 8px 20px -8px var(--accent); transition: transform 0.2s var(--ease);
}
.btn:hover { transform: translateY(-2px); }
.tool-box input[type=file] { max-width: 100%; font-size: 14px; color: var(--muted); }
/* Single post */
.article { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 22px; }
@media (min-width: 768px) { .article { padding: 40px; } }
.article h1 { font-size: 26px; line-height: 1.35; font-weight: 800; margin-bottom: 10px; word-break: break-word; }
@media (min-width: 768px) { .article h1 { font-size: 36px; } }
.article-date { color: var(--muted); font-size: 14px; padding-bottom: 20px; margin-bottom: 24px; border-bottom: 1px solid var(--line); }
.post-body { font-size: 16px; line-height: 1.85; word-break: break-word; overflow-wrap: break-word; }
@media (min-width: 768px) { .post-body { font-size: 17px; } }
.post-body img, .post-body iframe, .post-body video { max-width: 100% !important; height: auto !important; border-radius: var(--radius-sm); margin: 14px 0; }
.post-body pre, .post-body code {
max-width: 100%; overflow-x: auto; white-space: pre-wrap; word-wrap: break-word;
background: var(--surface-2); border: 1px solid var(--line); padding: 14px; border-radius: 10px; font-size: 14px;
}
footer { margin-top: 72px; padding: 32px 18px; text-align: center; font-size: 14px; color: var(--muted); border-top: 1px solid var(--line); }
@media (prefers-reduced-motion: reduce) {
*, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}
]]></b:skin>
</head>
<body>
<!-- promptbox: popular section uses label 'popular' only -->
<!-- Header -->
<div class='header-wrap'>
<header class='site-header'>
<a class='logo' expr:href='data:blog.homepageUrl'>
<span class='logo-mark'><svg height='36' viewBox='0 0 40 40' width='36' xmlns='http://www.w3.org/2000/svg'><defs><linearGradient id='pbg' x1='0' x2='1' y1='0' y2='1'><stop offset='0' stop-color='#8b7bff'/><stop offset='1' stop-color='#b44bf0'/></linearGradient></defs><rect fill='url(#pbg)' height='40' rx='11' width='40'/><path d='M13 29V11h8.5a5.5 5.5 0 0 1 0 11H17' fill='none' stroke='#fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3.4'/><path d='M29.5 8.5l1 2.5 2.5 1-2.5 1-1 2.5-1-2.5-2.5-1 2.5-1z' fill='#fff'/></svg></span>
<span>PromptBox</span>
</a>
<nav class='nav-links'>
<a class='nav-link-tab active' expr:href='data:blog.homepageUrl'>Home</a>
<a class='nav-link-tab' data-target='aiTestLabView' href='javascript:void(0);'>AI Test Lab</a>
<a class='nav-course pb-course' href='http://tanbinachademy.top' rel='noopener' target='_blank'><i class='fa-solid fa-graduation-cap'/> কোর্স</a>
</nav>
<div class='header-actions'>
<button class='pwa-btn' hidden='hidden' id='pwaInstall' type='button'><i class='fa-solid fa-download'/> <span>অ্যাপ ইনস্টল</span></button>
<button aria-label='Toggle theme' class='icon-btn' id='themeToggleBtn' type='button'><i class='fa-solid fa-sun' id='themeIcon'/></button>
<button aria-label='Menu' class='icon-btn menu-btn' id='mobileMenuBtn' type='button'><i class='fa-solid fa-bars'/></button>
</div>
</header>
<div class='mobile-nav' id='mobileNav'>
<a class='nav-link-tab' expr:href='data:blog.homepageUrl'>Home</a>
<a class='nav-link-tab' data-target='aiTestLabView' href='javascript:void(0);'>AI Test Lab</a>
<a class='pb-course' href='http://tanbinachademy.top' rel='noopener' target='_blank'><i class='fa-solid fa-graduation-cap'/> কোর্স</a>
</div>
</div>
<!-- Hero -->
<section class='container hero' id='heroSection'>
<h1 class='hero-title'>এক ক্লিকে আপনার প্রিমিয়াম AI প্রম্পট ও টুলস</h1>
</section>
<!-- AI Test Lab -->
<div class='container tool-view' id='aiTestLabView'>
<div class='tool-box'>
<h2>AI Test Lab</h2>
<p>Test your prompts directly on official platforms.</p>
<div class='tool-actions'>
<a class='btn' href='https://chatgpt.com' rel='noopener' target='_blank'>Open ChatGPT</a>
<a class='btn' href='https://gemini.google.com' rel='noopener' target='_blank'>Open Gemini</a>
</div>
</div>
</div>
<!-- Main content -->
<div class='container' id='mainHomeContent'>
<section class='trust' id='trustWrap' style='display:none'>
<div class='trust-strip'>
<div class='trust-item'><i class='fa-solid fa-layer-group'/><div><b id='tsTotal'>-</b><span>মোট পোস্ট</span></div></div>
<div class='trust-item prem' id='tsPremWrap'><i class='fa-solid fa-crown'/><div><b id='tsPrem'>-</b><span>Premium কন্টেন্ট</span></div></div>
<div class='trust-item' id='tsBuyWrap' style='display:none'><i class='fa-solid fa-users'/><div><b id='tsBuy'/><span>সন্তুষ্ট ক্রেতা</span></div></div>
<div class='trust-item'><i class='fa-brands fa-whatsapp'/><div><b>সরাসরি সাপোর্ট</b><span>WhatsApp এ যোগাযোগ</span></div></div>
</div>
<div id='reviewsWrap' style='display:none'>
<h2 class='rev-title'>ক্রেতাদের মতামত</h2>
<div class='rev-row' id='revRow'/>
<div class='rev-text' id='revText'/>
</div>
</section>
<div class='layout'>
<main style='min-width:0;'>
<b:section id='main-blog-section' showaddelement='yes'>
<b:widget id='Blog1' locked='false' title='Blog Posts' type='Blog' version='2' visible='true'>
<b:widget-settings>
<b:widget-setting name='showDateHeader'>false</b:widget-setting>
<b:widget-setting name='style.textcolor'>#ffffff</b:widget-setting>
<b:widget-setting name='showShareButtons'>false</b:widget-setting>
<b:widget-setting name='showCommentLink'>false</b:widget-setting>
<b:widget-setting name='style.urlcolor'>#ffffff</b:widget-setting>
<b:widget-setting name='showAuthor'>false</b:widget-setting>
<b:widget-setting name='style.linkcolor'>#ffffff</b:widget-setting>
<b:widget-setting name='style.unittype'>TextAndImage</b:widget-setting>
<b:widget-setting name='style.bgcolor'>#ffffff</b:widget-setting>
<b:widget-setting name='timestampLabel'/>
<b:widget-setting name='reactionsLabel'/>
<b:widget-setting name='showAuthorProfile'>false</b:widget-setting>
<b:widget-setting name='style.layout'>1x1</b:widget-setting>
<b:widget-setting name='showLabels'>false</b:widget-setting>
<b:widget-setting name='showLocation'>false</b:widget-setting>
<b:widget-setting name='postLabelsLabel'/>
<b:widget-setting name='showTimestamp'>true</b:widget-setting>
<b:widget-setting name='postsPerAd'>1</b:widget-setting>
<b:widget-setting name='showBacklinks'>false</b:widget-setting>
<b:widget-setting name='style.bordercolor'>#ffffff</b:widget-setting>
<b:widget-setting name='showInlineAds'>false</b:widget-setting>
<b:widget-setting name='showReactions'>false</b:widget-setting>
</b:widget-settings>
<b:includable id='main'>
<b:if cond='data:blog.pageType == "index" or data:blog.pageType == "archive" or data:blog.pageType == "search"'>
<div class='section-head'><h2>সর্বশেষ প্রম্পট</h2><span/></div>
<div class='post-grid' id='postGrid'>
<b:loop values='data:posts' var='post'>
<article class='post-card' expr:data-id='data:post.id'>
<a class='thumb' expr:href='data:post.url' expr:title='data:post.title'>
<b:if cond='data:post.featuredImage'>
<img expr:alt='data:post.title' expr:src='data:post.featuredImage' loading='lazy'/>
<b:elseif cond='data:post.firstImageUrl'/>
<img expr:alt='data:post.title' expr:src='data:post.firstImageUrl' loading='lazy'/>
<b:else/>
<span class='thumb-empty'><i class='fa-regular fa-image'/></span>
</b:if>
</a>
<div class='card-body'>
<h3 class='card-title'>
<span class='t-badges'>
<b:if cond='data:post.labels'>
<b:loop values='data:post.labels' var='label'>
<b:if cond='data:label.name == "lock" or data:label.name == "Lock"'>
<span class='prem-flag'><i class='fa-solid fa-crown'/> Premium</span>
<span class='prem-cost'><b class='pb-price'>৫০</b> টাকা</span>
</b:if>
<b:if cond='data:label.name == "Pinned"'>
<span class='pin-flag'><i class='fa-solid fa-thumbtack'/> Pinned</span>
</b:if>
<b:if cond='data:label.name == "popular" or data:label.name == "Popular" or data:label.name == "POPULAR"'>
<span class='auto-flag hot'>🔥 POPULAR</span>
</b:if>
</b:loop>
</b:if>
</span>
<a expr:href='data:post.url'><data:post.title/></a>
</h3>
<b:if cond='data:post.labels'><span class='pb-lbls'><b:loop values='data:post.labels' var='lb'><i><data:lb.name/></i></b:loop></span></b:if>
<div class='card-foot'>
<span class='stats'>
<span class='stat'><i class='fa-regular fa-eye'/> <span class='n-views'/></span>
<span class='stat'><i class='fa-regular fa-copy'/> <span class='n-copies'/></span>
</span>
<a class='view-btn' expr:href='data:post.url'>View <i class='fa-solid fa-arrow-right'/></a>
</div>
</div>
</article>
</b:loop>
</div>
<div class='blog-pager' id='blog-pager'>
<b:if cond='data:newerPageUrl'>
<a class='blog-pager-newer-link' expr:href='data:newerPageUrl'><i class='fa-solid fa-arrow-left'/> নতুন পোস্ট</a>
</b:if>
<b:if cond='data:olderPageUrl'>
<a class='blog-pager-older-link' expr:href='data:olderPageUrl'>পুরনো পোস্ট <i class='fa-solid fa-arrow-right'/></a>
</b:if>
</div>
<b:else/>
<b:loop values='data:posts' var='post'>
<article class='article'>
<h1><data:post.title/></h1>
<div class='article-date'><i class='fa-regular fa-calendar'/> <data:post.date/></div>
<b:if cond='data:post.labels'>
<b:loop values='data:post.labels' var='label'>
<b:if cond='data:label.name == "lock" or data:label.name == "Lock"'>
<style id='tbpHideStyle'>#postBody,.post-actions{display:none!important}</style>
<div class='tbp-root' id='tbpRoot'>
<div class='tbp-wrap'>
<span class='pb-lbls' id='pbLbls'><b:loop values='data:post.labels' var='lb'><i><data:lb.name/></i></b:loop></span>
<div class='tbp-brand'><i>✦</i><span id='tbpBrand'>Tanbin Premium</span></div>
<section class='tbp-hero tbp-glass'>
<div class='tbp-lock'>🔐</div>
<h2>এটি একটি Premium কন্টেন্ট</h2>
<div class='tbp-price'>মাত্র <b class='tbp-amt'>৫০ টাকা</b></div>
<p>এই কন্টেন্ট দেখতে <b class='tbp-amt'>৫০ টাকা</b> পেমেন্ট করে আপনার তথ্য পাঠান এবং Premium PIN নিয়ে আনলক করুন।</p>
<button class='tbp-btn' id='tbpOpen' type='button'>👑 Premium PIN এর জন্য আবেদন করুন</button>
</section>
<section class='tbp-sec'>
<h2>💰 পেমেন্ট মাধ্যম</h2>
<p class='tbp-sub'>যেকোনো একটি মাধ্যমে <b class='tbp-amt'>৫০ টাকা</b> পেমেন্ট করুন।</p>
<div class='tbp-grid3' id='tbpPays'/>
</section>
<section class='tbp-sec'>
<div class='tbp-steps tbp-glass'>
<h2>💳 কীভাবে Premium PIN পাবেন</h2>
<ol>
<li><span>1</span>পছন্দের পেমেন্ট মাধ্যম বেছে নিন।</li>
<li><span>2</span><div><b class='tbp-amt'>৫০ টাকা</b> পাঠান।</div></li>
<li><span>3</span>Transaction ID সংরক্ষণ করুন।</li>
<li><span>4</span>পেমেন্ট ফর্মটি পূরণ করুন।</li>
<li><span>5</span>WhatsApp এ তথ্য পাঠান।</li>
<li><span>6</span>যাচাইয়ের পর আপনাকে Premium PIN দেওয়া হবে।</li>
<li><span>7</span>Premium PIN দিয়ে কন্টেন্ট আনলক করুন।</li>
</ol>
</div>
</section>
<section class='tbp-sec'>
<div class='tbp-pinbox tbp-glass'>
<h2>🔐 আপনার কাছে Premium PIN আছে?</h2>
<p class='tbp-sub' style='margin:6px 0 0'>নিচে Premium PIN লিখে কন্টেন্ট আনলক করুন।</p>
<div class='tbp-pins' id='tbpPins'/>
<div class='tbp-row'>
<button class='tbp-btn' id='tbpUnlockBtn' type='button'>🔓 আনলক করুন</button>
<button class='tbp-btn ghost' id='tbpClear' type='button'>মুছে ফেলুন</button>
</div>
<div class='tbp-msg' id='tbpMsg' role='status'/>
</div>
</section>
</div>
<div class='tbp-wa'><button class='tbp-btn wa' id='tbpOpen3' type='button'>💬 পেমেন্ট ফর্ম</button></div>
</div>
<div aria-modal='true' class='tbp-modal' id='tbpModal' role='dialog'>
<div class='tbp-sheet'>
<button aria-label='Close' class='tbp-x' id='tbpClose' type='button'>✕</button>
<h2>📋 পেমেন্ট ভেরিফিকেশন ফর্ম</h2>
<p style='color:#a3a1bd;font-size:14px'>তথ্য দিয়ে Send করলে WhatsApp খুলবে।</p>
<form id='tbpForm' novalidate='novalidate'>
<div class='tbp-f' data-f='name'><label>আপনার নাম <i>*</i></label><input autocomplete='name' id='tbpName' placeholder='আপনার নাম লিখুন' type='text'/></div>
<div class='tbp-f' data-f='wa'><label>WhatsApp নম্বর <i>*</i></label><input autocomplete='tel' id='tbpWa' placeholder='আপনার WhatsApp নম্বর' type='tel'/></div>
<div class='tbp-f' data-f='method'><label>পেমেন্ট মাধ্যম <i>*</i></label>
<div class='tbp-opts'>
<label class='tbp-opt'><input name='tbpM' type='radio' value='bKash'/><span>bKash</span></label>
<label class='tbp-opt'><input name='tbpM' type='radio' value='Nagad'/><span>Nagad</span></label>
<label class='tbp-opt'><input name='tbpM' type='radio' value='Binance'/><span>Binance</span></label>
</div>
</div>
<div class='tbp-f' data-f='trx'><label>Transaction ID <i>*</i></label><input id='tbpTrx' placeholder='Transaction ID লিখুন' type='text'/></div>
<div class='tbp-f' data-f='amt'><label>পেমেন্টের পরিমাণ <i>*</i></label><input id='tbpAmt' placeholder='যেমন: ৫০ টাকা' type='text'/></div>
<div class='tbp-f'><label>অতিরিক্ত বার্তা</label><textarea id='tbpNote' placeholder='অতিরিক্ত কোনো তথ্য থাকলে লিখুন...'/></div>
<button class='tbp-btn wa' id='tbpSend' style='width:100%;margin-top:18px' type='submit'>💬 তথ্য পাঠান</button>
</form>
</div>
</div>
<div class='tbp-toasts' id='tbpToasts'/>
</b:if>
</b:loop>
</b:if>
<div class='post-body' id='postBody'>
<data:post.body/>
</div>
</article>
</b:loop>
</b:if>
</b:includable>
<b:includable id='aboutPostAuthor'>
<div class='author-name'>
<a class='g-profile' expr:href='data:post.author.profileUrl' rel='author' title='author profile'>
<span>
<data:post.author.name/>
</span>
</a>
</div>
<div>
<span class='author-desc'>
<data:post.author.aboutMe/>
</span>
</div>
</b:includable>
<b:includable id='addComments'>
<a expr:href='data:post.commentsUrl' expr:onclick='data:post.commentsUrlOnclick'>
<b:message name='messages.postAComment'/>
</a>
</b:includable>
<b:includable id='commentAuthorAvatar'>
<div class='avatar-image-container'>
<img class='author-avatar' expr:src='data:comment.authorAvatarSrc' height='35' width='35'/>
</div>
</b:includable>
<b:includable id='commentDeleteIcon' var='comment'>
<span expr:class='"item-control " + data:comment.adminClass'>
<b:if cond='data:showCmtPopup'>
<div class='goog-toggle-button'>
<div class='goog-inline-block comment-action-icon'/>
</div>
<b:else/>
<a class='comment-delete' expr:href='data:comment.deleteUrl' expr:title='data:messages.deleteComment'>
<img src='https://resources.blogblog.com/img/icon_delete13.gif'/>
</a>
</b:if>
</span>
</b:includable>
<b:includable id='commentForm' var='post'>
<div class='comment-form'>
<a name='comment-form'/>
<h4 id='comment-post-message'><data:messages.postAComment/></h4>
<b:if cond='data:this.messages.blogComment != ""'>
<p><data:this.messages.blogComment/></p>
</b:if>
<b:include data='post' name='commentFormIframeSrc'/>
<iframe allowtransparency='allowtransparency' class='blogger-iframe-colorize blogger-comment-from-post' expr:height='data:cmtIframeInitialHeight ?: "90px"' frameborder='0' id='comment-editor' name='comment-editor' src='' width='100%'/>
<data:post.cmtfpIframe/>
<script type='text/javascript'>
BLOG_CMT_createIframe('<data:post.appRpcRelayPath/>');
</script>
</div>
</b:includable>
<b:includable id='commentFormIframeSrc' var='post'>
<a expr:href='data:post.commentFormIframeSrc' id='comment-editor-src'/>
</b:includable>
<b:includable id='commentItem' var='comment'>
<div class='comment' expr:id='"c" + data:comment.id'>
<b:include cond='data:blog.enabledCommentProfileImages' name='commentAuthorAvatar'/>
<div class='comment-block'>
<div class='comment-author'>
<b:if cond='data:comment.authorUrl'>
<b:message name='messages.authorSaidWithLink'>
<b:param expr:value='data:comment.author' name='authorName'/>
<b:param expr:value='data:comment.authorUrl' name='authorUrl'/>
</b:message>
<b:else/>
<b:message name='messages.authorSaid'>
<b:param expr:value='data:comment.author' name='authorName'/>
</b:message>
</b:if>
</div>
<div expr:class='"comment-body" + (data:comment.isDeleted ? " deleted" : "")'>
<data:comment.body/>
</div>
<div class='comment-footer'>
<span class='comment-timestamp'>
<a expr:href='data:comment.url' title='comment permalink'>
<data:comment.timestamp/>
</a>
<b:include data='comment' name='commentDeleteIcon'/>
</span>
</div>
</div>
</div>
</b:includable>
<b:includable id='commentList' var='comments'>
<div id='comments-block'>
<b:loop values='data:comments' var='comment'>
<b:include data='comment' name='commentItem'/>
</b:loop>
</div>
</b:includable>
<b:includable id='commentPicker' var='post'>
<b:if cond='data:post.showThreadedComments'>
<b:include data='post' name='threadedComments'/>
<b:else/>
<b:include data='post' name='comments'/>
</b:if>
</b:includable>
<b:includable id='comments' var='post'>
<section expr:class='"comments" + (data:post.embedCommentForm ? " embed" : "")' expr:data-num-comments='data:post.numberOfComments' id='comments'>
<a name='comments'/>
<b:if cond='data:post.allowComments'>
<b:include name='commentsTitle'/>
<div expr:id='data:widget.instanceId + "_comments-block-wrapper"'>
<b:include cond='data:post.comments' data='post.comments' name='commentList'/>
</div>
<b:if cond='data:post.commentPagingRequired'>
<div class='paging-control-container'>
<b:if cond='data:post.hasOlderLinks'>
<a expr:class='data:post.oldLinkClass' expr:href='data:post.oldestLinkUrl'>
<data:messages.oldest/>
</a>
<a expr:class='data:post.oldLinkClass' expr:href='data:post.olderLinkUrl'>
<data:messages.older/>
</a>
</b:if>
<span class='comment-range-text'>
<data:post.commentRangeText/>
</span>
<b:if cond='data:post.hasNewerLinks'>
<a expr:class='data:post.newLinkClass' expr:href='data:post.newerLinkUrl'>
<data:messages.newer/>
</a>
<a expr:class='data:post.newLinkClass' expr:href='data:post.newestLinkUrl'>
<data:messages.newest/>
</a>
</b:if>
</div>
</b:if>
<div class='footer'>
<b:if cond='data:post.embedCommentForm'>
<b:if cond='data:post.allowNewComments'>
<b:include data='post' name='commentForm'/>
<b:else/>
<data:post.noNewCommentsText/>
</b:if>
<b:else/>
<b:if cond='data:post.allowComments'>
<b:include data='post' name='addComments'/>
</b:if>
</b:if>
</div>
</b:if>
<b:if cond='data:showCmtPopup'>
<div id='comment-popup'>
<iframe allowtransparency='allowtransparency' frameborder='0' id='comment-actions' name='comment-actions' scrolling='no'>
</iframe>
</div>
</b:if>
</section>
</b:includable>
<b:includable id='commentsTitle'>
<h3 class='title'><data:messages.comments/></h3>
</b:includable>
<b:includable id='feedLinks'>
<b:if cond='!data:view.isPost'> <!-- Blog feed links -->
<b:if cond='data:feedLinks'>
<div class='blog-feeds'>
<b:include data='feedLinks' name='feedLinksBody'/>
</div>
</b:if>
<b:else/> <!--Post feed links -->
<div class='post-feeds'>
<b:loop values='data:posts' var='post'>
<b:if cond='data:post.allowComments and data:post.feedLinks'>
<b:include data='post.feedLinks' name='feedLinksBody'/>
</b:if>
</b:loop>
</div>
</b:if>
</b:includable>
<b:includable id='feedLinksBody' var='links'>
<div class='feed-links'>
<data:messages.subscribeTo/>
<b:loop values='data:links' var='f'>
<a class='feed-link' expr:href='data:f.url' expr:type='data:f.mimeType' target='_blank'><data:f.name/> (<data:f.feedType/>)</a>
</b:loop>
</div>
</b:includable>
<b:includable id='homePageLink'>
<a class='home-link' expr:href='data:blog.homepageUrl'>
<data:messages.home/>
</a>
</b:includable>
<b:includable id='iframeComments' var='post'>
<!-- G+ comments, no longer available. The includable is retained for backwards-compatibility. -->
</b:includable>
<b:includable id='inlineAd' var='post'>
<b:if cond='!data:view.isPreview'>
<b:if cond='data:this.adCode or data:this.adClientId or data:blog.adsenseClientId'>
<!-- Ad -->
<div class='inline-ad'>
<b:if cond='data:this.adCode != ""'>
<data:this.adCode/>
<b:else/>
<b:include cond='data:this.adClientId or data:blog.adsenseClientId' name='defaultAdUnit'/>
</b:if>
</div>
</b:if>
<b:else/>
<div class='inline-ad'>
<div class='inline-ad-placeholder'>
<span><b:message name='messages.adsGoHere'/></span>
</div>
</div>
</b:if>
</b:includable>
<b:includable id='nextPageLink'>
<a class='blog-pager-older-link' expr:href='data:olderPageUrl' expr:id='data:widget.instanceId + "_blog-pager-older-link"' expr:title='data:messages.olderPosts'>
<data:messages.olderPosts/>
</a>
</b:includable>
<b:includable id='post' var='post'>
<div class='post'>
<b:include data='post' name='postMeta'/>
<b:include data='post' name='postTitle'/>
<b:include name='headerByline'/>
<b:if cond='data:view.isSingleItem'>
<b:include data='post' name='postBody'/>
<b:else/>
<b:include data='post' name='postBodySnippet'/>
<b:include data='post' name='postJumpLink'/>
</b:if>
<b:include data='post' name='postFooter'/>
</div>
</b:includable>
<b:includable id='postBody' var='post'>
<!-- If metaDescription is empty, use the post body as the schema.org description too, for G+/FB snippeting. -->
<div class='post-body entry-content float-container' expr:id='"post-body-" + data:post.id'>
<data:post.body/>
</div>
</b:includable>
<b:includable id='postBodySnippet' var='post'>
<b:include data='post' name='postBody'/>
</b:includable>
<b:includable id='postCommentsAndAd' var='post'>
<article class='post-outer-container'>
<!-- Post title and body -->
<div class='post-outer'>
<b:include data='post' name='post'/>
</div>
<!-- Comments -->
<b:include cond='data:view.isSingleItem' data='post' name='commentPicker'/>
<!-- Show ad inside post container, after comments, if single item. -->
<b:include cond='data:view.isSingleItem and data:post.includeAd' data='post' name='inlineAd'/>
</article>
<!-- Show ad outside post container (between posts) for feed pages. -->
<b:include cond='data:view.isMultipleItems and data:post.includeAd' data='post' name='inlineAd'/>
</b:includable>
<b:includable id='postCommentsLink'>
<b:if cond='data:view.isMultipleItems'>
<span class='byline post-comment-link container'>
<b:include cond='data:post.commentSource != 1' name='commentsLink'/>
</span>
</b:if>
</b:includable>
<b:includable id='postFooter' var='post'>
<div class='post-footer'>
<b:include name='footerBylines'/>
<b:include data='post' name='postFooterAuthorProfile'/>
</div>
</b:includable>
<b:includable id='postFooterAuthorProfile' var='post'>
<b:if cond='data:post.author.aboutMe and data:view.isPost'>
<div class='author-profile'>
<b:if cond='data:post.author.authorPhoto.url'>
<img class='author-image' expr:src='data:post.author.authorPhoto.url' width='50px'/>
<div class='author-about'>
<b:include data='post' name='aboutPostAuthor'/>
</div>
<b:else/>
<b:include data='post' name='aboutPostAuthor'/>
</b:if>
</div>
</b:if>
</b:includable>
<b:includable id='postHeader' var='post'>
<b:include name='headerByline'/>
</b:includable>
<b:includable id='postMeta' var='post'>
<b:include data='post' name='postMetadataJSON'/>
</b:includable>
<b:includable id='postPagination'>
<div class='blog-pager container' id='blog-pager'>
<b:include cond='data:newerPageUrl' name='previousPageLink'/>
<b:include cond='data:olderPageUrl' name='nextPageLink'/>
<b:include cond='data:view.url != data:blog.homepageUrl' name='homePageLink'/>
</div>
</b:includable>
<b:includable id='postTitle' var='post'>
<a expr:name='data:post.id'/>
<b:if cond='data:post.title != ""'>
<h3 class='post-title entry-title'>
<b:if cond='data:post.link or (data:post.url and data:view.url != data:post.url)'>
<a expr:href='data:post.link ?: data:post.url'><data:post.title/></a>
<b:else/>
<data:post.title/>
</b:if>
</h3>
</b:if>
</b:includable>
<b:includable id='previousPageLink'>
<a class='blog-pager-newer-link' expr:href='data:newerPageUrl' expr:id='data:widget.instanceId + "_blog-pager-newer-link"' expr:title='data:messages.newerPosts'>
<data:messages.newerPosts/>
</a>
</b:includable>
<b:includable id='threadedCommentForm' var='post'>
<div class='comment-form'>
<a name='comment-form'/>
<h4 id='comment-post-message'><data:messages.postAComment/></h4>
<b:if cond='data:this.messages.blogComment != ""'>
<p><data:this.messages.blogComment/></p>
</b:if>
<b:include data='post' name='commentFormIframeSrc'/>
<iframe allowtransparency='allowtransparency' class='blogger-iframe-colorize blogger-comment-from-post' expr:height='data:cmtIframeInitialHeight ?: "90px"' frameborder='0' id='comment-editor' name='comment-editor' src='' width='100%'/>
<data:post.cmtfpIframe/>
<script type='text/javascript'>
BLOG_CMT_createIframe('<data:post.appRpcRelayPath/>');
</script>
</div>
</b:includable>
<b:includable id='threadedCommentJs' var='post'>
<script async='async' expr:src='data:post.commentSrc' type='text/javascript'/>
<b:template-script inline='true' name='threaded_comments'/>
<script type='text/javascript'>
blogger.widgets.blog.initThreadedComments(
<data:post.commentJso/>,
<data:post.commentMsgs/>,
<data:post.commentConfig/>);
</script>
</b:includable>
<b:includable id='threadedComments' var='post'>
<section class='comments threaded' expr:data-embed='data:post.embedCommentForm' expr:data-num-comments='data:post.numberOfComments' id='comments'>
<a name='comments'/>
<b:include name='commentsTitle'/>
<div class='comments-content'>
<b:if cond='data:post.embedCommentForm'>
<b:include data='post' name='threadedCommentJs'/>
</b:if>
<div id='comment-holder'>
<data:post.commentHtml/>
</div>
</div>
<p class='comment-footer'>
<b:if cond='data:post.allowNewComments'>
<b:include data='post' name='threadedCommentForm'/>
<b:else/>
<data:post.noNewCommentsText/>
</b:if>
<b:if cond='data:post.showManageComments'>
<b:include data='post' name='manageComments'/>
</b:if>
</p>
<b:if cond='data:showCmtPopup'>
<div id='comment-popup'>
<iframe allowtransparency='allowtransparency' frameborder='0' id='comment-actions' name='comment-actions' scrolling='no'>
</iframe>
</div>
</b:if>
</section>
</b:includable>
<b:includable id='tooltipCss'>
<!-- LINT.IfChange -->
<style>
.post-body a.b-tooltip-container {
position: relative;
display: inline-block;
}
.post-body a.b-tooltip-container .b-tooltip {
display: block !important;
position: absolute;
top: 100%;
left: 50%;
transform: translate(-20%, 1px);
visibility: hidden;
opacity: 0;
z-index: 1;
transition: opacity 0.2s ease-in-out;
}
.post-body a.b-tooltip-container .b-tooltip iframe {
width: 200px;
height: 198px;
max-width: none;
border: none;
border-radius: 20px;
box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.2);
}
@media (hover: hover) {
.post-body a.b-tooltip-container:hover .b-tooltip {
visibility: visible;
opacity: 1;
}
}
</style>
<!-- LINT.ThenChange(//depot/google3/java/com/google/blogger/b2/layouts/widgets/v2-style.css) -->
</b:includable>
</b:widget>
</b:section>
<div class='pop-wrap' id='popWrap' style='display:none'>
<h2 class='pop-title'><i class='fa-solid fa-fire'/> জনপ্রিয় পোস্ট</h2>
<div class='post-grid' id='popGrid'/>
</div>
</main>
<!-- Sidebar -->
<aside style='min-width:0;'>
<div class='panel'>
<h3>Trending categories</h3>
<ul class='cat-list'>
<li><a href='/search?q=ChatGPT'><i class='fa-solid fa-comments'/> ChatGPT Master Prompts</a></li>
<li><a href='/search?q=Gemini'><i class='fa-solid fa-gem'/> Google Gemini Pro</a></li>
<li><a href='/search?q=Image'><i class='fa-solid fa-image'/> AI Image Generation</a></li>
<li><a href='/search?q=%E0%A6%B0%E0%A7%87%E0%A6%A1%E0%A6%BF+%E0%A6%95%E0%A7%8B%E0%A6%A1'><i class='fa-solid fa-code'/> ওয়েবসাইট রেডি কোড</a></li>
</ul>
</div>
<div class='panel prem-panel' id='premPanel'>
<div class='prem-head'>
<span class='prem-crown'><i class='fa-solid fa-crown'/></span>
<div><h3>Premium পোস্ট</h3><p>PIN দিয়ে আনলক করুন</p></div>
</div>
<ul class='prem-list' id='premList'><li class='prem-skel'><span/></li><li class='prem-skel'><span/></li><li class='prem-skel'><span/></li></ul>
<p class='prem-empty' id='premEmpty' style='display:none'>শীঘ্রই নতুন Premium কন্টেন্ট আসছে।</p>
<a class='prem-all' href='/search/label/lock'>সব Premium পোস্ট দেখুন <i class='fa-solid fa-arrow-right'/></a>
</div>
<a class='panel course-card pb-course' href='http://tanbinachademy.top' rel='noopener' target='_blank'>
<span class='course-ic'><i class='fa-solid fa-graduation-cap'/></span>
<div><h3>Tanbin Academy</h3><p>আমার কোর্সগুলো দেখতে ও ভর্তি হতে ভিজিট করুন</p></div>
<span class='course-go'><i class='fa-solid fa-arrow-right'/></span>
</a>
</aside>
</div>
</div>
<!-- Ad gate: in-page box with timer, shown before opening a normal (non-premium) post -->
<div aria-live='polite' aria-modal='true' class='ad-gate' id='adGate' role='dialog'>
<div class='ad-box'>
<div class='ad-top'>
<div class='ad-ring'>
<svg height='58' viewBox='0 0 100 100' width='58'>
<circle class='ad-track' cx='50' cy='50' r='44'/>
<circle class='ad-prog' cx='50' cy='50' id='adProg' r='44'/>
</svg>
<b id='adNum'>10</b>
</div>
<div class='ad-info'>
<h3>আপনার পোস্ট প্রস্তুত হচ্ছে</h3>
<p id='adMsg'>বিজ্ঞাপনটি দেখুন, সময় শেষ হলে সরাসরি পোস্টে যাবেন।</p>
</div>
</div>
<div class='ad-frame' id='adFrame' style='display:none'/>
<div class='ad-note' id='adNote'>
<i class='fa-solid fa-arrow-up-right-from-square'/>
<p>বিজ্ঞাপনটি নতুন ট্যাবে খুলেছে। আপনি এই পেজেই থাকুন, সময় শেষ হলে পোস্ট খুলে যাবে।</p>
</div>
<div class='ad-foot'>
<a class='ad-newtab' href='#' id='adOpen' rel='noopener' target='_blank'>বিজ্ঞাপন না খুললে এখানে চাপ দিন</a>
<button class='ad-cancel' id='adCancel' type='button'>বাতিল</button>
</div>
</div>
</div>
<footer>
<div class='foot-social' id='footSocial'/>
<p>© 2026 PromptBox Marketplace. All rights reserved.</p>
</footer>
<script>//<![CDATA[
document.addEventListener('DOMContentLoaded', function () {
var body = document.body;
var toggleBtn = document.getElementById('themeToggleBtn');
var icon = document.getElementById('themeIcon');
var saved = null;
try { saved = localStorage.getItem('promptbox_theme'); } catch (e) {}
if (saved === 'light') {
body.classList.add('light-mode');
if (icon) icon.className = 'fa-solid fa-moon';
}
if (toggleBtn) {
toggleBtn.addEventListener('click', function () {
body.classList.toggle('light-mode');
var light = body.classList.contains('light-mode');
try { localStorage.setItem('promptbox_theme', light ? 'light' : 'dark'); } catch (e) {}
if (icon) icon.className = light ? 'fa-solid fa-moon' : 'fa-solid fa-sun';
});
}
var menuBtn = document.getElementById('mobileMenuBtn');
var mobileNav = document.getElementById('mobileNav');
if (menuBtn && mobileNav) {
menuBtn.addEventListener('click', function () { mobileNav.classList.toggle('open'); });
}
var tabs = document.querySelectorAll('.nav-link-tab');
var home = document.getElementById('mainHomeContent');
var hero = document.getElementById('heroSection');
var lab = document.getElementById('aiTestLabView');
tabs.forEach(function (tab) {
tab.addEventListener('click', function () {
var target = this.getAttribute('data-target');
if (!target) { return; }
home.style.display = 'none';
hero.style.display = 'none';
lab.style.display = 'none';
document.getElementById(target).style.display = 'block';
tabs.forEach(function (t) {
t.classList.toggle('active', t.getAttribute('data-target') === target);
});
if (mobileNav) { mobileNav.classList.remove('open'); }
});
});
});
//]]></script>
<script>//<![CDATA[
(function () {
function hash(str) {
var h = 2166136261;
for (var i = 0; i < str.length; i++) {
h ^= str.charCodeAt(i);
h = Math.imul(h, 16777619) >>> 0;
}
return h;
}
function fmt(n) { return n >= 1000 ? (n / 1000).toFixed(1).replace('.0', '') + 'K' : String(n); }
function run() {
var cards = document.querySelectorAll('.post-card');
for (var i = 0; i < cards.length; i++) {
var card = cards[i];
var link = card.querySelector('.card-title a');
var stats = card.querySelector('.stats');
if (!link || !stats) { continue; }
var h = hash((link.getAttribute('href') || String(i)).replace(/^https?:\/\/[^\/]+/, '').split('?')[0]);
var views = 180 + (h % 2400);
var copies = Math.round(views * (0.16 + ((h >>> 8) % 22) / 100));
var v = stats.querySelector('.n-views');
var c = stats.querySelector('.n-copies');
if (v) { v.textContent = fmt(views); }
if (c) { c.textContent = fmt(copies); }
stats.className = 'stats ready';
}
}
if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', run); } else { run(); }
})();
//]]></script>
<script>//<![CDATA[
(function () {
var root = document.getElementById('tbpRoot');
if (!root) { return; }
/* ===== সেটিং: এখানে নম্বর ও PIN বদলান ===== */
var CONFIG = {
brandName: 'Tanbin Premium',
whatsappNumber: window.PB.whatsapp,
bkashNumber: '01927661298',
nagadNumber: '01927661298',
binanceId: '419997901',
accessPin: '81014166',
price: (function () {
var el = document.getElementById('pbLbls');
var n = [];
if (el) { var is = el.querySelectorAll('i'); for (var q = 0; q < is.length; q++) { n.push(is[q].textContent); } }
return window.pbPrice(n);
})()
};
var $ = function (id) { return document.getElementById(id); };
var esc = function (s) { return String(s).replace(/[&<>"']/g, function (c) { return { '&': '&', '<': '<', '>': '>', '"': '"', "'": ''' }[c]; }); };
function toast(msg, type) {
var t = document.createElement('div');
t.className = 'tbp-toast ' + (type || '');
t.textContent = msg;
$('tbpToasts').appendChild(t);
setTimeout(function () { if (t.parentNode) { t.parentNode.removeChild(t); } }, 3200);
}
function copyText(text) {
var done = function () { toast('✅ কপি হয়েছে!', 'ok'); };
var fallback = function () {
var a = document.createElement('textarea');
a.value = text; a.style.cssText = 'position:fixed;opacity:0';
document.body.appendChild(a); a.select();
try { document.execCommand('copy'); done(); } catch (e) { toast('⚠️ কপি হয়নি, নিজে কপি করুন।', 'warn'); }
document.body.removeChild(a);
};
if (navigator.clipboard && window.isSecureContext) { navigator.clipboard.writeText(text).then(done, fallback); } else { fallback(); }
}
$('tbpBrand').textContent = CONFIG.brandName;
var amts = document.querySelectorAll('.tbp-amt');
for (var q = 0; q < amts.length; q++) { amts[q].textContent = CONFIG.price + ' টাকা'; }
var pays = [
{ n: 'bKash', v: CONFIG.bkashNumber, l: 'নম্বর', b: 'নম্বর কপি', c: 'linear-gradient(135deg,#e2136e,#a30a50)', i: 'b' },
{ n: 'Nagad', v: CONFIG.nagadNumber, l: 'নম্বর', b: 'নম্বর কপি', c: 'linear-gradient(135deg,#f7941d,#d9531e)', i: 'N' },
{ n: 'Binance', v: CONFIG.binanceId, l: 'ID', b: 'ID কপি', c: 'linear-gradient(135deg,#f3ba2f,#c99400)', i: '◆' }
];
$('tbpPays').innerHTML = pays.map(function (p, k) {
return '<div class="tbp-pay tbp-glass"><div class="tbp-ico" style="background:' + p.c + '">' + p.i + '</div><h3>' + p.n + '</h3><small>' + p.l + '</small><b>' + esc(p.v) + '</b><button type="button" class="tbp-btn ghost" data-copy="' + k + '">' + p.b + '</button></div>';
}).join('');
$('tbpPays').addEventListener('click', function (e) {
var b = e.target.closest ? e.target.closest('[data-copy]') : null;
if (b) { copyText(pays[b.getAttribute('data-copy')].v); }
});
/* modal */
function openM() { $('tbpModal').classList.add('on'); }
function closeM() { $('tbpModal').classList.remove('on'); }
$('tbpOpen').addEventListener('click', openM);
$('tbpOpen3').addEventListener('click', openM);
$('tbpClose').addEventListener('click', closeM);
$('tbpModal').addEventListener('click', function (e) { if (e.target === this) { closeM(); } });
document.addEventListener('keydown', function (e) { if (e.key === 'Escape') { closeM(); } });
/* WhatsApp */
$('tbpForm').addEventListener('submit', function (e) {
e.preventDefault();
var m = document.querySelector('input[name=tbpM]:checked');
var d = { name: $('tbpName').value.trim(), wa: $('tbpWa').value.trim(), method: m ? m.value : '', trx: $('tbpTrx').value.trim(), amt: $('tbpAmt').value.trim(), note: $('tbpNote').value.trim() };
var bad = false;
var h1 = document.querySelector('.article h1');
var cn = h1 ? h1.textContent.trim() : '';
['name', 'wa', 'method', 'trx', 'amt'].forEach(function (k) {
var f = document.querySelector('#tbpForm [data-f=' + k + ']');
if (f) { f.classList.remove('err'); }
if (!d[k]) { bad = true; if (f) { f.classList.add('err'); } }
});
if (bad) { toast('⚠️ সব তথ্য পূরণ করুন।', 'warn'); return; }
var line = '━━━━━━━━━━━━━━━━━━';
var msg = line + '\n🔐 PREMIUM ACCESS REQUEST\n' + line + '\n\n👤 Name:\n' + d.name + '\n\n📱 WhatsApp:\n' + d.wa + '\n\n💳 Payment Method:\n' + d.method + '\n\n🧾 Transaction ID:\n' + d.trx + '\n\n💰 Amount:\n' + d.amt + '\n\n📦 Content:\n' + cn + '\n' + window.location.href + '\n\n📝 Message:\n' + (d.note || 'N/A') + '\n\n' + line + '\nPlease verify my payment and provide the Premium PIN.\n' + line;
var url = 'https://wa.me/' + CONFIG.whatsappNumber + '?text=' + encodeURIComponent(msg);
var btn = $('tbpSend');
var old = btn.innerHTML;
btn.disabled = true;
btn.innerHTML = 'অপেক্ষা করুন...';
var w = window.open('', '_blank');
setTimeout(function () {
if (w && !w.closed) { w.location.href = url; } else { window.location.href = url; }
btn.disabled = false;
btn.innerHTML = old;
toast('WhatsApp খুলছে...', 'ok');
closeM();
}, 700);
});
/* PIN */
var LEN = CONFIG.accessPin.length;
var pw = $('tbpPins');
var pins = [];
for (var i = 0; i < LEN; i++) {
var inp = document.createElement('input');
inp.type = 'password'; inp.setAttribute('inputmode', 'numeric'); inp.maxLength = 1;
inp.setAttribute('autocomplete', 'one-time-code');
pw.appendChild(inp); pins.push(inp);
}
pw.style.gridTemplateColumns = 'repeat(' + LEN + ',minmax(0,1fr))';
function verify() {
var v = pins.map(function (p) { return p.value; }).join('');
var msg = $('tbpMsg');
if (v.length < LEN) { toast('⚠️ সম্পূর্ণ ' + LEN + ' ডিজিটের Premium PIN দিন।', 'warn'); return; }
if (v === CONFIG.accessPin) {
msg.className = 'tbp-msg ok'; msg.textContent = '✅ আনলক হয়েছে';
toast('✅ আনলক হয়েছে', 'ok');
var st = $('tbpHideStyle');
if (st && st.parentNode) { st.parentNode.removeChild(st); }
root.style.display = 'none';
var body = $('postBody');
if (body && body.scrollIntoView) { body.scrollIntoView({ behavior: 'smooth', block: 'start' }); }
} else {
msg.className = 'tbp-msg bad'; msg.textContent = '❌ ভুল Premium PIN';
toast('❌ ভুল Premium PIN', 'bad');
pw.classList.remove('shake'); void pw.offsetWidth; pw.classList.add('shake');
}
}
pins.forEach(function (el, i) {
el.addEventListener('input', function () {
el.value = el.value.replace(/\D/g, '').slice(-1);
el.classList.toggle('filled', !!el.value);
if (el.value && i < LEN - 1) { pins[i + 1].focus(); }
});
el.addEventListener('keydown', function (e) {
if (e.key === 'Backspace' && !el.value && i > 0) { pins[i - 1].value = ''; pins[i - 1].classList.remove('filled'); pins[i - 1].focus(); }
else if (e.key === 'Enter') { verify(); }
});
el.addEventListener('paste', function (e) {
e.preventDefault();
var t = ((e.clipboardData || window.clipboardData).getData('text') || '').replace(/\D/g, '').slice(0, LEN);
for (var k = 0; k < t.length; k++) { if (pins[i + k]) { pins[i + k].value = t.charAt(k); pins[i + k].classList.add('filled'); } }
pins[Math.min(i + t.length, LEN - 1)].focus();
});
});
$('tbpClear').addEventListener('click', function () {
pins.forEach(function (p) { p.value = ''; p.classList.remove('filled'); });
$('tbpMsg').textContent = ''; pins[0].focus();
});
$('tbpUnlockBtn').addEventListener('click', verify);
})();
//]]></script>
<script>//<![CDATA[
(function () {
var list = document.getElementById('premList');
var empty = document.getElementById('premEmpty');
if (!list) { return; }
function fromFeed(label) {
return fetch('/feeds/posts/default/-/' + label + '?alt=json&max-results=6')
.then(function (r) { return r.json(); })
.then(function (data) {
var entries = (data.feed && data.feed.entry) || [];
return entries.map(function (e) {
var href = '#';
(e.link || []).forEach(function (l) { if (l.rel === 'alternate') { href = l.href; } });
var img = '';
if (e.media$thumbnail) {
img = e.media$thumbnail.url.replace(/\/s\d+(-c)?\//, '/s480/').replace(/=s\d+(-c)?$/, '=s480');
} else if (e.content && e.content.$t) {
var m = e.content.$t.match(/<img[^>]+src=["']([^"']+)["']/i);
if (m) { img = m[1]; }
}
var labs = [];
(e.category || []).forEach(function (c) { labs.push(c.term); });
return { href: href, img: img, title: e.title.$t, labels: labs };
});
})
.catch(function () { return []; });
}
function fromPage(label) {
return fetch('/search/label/' + label + '?max-results=6')
.then(function (r) { return r.text(); })
.then(function (html) {
var doc = new DOMParser().parseFromString(html, 'text/html');
var cards = doc.querySelectorAll('.post-card');
var out = [];
for (var i = 0; i < cards.length && i < 6; i++) {
var a = cards[i].querySelector('.card-title a');
var im = cards[i].querySelector('.thumb img');
if (a) {
var labs = [];
var ls = cards[i].querySelectorAll('.pb-lbls i');
for (var k = 0; k < ls.length; k++) { labs.push(ls[k].textContent); }
out.push({ href: a.getAttribute('href'), img: im ? im.getAttribute('src') : '', title: a.textContent.trim(), labels: labs });
}
}
return out;
})
.catch(function () { return []; });
}
function firstNonEmpty(tasks) {
return tasks.reduce(function (p, task) {
return p.then(function (res) { return res.length ? res : task(); });
}, Promise.resolve([]));
}
function render(items) {
list.innerHTML = '';
if (!items.length) { if (empty) { empty.style.display = 'block'; } return; }
items.forEach(function (it) {
var li = document.createElement('li');
var a = document.createElement('a');
a.className = 'prem-item';
a.href = it.href;
var th = document.createElement('span');
th.className = 'prem-thumb';
if (it.img) {
var im = document.createElement('img');
im.src = it.img; im.alt = ''; im.loading = 'lazy';
th.appendChild(im);
} else {
var ic = document.createElement('i');
ic.className = 'fa-solid fa-lock';
th.appendChild(ic);
}
var tag = document.createElement('span');
tag.className = 'prem-tag';
tag.innerHTML = '<i class="fa-solid fa-crown"></i> ' + window.pbPrice(it.labels || []) + ' টাকা';
var ti = document.createElement('span');
ti.className = 'prem-title';
ti.textContent = it.title;
a.appendChild(th);
a.appendChild(tag);
a.appendChild(ti);
li.appendChild(a);
list.appendChild(li);
});
}
firstNonEmpty([
function () { return fromFeed('lock'); },
function () { return fromFeed('Lock'); },
function () { return fromPage('lock'); },
function () { return fromPage('Lock'); }
]).then(render);
})();
//]]></script>
<script>//<![CDATA[
(function () {
var PB = window.PB || {};
var i;
/* NEW goes only to the single newest post; when a newer one is published, the old one loses it */
function pathOf(u) { return String(u || '').replace(/^https?:\/\/[^\/]+/, '').split('?')[0]; }
fetch('/feeds/posts/summary?alt=json&max-results=1')
.then(function (r) { return r.json(); })
.then(function (d) {
var e = ((d.feed && d.feed.entry) || [])[0];
if (!e) { return; }
var href = '';
(e.link || []).forEach(function (l) { if (l.rel === 'alternate') { href = l.href; } });
var target = pathOf(href);
var cs = document.querySelectorAll('.post-card');
for (var k = 0; k < cs.length; k++) {
var a2 = cs[k].querySelector('.card-title a');
var row2 = cs[k].querySelector('.t-badges');
if (a2 && row2 && pathOf(a2.getAttribute('href')) === target && !row2.querySelector('.auto-flag.new')) {
var nf = document.createElement('span');
nf.className = 'auto-flag new';
nf.textContent = 'NEW';
row2.appendChild(nf);
row2.style.display = '';
}
}
})
.catch(function () {});
var rows = document.querySelectorAll('.t-badges');
for (i = 0; i < rows.length; i++) { if (!rows[i].children.length) { rows[i].style.display = 'none'; } }
var prices = document.querySelectorAll('.pb-price');
for (i = 0; i < prices.length; i++) {
var pc = prices[i].closest ? prices[i].closest('.post-card') : null;
var pn = [];
if (pc) { var pl = pc.querySelectorAll('.pb-lbls i'); for (var k = 0; k < pl.length; k++) { pn.push(pl[k].textContent); } }
prices[i].textContent = window.pbPrice(pn);
}
if (PB.logoUrl) {
var lm = document.querySelector('.logo-mark');
if (lm) {
lm.innerHTML = '';
var im = document.createElement('img');
im.src = PB.logoUrl; im.alt = 'PromptBox';
im.style.cssText = 'border-radius:11px;object-fit:cover';
lm.appendChild(im);
}
var fv = document.getElementById('pbIcon');
if (fv) { fv.href = PB.logoUrl; fv.removeAttribute('type'); }
}
if (PB.course) {
var cl = document.querySelectorAll('.pb-course');
for (i = 0; i < cl.length; i++) { cl[i].href = PB.course; }
}
var soc = document.getElementById('footSocial');
if (soc) {
var links = [];
if (PB.course) { links.push([PB.course, 'fa-solid fa-graduation-cap', 'কোর্স']); }
if (PB.whatsapp) { links.push(['https://wa.me/' + PB.whatsapp, 'fa-brands fa-whatsapp', 'WhatsApp']); }
if (PB.telegram) { links.push([PB.telegram, 'fa-brands fa-telegram', 'Telegram']); }
if (PB.facebook) { links.push([PB.facebook, 'fa-brands fa-facebook', 'Facebook']); }
if (PB.youtube) { links.push([PB.youtube, 'fa-brands fa-youtube', 'YouTube']); }
links.forEach(function (l) {
var a = document.createElement('a');
a.href = l[0]; a.target = '_blank'; a.rel = 'noopener';
var ic = document.createElement('i'); ic.className = l[1];
var tx = document.createElement('span'); tx.textContent = l[2];
a.appendChild(ic); a.appendChild(tx);
soc.appendChild(a);
});
}
var wrap = document.getElementById('trustWrap');
var path = window.location.pathname;
var isHome = (path === '/' || path === '/index.html') && window.location.search.indexOf('updated-max') === -1;
if (!wrap || !isHome) { return; }
wrap.style.display = 'block';
function bn(n) { return n.toLocaleString('bn-BD'); }
function total(url) {
return fetch(url).then(function (r) { return r.json(); }).then(function (d) {
return parseInt(d.feed.openSearch$totalResults.$t, 10) || 0;
});
}
total('/feeds/posts/summary?alt=json&max-results=0').then(function (n) {
document.getElementById('tsTotal').textContent = bn(n);
}, function () { document.getElementById('tsTotal').parentNode.parentNode.style.display = 'none'; });
total('/feeds/posts/summary/-/lock?alt=json&max-results=0').then(function (n) {
if (n) { return n; }
return total('/feeds/posts/summary/-/Lock?alt=json&max-results=0');
}).then(function (n) {
if (!n) { document.getElementById('tsPremWrap').style.display = 'none'; return; }
document.getElementById('tsPrem').textContent = bn(n);
}, function () { document.getElementById('tsPremWrap').style.display = 'none'; });
if (PB.buyers) {
document.getElementById('tsBuy').textContent = PB.buyers;
document.getElementById('tsBuyWrap').style.display = 'flex';
}
if (PB.reviews && PB.reviews.length) {
var row = document.getElementById('revRow');
PB.reviews.forEach(function (u) {
var a = document.createElement('a');
a.href = u; a.target = '_blank'; a.rel = 'noopener';
var im2 = document.createElement('img');
im2.src = u; im2.alt = 'ক্রেতার মতামত'; im2.loading = 'lazy';
a.appendChild(im2); row.appendChild(a);
});
document.getElementById('reviewsWrap').style.display = 'block';
}
if (PB.reviewsText && PB.reviewsText.length) {
var box = document.getElementById('revText');
PB.reviewsText.forEach(function (r) {
if (!r || !r.text) { return; }
var card = document.createElement('div');
card.className = 'rev-card';
var q = document.createElement('i'); q.className = 'fa-solid fa-quote-left';
var tx = document.createElement('p'); tx.textContent = r.text;
card.appendChild(q); card.appendChild(tx);
if (r.name) { var nm = document.createElement('b'); nm.textContent = r.name; card.appendChild(nm); }
box.appendChild(card);
});
document.getElementById('reviewsWrap').style.display = 'block';
}
})();
//]]></script>
<script>//<![CDATA[
(function () {
var PB = window.PB || {};
var AD = PB.adLink;
var AD_HTML = PB.adHtml;
var AD_SCRIPT = PB.adScript;
var AD_BOX = PB.adBox;
var SECS = PB.adSeconds || 10;
var gate = document.getElementById('adGate');
if (!gate || !(AD || AD_HTML || AD_SCRIPT || AD_BOX)) { return; }
var MODE = AD_HTML ? 'box' : (AD_BOX ? 'link-box' : (AD_SCRIPT ? 'script' : 'tab'));
var num = document.getElementById('adNum');
var prog = document.getElementById('adProg');
var msg = document.getElementById('adMsg');
var frame = document.getElementById('adFrame');
var note = document.getElementById('adNote');
var newTab = document.getElementById('adOpen');
var CIRC = 276.46;
var timer = null;
var target = '';
var injected = false;
function bn(n) { return n.toLocaleString('bn-BD'); }
function normalLink(el) {
var a = el && el.closest ? el.closest('.post-card a') : null;
if (!a) { return null; }
var card = a.closest('.post-card');
if (!card || card.querySelector('.prem-flag')) { return null; }
var href = a.getAttribute('href');
if (!href || href.charAt(0) === '#') { return null; }
return a;
}
function isPremium(el) {
if (!el || !el.closest) { return false; }
var card = el.closest('.post-card');
return !!(el.closest('.prem-panel') || (card && card.querySelector('.prem-flag')));
}
/* Ad network script: loaded only when a visitor reaches for a normal post,
and kept blind to taps on Premium posts and the Premium box. */
if (MODE === 'script' && document.querySelector('.post-card')) {
var pre = document.createElement('link');
pre.rel = 'preload'; pre.as = 'script'; pre.href = AD_SCRIPT;
document.head.appendChild(pre);
['click', 'mousedown', 'mouseup', 'pointerdown', 'pointerup', 'touchstart', 'touchend'].forEach(function (t) {
window.addEventListener(t, function (e) { if (isPremium(e.target)) { e.stopPropagation(); } }, true);
});
var inject = function (e) {
if (injected || !normalLink(e.target)) { return; }
injected = true;
var sc = document.createElement('script');
sc.src = AD_SCRIPT;
document.body.appendChild(sc);
};
document.addEventListener('pointerover', inject, true);
document.addEventListener('touchstart', inject, true);
document.addEventListener('focusin', inject, true);
}
function close() {
if (timer) { clearInterval(timer); timer = null; }
gate.classList.remove('on');
frame.innerHTML = '';
document.body.style.overflow = '';
}
function mountAd() {
frame.innerHTML = '';
var p = note.querySelector('p');
if (MODE === 'box' || MODE === 'link-box') {
var f = document.createElement('iframe');
f.setAttribute('title', 'Advertisement');
if (MODE === 'box') {
f.setAttribute('sandbox', 'allow-scripts allow-forms allow-popups allow-popups-to-escape-sandbox');
f.srcdoc = '<!doctype html><html><head><meta charset="utf-8"><style>body{margin:0;display:flex;justify-content:center}</style></head><body>' + AD_HTML + '</body></html>';
frame.className = 'ad-frame banner';
} else {
f.setAttribute('sandbox', 'allow-scripts allow-same-origin allow-forms allow-popups allow-popups-to-escape-sandbox');
f.src = AD_BOX;
frame.className = 'ad-frame';
}
frame.style.display = '';
frame.appendChild(f);
note.style.display = 'none';
if (MODE === 'link-box') {
newTab.style.display = 'inline';
newTab.href = AD_BOX;
newTab.textContent = 'বিজ্ঞাপন না দেখালে নতুন ট্যাবে খুলুন';
} else {
newTab.style.display = 'none';
}
} else {
frame.style.display = 'none';
note.style.display = 'block';
if (MODE === 'tab') {
if (p) { p.textContent = 'বিজ্ঞাপনটি নতুন ট্যাবে খুলেছে। আপনি এই পেজেই থাকুন, সময় শেষ হলে পোস্ট খুলে যাবে।'; }
newTab.style.display = 'inline'; newTab.href = AD;
} else {
if (p) { p.textContent = 'বিজ্ঞাপন আলাদা উইন্ডোতে চলছে। আপনি এই পেজেই থাকুন, সময় শেষ হলে পোস্ট খুলে যাবে।'; }
newTab.style.display = 'none';
}
}
}
function start(url) {
target = url;
if (MODE === 'tab') { try { window.open(AD, '_blank'); } catch (e) {} }
gate.classList.add('on');
document.body.style.overflow = 'hidden';
msg.textContent = (MODE === 'box' || MODE === 'link-box') ? 'বিজ্ঞাপনটি দেখুন, সময় শেষ হলে সরাসরি পোস্টে যাবেন।' : 'সময় শেষ হলে সরাসরি পোস্টে যাবেন।';
mountAd();
var end = Date.now() + SECS * 1000;
function tick() {
var left = end - Date.now();
if (left <= 0) {
clearInterval(timer); timer = null;
prog.style.strokeDashoffset = 0;
num.textContent = bn(0);
msg.textContent = 'পোস্টে যাওয়া হচ্ছে...';
window.location.href = target;
return;
}
num.textContent = bn(Math.ceil(left / 1000));
prog.style.strokeDashoffset = CIRC * (left / (SECS * 1000));
}
prog.style.strokeDashoffset = CIRC;
tick();
timer = setInterval(tick, 200);
}
document.getElementById('adCancel').addEventListener('click', close);
document.addEventListener('keydown', function (e) { if (e.key === 'Escape') { close(); } });
window.addEventListener('pageshow', close);
/* runs after the ad script's own click handling (bubble phase, on window) */
window.addEventListener('click', function (e) {
if (e.defaultPrevented || e.button !== 0 || e.metaKey || e.ctrlKey || e.shiftKey || e.altKey) { return; }
var a = normalLink(e.target);
if (!a) { return; }
e.preventDefault();
start(a.href);
}, false);
})();
//]]></script>
<script>//<![CDATA[
(function () {
var wrap = document.getElementById('popWrap');
var grid = document.getElementById('popGrid');
if (!wrap || !grid) { return; }
if (document.querySelector('.article')) { return; }
function hash(str) {
var h = 2166136261;
for (var i = 0; i < str.length; i++) { h ^= str.charCodeAt(i); h = Math.imul(h, 16777619) >>> 0; }
return h;
}
function fmt(n) { return n >= 1000 ? (n / 1000).toFixed(1).replace('.0', '') + 'K' : String(n); }
function path(u) { return String(u || '').replace(/^https?:\/\/[^\/]+/, '').split('?')[0]; }
function make(tag, cls) { var e = document.createElement(tag); if (cls) { e.className = cls; } return e; }
function card(it) {
var art = make('article', 'post-card');
var th = make('a', 'thumb');
th.href = it.href; th.title = it.title;
if (it.img) {
var im = make('img');
im.src = it.img; im.alt = it.title; im.loading = 'lazy';
th.appendChild(im);
} else {
var em = make('span', 'thumb-empty');
em.innerHTML = '<i class="fa-regular fa-image"></i>';
th.appendChild(em);
}
var body = make('div', 'card-body');
var h3 = make('h3', 'card-title');
var ta = make('a');
ta.href = it.href; ta.textContent = it.title;
h3.appendChild(ta);
var foot = make('div', 'card-foot');
var h = hash(path(it.href));
var views = 180 + (h % 2400);
var copies = Math.round(views * (0.16 + ((h >>> 8) % 22) / 100));
var st = make('span', 'stats ready');
st.innerHTML = '<span class="stat"><i class="fa-regular fa-eye"></i> <span>' + fmt(views) + '</span></span><span class="stat"><i class="fa-regular fa-copy"></i> <span>' + fmt(copies) + '</span></span>';
var vb = make('a', 'view-btn');
vb.href = it.href;
vb.innerHTML = 'View <i class="fa-solid fa-arrow-right"></i>';
foot.appendChild(st); foot.appendChild(vb);
body.appendChild(h3); body.appendChild(foot);
art.appendChild(th); art.appendChild(body);
return art;
}
fetch('/feeds/posts/default/-/popular?alt=json&max-results=12')
.then(function (r) { if (!r.ok) { throw new Error('feed'); } return r.json(); })
.then(function (d) {
var out = [];
((d.feed && d.feed.entry) || []).forEach(function (e) {
var terms = (e.category || []).map(function (c) { return String(c.term || '').trim(); });
var isPrem = terms.some(function (t) { return /^lock$/i.test(t); });
var isPop = terms.some(function (t) { return /^popular$/i.test(t); });
if (!isPop || isPrem || out.length >= 6) { return; }
var href = '';
(e.link || []).forEach(function (l) { if (l.rel === 'alternate') { href = l.href; } });
if (!href) { return; }
var img = '';
if (e.media$thumbnail) { img = e.media$thumbnail.url; }
else if (e.content && e.content.$t) {
var m = e.content.$t.match(/<img[^>]+src=["']([^"']+)["']/i);
if (m) { img = m[1]; }
}
img = img.replace(/\/s\d+(-c)?\//, '/s800/').replace(/=s\d+(-c)?$/, '=s800');
out.push({ title: e.title.$t, href: href, img: img });
});
if (!out.length) { return; }
out.forEach(function (it) { grid.appendChild(card(it)); });
wrap.style.display = 'block';
})
.catch(function () {});
})();
//]]></script>
</body>
</html>