
:root{
  --bg:#0b1220; --panel:#0d1628; --panel-2:#0f172a; --border:#1f2a44;
  --text:#e5e7eb; --muted:#9aa4b2; --accent:#16bdca; --radius:14px;
  --content-width: 900px;
  --sidebar: 300px;
  --toc: 260px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
.wrapper{
  display:grid;
  grid-template-columns: 1fr var(--sidebar) minmax(0,var(--content-width)) var(--toc) 1fr;
  min-height:100vh;
  gap:0;
}
.sidebar{grid-column:2; background:var(--panel);border-right:1px solid var(--border);padding:22px;position:sticky;top:0;height:100vh;overflow:auto}
.brand{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.brand img{width:40px;height:40px;border-radius:8px}
.brand h1{font-size:18px;margin:0}
.search{margin:12px 0 14px 0}
.search input{width:100%;padding:10px 12px;background:#0a1221;border:1px solid var(--border);border-radius:10px;color:var(--text)}
.nav{display:flex;flex-direction:column;gap:6px}
.nav a{padding:8px 10px;border-radius:10px;color:var(--text)}
.nav a.active,.nav a:hover{background:var(--panel-2)}
.footer{margin-top:20px;color:var(--muted);font-size:12px}

main.content{grid-column:3; padding:40px; max-width:var(--content-width); margin:0 auto}
.hero{display:flex;align-items:center;gap:22px;background:linear-gradient(90deg,#0b1628,#0b1b33);border:1px solid var(--border);padding:22px;border-radius:var(--radius)}
.hero img{width:76px;height:76px}
h1{font-size:40px;margin:0 0 8px}
h2{font-size:24px;margin:28px 0 8px}
h3{font-size:18px;margin:18px 0 6px}
.lead{color:var(--muted);font-size:18px}
.callout{background:var(--panel);border:1px solid var(--border);padding:16px;border-radius:var(--radius);margin:16px 0}
.badge{display:inline-block;background:#0b766e;color:white;padding:4px 10px;border-radius:999px;font-size:12px}
.table{width:100%;border-collapse:collapse;margin:16px 0}
.table th,.table td{border:1px solid var(--border);padding:10px;text-align:left;vertical-align:top}
.kv{display:grid;grid-template-columns:220px 1fr;gap:8px 12px}
hr{border:none;border-top:1px solid var(--border);margin:24px 0}
code,kbd,pre{background:#0b1b33;border:1px solid var(--border);border-radius:10px;color:#cbd5e1}
pre{padding:12px;overflow:auto}
small{color:var(--muted)}
ul.check>li{list-style:none;padding-left:28px;position:relative;margin:10px 0}
ul.check>li:before{content:"✓";position:absolute;left:0;top:0;color:#22c55e}

.toc{grid-column:4; background:var(--panel);border-left:1px solid var(--border);padding:20px;position:sticky;top:0;height:100vh;overflow:auto}
.toc h3{margin-top:0}
.toc a{display:block;padding:6px 0;color:var(--muted)}
.toc a.active{color:var(--text)}
.note{font-size:13px;color:var(--muted);margin-top:8px}

.footer-global{grid-column:1 / -1; text-align:center; color:var(--muted); font-size:12px; padding:10px 0 30px;}

@media (max-width: 1200px){
  .wrapper{grid-template-columns: 1fr minmax(0,var(--content-width)) 1fr}
  .sidebar,.toc{display:none}
  main.content{grid-column:2}
}
