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

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

AI Test Lab

Test your prompts directly on official platforms.

PromptBox - ওয়েবসাইটের সম্পুর্ন ব্লগার রেডিকোড 🔥

LockPinnedpopularprice-399
LockPinnedpopularprice-399
✦Tanbin Premium
🔐

এটি একটি Premium কন্টেন্ট

মাত্র ৫০ টাকা

bKash/Nagad অ্যাপে Send Money করে (Payment নয়) ৫০ টাকা পাঠান ও ফর্ম জমা দিন — অ্যাডমিন অ্যাপ্রুভ করলেই কন্টেন্ট আনলক হবে।

💰 পেমেন্ট মাধ্যম

যেকোনো একটি মাধ্যমে ৫০ টাকা পাঠান। bKash / Nagad / Rocket অ্যাপে অবশ্যই “Send Money” অপশন ব্যবহার করুন — “Payment” নয়।

💳 কীভাবে আনলক করবেন

  1. 1পছন্দের মাধ্যম (bKash/Nagad/Binance) বেছে নিন।
  2. 2
    ৫০ টাকা Send Money করুন (Payment নয়)।
  3. 3Transaction ID সংরক্ষণ করুন।
  4. 4ফর্ম পূরণ করে জমা দিন — রিকোয়েস্ট শুধু একবারই দেবেন।
  5. 5স্ট্যাটাসে “Pending” দেখাবে, অ্যাডমিন যাচাই করছেন।
  6. 6অ্যাপ্রুভ হলেই এই পেজে কন্টেন্ট নিজে থেকে আনলক হবে।

 


✦ CODE SNIPPET
<?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 == &quot;index&quot; or data:blog.pageType == &quot;archive&quot; or data:blog.pageType == &quot;search&quot;'>
    <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&amp;family=Plus+Jakarta+Sans:wght@500;600;700;800&amp;family=Sora:wght@500;700;800&amp;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'/> ক&#2507;র&#2509;স</a>
            </nav>
            <div class='header-actions'>
                <button class='pwa-btn' hidden='hidden' id='pwaInstall' type='button'><i class='fa-solid fa-download'/> <span>অ&#2509;য&#2494;প ইনস&#2509;টল</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'/> ক&#2507;র&#2509;স</a>
        </div>
    </div>

    <!-- Hero -->
    <section class='container hero' id='heroSection'>
        <h1 class='hero-title'>এক ক&#2509;ল&#2495;ক&#2503; আপন&#2494;র প&#2509;র&#2495;ম&#2495;য&#2492;&#2494;ম AI প&#2509;রম&#2509;পট ও ট&#2497;লস</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>ম&#2507;ট প&#2507;স&#2509;ট</span></div></div>
                <div class='trust-item prem' id='tsPremWrap'><i class='fa-solid fa-crown'/><div><b id='tsPrem'>-</b><span>Premium কন&#2509;ট&#2503;ন&#2509;ট</span></div></div>
                <div class='trust-item' id='tsBuyWrap' style='display:none'><i class='fa-solid fa-users'/><div><b id='tsBuy'/><span>সন&#2509;ত&#2497;ষ&#2509;ট ক&#2509;র&#2503;ত&#2494;</span></div></div>
                <div class='trust-item'><i class='fa-brands fa-whatsapp'/><div><b>সর&#2494;সর&#2495; স&#2494;প&#2507;র&#2509;ট</b><span>WhatsApp এ য&#2507;গ&#2494;য&#2507;গ</span></div></div>
            </div>
            <div id='reviewsWrap' style='display:none'>
                <h2 class='rev-title'>ক&#2509;র&#2503;ত&#2494;দ&#2503;র মত&#2494;মত</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 == &quot;index&quot; or data:blog.pageType == &quot;archive&quot; or data:blog.pageType == &quot;search&quot;'>

                            <div class='section-head'><h2>সর&#2509;বশ&#2503;ষ প&#2509;রম&#2509;পট</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 == &quot;lock&quot; or data:label.name == &quot;Lock&quot;'>
                                                                <span class='prem-flag'><i class='fa-solid fa-crown'/> Premium</span>
                                                                <span class='prem-cost'><b class='pb-price'>৫০</b> ট&#2494;ক&#2494;</span>
                                                            </b:if>
                                                            <b:if cond='data:label.name == &quot;Pinned&quot;'>
                                                                <span class='pin-flag'><i class='fa-solid fa-thumbtack'/> Pinned</span>
                                                            </b:if>
                                                            <b:if cond='data:label.name == &quot;popular&quot; or data:label.name == &quot;Popular&quot; or data:label.name == &quot;POPULAR&quot;'>
                                                                <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'/> নত&#2497;ন প&#2507;স&#2509;ট</a>
                                </b:if>
                                <b:if cond='data:olderPageUrl'>
                                    <a class='blog-pager-older-link' expr:href='data:olderPageUrl'>প&#2497;রন&#2507; প&#2507;স&#2509;ট <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 == &quot;lock&quot; or data:label.name == &quot;Lock&quot;'>
                                    <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>&#10022;</i><span id='tbpBrand'>Tanbin Premium</span></div>
                                        <section class='tbp-hero tbp-glass'>
                                            <div class='tbp-lock'>🔐</div>
                                            <h2>এট&#2495; একট&#2495; Premium কন&#2509;ট&#2503;ন&#2509;ট</h2>
                                            <div class='tbp-price'>ম&#2494;ত&#2509;র <b class='tbp-amt'>৫০ ট&#2494;ক&#2494;</b></div>
                                            <p>এই কন&#2509;ট&#2503;ন&#2509;ট দ&#2503;খত&#2503; <b class='tbp-amt'>৫০ ট&#2494;ক&#2494;</b> প&#2503;ম&#2503;ন&#2509;ট কর&#2503; আপন&#2494;র তথ&#2509;য প&#2494;ঠ&#2494;ন এব&#2434; Premium PIN ন&#2495;য&#2492;&#2503; আনলক কর&#2497;ন&#2404;</p>
                                            <button class='tbp-btn' id='tbpOpen' type='button'>👑 Premium PIN এর জন&#2509;য আব&#2503;দন কর&#2497;ন</button>
                                        </section>
                                        <section class='tbp-sec'>
                                            <h2>💰 প&#2503;ম&#2503;ন&#2509;ট ম&#2494;ধ&#2509;যম</h2>
                                            <p class='tbp-sub'>য&#2503;ক&#2507;ন&#2507; একট&#2495; ম&#2494;ধ&#2509;যম&#2503; <b class='tbp-amt'>৫০ ট&#2494;ক&#2494;</b> প&#2503;ম&#2503;ন&#2509;ট কর&#2497;ন&#2404;</p>
                                            <div class='tbp-grid3' id='tbpPays'/>
                                        </section>
                                        <section class='tbp-sec'>
                                            <div class='tbp-steps tbp-glass'>
                                                <h2>💳 ক&#2496;ভ&#2494;ব&#2503; Premium PIN প&#2494;ব&#2503;ন</h2>
                                                <ol>
                                                    <li><span>1</span>পছন&#2509;দ&#2503;র প&#2503;ম&#2503;ন&#2509;ট ম&#2494;ধ&#2509;যম ব&#2503;ছ&#2503; ন&#2495;ন&#2404;</li>
                                                    <li><span>2</span><div><b class='tbp-amt'>৫০ ট&#2494;ক&#2494;</b> প&#2494;ঠ&#2494;ন&#2404;</div></li>
                                                    <li><span>3</span>Transaction ID স&#2434;রক&#2509;ষণ কর&#2497;ন&#2404;</li>
                                                    <li><span>4</span>প&#2503;ম&#2503;ন&#2509;ট ফর&#2509;মট&#2495; প&#2498;রণ কর&#2497;ন&#2404;</li>
                                                    <li><span>5</span>WhatsApp এ তথ&#2509;য প&#2494;ঠ&#2494;ন&#2404;</li>
                                                    <li><span>6</span>য&#2494;চ&#2494;ইয&#2492;&#2503;র পর আপন&#2494;ক&#2503; Premium PIN দ&#2503;ওয&#2492;&#2494; হব&#2503;&#2404;</li>
                                                    <li><span>7</span>Premium PIN দ&#2495;য&#2492;&#2503; কন&#2509;ট&#2503;ন&#2509;ট আনলক কর&#2497;ন&#2404;</li>
                                                </ol>
                                            </div>
                                        </section>
                                        <section class='tbp-sec'>
                                            <div class='tbp-pinbox tbp-glass'>
                                                <h2>🔐 আপন&#2494;র ক&#2494;ছ&#2503; Premium PIN আছ&#2503;?</h2>
                                                <p class='tbp-sub' style='margin:6px 0 0'>ন&#2495;চ&#2503; Premium PIN ল&#2495;খ&#2503; কন&#2509;ট&#2503;ন&#2509;ট আনলক কর&#2497;ন&#2404;</p>
                                                <div class='tbp-pins' id='tbpPins'/>
                                                <div class='tbp-row'>
                                                    <button class='tbp-btn' id='tbpUnlockBtn' type='button'>🔓 আনলক কর&#2497;ন</button>
                                                    <button class='tbp-btn ghost' id='tbpClear' type='button'>ম&#2497;ছ&#2503; ফ&#2503;ল&#2497;ন</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'>💬 প&#2503;ম&#2503;ন&#2509;ট ফর&#2509;ম</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'>&#10005;</button>
                                        <h2>📋 প&#2503;ম&#2503;ন&#2509;ট ভ&#2503;র&#2495;ফ&#2495;ক&#2503;শন ফর&#2509;ম</h2>
                                        <p style='color:#a3a1bd;font-size:14px'>তথ&#2509;য দ&#2495;য&#2492;&#2503; Send করল&#2503; WhatsApp খ&#2497;লব&#2503;&#2404;</p>
                                        <form id='tbpForm' novalidate='novalidate'>
                                            <div class='tbp-f' data-f='name'><label>আপন&#2494;র ন&#2494;ম <i>*</i></label><input autocomplete='name' id='tbpName' placeholder='আপনার নাম লিখুন' type='text'/></div>
                                            <div class='tbp-f' data-f='wa'><label>WhatsApp নম&#2509;বর <i>*</i></label><input autocomplete='tel' id='tbpWa' placeholder='আপনার WhatsApp নম্বর' type='tel'/></div>
                                            <div class='tbp-f' data-f='method'><label>প&#2503;ম&#2503;ন&#2509;ট ম&#2494;ধ&#2509;যম <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>প&#2503;ম&#2503;ন&#2509;ট&#2503;র পর&#2495;ম&#2494;ণ <i>*</i></label><input id='tbpAmt' placeholder='যেমন: ৫০ টাকা' type='text'/></div>
                                            <div class='tbp-f'><label>অত&#2495;র&#2495;ক&#2509;ত ব&#2494;র&#2509;ত&#2494;</label><textarea id='tbpNote' placeholder='অতিরিক্ত কোনো তথ্য থাকলে লিখুন...'/></div>
                                            <button class='tbp-btn wa' id='tbpSend' style='width:100%;margin-top:18px' type='submit'>💬 তথ&#2509;য প&#2494;ঠ&#2494;ন</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='&quot;item-control &quot; + 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 != &quot;&quot;'>
      <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 ?: &quot;90px&quot;' frameborder='0' id='comment-editor' name='comment-editor' src='' width='100%'/>
    <data:post.cmtfpIframe/>
    <script type='text/javascript'>
      BLOG_CMT_createIframe(&#39;<data:post.appRpcRelayPath/>&#39;);
    </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='&quot;c&quot; + 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='&quot;comment-body&quot; + (data:comment.isDeleted ? &quot; deleted&quot; : &quot;&quot;)'>
        <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='&quot;comments&quot; + (data:post.embedCommentForm ? &quot; embed&quot; : &quot;&quot;)' 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 + &quot;_comments-block-wrapper&quot;'>
        <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 != &quot;&quot;'>
          <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 + &quot;_blog-pager-older-link&quot;' 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='&quot;post-body-&quot; + 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 != &quot;&quot;'>
    <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 + &quot;_blog-pager-newer-link&quot;' 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 != &quot;&quot;'>
      <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 ?: &quot;90px&quot;' frameborder='0' id='comment-editor' name='comment-editor' src='' width='100%'/>
    <data:post.cmtfpIframe/>
    <script type='text/javascript'>
      BLOG_CMT_createIframe(&#39;<data:post.appRpcRelayPath/>&#39;);
    </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'/> জনপ&#2509;র&#2495;য&#2492; প&#2507;স&#2509;ট</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'/> ওয&#2492;&#2503;বস&#2494;ইট র&#2503;ড&#2495; ক&#2507;ড</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 প&#2507;স&#2509;ট</h3><p>PIN দ&#2495;য&#2492;&#2503; আনলক কর&#2497;ন</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'>শ&#2496;ঘ&#2509;রই নত&#2497;ন Premium কন&#2509;ট&#2503;ন&#2509;ট আসছ&#2503;&#2404;</p>
                    <a class='prem-all' href='/search/label/lock'>সব Premium প&#2507;স&#2509;ট দ&#2503;খ&#2497;ন <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>আম&#2494;র ক&#2507;র&#2509;সগ&#2497;ল&#2507; দ&#2503;খত&#2503; ও ভর&#2509;ত&#2495; হত&#2503; ভ&#2495;জ&#2495;ট কর&#2497;ন</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>আপন&#2494;র প&#2507;স&#2509;ট প&#2509;রস&#2509;ত&#2497;ত হচ&#2509;ছ&#2503;</h3>
                    <p id='adMsg'>ব&#2495;জ&#2509;ঞ&#2494;পনট&#2495; দ&#2503;খ&#2497;ন, সময&#2492; শ&#2503;ষ হল&#2503; সর&#2494;সর&#2495; প&#2507;স&#2509;ট&#2503; য&#2494;ব&#2503;ন&#2404;</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>ব&#2495;জ&#2509;ঞ&#2494;পনট&#2495; নত&#2497;ন ট&#2509;য&#2494;ব&#2503; খ&#2497;ল&#2503;ছ&#2503;&#2404; আপন&#2495; এই প&#2503;জ&#2503;ই থ&#2494;ক&#2497;ন, সময&#2492; শ&#2503;ষ হল&#2503; প&#2507;স&#2509;ট খ&#2497;ল&#2503; য&#2494;ব&#2503;&#2404;</p>
            </div>
            <div class='ad-foot'>
                <a class='ad-newtab' href='#' id='adOpen' rel='noopener' target='_blank'>ব&#2495;জ&#2509;ঞ&#2494;পন ন&#2494; খ&#2497;লল&#2503; এখ&#2494;ন&#2503; চ&#2494;প দ&#2495;ন</a>
                <button class='ad-cancel' id='adCancel' type='button'>ব&#2494;ত&#2495;ল</button>
            </div>
        </div>
    </div>

    <footer>
        <div class='foot-social' id='footSocial'/>
        <p>&#169; 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 { '&': '&amp;', '<': '&lt;', '>': '&gt;', '"': '&quot;', "'": '&#39;' }[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>
PIN: 164821
বিজ্ঞাপন
পোস্ট করেছেন

Tanbin Farazi