/* Blog and Q&A */
.blog-head{background:linear-gradient(120deg,var(--hero1),var(--hero2));padding-block:48px}
.blog-head h1{font-size:clamp(2rem,5vw,3.2rem);font-weight:800;margin:10px 0}
.blog-head p{color:var(--muted);max-width:58ch}
.blog-tools{display:flex;gap:12px;flex-wrap:wrap;align-items:center;justify-content:space-between;margin:32px 0 24px}
.blog-tools form{display:flex;gap:8px;min-width:0;flex:1 1 260px;max-width:380px}
.blog-tools input{border-radius:99px}
.posts{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:22px;padding-bottom:24px}
.post-card{background:var(--surface);border:1px solid var(--line);border-radius:22px;overflow:hidden;display:flex;flex-direction:column;text-decoration:none;min-width:0;transition:transform .2s,box-shadow .2s}
.post-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.post-card .cover{aspect-ratio:16/10;background:linear-gradient(135deg,var(--hero1),var(--hero2));display:grid;place-items:center;color:var(--teal);overflow:hidden}
.post-card .cover img{width:100%;height:100%;object-fit:cover;display:block}
.post-card .body{padding:18px 20px 20px;display:grid;gap:10px;align-content:start;flex:1}
.post-card h2{font-size:1.2rem;font-weight:700}
.post-card p{color:var(--muted);font-size:.92rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.tag{display:inline-block;font-size:.74rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--c,var(--teal));background:color-mix(in srgb,var(--c,var(--teal)) 14%,transparent);padding:4px 10px;border-radius:99px;width:fit-content}
.meta{font-size:.82rem;color:var(--muted);display:flex;gap:6px 14px;flex-wrap:wrap}
.pager{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;padding-bottom:72px}
.pager a,.pager span{padding:9px 16px;border-radius:99px;border:2px solid var(--line);text-decoration:none;font-weight:600;font-size:.9rem}
.pager .cur{background:var(--teal);border-color:var(--teal);color:#fff}
.empty-box{text-align:center;color:var(--muted);padding:56px 16px}

/* article */
.article{max-width:760px;margin:0 auto;padding-block:40px 24px}
.article .back{font-weight:600;color:var(--teal);text-decoration:none;font-size:.9rem}
.article h1{font-size:clamp(2rem,5vw,3rem);font-weight:800;margin:14px 0}
.article .hero-img{width:100%;border-radius:24px;margin:22px 0;display:block;max-height:480px;object-fit:cover}
.prose{font-size:1.06rem;line-height:1.75}
.prose p{margin:0 0 1.1em}
.prose h3{font-size:1.45rem;margin:1.6em 0 .6em}
.prose ul{padding-left:1.3em;margin:0 0 1.1em}
.prose li{margin-bottom:.4em}
.prose a{color:var(--teal);overflow-wrap:anywhere}
.byline{display:flex;align-items:center;gap:12px;margin-top:8px}
.byline img{width:46px;height:46px;border-radius:50%;object-fit:cover;object-position:top}
.byline b{display:block}.byline span{font-size:.85rem;color:var(--muted)}

/* questions */
.qa{max-width:760px;margin:0 auto;padding-bottom:72px}
.qa h2{font-size:1.8rem;margin-bottom:6px}
.qa .sub{color:var(--muted);margin-bottom:22px}
.q{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:18px 20px;margin-bottom:14px}
.q .who{font-size:.82rem;color:var(--muted);margin-bottom:6px}
.q .qt{font-weight:600;white-space:pre-line;overflow-wrap:anywhere}
.q .ans{margin-top:12px;padding:12px 14px;border-radius:14px;background:color-mix(in srgb,var(--teal) 12%,transparent);white-space:pre-line;overflow-wrap:anywhere}
.q .ans b{display:block;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:var(--teal-d);margin-bottom:4px}
.q .await{margin-top:10px;font-size:.85rem;color:var(--muted)}
.ask{margin-top:28px}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.flash{border-radius:14px;padding:12px 16px;margin-bottom:18px;font-weight:600}
.flash.ok{background:color-mix(in srgb,var(--leaf) 18%,transparent);color:var(--fg)}
.flash.err{background:color-mix(in srgb,var(--coral) 18%,transparent);color:var(--fg)}
.share{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}
