:root{--bg:#f6f8fc;--card:#fff;--ink:#1d2433;--muted:#5d6678;--line:#e3e8f1;--brand:#5b2bd6;--brand2:#2d5bff;
--ok:#137a3f;--okbg:#e8f6ee;--warn:#8a5a00;--warnbg:#fff4dc;--no:#a12a2a;--nobg:#fdeaea;--code:#f1f3f8}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font:15.5px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink);background:var(--bg)}
a{color:var(--brand2);text-decoration:none}a:hover{text-decoration:underline}
header.top{position:sticky;top:0;z-index:5;background:#151a2c;color:#fff;display:flex;align-items:center;gap:14px;padding:12px 22px}
header.top .logo{font-weight:800;font-size:19px;letter-spacing:.3px}header.top .logo span{color:#9d7bff}
header.top .sub{color:#aeb6cc;font-size:13px}
.wrap{display:grid;grid-template-columns:270px minmax(0,1fr);max-width:1400px;margin:0 auto}
nav.side{position:sticky;top:52px;height:calc(100vh - 52px);overflow:auto;padding:22px 16px;border-right:1px solid var(--line);background:#fbfcfe}
nav.side h4{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:18px 8px 6px}
nav.side a{display:block;padding:6px 10px;border-radius:7px;color:var(--ink);font-size:14px}
nav.side a.on{background:#ece6ff;color:var(--brand);font-weight:600}nav.side a:hover{background:#f0f2f8;text-decoration:none}
main{padding:30px 44px 80px;min-width:0}
main h1{font-size:30px;margin:0 0 6px}main .lead{color:var(--muted);font-size:17px;margin:0 0 26px}
main h2{font-size:22px;margin:38px 0 10px;padding-top:6px;border-top:1px solid var(--line)}
main h3{font-size:17.5px;margin:26px 0 8px}main h4{font-size:15.5px;margin:20px 0 6px}
table{border-collapse:collapse;width:100%;margin:12px 0 18px;font-size:14px;background:var(--card)}
th,td{border:1px solid var(--line);padding:7px 10px;text-align:left;vertical-align:top}th{background:#f2f4fa;font-weight:600}
code{background:var(--code);padding:1px 5px;border-radius:4px;font-size:13px}
pre{background:#151a2c;color:#e7ebf6;padding:14px 16px;border-radius:9px;overflow:auto;font-size:13px}pre code{background:none;color:inherit;padding:0}
blockquote{margin:12px 0;padding:10px 16px;border-left:4px solid #c9bfff;background:#faf8ff;color:#333;border-radius:0 8px 8px 0}
figure{margin:16px 0 22px}figure img{max-width:100%;border:1px solid var(--line);border-radius:10px;box-shadow:0 6px 24px rgba(20,30,60,.08);background:#fff}
figcaption{color:var(--muted);font-size:13px;margin-top:6px}
.admonition{border-radius:10px;padding:12px 16px;margin:12px 0 18px;border:1px solid var(--line);background:var(--card)}
.admonition .admonition-title{font-weight:700;margin:0 0 4px}
.admonition.where{border-color:#cfc2ff;background:#f7f4ff}.admonition.where .admonition-title{color:var(--brand)}
.admonition.demo{border-color:#bcd3ff;background:#f3f7ff}.admonition.demo .admonition-title{color:var(--brand2)}
.admonition.note{background:#fbfbfd}
.admonition.limit{border-color:#f0d7a0;background:var(--warnbg)}.admonition.limit .admonition-title{color:var(--warn)}
.st{display:inline-block;font-size:12px;font-weight:700;padding:1px 8px;border-radius:20px;margin-left:6px;vertical-align:1px}
.st.ok{background:var(--okbg);color:var(--ok)}.st.part{background:var(--warnbg);color:var(--warn)}.st.out{background:#eef0f5;color:var(--muted)}
.c4pt{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 18px;margin:12px 0}
.c4pt .q{font-style:italic;color:#2b3244}.c4pt .id{font-weight:700;color:var(--muted);font-size:12.5px;letter-spacing:.04em}
.c4pt.l2{margin-left:22px}.c4pt.l3{margin-left:44px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin:14px 0}
.tile{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px}.tile b{display:block;font-size:16px;margin-bottom:4px}
.tile span{color:var(--muted);font-size:13.5px}
footer{color:var(--muted);font-size:12.5px;margin-top:50px;border-top:1px solid var(--line);padding-top:14px}
@media(max-width:900px){.wrap{grid-template-columns:1fr}nav.side{position:static;height:auto;border-right:0}main{padding:22px}}
.st.no{background:var(--nobg);color:var(--no)}
.c4pt .hd{margin-bottom:4px}.c4pt .hd .st{margin-left:8px}
.c4pt .q{font-style:italic;color:#2b3244;border-left:3px solid #c9bfff;padding:2px 0 2px 12px;margin:4px 0 8px}
.c4pt .q p{margin:4px 0}.c4pt .q p:before{content:"„"}.c4pt .q p:after{content:"”"}
.c4pt .w{background:#f7f4ff;border:1px solid #e2d9ff;border-radius:8px;padding:6px 12px;font-size:14px}
.c4pt .w p{margin:4px 0}.c4pt .w ul{margin:4px 0;padding-left:20px}
.c4pt .w p:first-child strong:first-child{color:var(--brand)}
.c4pt.out{opacity:.85}
.toc{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px 16px;margin:10px 0 20px;font-size:14px}
.toc ul{margin:2px 0;padding-left:18px}.toc>ul{columns:2;column-gap:28px}
.summary td:nth-child(n+2){text-align:center}
figure img{display:block}
.grid figure{margin:0}.grid figure img{aspect-ratio:16/11;object-fit:cover;object-position:top}
.grid.wide{grid-template-columns:repeat(auto-fit,minmax(380px,1fr))}
