:root{--bg:#ffffff;--text:#1d252c;--muted:#66717d;--subtle:#f6f8f9;--panel:#ffffff;--border:#dce3e8;--code-bg:#111820;--code-text:#e8edf2;--accent:#00a8e6;--accent-soft:#e4f7f4;--shadow:0 16px 40px rgb(20 31 38 / 12%);--header-height:64px;--sidebar-width:284px;--toc-width:232px;--content-width:760px;color-scheme:light}:root[data-theme=dark]{--bg:#111315;--text:#edf1f3;--muted:#a4adb5;--subtle:#181b1e;--panel:#15181b;--border:#2a3035;--code-bg:#090b0d;--code-text:#edf1f3;--accent:#00a8e6;--accent-soft:#12312e;--shadow:0 18px 44px rgb(0 0 0 / 34%);color-scheme:dark}*{box-sizing:border-box}html{scroll-padding-top:calc(var(--header-height) + 18px)}body{min-height:100vh;margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,input{font:inherit}button{color:inherit}svg{width:1.1em;height:1.1em;display:block}[hidden]{display:none!important}.sr-only,.skip-link{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link:focus{z-index:100;width:auto;height:auto;margin:12px;padding:8px 12px;clip:auto;border:1px solid var(--border);border-radius:6px;background:var(--panel);box-shadow:var(--shadow)}.site-header{position:sticky;top:0;z-index:40;height:var(--header-height);border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(14px)}.nav-inner{height:100%;max-width:1440px;margin:0 auto;padding:0 24px;display:flex;align-items:center;gap:22px}.brand{display:inline-flex;align-items:center;gap:10px;min-width:fit-content;font-weight:700}.brand-logo{height:24px;width:auto;display:block}.brand-title{white-space:nowrap}.nav-tools{margin-left:auto;display:flex;align-items:center;gap:10px;min-width:0}.icon-button{width:38px;height:38px;display:inline-grid;place-items:center;border:1px solid var(--border);border-radius:8px;background:var(--panel);cursor:pointer}.icon-button:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));background:var(--subtle)}.theme-toggle .theme-icon{grid-area:1/1}:root[data-theme=light] .theme-icon-sun,:root[data-theme=dark] .theme-icon-moon{display:none}.mobile-menu-button{display:none}.search{position:relative;width:min(340px,34vw)}.search-field{height:38px;display:flex;align-items:center;gap:8px;padding:0 8px 0 11px;border:1px solid var(--border);border-radius:8px;background:var(--subtle);color:var(--muted)}.search-field svg{flex:none}.search-input{min-width:0;width:100%;border:0;outline:0;background:0 0;color:var(--text)}.search-input::placeholder{color:var(--muted)}.search-shortcut{flex:none;padding:1px 5px;border:1px solid var(--border);border-radius:5px;background:var(--panel);color:var(--muted);font-size:.68rem;line-height:1.45}.search-panel{position:absolute;top:calc(100% + 8px);right:0;z-index:50;width:min(560px,calc(100vw - 28px));max-height:min(70vh,520px);overflow:auto;padding:8px;border:1px solid var(--border);border-radius:8px;background:var(--panel);box-shadow:var(--shadow)}.search-results{list-style:none;margin:0;padding:0}.search-result{display:grid;gap:2px;padding:10px 11px;border-radius:7px}.search-result:hover,.search-result.is-active{background:var(--subtle)}.search-result-title{font-weight:650}.search-result-path,.search-result-text{color:var(--muted);font-size:.86rem;line-height:1.45}.search-result mark{padding:0 1px;border-radius:2px;background:var(--accent-soft);color:var(--text)}.search-empty{margin:0;padding:18px 12px;color:var(--muted)}.docs-layout{max-width:1440px;margin:0 auto;padding:0 24px;display:grid;grid-template-columns:var(--sidebar-width)minmax(0,var(--content-width))var(--toc-width);gap:36px;align-items:start}.sidebar{position:sticky;top:var(--header-height);height:calc(100vh - var(--header-height));overflow:auto;padding:24px 14px 30px 0;border-right:1px solid var(--border);scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--muted) 38%,transparent)transparent}.sidebar-nav ul{list-style:none}.tree{margin:0;padding:0}.tree-node{margin:0}.tree-item{position:relative;align-items:center;display:flex}.tree-toggle{position:absolute;top:50%;right:.5rem;width:1.25rem;height:1.25rem;display:grid;place-items:center;padding:0;border:0;border-radius:.125rem;background:0 0;color:var(--accent);cursor:pointer;transform:translateY(-50%);transition:color .15s ease,border-color .15s ease,background-color .15s ease}.tree-toggle:hover{border-color:color-mix(in srgb,var(--accent) 28%,var(--border));background-color:color-mix(in srgb,var(--accent-soft) 50%,transparent);color:var(--text)}.tree-toggle svg{width:1rem;height:1rem;transition:transform .2s ease}.tree-node.is-open>.tree-item>.tree-toggle svg{transform:rotate(90deg)}.tree-link{display:flex;align-items:center;gap:.5rem;flex-grow:1;min-width:0;cursor:pointer;border-radius:.375rem;padding:.375rem .5rem;color:var(--muted);font-size:.875rem;line-height:1.5;transition:color .15s ease,background-color .15s ease,border-color .15s ease}.tree-link.has-children{padding-right:2.25rem}.tree-link.is-inactive:hover{background-color:var(--subtle);color:var(--text)}.tree-link.is-active{background-color:color-mix(in srgb,var(--accent-soft) 92%,var(--bg));color:color-mix(in srgb,var(--accent) 82%,var(--text));font-weight:600}.tree-link-text{min-width:0;word-break:break-word}.tree-children{overflow:hidden}.is-open>.tree-children{padding-top:.25rem}.tree-children-list{position:relative;display:flex;flex-direction:column;gap:.25rem;margin-left:.75rem;padding-left:.75rem}.tree-children-list::before{position:absolute;top:.25rem;bottom:.25rem;left:0;width:1px;background-color:color-mix(in srgb,var(--border) 88%,transparent);content:""}.tree-child-item{display:flex;flex-direction:column}li:not(.is-open)>.tree-children{display:none}.tree-node.is-open>.tree-item>.tree-toggle{border-color:color-mix(in srgb,var(--accent) 28%,var(--border));background-color:color-mix(in srgb,var(--accent-soft) 60%,transparent)}.doc-main{min-width:0;padding:34px 0 74px}.page-main,.home-main{max-width:960px;margin:0 auto;padding:46px 24px 74px}.home-hero{padding-top:18px}.breadcrumb{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:18px;color:var(--muted);font-size:.86rem}.breadcrumb a:hover{color:var(--text)}.content{min-width:0}.content h1,.home-hero h1{margin:0 0 22px;color:var(--text);font-size:clamp(2rem,4vw,3rem);line-height:1.08;letter-spacing:0}.content h2{margin-top:42px;padding-top:22px;border-top:1px solid var(--border);font-size:1.55rem;line-height:1.25;letter-spacing:0}.content h3{margin-top:30px;font-size:1.2rem;line-height:1.3;letter-spacing:0}.content h4,.content h5,.content h6{margin-top:24px;line-height:1.35;letter-spacing:0}.content p,.content ul,.content ol,.content blockquote,.content pre,.content table{margin:0 0 18px}.content a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.content img{display:block;max-width:100%;height:auto;margin:10px 0;border:1px solid var(--border);border-radius:6px}.content ul,.content ol{padding-left:1.35rem}.content li+li{margin-top:4px}.heading-anchor{margin-left:8px;color:var(--muted)!important;opacity:0;text-decoration:none!important}.content h2:hover .heading-anchor,.content h3:hover .heading-anchor,.content h4:hover .heading-anchor,.heading-anchor:focus{opacity:1}.content code:not(pre code){padding:.16em .35em;border:1px solid var(--border);border-radius:5px;background:var(--subtle);font-size:.9em}.code-block{position:relative;margin:22px 0;overflow:hidden;border:1px solid var(--border);border-radius:8px;background:var(--code-bg)}.code-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:42px;padding:0 10px 0 13px;border-bottom:1px solid color-mix(in srgb,var(--border) 42%,transparent)}.code-head.is-button-only{min-height:38px}.code-title{color:var(--code-text);font-size:.82rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,liberation mono,monospace}.code-title.is-empty{visibility:hidden}.code-copy-button{flex:none;min-width:56px;height:28px;padding:0 10px;border:1px solid color-mix(in srgb,var(--border) 52%,transparent);border-radius:6px;background:color-mix(in srgb,var(--code-bg) 82%,white 18%);color:var(--code-text);font-size:.78rem;line-height:1;cursor:pointer}.code-copy-button:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));background:color-mix(in srgb,var(--code-bg) 70%,white 30%)}.code-copy-button.is-copied{color:#a7f3d0}.highlight{margin:0}.highlight pre{margin:0;padding:15px;overflow:auto;background:var(--code-bg)!important;color:var(--code-text);font-size:.9rem;line-height:1.6}.highlight code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,liberation mono,monospace}.chroma .k,.chroma .kd,.chroma .kn,.chroma .kr{color:#7dd3fc}.chroma .s,.chroma .s1,.chroma .s2{color:#a7f3d0}.chroma .c,.chroma .c1,.chroma .cm{color:#91a1ad}.chroma .nf,.chroma .nx{color:#fde68a}.section-grid,.shortcode-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:24px 0}.shortcode-cards{grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr))}@media(min-width:820px){.shortcode-cards{grid-template-columns:repeat(var(--card-cols,3),minmax(0,1fr))}}.topic-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 12px;align-items:start;padding:17px;border:1px solid var(--border);border-radius:8px;background:var(--panel);color:var(--text);text-decoration:none!important}.topic-card:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));background:var(--subtle)}.topic-card-icon{grid-row:span 2;width:30px;height:30px;display:grid;place-items:center;border-radius:8px;background:var(--accent-soft);color:var(--accent)}.topic-card-title{font-weight:700;line-height:1.3}.topic-card-text{color:var(--muted);font-size:.9rem;line-height:1.45}.pager{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:54px}.pager>div:last-child{text-align:right}.pager-link{display:inline-grid;gap:2px;max-width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:8px;color:var(--text)}.pager-link:hover{background:var(--subtle)}.pager-link span{color:var(--muted);font-size:.78rem}.pager-link strong{overflow-wrap:anywhere}.toc{position:sticky;top:var(--header-height);max-height:calc(100vh - var(--header-height));overflow:auto;padding:28px 0 28px 14px;color:var(--muted);font-size:.86rem}.toc-title{margin:0 0 9px;color:var(--text);font-weight:700}.toc-list{list-style:none;margin:0;padding:0}.toc-item a{display:block;padding:4px 0;color:var(--muted);overflow-wrap:anywhere}.toc-item a:hover{color:var(--text)}.toc-item.level-1{padding-left:12px}.toc-item.level-2{padding-left:24px}.site-footer{border-top:1px solid var(--border)}.footer-inner{max-width:1440px;margin:0 auto;padding:22px 24px;display:flex;justify-content:space-between;gap:18px;color:var(--muted);font-size:.88rem}.mobile-overlay{display:none}@media(max-width:1120px){.docs-layout{grid-template-columns:var(--sidebar-width)minmax(0,var(--content-width));max-width:1120px}.toc{display:none}}@media(max-width:860px){:root{--header-height:58px}body.sidebar-open{overflow:hidden}.nav-inner{padding:0 14px;gap:12px}.brand-title{max-width:36vw;overflow:hidden;text-overflow:ellipsis}.search{width:min(48vw,260px)}.search-shortcut{display:none}.mobile-menu-button{display:inline-grid}.docs-layout{display:block;padding:0 18px}.sidebar{position:fixed;inset:var(--header-height)auto 0 0;z-index:55;width:min(84vw,320px);height:auto;padding:20px 14px 30px;border-right:1px solid var(--border);background:var(--bg);transform:translateX(-102%);transition:transform .18s ease}.sidebar-open .sidebar{transform:translateX(0)}.mobile-overlay{position:fixed;inset:var(--header-height)0 0;z-index:50;background:rgb(0 0 0/38%)}.sidebar-open .mobile-overlay{display:block}.doc-main{padding:28px 0 58px}.page-main,.home-main{padding:34px 18px 58px}.content h1,.home-hero h1{font-size:2.1rem}.pager{grid-template-columns:1fr}.pager>div:last-child{text-align:left}.footer-inner{padding:20px 18px;flex-direction:column}}@media(max-width:560px){.brand-mark{width:22px;height:22px}.brand-title{display:none}.search{width:min(62vw,250px)}.search-panel{position:fixed;top:calc(var(--header-height) + 8px);left:12px;right:12px;width:auto}.icon-button{width:36px;height:36px}}