/* Documentation pages use the theme's light/dark palette and card typography. */
.document-page {
    --document-accent:var(--primary,#15b6cb);
    --document-surface:var(--bg-card,#fff);
    --document-border:var(--border,#e3e5e7);
    --document-muted:var(--text-muted,#999);
    width:100%; max-width:1200px; margin:0 auto; padding:24px 20px 60px; color:var(--text,#212121);
}
.document-page .bilitop-breadcrumb { margin:0 0 22px; overflow-wrap:anywhere; }
.document-page a:focus-visible, .document-page button:focus-visible, .document-page summary:focus-visible { outline:2px solid var(--document-accent); outline-offset:4px; }
.document-hero { position:relative; padding:34px 38px; overflow:hidden; border:1px solid var(--document-border); border-radius:var(--radius-lg,12px); background:linear-gradient(115deg,color-mix(in srgb,var(--document-accent) 9%,var(--document-surface)),var(--document-surface)); }
.document-hero-copy { display:flex; align-items:center; gap:17px; }
.document-hero-icon { display:grid; flex:0 0 60px; height:60px; place-items:center; border:1px solid color-mix(in srgb,var(--document-accent) 18%,var(--document-border)); border-radius:16px; background:var(--document-surface); color:var(--document-accent); }
.document-hero-icon svg { width:32px; height:32px; }
.document-eyebrow { margin:0 0 6px; color:var(--document-accent); font-size:13px; }
.document-hero h1 { margin:0; font-size:32px; font-weight:600; line-height:1.3; overflow-wrap:anywhere; }
.document-description { max-width:760px; margin:19px 0 0; color:var(--text-secondary,#666); font-size:15px; line-height:1.8; overflow-wrap:anywhere; }
.document-search { display:flex; align-items:center; gap:12px; width:100%; max-width:670px; margin-top:24px; padding:6px 6px 6px 16px; border:1px solid var(--document-border); border-radius:10px; background:var(--document-surface); box-shadow:0 4px 14px rgba(15,45,50,.035); }
.document-search:focus-within { border-color:var(--document-accent); box-shadow:0 0 0 3px color-mix(in srgb,var(--document-accent) 12%,transparent); }
.document-search > svg { flex:0 0 20px; color:var(--document-muted); }
.document-search input:not([type="hidden"]) { display:block; flex:1 1 auto; width:100%; min-width:0; padding:10px 0; border:0; outline:none; background:transparent; color:var(--text,#212121); font-size:14px; }
.document-search input::placeholder { color:var(--document-muted); }
.document-search button { flex:0 0 auto; max-width:48%; padding:11px 19px; overflow:hidden; border:0; border-radius:7px; background:var(--document-accent); color:#fff; font-size:14px; font-weight:600; white-space:nowrap; text-overflow:ellipsis; }
.document-search button:hover { filter:brightness(1.05); }
.document-category-section, .document-list-section { margin-top:30px; }
.document-section-heading { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:17px; }
.document-section-heading h2 { margin:0; font-size:21px; font-weight:600; line-height:1.5; overflow-wrap:anywhere; }
.document-section-heading > a { flex:0 0 auto; color:var(--document-accent); font-size:13px; }
.document-category-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.document-category-card { display:flex; min-width:0; flex-direction:column; align-items:flex-start; padding:24px; border:1px solid var(--document-border); border-radius:var(--radius-lg,12px); background:var(--document-surface); transition:border-color .18s,box-shadow .18s,transform .18s; }
.document-category-card:hover { border-color:var(--document-accent); box-shadow:0 6px 20px rgba(15,45,50,.06); transform:translateY(-2px); }
.document-category-icon, .document-list-icon { display:grid; flex:0 0 42px; width:42px; height:42px; place-items:center; border-radius:11px; background:color-mix(in srgb,var(--document-accent) 9%,var(--document-surface)); color:var(--document-accent); }
.document-category-card h3 { margin:17px 0 8px; font-size:18px; font-weight:600; line-height:1.5; overflow-wrap:anywhere; }
.document-category-card > p { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; min-height:46px; margin:0 0 19px; overflow:hidden; color:var(--text-secondary,#666); font-size:13px; line-height:1.8; overflow-wrap:anywhere; }
.document-category-more { display:flex; align-items:center; justify-content:space-between; width:100%; margin-top:auto; color:var(--document-accent); font-size:12px; }
.document-category-more span { font-size:20px; line-height:1; }
.document-category-nav { display:flex; flex-wrap:wrap; gap:9px; margin-top:24px; }
.document-category-nav a { max-width:100%; padding:8px 14px; border:1px solid var(--document-border); border-radius:7px; background:var(--document-surface); color:var(--text-secondary,#666); font-size:13px; overflow-wrap:anywhere; }
.document-category-nav a:hover, .document-category-nav a[aria-current="page"] { border-color:var(--document-accent); color:var(--document-accent); background:color-mix(in srgb,var(--document-accent) 7%,var(--document-surface)); }
.document-list { overflow:hidden; border:1px solid var(--document-border); border-radius:var(--radius-lg,12px); background:var(--document-surface); }
.document-list-item { display:flex; align-items:flex-start; gap:18px; padding:25px 28px; border-bottom:1px solid var(--document-border); }
.document-list-item:last-child { border-bottom:0; }
.document-list-icon svg { width:22px; height:22px; }
.document-list-main { flex:1; min-width:0; }
.document-list-main h3 { margin:0 0 9px; font-size:18px; font-weight:600; line-height:1.5; overflow-wrap:anywhere; }
.document-list-main h3 a:hover { color:var(--document-accent); }
.document-list-main > p { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; margin:0 0 13px; overflow:hidden; color:var(--text-secondary,#666); font-size:14px; line-height:1.8; overflow-wrap:anywhere; }
.document-list-main footer { display:flex; align-items:center; justify-content:space-between; gap:15px; font-size:12px; }
.document-list-main time { color:var(--document-muted); }
.document-list-main footer a { flex:0 0 auto; max-width:50%; overflow:hidden; color:var(--document-accent); white-space:nowrap; text-overflow:ellipsis; }
.document-empty { padding:60px 24px; border:1px solid var(--document-border); border-radius:var(--radius-lg,12px); background:var(--document-surface); text-align:center; }
.document-empty-icon { display:grid; width:56px; height:56px; margin:0 auto 18px; place-items:center; border-radius:50%; background:color-mix(in srgb,var(--document-accent) 9%,var(--document-surface)); color:var(--document-accent); }
.document-empty :is(h1,h2,h3) { margin:0 0 12px; font-size:22px; font-weight:600; }
.document-empty p { margin:0; color:var(--document-muted); font-size:14px; }
.document-empty a { color:var(--document-accent); }
.document-pagination { display:flex; align-items:center; justify-content:center; gap:14px; margin-top:28px; font-size:14px; }
.document-pagination a { padding:9px 17px; border:1px solid var(--document-border); border-radius:8px; background:var(--document-surface); }
.document-pagination a:hover { color:var(--document-accent); border-color:var(--document-accent); }
.document-pagination > span { color:var(--document-muted); }
.document-single { max-width:1360px; }
.document-single-top { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:24px; }
.document-single-top .bilitop-breadcrumb { margin:0; }
.document-search-compact { flex:0 1 310px; margin:0; padding:4px 4px 4px 13px; border-radius:8px; }
.document-search-compact input { padding:7px 0; font-size:13px; }
.document-search-compact button { padding:8px 15px; font-size:13px; }
.document-layout { display:grid; grid-template-columns:230px minmax(0,1fr); align-items:start; gap:22px; }
.document-layout.has-document-toc { grid-template-columns:230px minmax(0,1fr) 180px; }
.document-main-column { min-width:0; }
.document-sidebar { position:sticky; top:calc(var(--header-h,56px) + 22px); min-width:0; max-height:calc(100vh - var(--header-h,56px) - 46px); overflow:auto; scrollbar-width:thin; }
.document-nav-card { padding:20px 14px; border:1px solid var(--document-border); border-radius:var(--radius-lg,12px); background:var(--document-surface); }
.document-nav-home { display:block; padding:0 8px 17px; margin:0 0 17px; border-bottom:1px solid var(--document-border); color:var(--text-secondary,#666); font-size:13px; }
.document-nav-card h2 { margin:0 8px 12px; font-size:15px; font-weight:600; overflow-wrap:anywhere; }
.document-sibling-nav { display:grid; gap:3px; }
.document-sibling-nav a { display:block; padding:10px; border-radius:7px; color:var(--text-secondary,#666); font-size:13px; line-height:1.65; overflow-wrap:anywhere; }
.document-sibling-nav a:hover, .document-sibling-nav a[aria-current="page"] { color:var(--document-accent); background:color-mix(in srgb,var(--document-accent) 8%,var(--document-surface)); }
.document-sibling-nav a[aria-current="page"] { font-weight:600; }
.document-sibling-nav a.document-nav-more { margin-top:10px; padding-top:14px; border-top:1px solid var(--document-border); border-radius:0; color:var(--document-accent); font-size:12px; }
.document-heading-nav { display:grid; gap:3px; }
.document-heading-nav a { display:block; padding:7px 8px; border-left:2px solid transparent; color:var(--text-secondary,#666); font-size:12px; line-height:1.6; overflow-wrap:anywhere; }
.document-heading-nav a:hover, .document-heading-nav a:focus-visible { border-left-color:var(--document-accent); color:var(--document-accent); }
.document-heading-nav .is-subheading { padding-left:19px; color:var(--document-muted); }
.document-heading-anchor { scroll-margin-top:calc(var(--header-h,56px) + 24px); }
.document-mobile-nav, .document-mobile-toc { display:none; }
.document-page [hidden] { display:none !important; }
.document-article.bilitop-article-card { padding:32px 36px; border-color:var(--document-border); box-shadow:none; }
.document-article.bilitop-article-card .single-title { font-size:28px; line-height:1.5; overflow-wrap:anywhere; }
.document-article.bilitop-article-card .single-meta { margin-bottom:26px; font-size:12px; color:var(--document-muted); }
.document-article .single-body { min-width:0; overflow-wrap:anywhere; }
.document-article .single-body :is(img,video,iframe) { max-width:100%; }
.document-article .single-body table { display:block; width:max-content; max-width:100%; overflow:auto; }
.document-article-footer { margin-top:32px; padding-top:20px; border-top:1px solid var(--document-border); color:var(--document-accent); font-size:13px; }
.document-content-pages { display:flex; flex-wrap:wrap; gap:12px; margin-top:22px; }
.document-comments { margin-top:22px; }
.document-password-form input { max-width:100%; }
.document-password-form input[type="password"] { padding:9px; border:1px solid var(--document-border); border-radius:6px; background:var(--document-surface); }
.document-password-form input[type="submit"] { padding:10px 16px; border:0; border-radius:6px; background:var(--document-accent); color:#fff; }
@media(max-width:1180px) {
    .document-layout, .document-layout.has-document-toc { grid-template-columns:210px minmax(0,1fr); gap:18px; }
    .document-toc-desktop { display:none; }
    .document-mobile-toc { display:block; margin:0 0 25px; padding:13px 16px; border:1px solid var(--document-border); border-radius:8px; background:var(--bg,#f6f4f4); }
    .document-mobile-toc summary, .document-mobile-nav summary { cursor:pointer; color:var(--text,#212121); font-size:14px; font-weight:600; }
    .document-mobile-toc summary span, .document-mobile-nav summary span { float:right; margin-left:14px; color:var(--document-muted); font-size:12px; font-weight:400; }
    .document-mobile-toc[open] summary span, .document-mobile-nav[open] summary span { display:none; }
    .document-mobile-toc .document-heading-nav { max-height:320px; margin-top:12px; overflow:auto; }
    .document-article.bilitop-article-card { padding:28px; }
}
@media(max-width:1024px) {
    .document-category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .document-hero { padding:30px; }
    .document-page { padding-right:16px; padding-left:16px; }
}
@media(max-width:800px) {
    .document-layout, .document-layout.has-document-toc { display:block; }
    .document-sidebar-desktop { display:none; }
    .document-mobile-nav { display:block; margin-bottom:16px; padding:16px; border:1px solid var(--document-border); border-radius:10px; background:var(--document-surface); }
    .document-mobile-nav .document-sibling-nav { max-height:330px; margin-top:12px; overflow:auto; }
    .document-single-top { align-items:flex-start; flex-direction:column; gap:16px; }
    .document-search-compact { flex:none; max-width:none; }
}
@media(max-width:600px) {
    .document-page { padding:16px 12px 40px; }
    .document-page .bilitop-breadcrumb { margin-bottom:18px; font-size:12px; }
    .document-single-top .bilitop-breadcrumb { margin-bottom:0; }
    .document-hero { padding:25px 20px; }
    .document-hero-copy { gap:13px; }
    .document-hero-icon { flex-basis:48px; height:48px; border-radius:12px; }
    .document-hero-icon svg { width:27px; height:27px; }
    .document-hero h1 { font-size:27px; }
    .document-description { margin-top:17px; font-size:14px; }
    .document-search { gap:9px; padding-left:12px; }
    .document-search > svg { display:none; }
    .document-search button { padding:11px 13px; font-size:13px; }
    .document-category-grid { gap:12px; }
    .document-category-card { padding:19px 16px; }
    .document-category-card h3 { font-size:16px; }
    .document-category-card > p { font-size:12px; }
    .document-category-icon { width:36px; height:36px; flex-basis:36px; }
    .document-category-icon svg { width:21px; height:21px; }
    .document-section-heading h2 { font-size:19px; }
    .document-list-item { gap:12px; padding:21px 17px; }
    .document-list-icon { flex-basis:32px; width:32px; height:32px; border-radius:8px; }
    .document-list-icon svg { width:19px; height:19px; }
    .document-list-main h3 { font-size:16px; }
    .document-list-main > p { font-size:13px; }
    .document-list-main footer { gap:10px; font-size:11px; }
    .document-category-section, .document-list-section { margin-top:25px; }
    .document-article.bilitop-article-card { padding:24px 20px; }
    .document-article.bilitop-article-card .single-title { font-size:24px; }
    .document-single-top { margin-bottom:17px; }
    .document-comments.single-comments-card { padding-right:20px; padding-left:20px; }
}
@media(max-width:350px) { .document-category-grid { grid-template-columns:minmax(0,1fr); } }
@media(prefers-reduced-motion:reduce) { .document-category-card { transition:none; } }
