:root{
  --bg:#0b1020;
  --surface:#0f172a;
  --surface-2:#111c33;
  --text:#e5e7eb;
  --muted:#a8b3cf;
  --border:rgba(255,255,255,.08);
  --brand:#60a5fa;
  --brand-2:#22c55e;
  --shadow: 0 16px 50px rgba(0,0,0,.45);
  --radius:16px;
  --max:1120px;
  --mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --sans: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--sans);
  background: radial-gradient(1200px 900px at 15% 0%, rgba(96,165,250,.20), transparent 55%),
              radial-gradient(1000px 650px at 80% 10%, rgba(34,197,94,.14), transparent 60%),
              var(--bg);
  color:var(--text);
  line-height:1.6;
}

a{color:inherit; text-decoration:none}
a:hover{color:var(--brand)}

.container{max-width:var(--max); margin:0 auto; padding:0 18px}

/* Header */
.site-header{
  position:sticky;
  top:0;
  z-index:50;
  background: rgba(11,16,32,.72);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--border);
}
.navbar{display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 0}
.brand{display:flex; align-items:center; gap:10px}
.brand img{width:34px; height:34px}
.brand span{font-weight:800; letter-spacing:.2px}
.nav-links{display:flex; align-items:center; gap:12px; flex-wrap:wrap}
.nav-links a{color:var(--muted); font-weight:600; font-size:14px; padding:8px 10px; border-radius:10px}
.nav-links a:hover{color:var(--text); background: rgba(255,255,255,.06)}

/* Mobile nav */
.menu-btn{display:none; border:1px solid var(--border); background:rgba(255,255,255,.04); color:var(--text); border-radius:12px; padding:10px 12px; font-weight:700}
.menu-btn:active{transform:translateY(1px)}
@media (max-width: 860px){
  .menu-btn{display:inline-flex; align-items:center; gap:8px}
  .nav-links{display:none; width:100%}
  .nav-links.open{display:flex; padding:4px 0 10px}
  .navbar{flex-wrap:wrap}
}

/* Hero */
.hero{padding:42px 0 22px}
.hero-grid{display:grid; grid-template-columns: 1.2fr .8fr; gap:18px; align-items:stretch}
@media (max-width: 980px){.hero-grid{grid-template-columns:1fr}}

.h-card{background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03)); border:1px solid var(--border); border-radius:var(--radius); box-shadow: var(--shadow)}
.hero-main{padding:26px}
.kicker{color:var(--muted); font-weight:700; font-size:13px; letter-spacing:.9px; text-transform:uppercase}
.hero h1{margin:10px 0 10px; font-size:42px; line-height:1.12; letter-spacing:-.5px}
@media (max-width: 520px){.hero h1{font-size:34px}}
.hero p{margin:0 0 16px; color:rgba(229,231,235,.92); font-size:17px}

.actions{display:flex; gap:10px; flex-wrap:wrap; margin-top:16px}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:12px 14px;
  border-radius:14px;
  font-weight:800;
  font-size:14px;
  border:1px solid var(--border);
  background: rgba(255,255,255,.04);
}
.btn.primary{background: linear-gradient(135deg, rgba(96,165,250,.95), rgba(34,197,94,.85)); border-color: rgba(255,255,255,.12); color:#08101f}
.btn.primary:hover{filter:brightness(1.06)}
.btn:hover{background: rgba(255,255,255,.07)}

.hero-side{padding:18px}
.side-title{font-weight:900; margin:0 0 10px; font-size:14px; letter-spacing:.7px; text-transform:uppercase; color:rgba(229,231,235,.9)}
.quicklist{margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:10px}
.quicklist a{display:block; padding:12px; border-radius:14px; border:1px solid var(--border); background:rgba(255,255,255,.03)}
.quicklist a:hover{background:rgba(255,255,255,.06)}
.quicklist small{display:block; color:var(--muted)}

/* Sections */
.section{padding:22px 0}
.section h2{margin:0 0 10px; font-size:22px; letter-spacing:-.2px}
.muted{color:var(--muted)}

.cards{display:grid; grid-template-columns: repeat(3, 1fr); gap:14px}
@media (max-width: 980px){.cards{grid-template-columns:1fr}}
.card{padding:16px; border-radius:var(--radius); border:1px solid var(--border); background: rgba(255,255,255,.03)}
.card h3{margin:0 0 6px; font-size:18px}
.card p{margin:0 0 10px; color:rgba(229,231,235,.88)}
.card .meta{font-size:12px; font-family:var(--mono); color:rgba(168,179,207,.92)}

/* Article layout */
.article-wrap{padding:22px 0 30px}
.article-grid{display:grid; grid-template-columns: 1fr 320px; gap:18px; align-items:start}
@media (max-width: 980px){.article-grid{grid-template-columns:1fr}}
.article{padding:22px; border-radius:var(--radius); border:1px solid var(--border); background: rgba(255,255,255,.03)}
.article h1{margin:0 0 10px; font-size:34px; line-height:1.15; letter-spacing:-.4px}
.article h2{margin:22px 0 8px; font-size:22px}
.article h3{margin:16px 0 6px; font-size:18px}
.article p{margin:0 0 12px; color:rgba(229,231,235,.92)}
.article ul{margin:0 0 14px; padding-left:18px}
.article li{margin:0 0 6px; color:rgba(229,231,235,.92)}
.article code{font-family:var(--mono); font-size: 13px; background: rgba(0,0,0,.35); padding:2px 6px; border:1px solid rgba(255,255,255,.10); border-radius:10px}
.article pre{overflow:auto; padding:14px; border-radius:14px; border:1px solid rgba(255,255,255,.10); background: rgba(0,0,0,.35)}
.article pre code{background:transparent; border:none; padding:0}

.sidebar{padding:16px; border-radius:var(--radius); border:1px solid var(--border); background: rgba(255,255,255,.02)}
.sidebar h3{margin:0 0 10px; font-size:14px; letter-spacing:.7px; text-transform:uppercase; color:rgba(229,231,235,.9)}
.toc{margin:0; padding-left:16px; color:var(--muted)}
.toc a{color:var(--muted)}
.toc a:hover{color:var(--text)}
.sidebar .box{margin-top:14px; border-top:1px solid var(--border); padding-top:14px}
.badge{display:inline-flex; align-items:center; gap:8px; font-family:var(--mono); font-size:12px; color:rgba(168,179,207,.95); border:1px solid rgba(255,255,255,.10); background: rgba(255,255,255,.03); border-radius:999px; padding:6px 10px}

/* Footer */
.site-footer{border-top:1px solid var(--border); padding:22px 0 34px; color:var(--muted)}
.footer-grid{display:flex; justify-content:space-between; gap:14px; flex-wrap:wrap}
.footer-grid a{color:var(--muted)}
.footer-grid a:hover{color:var(--text)}
.small{font-size:13px}

/* Utility */
.hr{height:1px; background: var(--border); margin:16px 0}
.note{border-left:3px solid rgba(96,165,250,.8); padding:10px 12px; background: rgba(96,165,250,.08); border-radius:12px}
.warning{border-left:3px solid rgba(234,179,8,.9); padding:10px 12px; background: rgba(234,179,8,.10); border-radius:12px}
.kbd{font-family:var(--mono); font-size:12px; border:1px solid rgba(255,255,255,.12); border-bottom:2px solid rgba(255,255,255,.10); padding:2px 6px; border-radius:8px; background: rgba(255,255,255,.04)}

