:root{color-scheme:light dark;--bg:#f7f9fc;--panel:rgba(255,255,255,.82);--panel-solid:#fff;--panel-soft:#f0f4f9;--ink:#101b2d;--muted:#65748a;--faint:#8b98aa;--line:rgba(51,72,104,.13);--line-strong:rgba(51,72,104,.22);--blue:#2768d8;--green:#16866d;--violet:#6d5bd0;--code:#0b1220;--code-ink:#dce7f7;--shadow:0 18px 48px -34px rgba(27,45,75,.42);--radius:8px;--max:1180px} @media(prefers-color-scheme:dark){:root{--bg:#090f1b;--panel:rgba(17,26,42,.84);--panel-solid:#111a2a;--panel-soft:#111c2d;--ink:#edf3fc;--muted:#a0aec1;--faint:#74839a;--line:rgba(176,195,224,.13);--line-strong:rgba(176,195,224,.23);--blue:#72a9ff;--green:#5ed1b4;--violet:#a69bff;--code:#050a12;--code-ink:#d7e2f2;--shadow:0 22px 56px -34px #000}}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;min-height:100vh;background:var(--bg);color:var(--ink);font-family:Inter,"SF Pro Text","PingFang SC","Microsoft YaHei",system-ui,sans-serif;letter-spacing:0}body:before{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;background:linear-gradient(120deg,rgba(39,104,216,.07),transparent 32%),radial-gradient(circle at 82% 8%,rgba(22,134,109,.09),transparent 27%)}body:after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.35;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(to bottom,#000,transparent 38%)}a{color:inherit}.shell{width:min(var(--max),calc(100% - 40px));margin:auto}.sitebar{height:64px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;font-size:14px;font-weight:700}.brand-mark{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--line-strong);border-radius:7px;background:var(--panel-solid);box-shadow:var(--shadow)}.brand-mark svg{width:17px;color:var(--blue)}.brand small{display:block;margin-top:1px;color:var(--muted);font-size:10px;font-weight:500}.nav{display:flex;align-items:center;gap:5px}.nav a,.btn{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:7px;padding:0 13px;text-decoration:none;font-size:13px;font-weight:600;transition:.18s ease}.nav a:hover,.nav a:focus-visible{background:var(--panel);border-color:var(--line)}.nav .nav-primary,.btn.primary{background:var(--ink);color:var(--bg);border-color:var(--ink)}.nav .nav-primary:hover,.btn.primary:hover{opacity:.88}.status{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font:500 11px ui-monospace,SFMono-Regular,Consolas,monospace}.status i{width:7px;height:7px;border-radius:50%;background:#27b27b;box-shadow:0 0 0 4px rgba(39,178,123,.12)}.eyebrow{display:flex;align-items:center;gap:10px;color:var(--blue);font:600 11px ui-monospace,SFMono-Regular,Consolas,monospace;text-transform:uppercase}.eyebrow:before{content:"";width:22px;height:1px;background:currentColor}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(42px,6vw,72px);line-height:1.04;font-weight:650;letter-spacing:0;margin-bottom:22px}h2{font-size:25px;line-height:1.25;font-weight:650;letter-spacing:0}h3{font-size:16px;line-height:1.4;letter-spacing:0}.muted{color:var(--muted)}.btn{border-color:var(--line-strong);background:var(--panel);backdrop-filter:blur(14px)}.btn:hover{transform:translateY(-1px);border-color:var(--blue)}.btn svg,.icon svg{width:17px;height:17px}.panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow);backdrop-filter:blur(18px)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.codebox{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:var(--code);color:var(--code-ink)}.codebar{height:42px;padding:0 14px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.09);color:#8fa1ba;font:500 11px ui-monospace,SFMono-Regular,Consolas,monospace}.lights{display:flex;gap:5px}.lights i{width:7px;height:7px;border-radius:50%;background:#425069}.lights i:first-child{background:#dc6d6d}.lights i:nth-child(2){background:#d8ad56}.lights i:nth-child(3){background:#4fb987}pre{margin:0;padding:18px 20px;overflow:auto;color:var(--code-ink);font:12px/1.75 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre}.copy{border:0;background:transparent;color:#9eb0c9;cursor:pointer;font:500 11px inherit}.copy:hover{color:#fff}.k{color:#87b5ff}.s{color:#70d9bd}.v{color:#d9c0ff}.chip{display:inline-flex;align-items:center;min-height:27px;padding:0 9px;border-radius:6px;border:1px solid var(--line);background:var(--panel-solid);color:var(--muted);font:600 10px ui-monospace,SFMono-Regular,Consolas,monospace}.footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:30px 0 42px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}.footer a{text-decoration:none}.footer a:hover{color:var(--blue)}.doc-shell{width:min(1280px,calc(100% - 40px));margin:auto}.docsbar{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 85%,transparent);backdrop-filter:blur(20px)}.docs-layout{display:grid;grid-template-columns:210px minmax(0,760px) 1fr;gap:42px;align-items:start;padding:48px 0 72px}.toc{position:sticky;top:92px}.toc-label{margin:0 0 10px;color:var(--faint);font:600 10px ui-monospace,SFMono-Regular,Consolas,monospace;text-transform:uppercase}.toc a{display:block;margin:2px 0;padding:8px 10px;border-left:2px solid transparent;color:var(--muted);text-decoration:none;font-size:13px}.toc a:hover,.toc a.active{border-left-color:var(--blue);color:var(--ink);background:var(--panel-soft)}.doc-hero{padding:26px 0 42px;border-bottom:1px solid var(--line)}.doc-hero h1{font-size:clamp(40px,5vw,62px);margin:14px 0 18px}.doc-hero p{max-width:700px;color:var(--muted);font-size:17px;line-height:1.75}.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:26px}.fact{min-width:0;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.fact small{display:block;margin-bottom:8px;color:var(--faint);font-size:10px;text-transform:uppercase}.fact code{display:block;overflow:hidden;text-overflow:ellipsis;color:var(--ink);font-size:11px;white-space:nowrap}.doc-section{padding:42px 0;border-bottom:1px solid var(--line)}.doc-section>p,.doc-section>ul{color:var(--muted);line-height:1.75}.section-head{display:flex;align-items:center;gap:12px;margin-bottom:18px}.section-num{color:var(--blue);font:600 11px ui-monospace,SFMono-Regular,Consolas,monospace}.section-head h2{margin:0}.steps{display:grid;gap:1px;margin:0;padding:0;list-style:none;border:1px solid var(--line);border-radius:8px;overflow:hidden}.steps li{display:grid;grid-template-columns:30px 1fr;gap:12px;padding:15px 17px;background:var(--panel)}.steps li+li{border-top:1px solid var(--line)}.steps b{width:25px;height:25px;display:grid;place-items:center;border:1px solid var(--line-strong);border-radius:6px;color:var(--blue);font:600 11px ui-monospace,SFMono-Regular,Consolas,monospace}.note{margin-top:14px;padding:14px 16px;border-left:3px solid var(--blue);background:var(--panel-soft);color:var(--muted);font-size:13px;line-height:1.65}.note.warn{border-color:#d39a34}.endpoint-list{border:1px solid var(--line);border-radius:8px;overflow:hidden}.endpoint{display:grid;grid-template-columns:78px minmax(220px,1fr) 1fr;gap:14px;align-items:center;padding:13px 15px;background:var(--panel);font-size:13px}.endpoint+.endpoint{border-top:1px solid var(--line)}.method{color:var(--green);font:700 11px ui-monospace,SFMono-Regular,Consolas,monospace}.endpoint code{font-size:12px}.endpoint span:last-child{color:var(--muted)}.client-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.client{padding:17px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.client h3{margin-bottom:7px}.client p{margin:0;color:var(--muted);font-size:13px;line-height:1.65}.data-table{width:100%;border-collapse:separate;border-spacing:0;overflow:hidden;border:1px solid var(--line);border-radius:8px;font-size:13px}.data-table th,.data-table td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left}.data-table th{background:var(--panel-soft);color:var(--faint);font-size:10px;text-transform:uppercase}.data-table td{background:var(--panel)}.data-table tr:last-child td{border-bottom:0}.right-rail{position:sticky;top:92px}.rail-card{padding:16px;border:1px solid var(--line);border-radius:8px;background:var(--panel);font-size:12px}.rail-card b{display:block;margin-bottom:8px}.rail-card p{margin:0;color:var(--muted);line-height:1.65}.rail-actions{display:grid;gap:7px;margin-top:12px}.rail-actions a{padding:9px 10px;border:1px solid var(--line);border-radius:6px;text-decoration:none}.rail-actions a:hover{border-color:var(--blue)}@media(max-width:1020px){.docs-layout{grid-template-columns:180px minmax(0,1fr)}.right-rail{display:none}}@media(max-width:760px){.shell,.doc-shell{width:min(100% - 28px,var(--max))}.sitebar{height:58px}.brand small,.nav a:not(.nav-primary){display:none}.nav .nav-primary{min-height:44px;padding:0 12px}.status span{display:none}.docs-layout{display:block;padding-top:28px}.toc{display:none}.doc-hero{padding-top:16px}.doc-hero p{font-size:15px}.facts{grid-template-columns:1fr}.doc-section{padding:32px 0}.endpoint{grid-template-columns:58px 1fr}.endpoint span:last-child{grid-column:2}.client-grid{grid-template-columns:1fr}.footer{display:block;line-height:2}.footer a{display:inline-flex;align-items:center;min-height:44px;margin-right:8px}.data-table{display:block;overflow:auto}.codebox{min-width:0;margin-left:-2px;margin-right:-2px}pre{font-size:11px;padding:16px}.btn{min-height:44px;padding:0 11px}.copy{min-width:68px;min-height:44px;padding:0 12px}}
/* Final readability and density pass. */
:root{--muted:#596a82} @media(prefers-color-scheme:dark){:root{--muted:#a8b7ca}}
.copy{min-height:36px;padding:0 10px;border-left:1px solid rgba(255,255,255,.08)}
.docs-layout{grid-template-columns:190px minmax(0,820px) minmax(170px,1fr);gap:28px}
.facts{grid-template-columns:1.45fr .8fr .9fr}.fact code{overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:anywhere}
.doc-section{padding:36px 0}.doc-section>.codebox+p,.doc-section>.data-table+p{margin-top:16px}.doc-hero h1{font-size:clamp(40px,4.6vw,58px)}
@media(max-width:1100px){.docs-layout{grid-template-columns:180px minmax(0,1fr)}.right-rail{display:none}}
@media(max-width:760px){.docs-layout{display:block}.facts{grid-template-columns:1fr}.doc-section{padding:32px 0}.copy{min-height:44px}}
/* ============================================================
   2026-08-11: 三态主题（auto / light / dark）+ 视觉打磨
   data-theme="light|dark" 显式覆盖；未设置或 "auto" 时跟随系统。
   ============================================================ */

/* 显式浅色：即使系统为深色也强制浅色 */
html[data-theme="light"]{color-scheme:light}
:root[data-theme="light"]{
  --bg:#f7f9fc;--panel:rgba(255,255,255,.82);--panel-solid:#fff;--panel-soft:#f0f4f9;
  --ink:#101b2d;--muted:#596a82;--faint:#8b98aa;
  --line:rgba(51,72,104,.13);--line-strong:rgba(51,72,104,.22);
  --blue:#2768d8;--green:#16866d;--violet:#6d5bd0;
  --code:#0b1220;--code-ink:#dce7f7;
  --shadow:0 18px 48px -34px rgba(27,45,75,.42);
}

/* 显式深色：即使系统为浅色也强制深色 */
html[data-theme="dark"]{color-scheme:dark}
:root[data-theme="dark"]{
  --bg:#090f1b;--panel:rgba(17,26,42,.84);--panel-solid:#111a2a;--panel-soft:#111c2d;
  --ink:#edf3fc;--muted:#a8b7ca;--faint:#74839a;
  --line:rgba(176,195,224,.13);--line-strong:rgba(176,195,224,.23);
  --blue:#72a9ff;--green:#5ed1b4;--violet:#a69bff;
  --code:#050a12;--code-ink:#d7e2f2;
  --shadow:0 22px 56px -34px #000;
}

/* 平滑切换（尊重降低动效偏好） */
@media(prefers-reduced-motion:no-preference){
  body,.sitebar,.panel,.metric,.cap,.codebox,.data-table,.fact,.node,.btn,.theme-toggle,.theme-btn{
    transition:background-color .22s ease,border-color .22s ease,color .22s ease,box-shadow .22s ease;
  }
}

/* ---------- 主题切换器（三态分段控件） ---------- */
.theme-toggle{
  display:inline-flex;align-items:center;gap:2px;padding:3px;
  border:1px solid var(--line-strong);border-radius:999px;
  background:var(--panel-solid);box-shadow:var(--shadow);
}
.theme-btn{
  display:grid;place-items:center;width:30px;height:26px;padding:0;
  border:0;border-radius:999px;background:transparent;color:var(--faint);
  cursor:pointer;line-height:0;
}
.theme-btn svg{width:15px;height:15px;display:block}
.theme-btn:hover{color:var(--ink);background:var(--panel-soft)}
.theme-btn:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.theme-btn[aria-checked="true"]{
  color:#fff;background:var(--blue);
  box-shadow:0 2px 10px -4px var(--blue);
}
html[data-theme="dark"] .theme-btn[aria-checked="true"]{color:#08111f}

/* ---------- 视觉打磨 ---------- */
/* 背景光晕更柔和连续 */
body:before{
  background:
    radial-gradient(1100px 620px at 12% -8%,rgba(39,104,216,.10),transparent 62%),
    radial-gradient(880px 520px at 88% 4%,rgba(22,134,109,.085),transparent 58%),
    radial-gradient(700px 480px at 62% 100%,rgba(109,91,208,.06),transparent 60%);
}
html[data-theme="dark"] body:before,
html:not([data-theme="light"]) body:before{}
@media(prefers-color-scheme:dark){
  html:not([data-theme="light"]) body:before{
    background:
      radial-gradient(1100px 620px at 12% -8%,rgba(114,169,255,.13),transparent 62%),
      radial-gradient(880px 520px at 88% 4%,rgba(94,209,180,.10),transparent 58%),
      radial-gradient(700px 480px at 62% 100%,rgba(166,155,255,.08),transparent 60%);
  }
}
html[data-theme="dark"] body:before{
  background:
    radial-gradient(1100px 620px at 12% -8%,rgba(114,169,255,.13),transparent 62%),
    radial-gradient(880px 520px at 88% 4%,rgba(94,209,180,.10),transparent 58%),
    radial-gradient(700px 480px at 62% 100%,rgba(166,155,255,.08),transparent 60%);
}

/* 网格底纹更淡，避免抢内容 */
body:after{opacity:.22;mask-image:linear-gradient(to bottom,#000,transparent 30%)}

/* 卡片：玻璃质感 + 悬停微浮 */
.panel,.cap,.metric,.fact{backdrop-filter:saturate(1.15) blur(8px);-webkit-backdrop-filter:saturate(1.15) blur(8px)}
.cap{position:relative}
.cap:hover{background:var(--panel-solid)}
@media(prefers-reduced-motion:no-preference){
  .cap{transition:background-color .22s ease,transform .22s ease,box-shadow .22s ease}
  .cap:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
}

/* 顶栏：滚动时轻微悬浮玻璃 */
.sitebar{
  position:sticky;top:0;z-index:40;
  background:color-mix(in srgb,var(--bg) 82%,transparent);
  backdrop-filter:saturate(1.2) blur(12px);-webkit-backdrop-filter:saturate(1.2) blur(12px);
}

/* 按钮：更清晰的层级与焦点态 */
.btn:focus-visible,.copy:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
@media(prefers-reduced-motion:no-preference){
  .btn:hover{transform:translateY(-1px)}
}

/* 代码块：顶部细高光，边角更干净 */
.codebox{position:relative;overflow:hidden}
.codebox:before{
  content:"";position:absolute;left:0;right:0;top:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.14),transparent);
}

/* 表格：斑马行 + 悬停 */
.data-table tbody tr:nth-child(even){background:color-mix(in srgb,var(--panel-soft) 55%,transparent)}
.data-table tbody tr:hover{background:var(--panel-soft)}

/* 移动端：触摸目标不小于 44px，切换器右对齐不挤压品牌 */
@media(max-width:760px){
  .theme-btn{width:44px;height:44px}
  .theme-btn svg{width:17px;height:17px}
  .sitebar{height:auto;min-height:60px;padding:9px 0;gap:12px}
  .btn{min-height:44px}
}
