:root{--strong: #111111;--ink: #1a1a1a;--text: #262626;--muted: #737373;--faint: #a3a3a3;--line: #e5e5e5;--line-strong: #d4d4d4;--fill: #fafafa;--panel: #ffffff;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", "Source Han Sans SC", sans-serif;--mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--header-h: 56px}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font);font-size:14px;color:var(--text);background:var(--panel)}::selection{background:var(--strong);color:var(--panel)}*{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}a{color:var(--strong);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}a:hover{color:var(--muted)}a:focus-visible,button:focus-visible{outline:2px solid var(--strong);outline-offset:-2px}button{font-family:inherit}.header{position:sticky;top:0;z-index:50;height:var(--header-h);display:flex;align-items:center;gap:12px;padding:0 20px;background:var(--panel);border-bottom:1px solid var(--line)}.menu-btn{display:none;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--line-strong);background:var(--panel);color:var(--strong);cursor:pointer}.brand{display:flex;align-items:center;gap:10px;text-decoration:none}.brand-mark{color:var(--strong)}.brand-name{font-size:16px;font-weight:700;letter-spacing:.2px;color:var(--strong)}.brand-tag{padding-left:10px;border-left:1px solid var(--line-strong);font-size:12px;color:var(--muted)}.header-links{margin-left:auto;display:flex;align-items:center;gap:4px}.hlink{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;font-size:13px;color:var(--text);text-decoration:none}.hlink:hover{background:var(--fill);color:var(--strong)}.hlink-cta{margin-left:6px;border:1px solid var(--strong);background:var(--strong);color:var(--panel)}.hlink-cta:hover{background:var(--ink);color:var(--panel)}.body{display:grid;grid-template-columns:288px minmax(0,1fr) 300px;max-width:1680px;margin:0 auto;width:100%}.sidebar{position:sticky;top:var(--header-h);height:calc(100vh - var(--header-h));overflow-y:auto;padding:14px 10px 48px;border-right:1px solid var(--line);background:var(--panel)}.nav-group+.nav-group{margin-top:2px}.nav-group-row{display:flex;align-items:center;border-left:2px solid transparent}.nav-group-row.current{border-left-color:var(--strong)}.tw{flex:none;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;background:none;color:var(--faint);cursor:pointer;padding:0}.tw:hover{color:var(--strong)}.tw-blank{display:inline-block}.chev{transition:transform .15s ease}.chev-open{transform:rotate(90deg)}.gl{flex:1;display:flex;align-items:baseline;gap:8px;padding:7px 8px 7px 0;font-size:13px;font-weight:600;color:var(--strong);text-decoration:none}.gl:hover{color:var(--muted)}.g-index{font-family:var(--mono);font-size:11px;font-weight:400;color:var(--faint)}.nav-list{margin:0 0 6px}.nav-row{display:flex;align-items:center}.nav-row .tw{margin-left:10px}.nav-row .tw-blank{width:22px;margin-left:10px}.nl{flex:1;padding:5px 8px 5px 0;font-size:13px;color:var(--text);text-decoration:none;line-height:1.5}.nl:hover{color:var(--strong);background:var(--fill)}.nav-row.active{background:var(--strong)}.nav-row.active .nl,.nav-row.active .tw{color:var(--panel)}.nav-row.has-active .nl{font-weight:600;color:var(--strong)}.nav-sub{margin:0 0 2px}.nav-sub-link{display:block;padding:4px 8px 4px 44px;font-size:12.5px;color:var(--muted);text-decoration:none;line-height:1.5}.nav-sub-link:hover{color:var(--strong);background:var(--fill)}.nav-sub-link.active{background:var(--strong);color:var(--panel)}.content{min-width:0;padding:28px 48px 72px}.doc-page{max-width:920px;margin:0 auto}.crumb{display:flex;align-items:center;gap:8px;margin-bottom:18px;font-size:12px;color:var(--muted)}.crumb-sep{color:var(--faint)}.crumb-current{color:var(--strong);font-weight:600}.crumb-src{margin-left:auto;font-family:var(--mono);font-size:11px;color:var(--faint)}.doc-article{font-size:15px;line-height:1.85;color:var(--text)}.doc-article h1,.doc-article h2,.doc-article h3,.doc-article h4,.doc-article h5,.doc-article h6{color:var(--strong);line-height:1.4;scroll-margin-top:var(--header-h)}.doc-article h1{margin:0 0 12px;padding-bottom:14px;border-bottom:1px solid var(--line);font-size:27px}.doc-article h2{margin:44px 0 14px;padding-bottom:8px;border-bottom:1px solid var(--line);font-size:20px}.doc-article h3{margin:30px 0 10px;font-size:16.5px}.doc-article h4{margin:24px 0 8px;font-size:14.5px}.doc-article p{margin:10px 0}.doc-article ul,.doc-article ol{margin:10px 0;padding-left:24px}.doc-article li{margin:5px 0}.doc-article li::marker{color:var(--faint)}.doc-article blockquote{margin:14px 0;padding:6px 18px;border-left:2px solid var(--strong);color:var(--muted)}.doc-article blockquote p{margin:6px 0}.doc-article hr{margin:32px 0;border:none;border-top:1px solid var(--line)}.doc-article code{font-family:var(--mono);font-size:.86em;padding:1px 5px;border:1px solid var(--line);background:var(--fill)}.doc-article pre{margin:14px 0;padding:12px 14px;border:1px solid var(--line);background:var(--fill);overflow-x:auto;line-height:1.7}.doc-article pre code{padding:0;border:none;background:none;font-size:12.5px}.table-wrap{margin:14px 0;border:1px solid var(--line);overflow-x:auto}.doc-article table{width:100%;border-collapse:collapse;font-size:13px;line-height:1.7}.doc-article th,.doc-article td{padding:8px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.doc-article th+th,.doc-article td+td{border-left:1px solid var(--line)}.doc-article tr:last-child td{border-bottom:none}.doc-article th{background:var(--fill);font-weight:600;color:var(--strong);white-space:nowrap}.doc-article img{max-width:100%}.pager{margin-top:56px;display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line)}.pager a{padding:12px 16px;text-decoration:none}.pager a:hover{background:var(--fill)}.pager a.next{border-left:1px solid var(--line);text-align:right}.pager em{display:block;margin-bottom:4px;font-style:normal;font-size:11px;color:var(--faint)}.pager span{font-size:13px;font-weight:600;color:var(--strong)}.pager-blank{display:block}.foot{margin-top:40px;padding-top:16px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;font-size:12px;color:var(--muted)}.foot-links{margin-left:auto;display:flex;gap:16px}.foot a{color:var(--muted);text-decoration:none}.foot a:hover{color:var(--strong)}.rail{border-left:1px solid var(--line)}.rail-inner{position:sticky;top:var(--header-h);max-height:calc(100vh - var(--header-h));overflow-y:auto;padding:24px 20px 48px;display:flex;flex-direction:column;gap:24px}.rail-title{margin:0 0 8px;font-size:11px;font-weight:600;letter-spacing:1px;color:var(--faint)}.rail-list{display:flex;flex-direction:column}.rail-list a,.rail-kv{display:flex;align-items:center;gap:6px;padding:5px 0;font-size:13px;color:var(--text);text-decoration:none}.rail-list a:hover{color:var(--strong);text-decoration:underline}.rail-list code{font-family:var(--mono);font-size:11.5px;color:var(--muted)}.rail-kv{color:var(--muted)}.rail-note{margin:0;font-size:12.5px;line-height:1.8;color:var(--muted)}.rail-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.tag{padding:2px 8px;border:1px solid var(--line-strong);font-size:11px;color:var(--text)}.price-card{border:1px solid var(--line);padding:12px 14px}.price-card+.price-card{margin-top:10px}.price-card.featured{border-color:var(--strong)}.price-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.price-name{font-size:13px;font-weight:600;color:var(--strong)}.price-value{font-size:17px;font-weight:700;color:var(--strong)}.price-value em{margin-left:4px;font-style:normal;font-size:11px;font-weight:400;color:var(--muted)}.price-desc{margin:6px 0 0;font-size:12px;color:var(--muted)}.price-feats{margin:8px 0 0;padding-left:18px;font-size:12.5px}.price-feats li{margin:4px 0}.price-cta{display:inline-block;margin-top:12px;padding:5px 12px;border:1px solid var(--strong);background:var(--strong);color:var(--panel);font-size:12.5px;text-decoration:none}.price-cta:hover{background:var(--ink);color:var(--panel)}.price-cta.ghost{background:var(--panel);color:var(--strong)}.price-cta.ghost:hover{background:var(--fill);color:var(--strong)}.scrim{display:none}@media (max-width: 1280px){.body{grid-template-columns:264px minmax(0,1fr)}.rail{grid-column:1 / -1;border-left:none;border-top:1px solid var(--line)}.rail-inner{position:static;max-height:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;padding:28px 48px 56px}}@media (max-width: 960px){.body{grid-template-columns:minmax(0,1fr)}.menu-btn{display:inline-flex}.sidebar{position:fixed;top:var(--header-h);left:0;bottom:0;z-index:60;width:300px;transform:translate(-102%);transition:transform .18s ease}.sidebar.open{transform:none}.scrim{display:block;position:fixed;top:var(--header-h);left:0;right:0;bottom:0;z-index:55;background:#11111159}.content{padding:20px 18px 56px}.rail-inner{grid-template-columns:1fr;padding:24px 18px 48px}.hide-sm,.crumb-src{display:none}.pager{grid-template-columns:1fr}.pager a.next{border-left:none;border-top:1px solid var(--line);text-align:left}}
