
:root{--blue:#00a3ff;--blue2:#1589e8;--text:#161b26;--muted:#657184;--line:#e5e7eb;--soft:#f7f8fa;--card:#fff;--side:280px;--toc:250px;--top:64px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--text);background:#fff;line-height:1.65}a{color:#2687f5;text-decoration:none}a:hover{text-decoration:underline}button,input{font:inherit}.topbar{position:fixed;z-index:50;top:0;left:0;right:0;height:var(--top);background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 18px;gap:22px}.brand{display:flex;align-items:center;gap:9px;font-weight:750;color:#171c27;white-space:nowrap}.brand:hover{text-decoration:none}.brand img{width:30px;height:30px}.topnav{display:flex;align-items:center;gap:22px;font-size:14px;white-space:nowrap}.topnav a{color:#293342}.topnav .product{color:#0a8ee8}.search-wrap{margin-left:auto;position:relative;width:min(370px,34vw)}.search-wrap input{width:100%;height:40px;border:1px solid #d8dde5;border-radius:12px;padding:0 14px 0 38px;background:#fff;color:#202a39;outline:none}.search-wrap input:focus{border-color:#8ccfff;box-shadow:0 0 0 3px rgba(0,163,255,.10)}.search-icon{position:absolute;left:13px;top:9px;color:#8592a6}.search-results{position:absolute;left:0;right:0;top:46px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 36px rgba(17,24,39,.14);padding:7px;display:none;max-height:390px;overflow:auto}.search-results.open{display:block}.search-result{display:block;padding:9px 10px;border-radius:8px;color:#252d3a}.search-result:hover{background:#f3f7fb;text-decoration:none}.search-result small{display:block;color:#8a95a6;font-size:11px}.github{margin-left:auto;color:#323b48;font-size:14px}.hamburger{display:none;border:0;background:none;font-size:25px;color:#2c3544;padding:8px}.layout{display:grid;grid-template-columns:var(--side) minmax(0,1fr) var(--toc);max-width:1700px;margin:var(--top) auto 0;min-height:calc(100vh - var(--top))}.sidebar{position:sticky;top:var(--top);height:calc(100vh - var(--top));overflow:auto;border-right:1px solid var(--line);padding:14px 10px 60px;background:#fff}.sidebar-list{list-style:none;margin:0;padding:0}.sidebar-list .sidebar-list{padding-left:14px}.sidebar-link,.sidebar-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;text-align:left;border:0;background:transparent;padding:7px 10px;border-radius:7px;color:#616b79;font-size:14px;cursor:pointer}.sidebar-link:hover,.sidebar-toggle:hover{background:#f4f6f8;color:#1f2937;text-decoration:none}.sidebar-link.active{color:#167cf5;background:#eef6ff;font-weight:650}.sidebar-toggle{color:#4d5868;font-weight:600}.sidebar-group-head{display:flex;align-items:center}.sidebar-group-head .group-link{flex:1}.sidebar-toggle.icon-only{width:34px;justify-content:center;padding:7px 5px}.sidebar-toggle .caret{transition:.2s}.sidebar-toggle[aria-expanded="true"] .caret{transform:rotate(180deg)}.sidebar-children{display:none}.sidebar-children.open{display:block}.main{padding:34px 56px 80px;min-width:0;max-width:1000px;width:100%;margin:0 auto}.breadcrumbs{display:flex;align-items:center;gap:9px;font-size:13px;color:#8893a2;margin-bottom:22px;flex-wrap:wrap}.crumb{color:#68819d}.crumb.current{color:#4d5a6b}.crumb-sep{color:#a6afbc}.article h1{font-size:43px;line-height:1.15;letter-spacing:-.035em;margin:0 0 17px;color:#121722}.article .lede{font-size:18px;color:#586474;margin:0 0 28px;max-width:900px}.article h2{font-size:29px;line-height:1.25;margin:42px 0 14px;letter-spacing:-.02em;scroll-margin-top:88px}.article h3{font-size:22px;margin:30px 0 12px;scroll-margin-top:88px}.article p,.article li{font-size:16px;color:#242b35}.article ul{padding-left:23px}.anchor{font-size:16px;margin-left:8px;opacity:0}.article h2:hover .anchor,.article h3:hover .anchor{opacity:.6}.quick-grid,.related-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:25px 0}.quick-card,.related-card{border:1px solid var(--line);border-radius:12px;padding:17px 18px;color:#18202b;background:#fff;transition:.18s}.quick-card:hover,.related-card:hover{border-color:#b9dfff;box-shadow:0 6px 20px rgba(34,108,180,.08);text-decoration:none}.quick-card b,.related-card b{display:block;font-size:16px}.quick-card span,.related-card span{display:block;color:#728095;font-size:13px;margin-top:3px}.product-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.product-links a{padding:9px 15px;border:1px solid #bfe4ff;border-radius:999px;background:#f1f9ff;color:#007bd2;font-weight:650}.toc{position:sticky;top:var(--top);height:calc(100vh - var(--top));overflow:auto;border-left:1px solid var(--line);padding:28px 18px 50px}.toc-title{font-size:11px;font-weight:800;color:#778394;text-transform:uppercase;letter-spacing:.07em;margin-bottom:10px}.toc a{display:block;color:#687383;font-size:13px;padding:5px 0;line-height:1.35}.toc a:hover{color:#187df5;text-decoration:none}.pagination{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:48px}.page-nav{border:1px solid var(--line);border-radius:12px;padding:14px 16px;color:#3d4a5b}.page-nav:hover{border-color:#b9dfff;text-decoration:none}.page-nav small{display:block;color:#8a96a7}.page-nav.next{text-align:right}.footer{border-top:1px solid var(--line);margin-top:56px;padding-top:22px;color:#8a95a4;font-size:13px}.theme-btn{border:1px solid var(--line);background:#fff;border-radius:9px;padding:7px 9px;color:#667085;cursor:pointer}.theme-btn:hover{background:#f5f7f9}.mobile-overlay{display:none}.mobile-toc{display:none}.badge{display:inline-flex;align-items:center;background:#edf7ff;color:#087dc7;border-radius:999px;padding:3px 8px;font-size:12px;font-weight:650;margin-bottom:13px}
body.dark{--text:#e7eaf0;--muted:#aeb7c6;--line:#2a3140;--soft:#141922;--card:#10141b;background:#0f131a;color:#e7eaf0}.dark .topbar,.dark .sidebar,.dark .search-results{background:#10141b}.dark .brand,.dark .topnav a,.dark .article h1,.dark .article h2,.dark .article h3,.dark .quick-card,.dark .related-card{color:#edf0f5}.dark .article p,.dark .article li{color:#cbd2dc}.dark .sidebar-link,.dark .sidebar-toggle{color:#abb4c1}.dark .sidebar-link:hover,.dark .sidebar-toggle:hover{background:#171d27;color:#fff}.dark .sidebar-link.active{background:#132a3a;color:#48b8ff}.dark .quick-card,.dark .related-card,.dark .theme-btn,.dark .search-wrap input{background:#10141b;border-color:#2a3140;color:#e7eaf0}.dark .search-result{color:#e7eaf0}.dark .search-result:hover{background:#171d27}
@media(max-width:1100px){:root{--side:245px;--toc:0px}.toc{display:none}.main{padding:30px 38px}.topnav{display:none}.search-wrap{width:min(390px,48vw)}}
@media(max-width:780px){.topbar{padding:0 12px;gap:10px}.hamburger{display:block}.brand b{display:none}.search-wrap{width:auto;flex:1}.github,.theme-btn{display:none}.layout{display:block}.sidebar{position:fixed;z-index:60;top:var(--top);left:0;width:min(86vw,330px);transform:translateX(-105%);transition:.22s;box-shadow:15px 0 30px rgba(0,0,0,.10)}.sidebar.open{transform:translateX(0)}.mobile-overlay{position:fixed;z-index:55;left:0;right:0;top:var(--top);bottom:0;background:rgba(0,0,0,.25)}.mobile-overlay.open{display:block}.main{padding:26px 20px 65px;max-width:none}.article h1{font-size:34px}.article .lede{font-size:16px}.article h2{font-size:25px}.quick-grid,.related-grid{grid-template-columns:1fr}.pagination{grid-template-columns:1fr}.mobile-toc{display:block;border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin:0 0 22px}.mobile-toc summary{cursor:pointer;font-weight:650}.mobile-toc a{display:block;padding:5px 0;font-size:13px}.breadcrumbs{margin-bottom:16px}}
@media(max-width:420px){.main{padding-left:16px;padding-right:16px}.search-wrap input{font-size:14px}.article h1{font-size:31px}.brand img{width:28px;height:28px}}
