/* TechErics blog — listing and post pages */
.te-blog-body{margin:0;background:#f8fafc;color:#1e293b;font-family:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;line-height:1.65}
.tb-wrap{max-width:1120px;margin:0 auto;padding:22px 20px 60px}
.tb-crumbs{font-size:.86rem;color:#64748b;margin-bottom:14px}
.tb-crumbs a{color:#475569;text-decoration:none}
.tb-crumbs a:hover{color:#2563eb;text-decoration:underline}
.tb-hero{margin:6px 0 20px}
.tb-hero h1{font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.15;margin:0 0 8px;color:#0f172a;letter-spacing:-.02em}
.tb-hero p{margin:0;color:#475569;max-width:720px;font-size:1.05rem}
.tb-cats{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px}
.tb-cats a{padding:7px 14px;border-radius:999px;border:1px solid #e2e8f0;background:#fff;color:#334155;text-decoration:none;font-weight:600;font-size:.9rem}
.tb-cats a[aria-current]{background:#2563eb;border-color:#2563eb;color:#fff}
.tb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}
.tb-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .2s,transform .2s}
.tb-card:hover{box-shadow:0 10px 30px rgba(15,23,42,.08);transform:translateY(-2px)}
.tb-card-img img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:#e2e8f0;height:auto}
.tb-card-body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:6px}
.tb-cat{display:inline-block;align-self:flex-start;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#2563eb;text-decoration:none}
.tb-card-title{font-size:1.15rem;line-height:1.35;margin:0}
.tb-card-title a{color:#0f172a;text-decoration:none}
.tb-card-title a:hover{color:#2563eb}
.tb-card-ex{margin:0;color:#475569;font-size:.95rem}
.tb-meta{margin:4px 0 0;color:#64748b;font-size:.86rem}
.tb-empty{background:#fff;border:1px dashed #cbd5e1;border-radius:14px;padding:30px;text-align:center;color:#475569}
.tb-pager{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:30px}
.tb-pager a{padding:9px 16px;border-radius:10px;background:#fff;border:1px solid #e2e8f0;text-decoration:none;font-weight:600;color:#1e293b}
/* post */
.tb-post{max-width:820px}
.tb-article{background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:clamp(18px,4vw,40px)}
.tb-post-head h1{font-size:clamp(1.75rem,4vw,2.5rem);line-height:1.2;margin:8px 0 10px;color:#0f172a;letter-spacing:-.02em}
.tb-lead{font-size:1.15rem;color:#475569;margin:0 0 6px}
.tb-hero-img{margin:22px 0 8px}
.tb-hero-img img{width:100%;height:auto;border-radius:14px;display:block;aspect-ratio:1200/630;object-fit:cover;background:#e2e8f0}
.tb-toc{margin:22px 0;background:#f1f5f9;border-radius:12px;padding:12px 18px}
.tb-toc summary{font-weight:700;cursor:pointer}
.tb-toc ol{margin:10px 0 4px;padding-left:20px}
.tb-toc li{margin:4px 0}
.tb-toc li.lvl3{margin-left:16px;list-style:circle}
.tb-toc a{color:#1e40af;text-decoration:none}
.tb-content{font-size:1.07rem;color:#1e293b;overflow-wrap:break-word}
.tb-content h2{font-size:1.55rem;margin:1.8em 0 .5em;color:#0f172a;line-height:1.3;scroll-margin-top:90px}
.tb-content h3{font-size:1.22rem;margin:1.5em 0 .4em;color:#0f172a;scroll-margin-top:90px}
.tb-content h4{font-size:1.05rem;margin:1.3em 0 .3em}
.tb-content p,.tb-content ul,.tb-content ol{margin:0 0 1.1em}
.tb-content li{margin:.3em 0}
.tb-content a{color:#2563eb;text-underline-offset:3px}
.tb-content img{max-width:100%;height:auto;border-radius:12px;display:block;margin:1.2em auto}
.tb-content figure{margin:1.4em 0}
.tb-content figcaption{text-align:center;color:#64748b;font-size:.9rem;margin-top:-.6em}
.tb-content blockquote{margin:1.4em 0;padding:12px 18px;border-left:4px solid #2563eb;background:#eff6ff;border-radius:0 10px 10px 0;color:#1e3a8a}
.tb-content pre{background:#0f172a;color:#e2e8f0;padding:14px 16px;border-radius:12px;overflow-x:auto;font-size:.9rem}
.tb-content code{background:#f1f5f9;padding:2px 6px;border-radius:6px;font-size:.92em}
.tb-content pre code{background:none;padding:0}
.tb-content table{width:100%;border-collapse:collapse;margin:1.2em 0;display:block;overflow-x:auto}
.tb-content th,.tb-content td{border:1px solid #e2e8f0;padding:9px 12px;text-align:left}
.tb-content th{background:#f8fafc}
.tb-content iframe{width:100%;aspect-ratio:16/9;height:auto;border:0;border-radius:12px;margin:1.2em 0}
.tb-content hr{border:0;border-top:1px solid #e2e8f0;margin:2em 0}
.tb-content .te-callout{padding:14px 18px;border-radius:12px;background:#f1f5f9;margin:1.2em 0}
.tb-content .te-callout--tip{background:#ecfdf5;border-left:4px solid #10b981}
.tb-content .te-callout--warn{background:#fffbeb;border-left:4px solid #f59e0b}
.tb-content .te-callout--note{background:#eff6ff;border-left:4px solid #2563eb}
.tb-faq{margin-top:2em}
.tb-faq h2{font-size:1.4rem;margin:0 0 .6em}
.tb-faq details{border:1px solid #e2e8f0;border-radius:12px;padding:12px 16px;margin-bottom:10px}
.tb-faq summary{font-weight:700;cursor:pointer}
.tb-faq p{margin:.6em 0 0;color:#334155}
.tb-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:1.6em}
.tb-tags span{background:#f1f5f9;color:#475569;border-radius:999px;padding:4px 10px;font-size:.85rem}
.tb-related{margin-top:34px}
.tb-related h2{font-size:1.3rem;margin:0 0 14px;color:#0f172a}
.tb-tools{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.tb-tools a{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:12px 14px;text-decoration:none;color:#0f172a}
.tb-tools a:hover{border-color:#2563eb}
.tb-tools span{grid-row:span 2;font-size:1.5rem}
.tb-tools small{color:#64748b;font-size:.82rem;line-height:1.35}
@media (max-width:640px){.tb-wrap{padding:16px 14px 50px}.tb-grid{grid-template-columns:1fr}.tb-article{border-radius:14px}}
