/* Generated documentation pages */
.docs-hero { padding-block: 88px 72px; border-bottom: 1px solid var(--border); background: radial-gradient(ellipse at 75% 20%, #6c4b8728, transparent 55%); }
.docs-hero h1 { max-width: 15ch; }
.docs-hero > .container > p:not(.eyebrow, .docs-search-status) { max-width: 65ch; margin-top: 24px; color: var(--muted); font-size: 1.2rem; }
.docs-search { display: grid; gap: 8px; max-width: 44rem; margin-top: 36px; color: var(--muted); font-size: .875rem; font-weight: 600; }
.docs-search input { width: 100%; min-height: 54px; padding: 0 18px; border: 1px solid #4a4354; border-radius: 7px; background: #171620; color: var(--text); font-size: 1rem; }
.docs-search input::placeholder { color: var(--subtle); }
.docs-search-status { min-height: 1.6em; margin-top: 8px; color: var(--subtle); font-size: .875rem; }
.docs-index { padding-block: 64px 112px; }
.docs-category + .docs-category { margin-top: 64px; }
.docs-category > h2 { margin-bottom: 24px; font-size: clamp(1.75rem, 3vw, 2.5rem); }
.docs-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.docs-card { display: flex; flex-direction: column; min-width: 0; min-height: 220px; padding: 26px; border: 1px solid var(--border); border-radius: 8px; background: #171720; }
.docs-card h3 { font-size: 1.25rem; }
.docs-card p { margin-top: 12px; color: var(--muted); font-size: .9375rem; }
.docs-card span { margin-top: auto; padding-top: 22px; color: var(--accent); font: .875rem var(--mono); }
.docs-layout { display: grid; grid-template-columns: minmax(13rem, 16rem) minmax(0, 1fr) minmax(11rem, 14rem); gap: 48px; align-items: start; padding-block: 56px 96px; }
.docs-sidebar { position: sticky; top: 24px; max-height: calc(100vh - 48px); overflow-y: auto; scrollbar-width: thin; }
.docs-toc { position: sticky; top: 24px; display: flex; flex-direction: column; max-height: calc(100vh - 48px); }
.docs-nav-group + .docs-nav-group { margin-top: 12px; }
.docs-nav-group > summary { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 5px 8px; color: var(--subtle); cursor: pointer; font: .75rem/1.5 var(--mono); letter-spacing: .08em; list-style: none; text-transform: uppercase; }
.docs-nav-group > summary::-webkit-details-marker { display: none; }
.docs-nav-group > summary::after { content: "+"; flex-shrink: 0; color: var(--accent); font-size: .9rem; }
.docs-nav-group[open] > summary::after { content: "−"; }
.docs-nav-group > div { margin-top: 4px; }
.docs-toc h2 { margin: 0 0 12px; color: var(--subtle); font: 600 .75rem/1.5 var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.docs-toc-scroll { position: relative; min-height: 0; }
.docs-toc-links { max-height: calc(100vh - 90px); overflow-y: auto; scrollbar-width: thin; }
.docs-toc-scroll::before, .docs-toc-scroll::after { content: ""; position: absolute; z-index: 1; right: 0; left: 0; height: 24px; opacity: 0; pointer-events: none; transition: opacity 120ms ease; }
.docs-toc-scroll::before { top: 0; background: linear-gradient(var(--background), transparent); }
.docs-toc-scroll::after { bottom: 0; background: linear-gradient(transparent, var(--background)); }
.docs-toc-scroll.can-scroll-up::before, .docs-toc-scroll.can-scroll-down::after { opacity: 1; }
.docs-sidebar a, .docs-toc a { display: block; padding: 6px 10px; border-left: 1px solid var(--border); color: var(--muted); font-size: .82rem; line-height: 1.45; }
.docs-sidebar a[aria-current="page"] { border-left: 2px solid var(--accent); color: var(--accent-bright); background: #cba6f70c; }
.docs-toc a { padding-block: 5px; }
.docs-toc a[aria-current="location"] { border-left-color: var(--accent); background: #cba6f718; color: var(--text); font-weight: 600; box-shadow: inset 3px 0 var(--accent); }
.docs-toc .toc-level-3 { padding-left: 22px; font-size: .76rem; }
.docs-mobile-nav { display: none; }
.docs-article { min-width: 0; max-width: 54rem; }
.docs-breadcrumb { margin-bottom: 28px; color: var(--subtle); font: .8125rem var(--mono); }
.docs-breadcrumb a, .docs-source a { color: var(--accent); }
.docs-article > h1 { margin: 0 0 28px; font-size: clamp(2.5rem, 5vw, 4.5rem); }
.docs-article h2 { margin: 64px 0 18px; padding-top: 4px; font-size: clamp(1.75rem, 3vw, 2.4rem); line-height: 1.2; letter-spacing: -.025em; scroll-margin-top: 24px; }
.docs-article h3 { margin: 40px 0 14px; font-size: 1.4rem; line-height: 1.3; scroll-margin-top: 24px; }
.docs-article h4 { margin: 30px 0 12px; font-size: 1.1rem; scroll-margin-top: 24px; }
.docs-article h2 a, .docs-article h3 a, .docs-article h4 a { color: inherit; }
.docs-article h2 a:hover::after, .docs-article h3 a:hover::after, .docs-article h4 a:hover::after { content: " #"; color: var(--accent); font-family: var(--mono); }
.docs-article p { margin-block: 16px; color: var(--muted); }
.docs-article > p:first-of-type:not(.docs-breadcrumb) { font-size: 1.15rem; }
.docs-article strong { color: var(--text); }
.docs-article a { color: var(--accent-bright); text-decoration: underline; text-decoration-color: #cba6f766; text-underline-offset: 3px; }
.docs-article ul, .docs-article ol { margin-block: 18px; padding-left: 1.5rem; color: var(--muted); }
.docs-article li + li { margin-top: 8px; }
.docs-article code { color: var(--accent-bright); }
.docs-article pre { margin-block: 24px; padding: 20px 22px; overflow-x: auto; white-space: pre; overflow-wrap: normal; border: 1px solid #403a49; border-radius: 7px; background: #0e0e16; color: #d8d5e1; font-size: .875rem; line-height: 1.65; }
.docs-article pre code { color: inherit; }
.docs-code-block { position: relative; margin-block: 24px; border: 1px solid #403a49; border-radius: 7px; overflow: hidden; background: #0e0e16; }
.docs-code-block pre { margin: 0; border: 0; border-radius: 0; }
.docs-copy-button { position: absolute; z-index: 1; top: 8px; right: 8px; display: grid; place-items: center; width: 28px; height: 28px; padding: 0; border: 1px solid #494354; border-radius: 5px; background: #24222df2; color: var(--muted); font: 1rem/1 var(--mono); }
.tok-comment { color: #7f849c; font-style: italic; }
.tok-string, .tok-link { color: #a6e3a1; }
.tok-key, .tok-heading, .tok-section { color: #89b4fa; }
.tok-keyword, .tok-tag, .tok-strong { color: #cba6f7; }
.tok-literal, .tok-number { color: #fab387; }
.tok-variable, .tok-decorator, .tok-option, .tok-list { color: #89dceb; }
.tok-code { color: #f9e2af; }
.docs-article hr { margin-block: 56px; border: 0; border-top: 1px solid var(--border); }
.docs-table { max-width: 100%; margin-block: 24px; overflow-x: auto; border: 1px solid var(--border); border-radius: 7px; }
.docs-table table { width: 100%; border-collapse: collapse; font-size: .9rem; }
.docs-table th, .docs-table td { min-width: 9rem; padding: 12px 14px; border-bottom: 1px solid var(--border); text-align: left; vertical-align: top; }
.docs-table th { color: var(--text); background: #22212c; }
.docs-table td { color: var(--muted); }
.docs-table tbody tr:last-child td { border-bottom: 0; }
.docs-source { margin-top: 64px !important; padding-top: 24px; border-top: 1px solid var(--border); font-size: .875rem; }
.docs-pager { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 32px; }
.docs-pager a { display: flex; flex-direction: column; min-width: 0; padding: 18px; border: 1px solid var(--border); border-radius: 7px; color: var(--text); text-decoration: none; }
.docs-pager a:last-child { text-align: right; }
.docs-pager a span { margin-bottom: 5px; color: var(--subtle); font: .75rem var(--mono); text-transform: uppercase; }
@media (hover: hover) {
  .docs-card:hover, .docs-pager a:hover { border-color: #645271; background: var(--surface-hover); }
  .docs-sidebar a:hover, .docs-toc a:hover { color: var(--accent-bright); }
  .docs-copy-button:hover { border-color: var(--accent); color: var(--text); background: #302b39; }
}
@media (max-width: 1180px) {
  .docs-layout { grid-template-columns: minmax(13rem, 15rem) minmax(0, 1fr); gap: 40px; }
  .docs-toc { display: none; }
  .docs-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 850px) {
  .docs-hero { padding-block: 64px 56px; }
  .docs-card-grid { grid-template-columns: minmax(0, 1fr); }
  .docs-card { min-height: 0; }
  .docs-layout { display: block; padding-block: 32px 72px; }
  .docs-sidebar { display: none; }
  .docs-mobile-nav { display: block; margin-bottom: 32px; border: 1px solid var(--border); border-radius: 7px; background: #171720; }
  .docs-mobile-nav summary { padding: 14px 18px; cursor: pointer; }
  .docs-mobile-nav nav { max-height: 60vh; padding: 0 18px 18px; overflow-y: auto; }
  .docs-mobile-nav .docs-nav-group + .docs-nav-group { margin-top: 10px; }
  .docs-mobile-nav .docs-nav-group > summary { padding: 8px 0; }
  .docs-mobile-nav a { display: block; padding: 5px 8px; color: var(--muted); font-size: .875rem; }
  .docs-mobile-nav a[aria-current="page"] { color: var(--accent-bright); }
  .docs-article { max-width: none; }
}
@media (max-width: 540px) {
  .docs-index { padding-block: 48px 72px; }
  .docs-category + .docs-category { margin-top: 48px; }
  .docs-card { padding: 22px 20px; }
  .docs-article > h1 { font-size: 2.45rem; }
  .docs-article h2 { margin-top: 48px; }
  .docs-pager { grid-template-columns: minmax(0, 1fr); }
  .docs-pager a:last-child { text-align: left; }
}
@media (forced-colors: active) {
  .docs-card, .docs-search input, .docs-mobile-nav, .docs-article pre, .docs-code-block, .docs-copy-button, .docs-table, .docs-pager a { border-color: ButtonText; }
  .tok-comment, .tok-string, .tok-link, .tok-key, .tok-heading, .tok-section, .tok-keyword, .tok-tag, .tok-strong, .tok-literal, .tok-number, .tok-variable, .tok-decorator, .tok-option, .tok-list, .tok-code { color: CanvasText; font-style: normal; }
}
