:root{--bg:#f9fcf9;--tx:#122117;--dim:#5f7a6b;--line:#d8e8de;--panel:#edf5ef;--acc:#166534;--link:#166534;--head-bg:#122117;--head-tx:#d1fae5;--code-bg:#edf5ef;--code-tx:#122117;--note-bg:#e4f4ea;--note-line:#166534;--warn-bg:#fdf6e3;--warn-line:#b58900;--radius:8px;--font:system-ui,sans-serif}
*{box-sizing:border-box}
body{margin:0;font:15px/1.7 var(--font);color:var(--tx);background:var(--bg)}
.topbar{background:var(--head-bg);height:48px;display:flex;align-items:center;padding:0 20px;gap:18px}
.topbar .logo{color:var(--head-tx);font-weight:700;font-size:15px;letter-spacing:.3px;text-decoration:none}
.topbar .search{margin-left:12px;flex:0 1 320px;background:rgba(127,127,127,.18);border:1px solid rgba(127,127,127,.4);border-radius:var(--radius);color:var(--head-tx);padding:6px 12px;font-size:13px;outline:none}
.topbar .links{margin-left:auto;color:var(--dim);font-size:13px}
.topbar .links a{color:var(--dim);text-decoration:none;margin-left:16px}
.crumbs{background:var(--panel);border-bottom:1px solid var(--line);padding:7px 24px;font-size:12.5px;color:var(--dim)}
.crumbs a{color:var(--dim);text-decoration:none}
.shell{display:flex;max-width:1440px;margin:0 auto}
.side{width:250px;min-width:250px;border-right:1px solid var(--line);padding:20px 14px 40px}
.side h4{margin:18px 8px 6px;font-size:11.5px;text-transform:uppercase;letter-spacing:.8px;color:var(--dim)}
.side a{display:block;padding:5px 10px;border-radius:var(--radius);color:var(--tx);text-decoration:none;font-size:14px}
.side a.on,.side a:hover{background:var(--note-bg);color:var(--acc)}
main{flex:1;padding:28px 40px 60px;max-width:860px;min-width:0}
main h1{font-size:30px;line-height:1.25;margin:6px 0 18px;font-weight:800}
main h2{font-size:21px;margin:34px 0 12px;padding-top:10px;border-top:1px solid var(--line);font-weight:700}
main p{margin:12px 0}
main code{background:var(--panel);border-radius:4px;padding:1px 6px;font:13px/1.5 ui-monospace,Consolas,monospace}
main pre{background:var(--code-bg);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;overflow-x:auto;margin:14px 0}
main pre code{background:none;padding:0;font:13px/1.6 ui-monospace,Consolas,monospace;color:var(--code-tx)}
.note,.warn{border-left:4px solid var(--note-line);border-radius:var(--radius);padding:10px 16px;margin:16px 0;background:var(--note-bg)}
.warn{background:var(--warn-bg);border-left-color:var(--warn-line)}
.note p,.warn p{margin:6px 0}
table{border-collapse:collapse;width:100%;margin:16px 0;font-size:14px}
th,td{border:1px solid var(--line);padding:8px 12px;text-align:left}
th{background:var(--panel);font-weight:600}
.toc{width:220px;min-width:220px;padding:28px 18px 40px;border-left:1px solid var(--line)}
.toc h4{margin:0 0 10px;font-size:12px;color:var(--dim);text-transform:uppercase;letter-spacing:.6px}
.toc a{display:block;color:var(--link);text-decoration:none;font-size:13.5px;padding:4px 0;border-left:2px solid transparent;padding-left:10px}
.toc a:hover{border-left-color:var(--acc)}
.pagefoot{max-width:860px;margin:0 auto;padding:0 40px 40px;color:var(--dim);font-size:13px;border-top:1px solid var(--line);padding-top:16px}
.pagefoot .ask{color:var(--link)}
footer{background:var(--head-bg);color:var(--dim);font-size:13px;padding:22px 32px}
footer a{color:var(--head-tx)}
@media(max-width:1100px){.toc{display:none}}
@media(max-width:900px){.side{display:none}}
