/* ============================================================
   BLOG.CSS — article pages ka apna layout (tool se alag, taake
   padhne wale ko "content page" lage, sirf app ka extension na)
   ============================================================ */
:root{
  --bg:#0d0d12; --card:#15151d; --card2:#1b1b25; --line:#272733; --line2:#33333f;
  --txt:#f2f2f5; --mut:#a5a5b8; --mut2:#7d7d92;
  --red:#ff0033; --red2:#ff4d6d; --green:#22c55e; --yellow:#eab308; --blue:#3b82f6;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --r:16px; --r2:11px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--bg);color:var(--txt);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans",Arial,sans-serif;
  font-size:17px;line-height:1.75;-webkit-font-smoothing:antialiased;
}
a{color:var(--red2)}
.wrap{max-width:780px;margin:0 auto;padding:0 20px}

/* ---------- top bar ---------- */
.btop{border-bottom:1px solid var(--line);background:rgba(13,13,18,.92);position:sticky;top:0;z-index:20;backdrop-filter:blur(9px)}
.btop .wrap{display:flex;align-items:center;gap:14px;padding-top:12px;padding-bottom:12px;max-width:1000px}
.blogo{display:flex;align-items:center;gap:9px;text-decoration:none;color:var(--txt);font-weight:800;font-size:15px}
.blogo svg{width:30px;height:22px}
.bnav{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}
.bnav a{font-size:13px;color:var(--mut);text-decoration:none;border:1px solid var(--line2);border-radius:999px;padding:5px 12px}
.bnav a:hover{color:#fff;border-color:var(--red)}
.bnav a.cta{background:linear-gradient(135deg,#ff0033,#c00027);color:#fff;border-color:transparent;font-weight:700}

/* ---------- article ---------- */
.art{padding:34px 0 70px}
.crumbs{font-size:12.5px;color:var(--mut2);margin-bottom:14px}
.crumbs a{color:var(--mut2);text-decoration:none}
.crumbs a:hover{color:var(--red2)}
h1.title{font-size:clamp(27px,4.6vw,40px);line-height:1.2;letter-spacing:-.9px;margin:0 0 12px;font-weight:800}
.dek{font-size:18.5px;color:var(--mut);margin:0 0 18px;line-height:1.65}
.byline{display:flex;gap:14px;flex-wrap:wrap;font-size:12.8px;color:var(--mut2);font-family:var(--mono);
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px 0;margin-bottom:26px}
.art h2{font-size:25px;line-height:1.3;letter-spacing:-.4px;margin:38px 0 12px;font-weight:750;scroll-margin-top:78px}
.art h3{font-size:19px;margin:26px 0 8px;font-weight:700;scroll-margin-top:78px}
.art p{margin:0 0 15px}
.art ul,.art ol{margin:0 0 16px;padding-left:24px}
.art li{margin-bottom:8px}
.art b,.art strong{color:#fff;font-weight:700}
.art code{font-family:var(--mono);font-size:.88em;background:#0e0e16;border:1px solid var(--line);
  border-radius:5px;padding:1px 5px;color:#ffd9e0}

/* TOC */
.toc{background:var(--card);border:1px solid var(--line);border-left:3px solid var(--red);
  border-radius:var(--r2);padding:14px 18px;margin:0 0 26px}
.toc h4{margin:0 0 8px;font-size:12.5px;text-transform:uppercase;letter-spacing:.7px;color:var(--mut2)}
.toc ol{margin:0;padding-left:20px;columns:2;column-gap:26px}
.toc li{font-size:14.5px;margin-bottom:5px;break-inside:avoid}
.toc a{text-decoration:none;color:var(--mut)}
.toc a:hover{color:var(--red2);text-decoration:underline}
@media (max-width:620px){.toc ol{columns:1}}

/* callouts */
.key{background:rgba(34,197,94,.08);border:1px solid #2c5c3c;border-left:3px solid var(--green);
  border-radius:var(--r2);padding:13px 17px;margin:0 0 20px;font-size:15.5px}
.key b{color:#b9f6ca}
.warn{background:rgba(234,179,8,.07);border:1px solid #5c5227;border-left:3px solid var(--yellow);
  border-radius:var(--r2);padding:13px 17px;margin:0 0 20px;font-size:15.5px}
.warn b{color:#ffe9a8}
.src{background:var(--card2);border:1px solid var(--line);border-radius:var(--r2);padding:13px 17px;
  margin:0 0 20px;font-size:14px;color:var(--mut)}
.src b{color:var(--txt)}
.src a{font-family:var(--mono);font-size:12.5px;word-break:break-all}
.quote{border-left:3px solid var(--line2);padding:4px 0 4px 18px;margin:0 0 20px;color:var(--mut);font-style:italic}

/* tables */
.tbl{width:100%;border-collapse:collapse;margin:0 0 22px;font-size:14.5px;background:var(--card);
  border:1px solid var(--line);border-radius:var(--r2);overflow:hidden}
.tbl th{text-align:left;background:#0e0e16;color:var(--mut);font-size:11.5px;text-transform:uppercase;
  letter-spacing:.6px;padding:10px 12px;border-bottom:1px solid var(--line2);white-space:nowrap}
.tbl td{padding:9px 12px;border-bottom:1px solid var(--line);color:var(--mut);vertical-align:top}
.tbl tbody tr:last-child td{border-bottom:0}
.tbl td b{color:var(--txt)}
.tbl .ok{color:#b9f6ca}.tbl .mid{color:#ffe9a8}.tbl .bad{color:#ffc2cd}
.scroll{overflow-x:auto;margin-bottom:22px}
.scroll .tbl{margin-bottom:0}

/* tool CTA inside article */
.toolcta{background:linear-gradient(135deg,#1a1024,#151520);border:1px solid #3a2c50;border-radius:var(--r);
  padding:19px 20px;margin:28px 0;display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.toolcta h4{margin:0 0 4px;font-size:17px}
.toolcta p{margin:0;font-size:14.5px;color:var(--mut);flex:1;min-width:220px}
.btn{display:inline-flex;align-items:center;gap:7px;border-radius:10px;padding:10px 17px;font-size:14.5px;
  font-weight:700;text-decoration:none;border:1px solid transparent;cursor:pointer;font-family:inherit;white-space:nowrap}
.btn-primary{background:linear-gradient(135deg,#ff0033,#c00027);color:#fff}
.btn-primary:hover{filter:brightness(1.12)}
.btn-ghost{background:transparent;border-color:var(--line2);color:var(--mut)}
.btn-ghost:hover{color:#fff;border-color:var(--red)}

/* FAQ */
.faq details{background:var(--card);border:1px solid var(--line);border-radius:var(--r2);
  padding:11px 15px;margin-bottom:9px}
.faq summary{cursor:pointer;font-weight:650;font-size:16px;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{content:"+ ";color:var(--red2);font-family:var(--mono)}
.faq details[open] summary::before{content:"– "}
.faq p{margin:11px 0 0;font-size:15.5px;color:var(--mut)}

/* related + footer */
.related{border-top:1px solid var(--line);margin-top:40px;padding-top:22px}
.related h4{margin:0 0 12px;font-size:13px;text-transform:uppercase;letter-spacing:.7px;color:var(--mut2)}
.rel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:11px}
.rel{display:block;background:var(--card);border:1px solid var(--line);border-radius:var(--r2);
  padding:12px 14px;text-decoration:none;transition:border-color .15s}
.rel:hover{border-color:var(--red)}
.rel b{display:block;color:var(--txt);font-size:14.8px;line-height:1.4;margin-bottom:4px}
.rel span{font-size:12.5px;color:var(--mut2)}
.bfoot{border-top:1px solid var(--line);padding:24px 0 40px;font-size:13.5px;color:var(--mut2)}
.bfoot a{color:var(--mut)}

/* ---------- hub page ---------- */
.hub{padding:38px 0 60px;max-width:960px;margin:0 auto}
.hub h1{font-size:clamp(28px,5vw,42px);letter-spacing:-1px;margin:0 0 12px}
.hub .dek{max-width:660px}
.arts{display:grid;grid-template-columns:repeat(auto-fit,minmax(288px,1fr));gap:16px;margin-top:26px}
.acard{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);
  border-radius:var(--r);padding:19px;text-decoration:none;transition:border-color .15s,transform .15s}
.acard:hover{border-color:var(--red);transform:translateY(-2px)}
.acard .n{font-family:var(--mono);font-size:11.5px;color:var(--red2);letter-spacing:1px;margin-bottom:8px}
.acard b{color:var(--txt);font-size:18px;line-height:1.35;margin-bottom:8px;letter-spacing:-.2px}
.acard p{margin:0 0 12px;font-size:14.5px;color:var(--mut);line-height:1.6;flex:1}
.acard .m{font-family:var(--mono);font-size:11.5px;color:var(--mut2)}
.honesty{background:var(--card2);border:1px solid var(--line);border-radius:var(--r);padding:19px;margin-top:26px;font-size:15px;color:var(--mut)}
.honesty b{color:var(--txt)}
@media print{
  .btop,.toolcta,.related,.bfoot{display:none}
  body{background:#fff;color:#000;font-size:12pt}
  .art h2,.art h3,h1.title{color:#000}
  a{color:#000;text-decoration:underline}
  .tbl,.toc,.key,.warn,.src{border-color:#999;background:#fff}
}
