@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.2uwcyprjm3xu3.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_786c1081-module__J60SBq__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_786c1081-module__J60SBq__variable{--font-sans:"Inter", "Inter Fallback"}
:root{--bg:#fff;--bg-soft:#f8fafc;--bg-sunken:#f1f5f9;--ink:#0f172a;--ink-soft:#475569;--ink-faint:#94a3b8;--line:#e2e8f0;--accent:#0d9488;--accent-soft:#ccfbf1;--warn-bg:#fffbeb;--warn-line:#fcd34d;--note-bg:#eff6ff;--note-line:#93c5fd;--tip-bg:#f0fdfa;--tip-line:#5eead4;--code-bg:#0f172a;--code-ink:#e2e8f0;--sidebar-w:280px;--toc-w:220px;--topbar-h:56px;--content-w:780px}html.dark{--bg:#0b1120;--bg-soft:#0f172a;--bg-sunken:#1e293b;--ink:#e2e8f0;--ink-soft:#94a3b8;--ink-faint:#64748b;--line:#1e293b;--accent:#2dd4bf;--accent-soft:#134e4a;--warn-bg:#292010;--warn-line:#a16207;--note-bg:#101c33;--note-line:#1d4ed8;--tip-bg:#0a2622;--tip-line:#0f766e;--code-bg:#020617;--code-ink:#e2e8f0}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--topbar-h) + 16px)}body{background:var(--bg);color:var(--ink);font-family:var(--font-sans), system-ui, -apple-system, sans-serif;margin:0;font-size:15px;line-height:1.65}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.topbar{height:var(--topbar-h);z-index:50;background:color-mix(in srgb, var(--bg) 85%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);align-items:center;gap:16px;padding:0 20px;display:flex;position:fixed;inset:0 0 auto}.topbar .brand{letter-spacing:.22em;color:var(--ink);align-items:center;gap:10px;font-size:13px;font-weight:600;display:flex}.topbar .brand:hover{text-decoration:none}.topbar .brand .docs-tag{letter-spacing:normal;color:var(--ink-faint);border:1px solid var(--line);border-radius:6px;padding:1px 7px;font-size:12px;font-weight:500}.topbar .spacer{flex:1}.search-button{border:1px solid var(--line);background:var(--bg-soft);min-width:220px;color:var(--ink-faint);cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:6px 10px;font-size:13px;display:flex}.search-button kbd{border:1px solid var(--line);background:var(--bg);border-radius:4px;margin-left:auto;padding:0 5px;font-family:inherit;font-size:11px}.icon-button{border:1px solid var(--line);background:var(--bg-soft);color:var(--ink-soft);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:15px;display:flex}.shell{padding-top:var(--topbar-h);min-height:100vh;display:flex}.sidebar{top:var(--topbar-h);width:var(--sidebar-w);height:calc(100vh - var(--topbar-h));border-right:1px solid var(--line);background:var(--bg-soft);flex-shrink:0;align-self:flex-start;padding:20px 12px 40px 20px;position:sticky;overflow-y:auto}.sidebar .chapter{margin-bottom:18px}.sidebar .chapter-title{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint);margin:0 0 6px 8px;font-size:11px;font-weight:600}.sidebar ul{margin:0;padding:0;list-style:none}.sidebar li a{color:var(--ink-soft);border-radius:6px;padding:5px 8px;font-size:13.5px;display:block}.sidebar li a:hover{background:var(--bg-sunken);color:var(--ink);text-decoration:none}.sidebar li a.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.main{flex:1;justify-content:center;gap:32px;min-width:0;display:flex}.content{width:100%;max-width:var(--content-w);padding:36px 28px 80px}.toc{top:var(--topbar-h);width:var(--toc-w);height:calc(100vh - var(--topbar-h));flex-shrink:0;align-self:flex-start;padding:36px 20px 40px 0;font-size:12.5px;position:sticky;overflow-y:auto}.toc .toc-title{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint);margin-bottom:8px;font-size:11px;font-weight:600}.toc ul{margin:0;padding:0;list-style:none}.toc li a{color:var(--ink-soft);padding:3px 0;display:block}.toc li.depth-3 a{color:var(--ink-faint);padding-left:14px}@media (max-width:1100px){.toc{display:none}}@media (max-width:820px){.sidebar{display:none}.content{padding:24px 16px 60px}}.breadcrumbs{color:var(--ink-faint);margin-bottom:6px;font-size:12.5px}.content h1{letter-spacing:-.02em;margin:0 0 8px;font-size:30px;line-height:1.25}.page-description{color:var(--ink-soft);margin:0 0 28px;font-size:16px}.content h2{border-top:1px solid var(--line);letter-spacing:-.01em;margin:40px 0 12px;padding-top:8px;font-size:21px}.content h3{margin:28px 0 8px;font-size:16.5px}.content p{margin:0 0 14px}.content ul,.content ol{margin:0 0 14px;padding-left:26px}.content li{margin-bottom:5px}.content h2 .anchor,.content h3 .anchor{float:left;color:var(--ink-faint);opacity:0;margin-left:-20px;padding-right:6px;font-weight:400}.content h2:hover .anchor,.content h3:hover .anchor{opacity:1}.content code{background:var(--bg-sunken);border:1px solid var(--line);border-radius:5px;padding:1px 5px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:13px}.content pre{background:var(--code-bg);color:var(--code-ink);border-radius:10px;margin:0 0 16px;padding:14px 16px;font-size:13px;line-height:1.55;overflow-x:auto}.content pre code{color:inherit;background:0 0;border:none;padding:0}.content table{border-collapse:collapse;width:100%;margin:0 0 16px;font-size:13.5px;display:block;overflow-x:auto}.content th,.content td{border:1px solid var(--line);text-align:left;vertical-align:top;padding:7px 10px}.content th{background:var(--bg-soft);font-weight:600}.doc-figure{margin:20px 0 24px}.doc-figure img{border:1px solid var(--line);border-radius:10px;width:100%;height:auto;box-shadow:0 1px 3px #00000012}.doc-figure figcaption{text-align:center;color:var(--ink-faint);margin-top:8px;font-size:12.5px}.callout{border:1px solid;border-radius:10px;margin:0 0 16px;padding:12px 14px}.callout p{margin:0 0 6px}.callout p:last-child{margin:0}.callout-title{font-size:13px;font-weight:600}.callout-note{background:var(--note-bg);border-color:var(--note-line)}.callout-tip{background:var(--tip-bg);border-color:var(--tip-line)}.callout-warn{background:var(--warn-bg);border-color:var(--warn-line)}.pager{gap:12px;margin-top:48px;display:flex}.pager a{border:1px solid var(--line);color:var(--ink);border-radius:10px;flex:1;padding:12px 14px;display:block}.pager a:hover{border-color:var(--accent);text-decoration:none}.pager .pager-label{color:var(--ink-faint);font-size:11.5px;display:block}.pager .pager-title{font-size:14px;font-weight:600}.pager .next{text-align:right}.home{max-width:1000px;margin:0 auto;padding:0 24px 80px}.hero{border-bottom:1px solid var(--line);margin-bottom:40px;padding:64px 0 44px}.hero h1{letter-spacing:-.03em;margin:0 0 14px;font-size:clamp(30px,4vw,40px);line-height:1.15}.hero p{color:var(--ink-soft);max-width:640px;margin:0;font-size:16.5px}.section{margin-bottom:44px}.section-head{margin-bottom:14px}.section-head h2{letter-spacing:-.01em;margin:0 0 2px;font-size:17px}.section-head p{color:var(--ink-faint);margin:0;font-size:13.5px}.grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.grid-start{grid-template-columns:repeat(3,1fr)}.card{border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:12px;align-items:flex-start;gap:13px;padding:16px 16px 18px;display:flex;position:relative}.card:hover{border-color:var(--accent);background:var(--bg-soft);text-decoration:none}.card-icon{border:1px solid var(--line);background:var(--bg-soft);width:34px;height:34px;color:var(--ink-soft);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.card:hover .card-icon{color:var(--accent);border-color:var(--accent)}.card-strong{border-color:var(--accent)}.card-strong .card-icon{background:var(--accent);border-color:var(--accent);color:#fff}.card-body{flex-direction:column;gap:3px;min-width:0;display:flex}.card-title{font-size:14.5px;font-weight:600}.card-note{color:var(--ink-soft);font-size:13px;line-height:1.5}.card-meta{color:var(--ink-faint);font-size:11px;position:absolute;top:14px;right:14px}.home-footer{border-top:1px solid var(--line);color:var(--ink-faint);margin-top:8px;padding-top:22px;font-size:13px}.home-footer kbd{border:1px solid var(--line);background:var(--bg-soft);border-radius:4px;padding:1px 5px;font-family:inherit;font-size:11.5px}@media (max-width:860px){.grid,.grid-start{grid-template-columns:1fr}.card-meta{display:none}}.search-overlay{z-index:100;background:#0006;justify-content:center;align-items:flex-start;padding-top:12vh;display:flex;position:fixed;inset:0}.search-panel{background:var(--bg);border:1px solid var(--line);border-radius:14px;flex-direction:column;width:min(640px,92vw);max-height:60vh;display:flex;overflow:hidden;box-shadow:0 20px 60px #0000004d}.search-panel input{color:var(--ink);border:none;border-bottom:1px solid var(--line);background:0 0;outline:none;padding:16px 18px;font-family:inherit;font-size:16px}.search-results{padding:8px;overflow-y:auto}.search-results a{color:var(--ink);border-radius:8px;padding:10px 12px;display:block}.search-results a:hover,.search-results a.selected{background:var(--bg-sunken);text-decoration:none}.search-results .result-chapter{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.06em;font-size:11px}.search-results .result-title{font-size:14px;font-weight:600}.search-results .result-snippet{color:var(--ink-soft);font-size:12.5px}.search-empty{text-align:center;color:var(--ink-faint);padding:24px;font-size:14px}.lang{position:relative}.lang-button{border:1px solid var(--line);background:var(--bg-soft);color:var(--ink-soft);cursor:pointer;border-radius:8px;align-items:center;gap:7px;height:32px;padding:0 10px;font-family:inherit;font-size:13px;display:flex}.lang-button:hover{color:var(--ink);border-color:var(--accent)}.lang-menu{z-index:60;background:var(--bg);border:1px solid var(--line);border-radius:10px;min-width:168px;margin:0;padding:6px;list-style:none;position:absolute;top:38px;right:0;box-shadow:0 10px 30px #00000029}.lang-menu a{color:var(--ink);border-radius:6px;padding:6px 10px;font-size:13.5px;display:block}.lang-menu a:hover{background:var(--bg-sunken);text-decoration:none}.lang-menu a.active{color:var(--accent);font-weight:600}
