:root{--bg:#060a14;--card:#0e1524;--muted:#94a3b8;--text:#e2e8f0;--head:#f1f5f9;--accent:#14F195;--accent2:#9945FF;--line:#1e293b}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;line-height:1.7;font-size:17px}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:760px;margin:0 auto;padding:32px 24px 96px}
header.nav{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--line);margin-bottom:24px}
header.nav .brand{font-weight:800;font-size:18px;color:var(--head)}
header.nav .brand span{background:linear-gradient(135deg,var(--accent2),var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent}
header.nav nav a{margin-left:20px;color:var(--muted);font-size:14px;font-weight:600}
header.nav nav a:hover{color:var(--head);text-decoration:none}
article h1{font-size:36px;line-height:1.2;color:var(--head);margin:8px 0 12px;letter-spacing:-.02em}
article .meta{color:var(--muted);font-size:13px;margin-bottom:32px}
article h2{font-size:24px;color:var(--head);margin:40px 0 12px;letter-spacing:-.01em}
article h3{font-size:19px;color:var(--head);margin:28px 0 8px}
article p{margin-bottom:18px}
article ul,article ol{margin:0 0 20px 28px}
article li{margin-bottom:8px}
article code{background:#111a2c;border:1px solid var(--line);padding:2px 6px;border-radius:5px;font-size:14px;color:#f1f5f9}
article pre{background:#0a1120;border:1px solid var(--line);border-radius:10px;padding:18px;overflow-x:auto;font-size:14px;line-height:1.55;margin:0 0 20px}
article pre code{background:none;border:none;padding:0;color:#cbd5e1;font-size:14px}
article blockquote{border-left:3px solid var(--accent);background:rgba(20,241,149,.05);padding:14px 18px;border-radius:0 8px 8px 0;color:#cbd5e1;margin:0 0 20px;font-style:italic}
.cta{background:linear-gradient(135deg,rgba(153,69,255,.12),rgba(20,241,149,.12));border:1px solid rgba(20,241,149,.3);border-radius:14px;padding:24px;margin-top:48px;text-align:center}
.cta h3{margin:0 0 8px;font-size:20px;color:var(--head)}
.cta p{color:var(--muted);margin:0 0 16px;font-size:15px}
.cta .btn{display:inline-block;background:linear-gradient(135deg,var(--accent2),var(--accent));color:#0a1120;padding:12px 24px;border-radius:10px;font-weight:800;font-size:15px}
.cta .btn:hover{text-decoration:none;filter:brightness(1.1)}
.related{margin-top:56px;padding-top:32px;border-top:1px solid var(--line)}
.related h3{color:var(--head);margin-bottom:14px;font-size:16px;text-transform:uppercase;letter-spacing:.06em}
.related ul{list-style:none;margin:0;padding:0}
.related li{margin:0;padding:10px 0;border-bottom:1px solid var(--line)}
.related li:last-child{border-bottom:none}
.related a{font-weight:600;color:var(--text)}
footer.site{text-align:center;padding:32px 24px;color:var(--muted);font-size:13px;border-top:1px solid var(--line)}
footer.site a{color:var(--muted)}
/* Blog index */
.index-hero{text-align:center;margin-bottom:48px;padding:32px 0}
.index-hero h1{font-size:44px;color:var(--head);letter-spacing:-.02em;margin-bottom:12px}
.index-hero p{color:var(--muted);font-size:18px;max-width:520px;margin:0 auto}
.posts{list-style:none;padding:0;margin:0}
.post-item{padding:24px 0;border-top:1px solid var(--line)}
.post-item:last-child{border-bottom:1px solid var(--line)}
.post-item a{display:block;color:var(--text)}
.post-item a:hover{text-decoration:none}
.post-item h2{color:var(--head);font-size:22px;margin-bottom:6px;letter-spacing:-.01em;transition:color .15s}
.post-item a:hover h2{color:var(--accent)}
.post-item p{color:var(--muted);font-size:15px;margin:0}
@media (max-width:600px){article h1{font-size:28px}.index-hero h1{font-size:32px}.wrap{padding:20px 18px 64px}}
