.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;}
:root {
    --bg: #030712; --bg-s: #111827; --bg-sh: #1f2937;
    --c1: #f9fafb; --c2: #9ca3af; --c3: #6b7280;
    --blue: #3b82f6; --purple: #8b5cf6; --cyan: #06b6d4;
    --green: #10b981; --amber: #f59e0b;
    --blue-glow: rgba(59,130,246,.15);
    --border: rgba(255,255,255,.08); --border-h: rgba(59,130,246,.3);
    --font: 'Noto Sans SC', system-ui, sans-serif;
    --mono: 'JetBrains Mono', monospace;
    --tech: 'Space Grotesk', sans-serif;
    --ease: all .3s cubic-bezier(.4,0,.2,1);
    --r: 12px; --r2: 20px;
    --content-w: 760px;
}
*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:var(--font);background:var(--bg);color:var(--c1);line-height:1.8;overflow-x:clip;-webkit-font-smoothing:antialiased;}
a{text-decoration:none;color:var(--blue);}
a:hover{text-decoration:underline;}
ul,ol{padding-left:1.5em;}
.container{max-width:1280px;margin:0 auto;padding:0 24px;}
/* ── Article body ── */
.article-body{font-size:16px;line-height:1.9;color:var(--c2);word-break:break-word;overflow-wrap:break-word;}
.article-body h2{font-size:24px;font-weight:700;color:var(--c1);margin:40px 0 16px;padding-bottom:10px;border-bottom:1px solid var(--border);}
.article-body h3{font-size:19px;font-weight:700;color:var(--c1);margin:28px 0 12px;}
.article-body p{margin-bottom:16px;}
.article-body p:last-child{margin-bottom:0;}
.article-body strong{color:var(--c1);}
.article-body a{color:var(--blue);}
.article-body ul,.article-body ol{margin:12px 0 16px;display:flex;flex-direction:column;gap:6px;}
.article-body li{color:var(--c2);}
.article-body code{font-family:var(--mono);font-size:.85em;background:rgba(255,255,255,.08);padding:2px 7px;border-radius:4px;color:var(--cyan);}
/* Code block */
.article-body pre{
    background:#0d1117;border:1px solid rgba(255,255,255,.09);
    border-radius:var(--r2);padding:20px 22px;margin:16px 0;
    overflow-x:auto;
}
.article-body pre code{
    background:none;padding:0;border-radius:0;
    font-size:13px;line-height:1.7;color:#e2e8f0;
}
/* Tip / note boxes */
.tip{display:flex;align-items:flex-start;gap:12px;padding:14px 18px;border-radius:var(--r);margin:20px 0;font-size:14px;line-height:1.8;}
.tip--info{background:rgba(59,130,246,.07);border:1px solid rgba(59,130,246,.18);color:var(--c2);}
.tip--success{background:rgba(16,185,129,.07);border:1px solid rgba(16,185,129,.18);color:var(--c2);}
.tip--warn{background:rgba(245,158,11,.07);border:1px solid rgba(245,158,11,.18);color:var(--c2);}
.tip i,.tip .tip-icon{flex-shrink:0;margin-top:2px;font-style:normal;font-size:16px;line-height:1;}
.tip--info i,.tip--info .tip-icon{color:var(--blue);}
.tip--success i,.tip--success .tip-icon{color:var(--green);}
.tip--warn i,.tip--warn .tip-icon{color:var(--amber);}
.tip strong{color:var(--c1);}
/* Step list */
.step-list{display:flex;flex-direction:column;gap:0;margin:16px 0;}
.step{display:flex;gap:16px;padding-bottom:24px;position:relative;}
.step:not(:last-child)::before{content:'';position:absolute;left:15px;top:36px;bottom:0;width:2px;background:linear-gradient(to bottom,var(--border-h),var(--border));}
.step-num{width:32px;height:32px;border-radius:50%;background:var(--blue-glow);border:1.5px solid rgba(59,130,246,.4);color:var(--blue);font-family:var(--tech);font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative;z-index:1;}
.step-body{flex:1;padding-top:4px;}
.step-body h4{font-size:16px;font-weight:700;color:var(--c1);margin-bottom:6px;}
.step-body p{font-size:14px;color:var(--c2);line-height:1.8;}
/* Footer */
.footer-grid{display:grid;grid-template-columns:2.5fr 1fr 1fr 1fr;gap:48px;margin-bottom:40px;}
.footer-brand p{color:var(--c2);font-size:14px;margin-top:16px;max-width:320px;line-height:1.8;}
.footer-title{font-size:15px;font-weight:600;margin-bottom:18px;color:var(--c1);}
.footer-links{list-style:none;padding:0;margin:0;}
.footer-links li{margin-bottom:11px;}
.footer-links a{color:var(--c2);font-size:13px;transition:var(--ease);}
.footer-links a:hover{color:var(--blue);}
.footer-bottom{padding-top:24px;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;color:var(--c3);font-size:13px;flex-wrap:wrap;gap:12px;}
.footer-bottom-right{display:flex;flex-direction:column;align-items:flex-end;gap:10px;}
.footer-bottom-links{display:flex;gap:20px;flex-wrap:wrap;justify-content:flex-end;}
.footer-bottom-links a{color:var(--c3);font-size:13px;transition:var(--ease);text-decoration:none;}
.footer-bottom-links a:hover{color:var(--c2);}
/* Responsive */
@media(max-width:768px){
    .article-body h2{font-size:19px;}
    .article-body h3{font-size:16px;}
    .article-body{font-size:15px;}
    .article-body pre{padding:14px;border-radius:12px;}
    .article-body pre code{font-size:12px;}
    .footer-grid{margin-bottom:24px;}
    .footer-grid{grid-template-columns:1fr;gap:28px;}
    .footer-bottom{flex-direction:column;justify-content:flex-start;align-items:center;gap:22px;text-align:center;}
    .footer-bottom>p{flex:none;}
    .footer-bottom-right{flex-direction:row;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;}
    .footer-bottom-links{justify-content:center;flex-wrap:wrap;gap:14px;}
}
@media(max-width:480px){
    .article-body h2{font-size:17px;}
    .article-body pre code{font-size:11px;}
    .step-num{width:26px;height:26px;font-size:12px;}
}
