/* Documentation keeps the site's palette, with a narrower reading measure. */
body:has(.docs-layout) .site-header { position:sticky; top:0; z-index:5; background:var(--background); }
body:has(.docs-layout) .header-inner nav a[href="/docs"] { color:var(--text); }
.docs-layout { display:grid; grid-template-columns:240px minmax(0, 760px) 200px; gap:48px; max-width:1440px; margin:auto; padding:0 40px; align-items:start; }
.docs-sidebar, .docs-toc { position:sticky; top:76px; max-height:calc(100dvh - 76px); overflow-y:auto; scrollbar-width:thin; padding:34px 0; font-size:14px; }
.docs-sidebar { border-right:1px solid var(--border); padding-right:24px; }
.docs-menu > summary { font-size:16px; font-weight:700; list-style:none; pointer-events:none; }
.docs-menu > summary::-webkit-details-marker { display:none; }
.docs-menu > summary span { display:none; }
.docs-filter { display:block; margin:22px 0 26px; }
.docs-filter > span { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.docs-filter input { width:100%; min-width:0; padding:10px 12px; border:1px solid var(--border); border-radius:7px; color:var(--text); background:var(--surface); font:inherit; }
.docs-filter input:focus { outline:none; box-shadow:none; }
.docs-filter input::placeholder { color:var(--muted); }
.docs-nav-group { margin-top:24px; }
.docs-nav-group h2 { margin:0 0 8px; font-size:12px; text-transform:uppercase; letter-spacing:.09em; color:var(--muted); }
.docs-nav-group a { display:block; margin:2px 0; padding:7px 10px; color:var(--muted); border-left:2px solid transparent; border-radius:0 5px 5px 0; line-height:1.4; }
.docs-nav-group a:hover { background:var(--surface); color:var(--text); }
.docs-nav-group a[aria-current] { background:#1c72ff1a; border-left-color:#428eff; color:#8abaff; }
.docs-api { display:block; border-top:1px solid var(--border); margin-top:26px; padding-top:20px; font-size:13px; }
.docs-article { min-width:0; padding:42px 0 72px; overflow-wrap:anywhere; }
.docs-breadcrumb { display:flex; gap:12px; color:var(--muted); font-size:13px; margin-bottom:18px; }
.docs-breadcrumb a { color:var(--muted); }
.docs-breadcrumb span { color:#59607a; }
.docs-article h1 { font-size:clamp(32px, 3.6vw, 44px); letter-spacing:-.035em; line-height:1.16; margin:0 0 18px; }
.docs-intro { color:var(--muted); font-size:18px; line-height:1.65; margin:0 0 36px; padding-bottom:32px; border-bottom:1px solid var(--border); }
.docs-content { color:#c8cbdc; font-size:16px; line-height:1.8; }
.docs-content h2, .docs-content h3, .docs-content h4 { color:var(--text); line-height:1.35; scroll-margin-top:104px; position:relative; }
.docs-content h2 { font-size:26px; letter-spacing:-.02em; margin:44px 0 18px; }
.docs-content h2:first-child { margin-top:0; }
.docs-content h3 { font-size:20px; margin:32px 0 14px; }
.docs-content h4 { font-size:17px; }
.docs-content p { margin:18px 0; }
.docs-content a:not(.heading-anchor) { text-decoration:underline; text-underline-offset:3px; }
.heading-anchor { margin-left:10px; font-size:.8em; opacity:0; color:var(--link); }
:is(h2,h3,h4):hover .heading-anchor, .heading-anchor:focus-visible { opacity:1; }
.docs-content :not(pre) > code { color:#d7e6ff; background:#172137; border:1px solid #26344d; padding:2px 5px; border-radius:4px; font: .86em/1.6 var(--mono); }
.docs-code { position:relative; margin:22px 0; border:1px solid #26324b; border-radius:9px; overflow:hidden; background:#090e1a; }
.code-label { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:37px; background:#121a2b; border-bottom:1px solid #26324b; padding:5px 16px; font:12px/1.5 var(--mono); color:#a5b4d0; }
.docs-code pre { padding:18px 20px; margin:0; overflow:auto; tab-size:4; font:13px/1.85 var(--mono); color:#d9e3f5; }
.docs-code code { font:inherit; white-space:pre; }
.docs-code button { flex-shrink:0; padding:3px 9px; border:1px solid #34425c; border-radius:4px; background:#19243a; color:#c8d8f0; font:inherit; }
.docs-code button:hover { border-color:var(--link); }
.docs-content ul, .docs-content ol { padding-left:24px; }
.docs-content li { margin:8px 0; }
.docs-content blockquote { margin:24px 0; border-left:3px solid var(--blue); padding:4px 20px; background:var(--surface); }
.docs-content hr { border:0; border-top:1px solid var(--border); margin:30px 0; }
.docs-table { overflow:auto; margin:24px 0; }
.docs-table table { border-collapse:collapse; width:100%; font-size:14px; }
.docs-table td, .docs-table th { border:1px solid var(--border); padding:10px 14px; text-align:left; }
.docs-toc { font-size:12px; }
.docs-toc h2 { font-size:13px; color:var(--text); margin:0 0 16px; }
.docs-toc nav a { display:block; color:var(--muted); border-left:1px solid var(--border); padding:6px 0 6px 14px; line-height:1.5; }
.docs-toc nav .toc-level-3 { padding-left:24px; }
.docs-toc nav .toc-level-4 { padding-left:32px; }
.docs-toc nav a:hover, .docs-toc nav a[aria-current] { color:var(--link); border-color:var(--link); }
.docs-mobile-toc { display:none; }
.docs-source { font-size:13px; margin-top:48px; }
.docs-source a { color:var(--muted); }
.docs-pager { display:flex; gap:16px; margin-top:24px; }
.docs-pager a { border:1px solid var(--border); border-radius:8px; padding:16px 20px; flex:1; min-width:0; }
.docs-pager a:hover { border-color:var(--link); background:var(--surface); }
.docs-pager span { display:block; color:var(--muted); font-size:12px; margin-bottom:5px; }
.docs-pager strong { font-size:15px; font-weight:500; }
.docs-pager .pager-next { text-align:right; }
.docs-copy-status:not(:empty) { position:fixed; bottom:24px; left:50%; transform:translateX(-50%); padding:10px 20px; background:#203657; color:white; border-radius:7px; z-index:10; font-size:14px; }
.docs-content .token.comment { color:#7f91af; }
.docs-content .token.keyword, .docs-content .token.boolean { color:#b5a2ff; }
.docs-content .token.string { color:#96d6ba; }
.docs-content .token.number { color:#eab783; }
.docs-content .token.function { color:#8acaff; }
.docs-content .token.operator, .docs-content .token.punctuation { color:#aab9d2; }
.docs-content .token.class-name { color:#f0cf90; }
@media (max-width:1199px) {
    .docs-layout { grid-template-columns:220px minmax(0, 1fr); gap:36px; padding:0 32px; }
    .docs-toc { display:none; }
    .docs-mobile-toc { display:block; border:1px solid var(--border); border-radius:6px; padding:12px 16px; margin-bottom:30px; font-size:14px; }
    .docs-mobile-toc summary { cursor:pointer; }
    .docs-mobile-toc nav { margin-top:12px; }
    .docs-mobile-toc a { display:block; padding:4px 0; }
    .docs-mobile-toc .toc-level-3 { padding-left:12px; }
}
@media (max-width:760px) {
    .docs-layout { display:block; padding:0 22px; }
    .docs-sidebar { position:static; max-height:none; border-right:0; border-bottom:1px solid var(--border); padding:16px 0; }
    .docs-menu > summary { pointer-events:auto; cursor:pointer; display:flex; justify-content:space-between; }
    .docs-menu > summary span { display:inline; }
    .docs-menu-content { padding-bottom:12px; }
    .docs-article { padding:26px 0 48px; }
    .docs-article h1 { font-size:34px; }
    .docs-intro { font-size:17px; }
    .docs-content { font-size:15px; }
    .docs-content h2 { font-size:24px; }
    .docs-code pre { padding:16px; font-size:12px; }
    .docs-pager a { padding:12px; }
    .heading-anchor { opacity:.6; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
@media print {
    body:has(.docs-layout) { background:white; color:black; }
    body:has(.docs-layout) :is(.site-header,.site-footer,.skip-link,.docs-sidebar,.docs-toc,.docs-mobile-toc,.docs-pager,.docs-code button,.heading-anchor) { display:none; }
    .docs-layout { display:block; padding:0; }
    .docs-content, .docs-content :is(h2,h3,h4), .docs-intro { color:black; }
    .docs-code, .code-label { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:37px; background:#f5f5f5; }
    .docs-code pre { white-space:pre-wrap; }
    .docs-code code { white-space:pre-wrap; color:black; }
}
