/* مجله آدا پلی — استایل‌های اختصاصی وبلاگ (سبک، بدون JS سنگین) */
.blog-page{background:radial-gradient(1200px 600px at 85% -10%,rgba(16,185,129,.08),transparent 60%),radial-gradient(900px 500px at 0% 10%,rgba(139,92,246,.07),transparent 60%),var(--surface-dark,#06080f)}
.blog-hero-glow{background:radial-gradient(600px 260px at 80% 0%,rgba(16,185,129,.16),transparent 70%),radial-gradient(500px 240px at 15% 20%,rgba(99,102,241,.14),transparent 70%)}
.blog-img{background:#0f172a;color:transparent}
.no-scrollbar{scrollbar-width:none}.no-scrollbar::-webkit-scrollbar{display:none}
.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.blog-cover-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:2.4rem;color:rgba(255,255,255,.35);background:linear-gradient(135deg,#0f172a,#111827)}
.blog-cover-fallback.tone-amber{background:linear-gradient(135deg,#78350f 0%,#1f2937 70%)}
.blog-cover-fallback.tone-rose{background:linear-gradient(135deg,#881337 0%,#1f2937 70%)}
.blog-cover-fallback.tone-emerald{background:linear-gradient(135deg,#064e3b 0%,#1f2937 70%)}
.blog-cover-fallback.tone-violet{background:linear-gradient(135deg,#4c1d95 0%,#1f2937 70%)}
.blog-cover-fallback.tone-sky{background:linear-gradient(135deg,#0c4a6e 0%,#1f2937 70%)}
.blog-ticker{mask-image:linear-gradient(to left,transparent,#000 6%,#000 94%,transparent);-webkit-mask-image:linear-gradient(to left,transparent,#000 6%,#000 94%,transparent)}
.blog-ticker-track{animation:blogTicker 60s linear infinite}
.blog-ticker:hover .blog-ticker-track{animation-play-state:paused}
@keyframes blogTicker{from{transform:translateX(0)}to{transform:translateX(50%)}}
@media (prefers-reduced-motion:reduce){.blog-ticker-track{animation:none}}
.blog-prose{font-size:1.02rem;line-height:2.15;color:#cbd5e1}
.blog-prose p{margin:0 0 1.1em}
.blog-prose p.lead{font-size:1.12rem;color:#e2e8f0;font-weight:500}
.blog-prose[dir=ltr]{font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;line-height:1.85;text-align:left}
[lang=en][dir=ltr]{font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,'Vazirmatn',sans-serif}
.blog-share{width:2.25rem;height:2.25rem;display:inline-flex;align-items:center;justify-content:center;border-radius:.75rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);color:#cbd5e1;transition:all .2s}
.blog-share:hover{background:rgba(16,185,129,.15);border-color:rgba(16,185,129,.4);color:#fff}
.blog-share.copied{background:#10b981;color:#06080f}
#readProgress{transition:transform .1s linear}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ===== سایدبار وبلاگ (مستقل از باندل Tailwind) ===== */
.bsb-card{border-radius:1rem;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);padding:1rem}
.bsb-pop{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}
.bsb-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:13px;line-height:1.7;font-weight:800;color:#f1f5f9;word-break:break-word;transition:color .2s}
.bsb-meta{display:flex;align-items:center;gap:.4rem;min-width:0;margin-top:.3rem;font-size:11px;color:#94a3b8;white-space:nowrap;overflow:hidden}
.bsb-meta time{min-width:0;flex-shrink:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bsb-dot{width:3px;height:3px;border-radius:50%;background:#475569;flex-shrink:0}
.bsb-pill{flex-shrink:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:.05rem .45rem;border-radius:9999px;font-size:10px;font-weight:700;line-height:1.5;border:1px solid currentColor;background:rgba(255,255,255,.03)}
.bsb-pill.tone-amber{color:#fbbf24;border-color:rgba(251,191,36,.3);background:rgba(251,191,36,.08)}
.bsb-pill.tone-rose{color:#fb7185;border-color:rgba(251,113,133,.3);background:rgba(251,113,133,.08)}
.bsb-pill.tone-emerald{color:#34d399;border-color:rgba(52,211,153,.3);background:rgba(52,211,153,.08)}
.bsb-pill.tone-violet{color:#a78bfa;border-color:rgba(167,139,250,.3);background:rgba(167,139,250,.08)}
.bsb-pill.tone-sky{color:#38bdf8;border-color:rgba(56,189,248,.3);background:rgba(56,189,248,.08)}
.bsb-rank{flex-shrink:0;width:1.5rem;text-align:center;font-size:1.5rem;line-height:1;font-weight:900;background:linear-gradient(180deg,#34d399 0%,#0ea5e9 100%);-webkit-background-clip:text;background-clip:text;color:transparent;opacity:.9}
.bsb-row{display:flex;align-items:center;gap:.6rem;padding:.5rem .35rem;border-radius:.85rem;transition:background .2s}
.bsb-row:hover{background:rgba(255,255,255,.05)}
.bsb-row:hover .bsb-title,.bsb-top-link:hover .bsb-title{color:#34d399}
.bsb-row-body{flex:1;min-width:0}
.bsb-thumb{position:relative;flex-shrink:0;width:64px;height:64px;border-radius:.75rem;overflow:hidden;background:#0f172a;border:1px solid rgba(255,255,255,.08)}
.bsb-thumb img,.bsb-thumb .blog-cover-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bsb-top{margin-bottom:.35rem}
.bsb-top-link{position:relative;display:block;aspect-ratio:16/10;border-radius:.9rem;overflow:hidden;background:#0f172a;border:1px solid rgba(255,255,255,.08)}
.bsb-top-link img,.bsb-top-link .blog-cover-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.bsb-top-link:hover img{transform:scale(1.05)}
.bsb-top-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(2,6,23,.96) 0%,rgba(2,6,23,.55) 45%,rgba(2,6,23,0) 75%)}
.bsb-rank-top{position:absolute;top:.6rem;right:.7rem;width:auto;font-size:2.2rem;text-shadow:none;filter:drop-shadow(0 2px 6px rgba(0,0,0,.6))}
.bsb-top-body{position:absolute;inset-inline:0;bottom:0;padding:.8rem .85rem}
.bsb-top-body .bsb-title{font-size:14px;color:#fff}
.bsb-top-body .bsb-meta{color:#cbd5e1}
@media (min-width:1280px){.bsb-card{padding:.85rem}.bsb-row{gap:.5rem;padding:.5rem .25rem}.bsb-thumb{width:56px;height:56px}.bsb-rank{width:1.25rem;font-size:1.35rem}.bsb-meta{gap:.3rem}}
.bsb-catname{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bsb-count{flex-shrink:0;min-width:1.6rem;text-align:center;padding:.1rem .4rem;border-radius:9999px;background:rgba(255,255,255,.05);font-size:11px;font-weight:700;color:#94a3b8}
.bsb-tag{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (prefers-reduced-motion:reduce){.bsb-top-link img{transition:none}}

/* ---- AI full article body ---- */
.blog-article{font-size:1.05rem;line-height:2.2;color:#cbd5e1}
.blog-article p{margin:0 0 1.15em;text-align:justify;text-justify:inter-word}
.blog-article p.lead{font-size:1.14rem;line-height:2.15;color:#e2e8f0;font-weight:500;padding-inline-start:1rem;border-inline-start:3px solid rgba(52,211,153,.55)}
.blog-article h2{scroll-margin-top:6rem;margin:2.1em 0 .75em;font-size:1.32rem;line-height:1.8;font-weight:900;color:#fff;display:flex;align-items:center;gap:.6rem}
.blog-article h2::before{content:"";flex-shrink:0;width:.45rem;height:1.35rem;border-radius:9999px;background:linear-gradient(180deg,#34d399,#0ea5e9)}
.blog-article h3{scroll-margin-top:6rem;margin:1.7em 0 .6em;font-size:1.12rem;line-height:1.8;font-weight:800;color:#f1f5f9}
.blog-article strong{color:#f8fafc;font-weight:800}
.blog-article ul,.blog-article ol{margin:0 0 1.2em;padding-inline-start:1.4rem}
.blog-article ul{list-style:none;padding-inline-start:.2rem}
.blog-article ul li{position:relative;padding-inline-start:1.3rem;margin:.35em 0}
.blog-article ul li::before{content:"";position:absolute;inset-inline-start:0;top:.95em;width:.45rem;height:.45rem;border-radius:50%;background:#34d399;box-shadow:0 0 0 3px rgba(52,211,153,.15)}
.blog-article ol{list-style:persian}
.blog-article ol li{margin:.35em 0;padding-inline-start:.3rem}
.blog-article blockquote{margin:1.5em 0;padding:1rem 1.2rem;border-radius:1rem;background:rgba(255,255,255,.04);border-inline-start:4px solid #a78bfa;color:#e2e8f0;font-style:normal}
.blog-article blockquote p{margin:0}
.blog-article img{max-width:100%;height:auto;border-radius:1rem}
.blog-toc{border:1px solid rgba(255,255,255,.08);background:linear-gradient(135deg,rgba(52,211,153,.06),rgba(14,165,233,.04));border-radius:1rem;padding:.9rem 1.1rem}
.blog-toc summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:.5rem;font-weight:900;font-size:.95rem;color:#fff}
.blog-toc summary::-webkit-details-marker{display:none}
.blog-toc summary i{color:#34d399}
.blog-toc summary::after{content:"\f107";font-family:"Font Awesome 6 Free";font-weight:900;margin-inline-start:auto;color:#94a3b8;transition:transform .2s}
.blog-toc details[open] summary::after{transform:rotate(180deg)}
.blog-toc ol{margin:.7rem 0 0;padding:0;list-style:none;counter-reset:toc;display:grid;gap:.15rem}
.blog-toc li{counter-increment:toc}
.blog-toc li a{display:flex;gap:.55rem;align-items:baseline;padding:.35rem .5rem;border-radius:.6rem;font-size:.9rem;line-height:1.8;color:#cbd5e1;transition:background .2s,color .2s}
.blog-toc li a::before{content:counter(toc,persian) ".";color:#34d399;font-weight:800;flex-shrink:0}
.blog-toc li.lv3 a{padding-inline-start:1.6rem;font-size:.85rem}
.blog-toc li a:hover{background:rgba(255,255,255,.05);color:#fff}
@media (max-width:640px){.blog-article{font-size:1rem;line-height:2.1}.blog-article p{text-align:start}.blog-article h2{font-size:1.18rem}}
