:root{
  --bg: #0b0c0d;
  --panel: #0f1113;
  --elev: #131518;
  --fg: #ffffff;
  --muted: #b3b7bd;
  --accent: #9ad06b;
  --border: #22262b;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--bg);
  color:var(--fg);
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  line-height:1.6;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
a{color:var(--fg);text-decoration:none;border-bottom:1px solid transparent}
a:hover{border-bottom-color:var(--border)}
img{max-width:100%;height:auto;display:block}
.wrap{max-width:960px;margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip:focus{left:16px;top:16px;width:auto;height:auto;background:var(--elev);padding:8px 12px;border-radius:8px}

/* Header */
.site-header{position:sticky;top:0;background:rgba(11,12,13,.9);backdrop-filter:saturate(120%) blur(6px);border-bottom:1px solid var(--border);z-index:10}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;letter-spacing:.02em}
.logo{border-radius:8px;box-shadow:0 0 0 1px #111}
.brand-text{font-size:18px}
.site-nav{display:flex;align-items:center;gap:12px}
.site-nav ul{list-style:none;display:flex;gap:12px;margin:0;padding:0}
.site-nav a{padding:8px 10px;border-radius:10px;border:1px solid transparent}
.site-nav a:hover{background:var(--panel);border-color:var(--border)}
.site-nav a.active{border-color:var(--border);background:var(--panel)}
.menu-toggle{display:none;background:var(--panel);color:var(--fg);border:1px solid var(--border);padding:8px 12px;border-radius:10px}

/* Hero */
.hero{background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,0) 40%), var(--bg);border-bottom:1px solid var(--border)}
.hero .wrap{display:grid;grid-template-columns:1.2fr .8fr;gap:28px;align-items:center;padding:40px 20px}
.hero h1{font-size:40px;line-height:1.1;margin:0 0 12px}
.lede{font-size:18px;color:var(--muted);margin:0 0 18px}
.cta{display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-block;padding:10px 14px;border-radius:12px;background:var(--fg);color:#000;border:1px solid var(--border);font-weight:600}
.btn:hover{opacity:.95}
.btn.ghost{background:transparent;color:var(--fg)}

/* Sections */
.section-head{margin:34px 0 12px}
.section-head h2{margin:0}
.muted{color:var(--muted)}
.micro{font-size:12px}

/* Cards & lists */
.posts{padding:8px 20px 32px}
.card{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:16px}
.card + .card{margin-top:12px}
.meta{color:var(--muted);font-size:14px}
.readmore{border-bottom:1px solid var(--border)}
.banner{border-radius:12px;border:1px solid var(--border);background:var(--panel);margin:20px 0}
.grid.two{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0}
.grid.two .card{height:100%}

/* Join */
.join{padding:24px 20px 48px}
.join-card{background:var(--elev);border:1px solid var(--border);border-radius:16px;padding:20px}
.checks{list-style: none;padding:0;margin:10px 0 0}
.checks li{position:relative;padding-left:22px;margin:6px 0}
.checks li::before{content:'✓';position:absolute;left:0;top:0;color:var(--accent);}

/* Article */
.article{padding:16px 20px 40px}
.article h1{margin-top:12px}
pre,code{background:#0f1214}
pre{padding:12px;border-radius:10px;border:1px solid var(--border);overflow:auto}

/* Footer */
.site-footer{border-top:1px solid var(--border);padding:24px 0;color:var(--muted)}

/* Responsive */
@media (max-width: 900px){
  .hero .wrap{grid-template-columns:1fr;gap:18px}
  .hero-media{order:-1}
}
@media (max-width: 700px){
  .site-header .wrap{height:auto;padding:10px 20px;gap:10px;align-items:flex-start}
  .menu-toggle{display:inline-block}
  .site-nav ul{display:none;flex-direction:column;background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:8px}
  .site-nav ul.active{display:flex}
  .site-nav a{padding:8px 12px;width:100%}
}
