:root{color-scheme:light dark;--bg: #f6f7f9;--panel: #ffffff;--panel-strong: #eef3f5;--text: #172026;--muted: #66727d;--line: #d9e0e5;--accent: #117864;--accent-strong: #0f5f50;--code: #101820;--code-text: #e8f1f2}@media(prefers-color-scheme:dark){:root{--bg: #111417;--panel: #181d21;--panel-strong: #20282d;--text: #edf2f4;--muted: #9facb6;--line: #2c353b;--accent: #38b28f;--accent-strong: #7bd6b7;--code: #080b0d;--code-text: #eaf7f4}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input{font:inherit}.appShell{display:grid;grid-template-columns:280px minmax(0,1fr) 240px;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;overflow-y:auto;border-right:1px solid var(--line);background:var(--panel);padding:20px 16px}.brand{display:flex;align-items:center;gap:12px;margin-bottom:24px}.brandMark{display:grid;width:40px;height:40px;place-items:center;border-radius:8px;background:var(--accent);color:#fff;font-weight:800}.brand small,.docHeader p,.searchResult p,.searchResult small{color:var(--muted)}.navGroup{margin-bottom:18px}.navGroup h2{margin:0 0 8px;color:var(--muted);font-size:.75rem;text-transform:uppercase}.navItem,.searchResult,.notFound button{width:100%;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--text);cursor:pointer;text-align:left}.navItem{padding:9px 10px}.navItem:hover,.navItem.active,.searchResult:hover,.notFound button{border-color:var(--line);background:var(--panel-strong)}.content{min-width:0;padding:28px clamp(18px,4vw,56px) 48px}.searchPanel{position:sticky;top:0;z-index:2;margin-bottom:20px;padding:12px 0;background:var(--bg)}.searchPanel label{display:block;margin-bottom:8px;color:var(--muted);font-size:.85rem;font-weight:700}.searchPanel input{width:100%;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--text);padding:13px 14px}.searchResults{display:grid;gap:8px;margin-top:10px}.searchResult{display:grid;gap:4px;padding:12px;background:var(--panel)}.searchResult span,.docHeader span,.tagRow small{color:var(--accent-strong);font-size:.78rem;font-weight:800}.docCard,.notFound{max-width:920px;margin:0 auto}.docHeader{border-bottom:1px solid var(--line);margin-bottom:26px;padding-bottom:18px}.docHeader h1{margin:8px 0 10px;font-size:clamp(2rem,5vw,3.25rem);line-height:1.08}.tagRow{display:flex;flex-wrap:wrap;gap:8px}.tagRow small{border:1px solid var(--line);border-radius:999px;padding:4px 8px}.markdown{font-size:1rem;line-height:1.75}.markdown h1,.markdown h2,.markdown h3{line-height:1.25}.markdown h2{margin-top:34px;border-bottom:1px solid var(--line);padding-bottom:8px}.markdown h2 a,.markdown h3 a{color:inherit;text-decoration:none}.markdown code{border-radius:5px;background:var(--panel-strong);padding:2px 5px}.codeBlock{overflow:hidden;margin:18px 0;border:1px solid var(--line);border-radius:8px;background:var(--code);color:var(--code-text)}.codeBlock figcaption{border-bottom:1px solid rgb(255 255 255 / 14%);padding:8px 12px;color:var(--muted)}.codeBlock pre{overflow-x:auto;margin:0;padding:16px}.mermaidBlock{border-color:var(--accent)}.tableWrap{overflow-x:auto}table{width:100%;border-collapse:collapse;margin:18px 0}th,td{border:1px solid var(--line);padding:10px;text-align:left;vertical-align:top}blockquote{margin:18px 0;border-left:4px solid var(--accent);padding:8px 16px;background:var(--panel-strong)}.toc{position:sticky;top:0;height:100vh;overflow-y:auto;border-left:1px solid var(--line);padding:28px 18px}.toc strong{display:block;margin-bottom:10px}.toc a{display:block;margin:8px 0;color:var(--muted);text-decoration:none}.toc .level3{padding-left:14px}.notFound{padding:64px 24px}.notFound button{max-width:180px;padding:10px 12px}@media(max-width:1080px){.appShell{grid-template-columns:240px minmax(0,1fr)}.toc{display:none}}@media(max-width:760px){.appShell{display:block}.sidebar{position:relative;height:auto;max-height:44vh;border-right:0;border-bottom:1px solid var(--line)}.content{padding:16px 16px 36px}.searchPanel{position:relative}}
