.docs-main { display:grid; grid-template-columns:240px minmax(0,1fr) 190px; gap:42px; align-items:start; padding:48px 0 96px; }
.docs-sidebar,.docs-toc-wrap { position:sticky; top:24px; max-height:calc(100vh - 48px); overflow:auto; scrollbar-width:thin; }
.docs-sidebar { padding:18px 16px 18px 0; border-right:1px solid var(--line); }
.docs-sidebar__title { display:block; margin:0 0 18px; color:var(--text-strong); text-decoration:none; font-size:15px; font-weight:760; letter-spacing:-.02em; }
.docs-nav { display:grid; gap:4px; }
.docs-nav__group { margin:18px 0 7px; color:var(--muted); font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.docs-nav a { display:block; padding:8px 10px; border-radius:8px; color:var(--text-soft); text-decoration:none; font-size:13px; line-height:1.35; transition:background 150ms ease,color 150ms ease,transform 150ms ease; }
.docs-nav a:hover { color:var(--text); background:var(--surface-soft); transform:translateX(2px); }
.docs-nav a[aria-current="page"] { color:var(--text-strong); background:color-mix(in srgb,var(--cyan) 10%,var(--surface-soft)); box-shadow:inset 2px 0 0 var(--cyan); }
.docs-content { min-width:0; max-width:820px; }
.docs-breadcrumb { display:flex; gap:7px; align-items:center; margin-bottom:18px; color:var(--muted); font-size:11px; }
.docs-breadcrumb a { color:inherit; text-decoration:none; }
.docs-breadcrumb a:hover { color:var(--text); }
.docs-content h1 { margin:0; color:var(--text-strong); font-size:clamp(42px,5vw,68px); line-height:1; letter-spacing:-.05em; }
.docs-lead { margin:20px 0 0; color:var(--text-soft); font-size:18px; line-height:1.78; }
.docs-meta { display:flex; flex-wrap:wrap; gap:8px; margin:24px 0 0; }
.docs-meta span { padding:6px 9px; border:1px solid var(--line); border-radius:999px; color:var(--muted); background:var(--surface-soft); font-size:10.5px; font-weight:650; }
.docs-content hr { height:1px; margin:44px 0; border:0; background:var(--line); }
.docs-content h2 { margin:52px 0 18px; color:var(--text-strong); font-size:clamp(28px,3vw,38px); line-height:1.15; letter-spacing:-.035em; scroll-margin-top:28px; }
.docs-content h3 { margin:34px 0 12px; color:var(--text-strong); font-size:21px; line-height:1.3; scroll-margin-top:28px; }
.docs-content p,.docs-content li { color:var(--text-soft); font-size:15px; line-height:1.8; }
.docs-content p { margin:14px 0; }
.docs-content ul,.docs-content ol { margin:14px 0; padding-left:1.4em; }
.docs-content strong { color:var(--text-strong); }
.docs-content a { color:var(--cyan-strong); text-underline-offset:3px; }
.docs-note { margin:22px 0; padding:16px 18px; border:1px solid color-mix(in srgb,var(--cyan) 26%,var(--line)); border-radius:12px; background:color-mix(in srgb,var(--cyan) 6%,var(--surface-soft)); }
.docs-note p { margin:0; font-size:14px; }
.docs-warning { border-color:color-mix(in srgb,var(--amber) 35%,var(--line)); background:color-mix(in srgb,var(--amber) 7%,var(--surface-soft)); }
.docs-content pre { position:relative; margin:18px 0; padding:18px 20px; overflow:auto; border:1px solid var(--line-strong); border-radius:12px; background:color-mix(in srgb,var(--surface-strong) 88%,#050a13 12%); box-shadow:inset 0 1px 0 rgba(255,255,255,.03); }
html[data-theme="light"] .docs-content pre { background:#eaf0f4; }
.docs-content code { font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace; font-size:12.5px; line-height:1.65; }
.docs-content :not(pre) > code { padding:.16em .38em; border:1px solid var(--line); border-radius:5px; color:var(--text-strong); background:var(--surface-soft); }
.docs-copy { position:absolute; right:9px; top:9px; min-height:28px; padding:4px 8px; border:1px solid var(--line); border-radius:7px; color:var(--muted); background:var(--surface-strong); font-size:10px; cursor:pointer; }
.docs-copy:hover { color:var(--text); }
.docs-table-wrap { margin:18px 0; overflow:auto; border:1px solid var(--line); border-radius:12px; }
.docs-content table { width:100%; border-collapse:collapse; min-width:560px; }
.docs-content th,.docs-content td { padding:12px 14px; text-align:left; border-bottom:1px solid var(--line); color:var(--text-soft); font-size:13px; line-height:1.55; }
.docs-content th { color:var(--text-strong); background:var(--surface-soft); font-weight:700; }
.docs-content tr:last-child td { border-bottom:0; }
.docs-toc-wrap { padding-top:6px; }
.docs-toc__title { margin:0 0 12px; color:var(--muted); font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.docs-toc { display:grid; gap:2px; border-left:1px solid var(--line); }
.docs-toc a { display:block; margin-left:-1px; padding:6px 0 6px 13px; border-left:1px solid transparent; color:var(--muted); text-decoration:none; font-size:11.5px; line-height:1.4; }
.docs-toc a[data-level="3"] { padding-left:24px; font-size:11px; }
.docs-toc a.is-active { color:var(--text-strong); border-left-color:var(--cyan); }
.docs-pager { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:56px; padding-top:28px; border-top:1px solid var(--line); }
.docs-pager a { min-height:88px; padding:15px 16px; display:flex; flex-direction:column; justify-content:center; border:1px solid var(--line); border-radius:12px; color:var(--text); background:var(--surface-soft); text-decoration:none; }
.docs-pager a:last-child { text-align:right; }
.docs-pager small { color:var(--muted); font-size:10px; }
.docs-pager strong { margin-top:7px; font-size:13px; }
.docs-landing-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:30px; }
.docs-product-card { min-height:230px; padding:24px; display:flex; flex-direction:column; border:1px solid var(--line-strong); border-radius:16px; color:var(--text); background:var(--surface); text-decoration:none; transition:transform 170ms ease,border-color 170ms ease; }
.docs-product-card:hover { transform:translateY(-3px); border-color:color-mix(in srgb,var(--cyan) 35%,var(--line-strong)); }
.docs-product-card small { color:var(--cyan); font-size:10px; font-weight:800; letter-spacing:.1em; }
.docs-product-card h2 { margin:30px 0 10px; font-size:29px; }
.docs-product-card p { margin:0; font-size:14px; }
.docs-product-card b { margin-top:auto; color:var(--cyan); font-weight:600; }
.docs-sidebar-toggle { display:none; margin:0 0 14px; min-height:38px; padding:8px 12px; border:1px solid var(--line-strong); border-radius:9px; color:var(--text); background:var(--surface-soft); cursor:pointer; }
@media (max-width:1080px) {
  .docs-main { grid-template-columns:220px minmax(0,1fr); gap:34px; }
  .docs-toc-wrap { display:none; }
}
@media (max-width:760px) {
  .docs-main { display:block; padding-top:24px; }
  .docs-sidebar-toggle { display:inline-flex; align-items:center; }
  .docs-sidebar { display:none; position:relative; top:auto; max-height:none; margin-bottom:24px; padding:14px; border:1px solid var(--line-strong); border-radius:12px; background:var(--surface-strong); }
  .docs-main.is-sidebar-open .docs-sidebar { display:block; }
  .docs-content h1 { font-size:clamp(40px,13vw,58px); }
  .docs-lead { font-size:16px; }
  .docs-landing-grid,.docs-pager { grid-template-columns:1fr; }
  .docs-pager a:last-child { text-align:left; }
}

/* Rich project documentation content. */
.docs-nav__home { display:block; margin:0 0 6px; padding:9px 10px; border-radius:8px; color:var(--text-soft); text-decoration:none; font-size:13px; line-height:1.35; }
.docs-nav__home:hover { color:var(--text); background:var(--surface-soft); }
.docs-nav__home[aria-current="page"] { color:var(--text-strong); background:color-mix(in srgb,var(--cyan) 10%,var(--surface-soft)); box-shadow:inset 2px 0 0 var(--cyan); }
.docs-content h4 { margin:26px 0 10px; color:var(--text-strong); font-size:17px; line-height:1.4; scroll-margin-top:28px; }
.docs-content blockquote { margin:20px 0; padding:14px 18px; border-left:3px solid color-mix(in srgb,var(--cyan) 56%,transparent); border-radius:0 10px 10px 0; background:color-mix(in srgb,var(--cyan) 5%,var(--surface-soft)); }
.docs-content blockquote p { margin:0; font-size:14px; }
.docs-content img { display:block; max-width:100%; height:auto; margin:24px auto; border-radius:12px; border:1px solid var(--line); box-shadow:var(--card-shadow); }
.docs-content pre code { display:block; min-width:max-content; padding-right:50px; }
.docs-content del { color:var(--muted); }
.docs-source { margin-top:44px !important; padding-top:22px; border-top:1px solid var(--line); font-size:13px !important; }
.docs-topic-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:22px 0 12px; }
.docs-topic-grid a { min-height:116px; padding:17px 18px; display:flex; flex-direction:column; border:1px solid var(--line); border-radius:12px; color:var(--text); background:var(--surface-soft); text-decoration:none; transition:transform 160ms ease,border-color 160ms ease,background 160ms ease; }
.docs-topic-grid a:hover { transform:translateY(-2px); border-color:color-mix(in srgb,var(--cyan) 30%,var(--line)); background:var(--surface); }
.docs-topic-grid strong { font-size:15px; }
.docs-topic-grid span { margin-top:8px; color:var(--text-soft); font-size:12.5px; line-height:1.6; }
.docs-link-list { display:grid; margin-top:18px; border-top:1px solid var(--line); }
.docs-link-list a { min-height:58px; padding:12px 2px; display:flex; align-items:center; justify-content:space-between; gap:20px; border-bottom:1px solid var(--line); color:var(--text); text-decoration:none; }
.docs-link-list a:hover span { color:var(--cyan-strong); }
.docs-link-list span { color:var(--text-strong); font-size:14px; transition:color 150ms ease; }
.docs-link-list b { color:var(--cyan); font-weight:500; }
@media (max-width:760px) {
  .docs-topic-grid { grid-template-columns:1fr; }
}

/* Headings keep their hierarchy even when Markdown contains inline API paths. */
.docs-content h2 code,.docs-content h3 code,.docs-content h4 code {
  display:inline-block;
  padding:.12em .38em;
  vertical-align:.12em;
  border-color:color-mix(in srgb,var(--cyan) 20%,var(--line));
  border-radius:.34em;
  color:color-mix(in srgb,var(--text-strong) 90%,var(--cyan));
  background:color-mix(in srgb,var(--cyan) 6%,var(--surface-soft));
  font-size:.56em;
  line-height:1.2;
  letter-spacing:-.025em;
}
.docs-content h3 code { font-size:.68em; }
.docs-content h4 code { font-size:.76em; }
