:root{
  --bg:#080a0f;--s1:#0d1117;--s2:#0e1016;--s3:#13151d;--s4:#1c2332;
  --green:#00b37e;--green-glow:rgba(0,179,126,0.3);--blue:#4d9cf8;--amber:#f5a623;
  --text:#e4e6f0;--muted:#8891a8;--muted2:#7a8194;--border:rgba(255,255,255,0.08);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font:16px/1.7 'Inter',system-ui,'Segoe UI',Arial,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
::selection{background:var(--green);color:#04140e}
.container{max-width:1180px;margin:0 auto;padding:0 24px}
.mono{font-family:'Geist Mono',ui-monospace,SFMono-Regular,Menlo,monospace}

/* nav */
nav{position:sticky;top:0;z-index:1000;background:rgba(8,10,15,.82);backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);border-bottom:1px solid var(--border)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:68px}
.logo{display:flex;align-items:center;gap:11px;font-weight:800;font-size:20px;letter-spacing:-.5px}
.logo-mark img{width:30px;height:auto;display:block}
.nav-links{display:flex;gap:28px;align-items:center}
.nav-links a{color:var(--muted);font-size:15px;font-weight:500;transition:color .2s}
.nav-links a:hover{color:var(--text)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;font-size:15px;border-radius:11px;padding:12px 22px;cursor:pointer;border:none;transition:transform .18s ease,box-shadow .25s ease,background .2s;white-space:nowrap}
.btn-primary{background:linear-gradient(135deg,var(--green),#019c6c);color:#04140e;box-shadow:0 6px 24px var(--green-glow)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 34px rgba(0,179,126,.45)}
.btn-ghost{background:rgba(255,255,255,.04);color:var(--text);border:1px solid var(--border)}
.btn-ghost:hover{background:rgba(255,255,255,.08);transform:translateY(-2px)}
.btn-lg{padding:16px 30px;font-size:17px}
@media(max-width:760px){.nav-links{display:none}}

/* breadcrumb */
.crumb{font-size:13.5px;color:var(--muted);padding:22px 0 0}
.crumb a:hover{color:var(--green)}
.crumb span{color:var(--muted2)}

/* article */
.article{max-width:760px;margin:0 auto;padding:8px 24px 70px}
.article .eyebrow{display:inline-block;font:600 12.5px/1 'Geist Mono',ui-monospace,Menlo,monospace;letter-spacing:.6px;text-transform:uppercase;color:var(--green);margin:24px 0 14px}
.article h1{font-size:clamp(28px,4.4vw,42px);line-height:1.18;letter-spacing:-.6px;font-weight:800;margin-bottom:16px}
.article .lead{font-size:18.5px;line-height:1.65;color:#c4cbda;margin-bottom:14px}
.article .meta{font-size:13.5px;color:var(--muted);border-bottom:1px solid var(--border);padding-bottom:22px;margin-bottom:30px}
.article h2{font-size:clamp(22px,3vw,28px);line-height:1.25;letter-spacing:-.4px;font-weight:800;margin:42px 0 14px;padding-left:13px;border-left:3px solid var(--green)}
.article h3{font-size:19px;font-weight:700;margin:28px 0 10px;color:var(--text)}
.article p{margin:0 0 18px;color:#d6dae6}
.article ul,.article ol{margin:0 0 18px;padding-left:22px}
.article li{margin:0 0 9px;color:#d6dae6}
.article strong,.article b{color:#fff;font-weight:700}
.article a{color:var(--blue);font-weight:600}
.article a:hover{text-decoration:underline}
.article .btn-primary{color:#04140e}
.article .btn-ghost{color:var(--text)}
.article hr{border:none;border-top:1px solid var(--border);margin:38px 0}

/* TOC */
.toc{background:var(--s1);border:1px solid var(--s3);border-radius:14px;padding:18px 22px;margin:0 0 34px}
.toc h4{font:600 12px/1 'Geist Mono',ui-monospace,Menlo,monospace;letter-spacing:.6px;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.toc ol{margin:0;padding-left:18px}
.toc li{margin-bottom:7px;font-size:14.5px}
.toc a{color:#c4cbda;font-weight:500}
.toc a:hover{color:var(--green)}

/* callouts */
.callout{border-radius:14px;padding:16px 20px;margin:26px 0;font-size:15.5px;line-height:1.65}
.callout.tip{background:rgba(0,179,126,.08);border:1px solid rgba(0,179,126,.4);color:#bff5dd}
.callout.warn{background:rgba(245,166,35,.10);border:1px solid rgba(245,166,35,.45);color:#ffd79a}
.callout.info{background:rgba(77,156,248,.08);border:1px solid rgba(77,156,248,.4);color:#cfe2ff}
.callout b{color:#fff}

/* CTA box */
.cta-box{background:linear-gradient(135deg,rgba(0,179,126,.10),rgba(77,156,248,.06));border:1px solid rgba(0,179,126,.35);border-radius:18px;padding:30px 28px;margin:42px 0 8px;text-align:center}
.cta-box h3{font-size:23px;font-weight:800;letter-spacing:-.4px;margin-bottom:10px;color:#fff}
.cta-box p{color:#c4cbda;font-size:15.5px;max-width:520px;margin:0 auto 20px}
.cta-box .btn{margin:5px}

/* faq mini */
.qa{border-top:1px solid var(--border);padding:18px 0}
.qa h3{margin:0 0 8px;font-size:17px;color:var(--green)}
.qa p{margin:0;font-size:15px}

/* blog index */
.blog-hero{padding:54px 0 30px;text-align:center;border-bottom:1px solid var(--border)}
.blog-hero .eyebrow{display:inline-block;font:600 12.5px/1 'Geist Mono',ui-monospace,Menlo,monospace;letter-spacing:.6px;text-transform:uppercase;color:var(--green);margin-bottom:16px}
.blog-hero h1{font-size:clamp(30px,5vw,48px);font-weight:800;letter-spacing:-.6px;margin-bottom:14px}
.blog-hero p{color:var(--muted);font-size:17px;max-width:580px;margin:0 auto}
.post-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:22px;padding:44px 0 70px}
.post-card{display:block;background:var(--s1);border:1px solid var(--s3);border-radius:16px;padding:26px 24px;transition:transform .2s ease,border-color .2s ease}
.post-card:hover{transform:translateY(-4px);border-color:rgba(0,179,126,.5)}
.post-card .tag{display:inline-block;font:600 11.5px/1 'Geist Mono',ui-monospace,Menlo,monospace;letter-spacing:.5px;text-transform:uppercase;color:var(--amber);margin-bottom:14px}
.post-card h2{font-size:21px;font-weight:800;line-height:1.3;letter-spacing:-.3px;margin-bottom:10px}
.post-card p{color:var(--muted);font-size:14.5px;line-height:1.6;margin:0}
.post-card .more{display:inline-block;margin-top:16px;color:var(--green);font-weight:700;font-size:14.5px}

/* footer */
footer{border-top:1px solid var(--border);padding:46px 0 40px;margin-top:20px}
.footer-top{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap;margin-bottom:34px}
.footer-brand{max-width:340px}
.footer-brand p{color:var(--muted);font-size:14.5px;margin-top:14px}
.footer-legal{font-size:13px;line-height:1.6;color:var(--muted2)}
.footer-cols{display:flex;gap:56px;flex-wrap:wrap}
.footer-col h5{font-size:13px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);margin-bottom:14px}
.footer-col a{display:block;color:#c4cbda;font-size:15px;margin-bottom:10px;transition:color .2s}
.footer-col a:hover{color:var(--green)}
.footer-bottom{border-top:1px solid var(--border);padding-top:24px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;color:var(--muted);font-size:13.5px}
@media(max-width:680px){.footer-top{flex-direction:column}}
