:root{--bg:#0f1720;--card:#16212e;--acc:#4f9dff;--tx:#e6edf3;--mut:#8b97a5;--bd:#233;--line:#22303f}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font:16px/1.6 system-ui,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--tx)}
.wrap{max-width:1100px;margin:0 auto;padding:0 20px}
a{color:var(--acc);text-decoration:none}
a:hover{text-decoration:underline}
.topbar{border-bottom:1px solid var(--line);background:#0c131b;position:sticky;top:0;z-index:5}
.topbar .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;padding-top:12px;padding-bottom:12px}
.brand{font-weight:700;color:var(--tx);white-space:nowrap}
.mainnav{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center}
.navgrp{display:flex;align-items:center;gap:6px}
.navlbl{font-size:11px;color:var(--mut);text-transform:uppercase;letter-spacing:.05em}
.mainnav a{font-size:13px;color:var(--acc);border:1px solid #2a3a4d;border-radius:999px;padding:3px 10px}
.mainnav a.active{background:var(--acc);color:#08111c;border-color:var(--acc)}
.layout{display:flex;gap:28px;align-items:flex-start;padding-top:26px;padding-bottom:40px}
.toc{position:sticky;top:70px;flex:0 0 210px;font-size:13px;border-left:2px solid var(--line);padding-left:14px}
.toc .toclbl{color:var(--mut);text-transform:uppercase;font-size:11px;letter-spacing:.05em;margin-bottom:8px}
.toc a{display:block;color:var(--mut);padding:3px 0}
.toc a:hover{color:var(--acc)}
.doc{flex:1 1 auto;min-width:0;background:var(--card);border:1px solid var(--bd);border-radius:12px;padding:28px 34px}
.doc h1{font-size:27px;line-height:1.25;margin:0 0 14px;border-bottom:1px solid var(--line);padding-bottom:12px}
.doc h2{font-size:21px;margin:34px 0 10px;color:#cfe3ff}
.doc h3{font-size:17px;margin:24px 0 8px}
.doc h4{font-size:15px;margin:18px 0 6px;color:var(--mut)}
.doc p{margin:10px 0}
.doc ul,.doc ol{margin:10px 0;padding-left:24px}
.doc li{margin:4px 0}
.doc code{background:#0b1420;border:1px solid var(--line);border-radius:5px;padding:1px 5px;font:13px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace}
.doc pre{background:#0b1420;border:1px solid var(--line);border-radius:8px;padding:14px 16px;overflow:auto}
.doc pre code{background:none;border:0;padding:0}
.doc blockquote{margin:14px 0;padding:8px 16px;border-left:3px solid var(--acc);background:#12202f;border-radius:0 8px 8px 0;color:#cdd8e2}
.doc blockquote p:first-child{margin-top:0}.doc blockquote p:last-child{margin-bottom:0}
.doc hr{border:0;border-top:1px solid var(--line);margin:26px 0}
.tablewrap{overflow-x:auto;margin:14px 0}
.doc table{border-collapse:collapse;width:100%;font-size:14px}
.doc th,.doc td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}
.doc th{background:#101c28;color:#cfe3ff;position:sticky;top:0}
.doc tr:nth-child(even) td{background:#131f2c}
.foot{border-top:1px solid var(--line);color:var(--mut);font-size:13px;padding:22px 0}
/* лендинг */
.hero{padding:44px 0 8px}
.hero h1{font-size:32px;margin:0 0 8px}
.hero .sub{color:var(--mut);max-width:760px}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;padding:22px 0 10px}
.card{background:var(--card);border:1px solid var(--bd);border-radius:12px;padding:18px 20px;display:block;color:var(--tx)}
.card:hover{border-color:var(--acc);text-decoration:none}
.card .k{font-size:12px;color:var(--acc);font-weight:700;letter-spacing:.04em}
.card .t{font-size:17px;margin:6px 0 4px}
.card .d{font-size:13px;color:var(--mut)}
@media(max-width:820px){.toc{display:none}.doc{padding:20px}}
