:root{--bg:#ffffff;--fg:#1b2430;--muted:#5b6776;--line:#e2e7ee;--side:#f6f8fb;--accent:#1f6feb;--accent-fg:#fff;
--code:#f1f4f8;--pre:#0f1722;--pre-fg:#e6edf6;--callout:#eef5ff;--callout-line:#1f6feb;--warn:#fff7e6;--warn-line:#d98e04;
--shadow:0 1px 2px rgba(16,24,40,.06),0 4px 14px rgba(16,24,40,.06)}
:root[data-theme=dark]{--bg:#0d1117;--fg:#dfe6ee;--muted:#9aa7b6;--line:#232c38;--side:#10161e;--accent:#58a6ff;--accent-fg:#0d1117;
--code:#18202b;--pre:#0a0e14;--pre-fg:#e6edf6;--callout:#112038;--callout-line:#58a6ff;--warn:#2b2110;--warn-line:#d9a441;--shadow:none}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0d1117;--fg:#dfe6ee;--muted:#9aa7b6;--line:#232c38;--side:#10161e;
--accent:#58a6ff;--accent-fg:#0d1117;--code:#18202b;--pre:#0a0e14;--pre-fg:#e6edf6;--callout:#112038;--callout-line:#58a6ff;--warn:#2b2110;
--warn-line:#d9a441;--shadow:none}}
*{box-sizing:border-box}html{scroll-padding-top:72px;-webkit-text-size-adjust:100%;overflow-x:hidden}
body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.65 system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}
a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}
header.top{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:10px;height:56px;padding:0 max(12px,env(safe-area-inset-right)) 0 max(12px,env(safe-area-inset-left));background:var(--bg);
border-bottom:1px solid var(--line)}
header.top .brand{display:flex;align-items:center;gap:10px;font-weight:700;color:var(--fg);white-space:nowrap;flex:0 0 auto}
header.top .brand img{width:28px;height:28px;border-radius:6px}
header.top .brand small{font-weight:500;color:var(--muted)}
.spacer{flex:1}
#q{flex:0 1 340px;min-width:0;padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:var(--side);color:var(--fg);font:inherit;font-size:14px}
#q:focus{outline:2px solid var(--accent);outline-offset:0}
.btn{flex:0 0 auto;white-space:nowrap;border:1px solid var(--line);background:var(--side);color:var(--fg);border-radius:8px;padding:6px 10px;cursor:pointer;font:inherit;font-size:14px}
.btn:hover{border-color:var(--accent)}
#menu{display:none}
.wrap{display:grid;grid-template-columns:260px minmax(0,1fr) 220px;max-width:1380px;margin:0 auto}
nav.side{position:sticky;top:56px;align-self:start;height:calc(100vh - 56px);overflow:auto;padding:20px 12px 40px 16px;border-right:1px solid var(--line);background:var(--side)}
nav.side h4{margin:18px 8px 6px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
nav.side a{display:block;padding:6px 10px;border-radius:7px;color:var(--fg);font-size:14.5px}
nav.side a:hover{background:var(--line);text-decoration:none}
nav.side a.cur{background:var(--accent);color:var(--accent-fg);font-weight:600}
main{padding:32px clamp(18px,4vw,48px) 80px;min-width:0}
main h1{font-size:2rem;line-height:1.25;margin:0 0 .6em}
main h2{margin:2.1em 0 .6em;padding-bottom:.3em;border-bottom:1px solid var(--line);font-size:1.5rem;line-height:1.3}
main h3{margin:1.7em 0 .5em;font-size:1.2rem}main h4{margin:1.4em 0 .4em}
main p,main li{max-width:78ch}
main img{max-width:100%;height:auto}
main{overflow-x:hidden}
.cards{grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr))}
main p,main li,main h1,main h2,main h3,main h4{overflow-wrap:break-word}
main td,main th{overflow-wrap:normal;word-break:normal;min-width:5.5em}
code{background:var(--code);padding:.15em .4em;border-radius:5px;overflow-wrap:anywhere;font:0.88em ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
pre{position:relative;background:var(--pre);color:var(--pre-fg);padding:14px 16px;border-radius:10px;overflow:auto;line-height:1.5;margin:1.1em 0}
pre code{background:none;padding:0;color:inherit;font-size:.86rem;overflow-wrap:normal}
pre{-webkit-overflow-scrolling:touch;max-width:100%}
.copy{position:absolute;top:8px;right:8px;opacity:.0;transition:.15s;font-size:12px;padding:3px 8px;background:#243142;color:#dfe6ee;border:0;border-radius:6px;cursor:pointer}
pre:hover .copy,.copy:focus{opacity:1}
@media(hover:none){.copy{opacity:.85}}
.tablewrap{overflow-x:auto;margin:1.1em 0}
table{border-collapse:collapse;width:100%;font-size:.93rem}
th,td{border:1px solid var(--line);padding:8px 11px;text-align:left;vertical-align:top}
th{background:var(--side)}
blockquote{margin:1.2em 0;padding:.7em 1.1em;background:var(--callout);border-left:4px solid var(--callout-line);border-radius:0 8px 8px 0}
blockquote p{margin:.4em 0}
hr{border:0;border-top:1px solid var(--line);margin:2em 0}
aside.toc{position:sticky;top:56px;align-self:start;max-height:calc(100vh - 56px);overflow:auto;padding:28px 12px 40px 0;font-size:13.5px}
aside.toc b{display:block;margin-bottom:8px;color:var(--muted);font-size:12px;letter-spacing:.06em;text-transform:uppercase}
aside.toc a{display:block;padding:3px 0 3px 10px;color:var(--muted);border-left:2px solid var(--line)}
aside.toc a.l3{padding-left:22px}aside.toc a:hover{color:var(--accent);text-decoration:none}
.pager{display:flex;justify-content:space-between;gap:12px;margin-top:56px;padding-top:20px;border-top:1px solid var(--line)}
.pager a{display:block;padding:10px 14px;border:1px solid var(--line);border-radius:10px;min-width:40%}
.pager small{display:block;color:var(--muted)}
.edit{margin-top:32px;font-size:14px;color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin:1.4em 0}
.card{display:block;padding:16px 18px;border:1px solid var(--line);border-radius:12px;background:var(--side);color:var(--fg)}
.card:hover{border-color:var(--accent);text-decoration:none;box-shadow:var(--shadow)}
.card b{display:block;margin-bottom:4px}.card span{color:var(--muted);font-size:.92rem}
#results{position:absolute;top:50px;right:16px;width:min(520px,calc(100vw - 32px));max-height:70vh;overflow:auto;background:var(--bg);
border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 40px rgba(0,0,0,.25);display:none}
#results a{display:block;padding:10px 14px;color:var(--fg);border-bottom:1px solid var(--line)}
#results a:hover,#results a.sel{background:var(--side);text-decoration:none}
#results small{color:var(--muted);display:block;font-size:12.5px}
footer{padding:24px;text-align:center;color:var(--muted);font-size:13px;border-top:1px solid var(--line)}
@media(max-width:1100px){.wrap{grid-template-columns:240px minmax(0,1fr)}aside.toc{display:none}}
@media(max-width:780px){
#menu{display:inline-block;min-width:42px;min-height:40px}.wrap{display:block}
nav.side{position:fixed;left:0;top:56px;bottom:auto;width:min(310px,88vw);z-index:25;transform:translateX(-102%);transition:transform .18s;height:calc(100vh - 56px);height:calc(100dvh - 56px);align-self:auto;
-webkit-overflow-scrolling:touch;padding-bottom:calc(40px + env(safe-area-inset-bottom))}
nav.side a{padding:11px 12px;font-size:16px}
body.nav-open nav.side{transform:none;box-shadow:0 0 40px rgba(0,0,0,.35)}
body.nav-open{overflow:hidden}
#scrim{display:none;position:fixed;inset:56px 0 0 0;z-index:24;background:rgba(0,0,0,.45)}body.nav-open #scrim{display:block}
header.top .brand small,header.top a.btn{display:none}
header.top .brand span{font-size:15px}
#q{font-size:16px;padding:9px 12px}#theme{min-width:42px;min-height:40px}
main{padding:20px max(16px,env(safe-area-inset-left)) 60px}main h1{font-size:1.55rem}main h2{font-size:1.3rem}main h3{font-size:1.12rem}
body{font-size:16px}pre{padding:12px;margin-left:-4px;margin-right:-4px;border-radius:8px}pre code{font-size:.8rem}
.copy{opacity:.85}table{font-size:.86rem}th,td{padding:6px 8px}
.pager{flex-direction:column}.pager a{min-width:0}.pager a[style]{text-align:left!important}
#results{right:8px;left:8px;width:auto;top:52px;max-height:60vh}
}
@media(max-width:380px){header.top .brand span{display:none}main h1{font-size:1.4rem}}
@media(min-width:781px){#scrim{display:none!important}}
