:root{color-scheme:light;--bg:#f7fbfe;--surface:#fff;--text:#202c3a;--muted:#748396;--line:#e4edf4;--blue:#269feb;--link:#167bc2;--tint:#ecf7ff;--code:#f5f8fc;--shadow:0 14px 44px rgba(57,100,133,.06)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:112px}body{margin:0;background:radial-gradient(ellipse at 80% 0,#e8f8fa88,transparent 40%),var(--bg);color:var(--text);font-family:system-ui,-apple-system,"Noto Sans SC","Microsoft YaHei",sans-serif;line-height:1.75}a{color:var(--link);text-underline-offset:4px}button,input{font:inherit}button{cursor:pointer}.skip-link{position:fixed;top:-100px;left:16px;background:var(--surface);padding:12px;z-index:40}.skip-link:focus{top:12px}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #8ccefb;outline-offset:3px;border-radius:6px}.site-header{position:sticky;top:0;z-index:20;background:var(--surface);border-bottom:1px solid var(--line)}.header-inner{max-width:1480px;margin:auto;min-height:88px;padding:16px 32px;display:flex;align-items:center;gap:22px}.brand{margin-right:auto;display:flex;align-items:center;flex-shrink:0}.brand img{width:240px;height:auto;display:block}.brand .brand-dark{display:none}.top-nav{display:flex;gap:26px;align-items:center}.top-nav a{text-decoration:none;color:var(--text);white-space:nowrap;font-weight:550;font-size:15px}.top-nav a[aria-current]{color:var(--blue)}.theme-toggle,.menu-toggle{padding:7px 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--text);font-size:13px}.menu-toggle{display:none}.docs-layout{max-width:1440px;margin:0 auto;display:grid;grid-template-columns:240px minmax(0,1fr) 180px;gap:38px;padding:32px}.sidebar,.page-toc{position:sticky;top:119px;align-self:start;max-height:calc(100vh - 144px);overflow:auto;scrollbar-width:thin}.docs-title{font-weight:750;font-size:20px;color:var(--text);text-decoration:none;display:block;margin-bottom:20px}.search-label{font-size:12px;color:var(--muted);display:block;margin-bottom:5px}.search-wrap{display:flex;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:10px;margin-bottom:22px;padding:5px 10px}.search-wrap input{width:100%;min-width:0;background:transparent;color:var(--text);border:0;outline:none;font-size:13px;padding:5px 0}.search-wrap kbd{font-family:inherit;font-size:12px;border:1px solid var(--line);color:var(--muted);border-radius:4px;padding:0 6px}.nav-group{margin-bottom:20px}.nav-group p{font-weight:650;color:var(--muted);font-size:12px;margin:0 0 7px;padding:0 12px}.docs-nav a{display:block;color:var(--text);font-size:14px;text-decoration:none;border-radius:9px;padding:8px 12px;margin:2px 0}.docs-nav a:hover{background:var(--surface)}.docs-nav a[aria-current]{color:var(--link);background:var(--tint);font-weight:650}.sidebar-note{font-size:12px;color:var(--muted);padding:14px 12px;border-top:1px solid var(--line);margin-top:28px}.breadcrumb{font-size:12px;display:flex;gap:9px;color:var(--muted);margin:0 0 18px}.breadcrumb a{color:var(--muted);text-decoration:none}main{min-width:0}.article{border:1px solid var(--line);border-radius:20px;background:var(--surface);padding:34px 40px;box-shadow:var(--shadow);overflow-wrap:anywhere}.article h1{font-size:clamp(27px,3vw,36px);font-weight:750;line-height:1.4;letter-spacing:-.04em;margin:0 0 24px}.article h2{font-size:23px;line-height:1.5;margin:36px 0 16px;padding-top:10px}.article h3{font-size:18px;margin:25px 0 12px}.article p{margin:15px 0}.article ul,.article ol{padding-left:24px}.article li{margin:9px 0}.article code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;background:var(--code);padding:2px 5px;border-radius:5px;font-size:.9em;overflow-wrap:anywhere}.code-block{margin:22px 0;border:1px solid var(--line);border-radius:12px;background:var(--code);overflow:hidden}.code-toolbar{display:flex;align-items:center;justify-content:space-between;padding:9px 16px;border-bottom:1px solid var(--line);font-size:11px;color:var(--muted)}.copy-code{border:0;border-radius:6px;padding:3px 7px;background:var(--surface);color:var(--link);font-size:12px}.code-block pre{overflow:auto;white-space:pre;line-height:1.7;margin:0;padding:17px;font-size:13px}.code-block pre code{padding:0;background:transparent;font-size:inherit;overflow-wrap:normal}.table-wrap{overflow:auto;margin:20px 0;border:1px solid var(--line);border-radius:12px}.article table{width:100%;border-collapse:collapse;font-size:13px;white-space:nowrap}.article td,.article th{text-align:left;padding:12px 15px;border-bottom:1px solid var(--line)}.article th{background:var(--code);font-weight:650}.article tr:last-child td{border-bottom:0}.article-note{background:var(--tint);border:1px solid #bfe4ff;border-radius:14px;padding:15px 20px;margin-bottom:20px;color:var(--text);font-size:14px}.article-meta{font-size:12px;color:var(--muted);text-align:right;margin:16px 4px 24px}.article-pager{display:flex;justify-content:space-between;gap:16px}.article-pager a{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:13px 18px;text-decoration:none;flex:1;font-size:14px}.article-pager a:last-child{text-align:right}.article-pager span{display:block;font-size:11px;color:var(--muted);margin-bottom:4px}.docs-footer{font-size:11px;color:var(--muted);text-align:center;margin:40px 8px 16px}.docs-footer a{color:var(--muted)}.page-toc p{font-size:12px;font-weight:650;color:var(--text);margin:0 0 12px}.page-toc nav{border-left:1px solid var(--line)}.page-toc a{display:block;font-size:12px;line-height:1.5;color:var(--muted);text-decoration:none;padding:7px 0 7px 13px}.page-toc a:hover{color:var(--link)}.page-toc .back-top{margin-top:22px}#search-results a{display:block;background:var(--surface);padding:10px 12px;margin-bottom:6px;border:1px solid var(--line);border-radius:8px;text-decoration:none;font-size:13px}#search-results a span{display:block;color:var(--muted);font-size:11px}#search-results p{font-size:12px;color:var(--muted);padding:0 10px}#search-results:not(:empty){margin-bottom:20px}
html[data-theme=dark]{color-scheme:dark;--bg:#101b25;--surface:#182631;--text:#e6eef5;--muted:#9aafbd;--line:#2b3d4b;--blue:#79c5ff;--link:#85cbff;--tint:#1c374b;--code:#14212c;--shadow:none}html[data-theme=dark] .brand-light{display:none}html[data-theme=dark] .brand .brand-dark{display:block}html[data-theme=dark] .article-note{border-color:#335975}
@media(prefers-color-scheme:dark){html:not([data-theme=light]){color-scheme:dark;--bg:#101b25;--surface:#182631;--text:#e6eef5;--muted:#9aafbd;--line:#2b3d4b;--blue:#79c5ff;--link:#85cbff;--tint:#1c374b;--code:#14212c;--shadow:none}html:not([data-theme=light]) .brand-light{display:none}html:not([data-theme=light]) .brand .brand-dark{display:block}html:not([data-theme=light]) .article-note{border-color:#335975}}
@media(max-width:1200px){.docs-layout{grid-template-columns:220px minmax(0,1fr);gap:26px}.page-toc{display:none}.header-inner{gap:16px}.top-nav{gap:19px}.brand img{width:216px}}
@media(max-width:820px){.header-inner{padding:14px 20px;flex-wrap:wrap;gap:12px;min-height:78px}.brand img{width:190px}.top-nav{order:4;width:100%;justify-content:space-between;gap:8px}.top-nav a{font-size:13px}.menu-toggle{display:block}.docs-layout{display:block;padding:24px 18px}.sidebar{display:none;position:static;max-height:none;margin-bottom:24px;border:1px solid var(--line);padding:20px;background:var(--surface);border-radius:16px}.sidebar.is-open{display:block}.article{padding:25px 22px;border-radius:16px}.article h2{font-size:21px}.article-pager{gap:10px}.article-pager a{padding:12px;font-size:13px}.code-block pre{font-size:12px}.search-wrap kbd{display:none}html{scroll-padding-top:150px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Tutorial edition: quieter docs surface with grouped navigation. */
body{background:var(--bg)}.article{box-shadow:none;border-radius:12px}.docs-layout{max-width:1560px}.community-guide{margin-top:24px;padding:20px;border:1px solid var(--line);border-radius:12px;background:var(--tint);display:flex;gap:14px;justify-content:space-between;font-size:14px}.community-guide a{color:var(--link);text-decoration:none}.nav-group a{line-height:1.6}.sidebar{scrollbar-width:thin}.docs-title{font-size:16px}.top-nav{gap:20px}@media(max-width:820px){.community-guide{flex-direction:column}.top-nav{gap:7px;flex-wrap:wrap}}

.ns-docs-toggle{display:none;position:sticky;top:64px;z-index:18;margin:12px 18px 0;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:10px;padding:9px 16px}@media(max-width:820px){.ns-docs-toggle{display:inline-block}}

/* Reading canvas uses near-black surfaces; shared navigation keeps native tokens. */
html.ns-page.dark .docs-page{--bg:#09090b;--surface:#111114;--text:#f1f1f3;--muted:#a1a1aa;--line:#27272d;--code:#131317;--link:#79bfff;--tint:#142437;background:var(--bg);color:var(--text)}
.docs-page{background:var(--bg);font-size:15px;line-height:1.85}.ns-page .docs-page .docs-layout{max-width:1440px;grid-template-columns:224px minmax(0,1fr) 176px;gap:44px;padding:32px}.docs-page .sidebar{padding-right:8px}.docs-page .docs-title{font-size:17px;font-weight:650;margin-bottom:18px}.docs-page .nav-group p{font-size:11px;letter-spacing:.04em}.docs-page .docs-nav a{padding:7px 12px;font-size:13px}.ns-page .docs-page .article{padding:0 4px 24px;background:transparent;border:0;border-radius:0;box-shadow:none}.docs-page .article-label{color:var(--link);font-size:12px;font-weight:600;margin:0 0 12px}.docs-page .article h1{font-size:clamp(28px,2.8vw,38px);line-height:1.35;font-weight:700;letter-spacing:-.04em;margin:0 0 24px}.docs-page .article h1+p{font-size:16px;line-height:1.9;color:var(--muted);margin-bottom:32px}.docs-page .article h2{font-size:22px;font-weight:650;line-height:1.5;letter-spacing:-.02em;border-top:1px solid var(--line);padding-top:28px;margin:34px 0 16px}.docs-page .article h3{font-size:17px;font-weight:600;margin:24px 0 12px}.docs-page .article li{margin:8px 0}.docs-page .article a{font-weight:500;text-decoration-thickness:1px}.docs-page .article a:hover{color:var(--text)}.docs-page .code-block{border-radius:12px;margin:20px 0 28px}.docs-page .code-toolbar{padding:9px 14px;background:var(--surface);font-size:12px}.docs-page .copy-code{background:var(--code);color:var(--text);padding:4px 9px;border:1px solid var(--line);border-radius:6px}.docs-page .code-block pre{padding:20px;font-size:13px;line-height:1.8}.docs-page .article-note{border-left:3px solid var(--link);border-radius:8px;padding:14px 18px}.docs-page .page-toc{padding-left:16px;border-left:1px solid var(--line)}.docs-page .page-toc p{font-size:12px;margin:0 0 14px}.docs-page .page-toc nav{border:0;padding:0}.docs-page .page-toc nav a{font-size:12px;line-height:1.6;padding:7px 0}.docs-page .community-guide{padding:18px 20px;background:var(--surface);border-color:var(--line);border-radius:12px}.docs-page .article-pager a{padding:16px 18px;border-radius:12px}.docs-page .docs-overview>ol:first-of-type{list-style:none;counter-reset:start-step;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0 32px}.docs-page .docs-overview>ol:first-of-type li{counter-increment:start-step;border:1px solid var(--line);border-radius:12px;padding:16px;margin:0;background:var(--surface);display:flex;align-items:baseline;gap:12px;font-size:14px}.docs-page .docs-overview>ol:first-of-type li:before{content:counter(start-step,decimal-leading-zero);color:var(--muted);font:12px ui-monospace,monospace}.docs-page .docs-overview>ol:first-of-type a{text-decoration:none}
@media(max-width:1200px){.ns-page .docs-page .docs-layout{grid-template-columns:208px minmax(0,1fr);gap:32px}.docs-page .page-toc{display:none}}
@media(max-width:900px){.ns-page .docs-page .docs-layout{display:block;padding:24px}.docs-page .sidebar{padding:24px}.docs-page .article h1{font-size:28px}}
@media(max-width:520px){.ns-page .docs-page .docs-layout{padding:20px 18px}.docs-page .article h1{font-size:26px}.docs-page .docs-overview>ol:first-of-type{grid-template-columns:1fr}.docs-page .article h2{font-size:20px}.docs-page .code-block pre{padding:16px}}
