:root{--bg:#fafaf8;--fg:#24292f;--mut:#6b7280;--line:#e4e4e0;--side:#f2f1ed;--acc:#0b7285;--mark:#fff3bf}
html[data-theme=dark]{--bg:#15171a;--fg:#d6d9dd;--mut:#8b949e;--line:#2b2f36;--side:#1a1d21;--acc:#4fb3c9;--mark:#5c4a00}
*{box-sizing:border-box}body{margin:0;font:16px/1.75 system-ui,-apple-system,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;background:var(--bg);color:var(--fg)}
header{position:sticky;top:0;z-index:9;display:flex;gap:10px;align-items:center;padding:8px 14px;background:var(--side);border-bottom:1px solid var(--line)}
header a.brand{font-weight:700;color:var(--fg);text-decoration:none;white-space:nowrap}
#q{flex:1;max-width:420px;padding:7px 12px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--fg);font-size:14px}
#menu{display:none;border:0;background:none;font-size:20px;color:var(--fg);cursor:pointer}
#theme{border:0;background:none;font-size:17px;cursor:pointer;color:var(--fg)}
#wrap{display:flex;max-width:1280px;margin:0 auto}
nav#side{width:270px;flex:none;position:sticky;top:52px;height:calc(100vh - 52px);overflow:auto;padding:14px 10px 40px;border-right:1px solid var(--line);background:var(--side);font-size:13.5px}
nav#side details{margin:2px 0}nav#side summary{cursor:pointer;font-weight:600;padding:3px 6px;border-radius:6px}
nav#side ul{list-style:none;margin:2px 0 6px;padding-left:14px}
nav#side a{display:block;color:var(--fg);text-decoration:none;padding:3px 8px;border-radius:6px;line-height:1.5}
nav#side a:hover{background:var(--mark)}nav#side a.cur{background:var(--acc);color:#fff}
main{flex:1;min-width:0;padding:26px 34px 80px;max-width:900px}
main h1{font-size:1.6em;border-bottom:2px solid var(--line);padding-bottom:.3em}
main h2{font-size:1.32em;border-bottom:1px solid var(--line);padding-bottom:.25em;margin-top:1.6em}
main table{border-collapse:collapse;width:100%;font-size:.92em;margin:1em 0;display:block;overflow-x:auto}
main th,main td{border:1px solid var(--line);padding:6px 10px;text-align:left;vertical-align:top}
main th{background:var(--side)}
main blockquote{margin:1em 0;padding:.2em 1.1em;border-left:4px solid var(--acc);background:var(--side);border-radius:0 8px 8px 0;color:var(--fg)}
main code{background:var(--side);border:1px solid var(--line);border-radius:5px;padding:1px 5px;font-size:.9em}
main pre{background:var(--side);border:1px solid var(--line);border-radius:8px;padding:12px 14px;overflow-x:auto}
main pre code{border:0;background:none;padding:0}
main img{max-width:100%;height:auto}main figure{margin:1.2em 0;text-align:center}
main figcaption{font-size:.85em;color:var(--mut);margin-top:4px}
.kb-broken{color:var(--mut);border-bottom:1px dashed var(--mut)}
.pager{display:flex;justify-content:space-between;gap:12px;margin-top:3em;border-top:1px solid var(--line);padding-top:14px}
.pager a{color:var(--acc);text-decoration:none;max-width:48%}
.backlinks{margin-top:2.5em;padding:14px 18px;background:var(--side);border:1px solid var(--line);border-radius:10px;font-size:.9em}
.backlinks a{color:var(--acc);text-decoration:none;margin-right:14px}
#drop{position:absolute;top:46px;right:14px;width:min(480px,92vw);max-height:60vh;overflow:auto;background:var(--bg);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.18);display:none;font-size:14px}
#drop a{display:block;padding:8px 12px;color:var(--fg);text-decoration:none;border-bottom:1px solid var(--line)}
#drop a:hover{background:var(--side)}#drop mark{background:var(--mark)}
footer.meta{color:var(--mut);font-size:.85em;margin-top:3em}
@media(max-width:900px){#menu{display:block}nav#side{position:fixed;left:0;top:49px;transform:translateX(-105%);transition:.2s;z-index:8;box-shadow:4px 0 16px rgba(0,0,0,.15)}nav#side.open{transform:none}main{padding:20px 18px 60px}}
