.docs-hero { border-bottom:1px solid var(--line); background:#eff5ff; }
.docs-hero-grid { padding-block:clamp(56px,7vw,88px); text-align:center; }
.docs-hero h1 { font-size:var(--title-size); }
.docs-lede { max-width:720px; margin:24px auto 0; color:var(--muted); font-size:18px; line-height:1.7; }
.docs-shell { display:grid; grid-template-columns:235px minmax(0,1fr); gap:64px; align-items:start; padding-block:64px var(--space-section); }
.docs-sidebar { position:sticky; top:108px; max-height:calc(100dvh - 132px); overflow-y:auto; overscroll-behavior:contain; padding-right:8px; scrollbar-width:thin; }
.docs-mobile-menu-button { display:none; }
.docs-search-wrap label,.docs-nav-title { display:block; font-size:12px; font-weight:500; color:var(--muted); margin-bottom:10px; }
.docs-search-box { display:flex; align-items:center; gap:8px; border:1px solid #b2c1d7; background:white; border-radius:7px; padding:9px 12px; margin-bottom:28px; }
.docs-search-box > span { font-size:21px; line-height:1; }
.docs-search-box input { width:100%; min-width:0; background:none; border:0; font-size:14px; color:var(--ink); }
.docs-search-box:focus-within { outline:2px solid var(--accent); outline-offset:2px; } .docs-search-box input:focus { outline:0; }
.docs-toc { display:grid; gap:3px; }
.docs-toc a { padding:8px 10px; font-size:13px; line-height:1.4; border-radius:6px; color:var(--muted); }
.docs-toc a:hover { background:#eaf2ff; color:var(--ink); }
.docs-toc a[aria-current="location"] { background:#dbeafe; color:#1d4ed8; font-weight:500; }
.docs-no-results { font-size:13px; color:var(--muted); }
.docs-content { min-width:0; }
.docs-intro { color:var(--muted); margin-bottom:40px; }
.docs-note { padding:18px 22px; border-left:2px solid #6095f5; background:var(--wash); border-radius:0 8px 8px 0; font-size:14px; }
.docs-section { padding-block:40px; scroll-margin-top:108px; }
.docs-section:focus { outline:none; }
.docs-section:last-child { padding-bottom:0; }
.docs-section h2 { font-size:30px; line-height:1.25; margin-bottom:20px; }
.docs-section h3 { font-size:20px; margin:28px 0 16px; }
.docs-section p,.docs-section li { color:var(--muted); font-size:15px; }
.docs-section ul,.docs-section ol { padding-left:22px; margin:20px 0; list-style:disc; } .docs-section li { margin:8px 0; }
.docs-section a { text-decoration:underline; text-underline-offset:4px; color:var(--accent); }
.docs-section code { font:13px/1.8 ui-monospace,SFMono-Regular,Menlo,monospace; color:#1e40af; overflow-wrap:anywhere; }
.docs-section :not(pre) > code { padding:2px 5px; border-radius:4px; background:#eaf2ff; }
.docs-section pre { position:relative; margin:24px 0; padding:50px 24px 24px; border:1px solid var(--line); border-radius:10px; background:#f0f5ff; overflow:auto; max-width:100%; }
.docs-section pre code { color:var(--ink); white-space:pre; }
.code-result { color:#2563eb; font-weight:600; }
.docs-copy { position:absolute; top:10px; right:12px; padding:4px 10px; border:1px solid var(--line); border-radius:5px; background:var(--paper); font-size:11px; }
.docs-copy:hover { background:white; border-color:#9db7df; }
.docs-table-wrap { overflow-x:auto; margin:24px 0; border:1px solid var(--line); border-radius:9px; }
.docs-section table { width:100%; border-collapse:collapse; font-size:14px; }
.docs-section th { background:#eaf2ff; font-weight:500; color:var(--ink); }
.docs-section th,.docs-section td { padding:12px 16px; text-align:left; border-bottom:1px solid var(--line); vertical-align:top; }
.docs-section td { color:var(--muted); } .docs-section tr:last-child td { border-bottom:0; }
.docs-callout { margin-top:24px; padding:22px; background:var(--wash); border:1px solid var(--line); border-radius:9px; font-size:14px; color:var(--muted); }
.docs-callout > strong { display:block; margin-bottom:8px; font-weight:500; color:var(--ink); }
.unit-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.unit-grid { margin:24px 0; }
.unit-grid > div { padding:18px; border:1px solid var(--line); border-radius:8px; background:white; min-width:0; }
.unit-grid strong { display:block; font-size:14px; font-weight:500; margin-bottom:8px; }
.unit-grid code { display:block; }
@media(max-width:1023px) {
 .docs-shell { display:block; padding-top:0; }
 .docs-sidebar { top:72px; z-index:20; overflow:visible; max-height:none; padding:0; margin-bottom:32px; background:var(--paper); }
 .docs-mobile-menu-button { display:flex; align-items:center; justify-content:space-between; width:100%; padding:16px 0; background:var(--paper); border:0; border-bottom:1px solid var(--line); font-size:14px; font-weight:500; }
 .docs-mobile-menu-button svg { width:18px; height:18px; } .docs-mobile-menu-button[aria-expanded="true"] svg { transform:rotate(180deg); }
 .docs-mobile-menu-panel { display:none; position:absolute; inset:100% 0 auto; padding:20px; border:1px solid var(--line); background:var(--paper); border-radius:0 0 10px 10px; max-height:calc(100dvh - 150px); overflow-y:auto; overscroll-behavior:contain; box-shadow:0 12px 20px #1e40af0d; }
 .docs-mobile-menu-panel.is-open { display:block; }
 .docs-search-box { margin-bottom:20px; } .docs-toc a { font-size:14px; padding:11px 10px; }
 .docs-section { scroll-margin-top:150px; }
}
@media(max-width:700px) {
 .docs-section h2 { font-size:27px; } .docs-lede { font-size:17px; }
 .unit-grid { grid-template-columns:1fr; } .docs-section pre { padding-inline:16px; }
 .docs-section th,.docs-section td { padding:10px 12px; }
}
