/* Shared Pexer identity with a compact documentation reading layout. */
.docs-site { --docs-header-height: 72px; color-scheme: dark; color: var(--chalk-primary); }
.docs-site[data-theme="light"] { color-scheme: light; --bg-ground: #fafafa; --bg-surface: #f2f3f5; --bg-card: #e9ebee; --bg-sunken: #f4f5f7; --chalk-title: #202329; --chalk-primary: #383d46; --chalk-secondary: #575e6a; --chalk-tertiary: #616873; --chalk-line: #e0e2e6; --chalk-border: #d8dbe0; --chalk-border-hover: #878d98; --color-accent: #895008; --color-accent-hover: #6a3b00; --color-accent-soft: #f4eadb; }
.docs-site button, .docs-site input { font: inherit; }
.docs-site button { cursor: pointer; }
.docs-site [hidden] { display: none !important; }
.docs-site a:focus-visible, .docs-site button:focus-visible, .docs-site input:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 4px; }
.docs-site ::selection { background: var(--color-accent); color: var(--bg-ground); }
.docs-site { scrollbar-color: var(--chalk-border-hover) var(--bg-ground); }
.docs-header { position: sticky; top: 0; z-index: 100; display: flex; align-items: center; gap: 24px; min-height: var(--docs-header-height); padding: 12px 28px; background: var(--bg-ground); border-bottom: 1px solid var(--chalk-line); }
.docs-brand { display: flex; align-items: center; gap: 10px; font-size: 25px; font-weight: 600; letter-spacing: -.03em; color: var(--chalk-title); }
.docs-wordmark { border-left: 1px solid var(--chalk-border); padding-left: 24px; color: var(--chalk-secondary); font-size: 15px; }
.docs-search-trigger { display: flex; align-items: center; gap: 10px; margin-left: 42px; padding: 8px 12px; width: 340px; min-height: 38px; border: 1px solid var(--chalk-border); border-radius: 6px; color: var(--chalk-secondary); background: var(--bg-surface); text-align: left; font-size: 13px !important; }
.docs-search-trigger:hover { border-color: var(--chalk-border-hover); }
.docs-search-trigger kbd { margin-left: auto; font-size: 11px; }
.docs-header-links { display: flex; align-items: center; gap: 24px; margin-left: auto; font-size: 13px; }
.docs-header-links a:hover { color: var(--color-accent); }
.docs-download { color: var(--chalk-title); font-weight: 550; }
.docs-theme, .docs-menu { display: flex; align-items: center; justify-content: center; min-width: 40px; min-height: 40px; border: 0; background: transparent; color: var(--chalk-secondary); }
.docs-theme:hover, .docs-menu:hover { color: var(--chalk-title); background: var(--bg-surface); border-radius: 6px; }
.docs-menu { display: none; gap: 6px; }
.docs-layout { display: grid; grid-template-columns: 250px minmax(0, 800px) 220px; width: 100%; max-width: 1440px; margin: 0 auto; flex: 1; }
.docs-sidebar { position: sticky; top: var(--docs-header-height); height: calc(100dvh - var(--docs-header-height)); overflow-y: auto; display: flex; flex-direction: column; padding: 34px 22px 24px; border-right: 1px solid var(--chalk-line); }
.docs-nav-group { margin-bottom: 28px; }
.docs-nav-group h2 { font-size: 13px; font-weight: 600; letter-spacing: 0; margin: 0 0 9px 10px; }
.docs-nav-group a { display: flex; align-items: center; gap: 8px; padding: 8px 10px; min-height: 38px; border-radius: 5px; font-size: 13px; color: var(--chalk-secondary); }
.docs-nav-group a span { font-size: 11px; margin-left: auto; }
.docs-nav-group a:hover { color: var(--chalk-title); background: var(--bg-surface); }
.docs-nav-group a[aria-current="page"] { background: var(--color-accent-soft); color: var(--color-accent); font-weight: 550; }
.docs-sidebar-note { margin-top: auto; padding: 28px 10px 0; color: var(--chalk-secondary); font-size: 12px; }
.docs-sidebar-note p { margin-top: 5px; }
.docs-status-dot { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--color-accent); margin-right: 5px; }
.docs-content { min-width: 0; padding: 48px 58px 24px; outline: none; }
.docs-article { padding-bottom: 20px; scroll-margin-top: 96px; }
.docs-article h1 { font-size: 36px; line-height: 1.2; font-weight: 650; margin-bottom: 16px; letter-spacing: -.03em; }
.docs-article h1 code { font-size: .94em; font-weight: 600; }
.docs-article .docs-lead { font-size: 18px; line-height: 1.65; color: var(--chalk-secondary); margin: 0 0 28px; }
.docs-article h2 { scroll-margin-top: 96px; font-size: 22px; line-height: 1.35; font-weight: 600; margin: 38px 0 14px; letter-spacing: -.02em; }
.docs-article h3 { font-size: 16px; font-weight: 550; letter-spacing: -.01em; }
.docs-article p, .docs-article li, .docs-article dd { font-size: 15px; line-height: 1.8; }
.docs-article p { margin-bottom: 16px; }
.docs-article p a, .docs-steps a { color: var(--color-accent); text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--chalk-border-hover); }
.docs-article p a:hover, .docs-steps a:hover { text-decoration-color: currentColor; }
.docs-article p code, .docs-article li code, .docs-article td code { font-size: .85em; padding: 2px 5px; border: 1px solid var(--chalk-line); border-radius: 4px; background: var(--bg-surface); color: var(--chalk-title); overflow-wrap: anywhere; }
.docs-site kbd { font-family: var(--font-mono); font-size: 11px; border: 1px solid var(--chalk-border); border-radius: 4px; padding: 2px 5px; white-space: nowrap; }
.docs-note { padding: 16px 18px; border: 1px solid var(--chalk-border); border-radius: 6px; background: var(--bg-surface); font-size: 14px; line-height: 1.75; margin: 24px 0; }
.docs-note strong { color: var(--chalk-title); font-weight: 550; }
.docs-note p { margin: 6px 0 0; font-size: 14px; }
.docs-steps { list-style: decimal; padding-left: 23px; }
.docs-steps li { padding-left: 7px; margin-bottom: 16px; }
.docs-steps li::marker { color: var(--chalk-secondary); font-weight: 600; }
.docs-steps strong { font-weight: 550; color: var(--chalk-title); }
.docs-tool-list { border-top: 1px solid var(--chalk-line); }
.docs-tool-list > a { display: flex; align-items: center; gap: 24px; justify-content: space-between; padding: 20px 0; border-bottom: 1px solid var(--chalk-line); }
.docs-tool-list > a:hover h3, .docs-tool-list > a:hover > span { color: var(--color-accent); }
.docs-tool-list p { color: var(--chalk-secondary); font-size: 14px; margin: 5px 0 0; }
.docs-tool-list > a > span { font-size: 20px; color: var(--chalk-secondary); }
.docs-definitions > div { display: grid; grid-template-columns: 140px 1fr; padding: 16px 0; border-bottom: 1px solid var(--chalk-line); gap: 14px; }
.docs-definitions dt { font-size: 13px; color: var(--chalk-title); padding-top: 4px; }
.docs-code { margin: 20px 0; background: var(--bg-sunken); border: 1px solid var(--chalk-border); border-radius: 7px; overflow: hidden; }
.docs-code-header { display: flex; align-items: center; justify-content: space-between; padding: 9px 14px; border-bottom: 1px solid var(--chalk-line); background: var(--bg-surface); color: var(--chalk-secondary); font-size: 11px; min-height: 39px; }
.docs-code-header button { padding: 2px 8px; min-height: 28px; border: 1px solid var(--chalk-border); border-radius: 4px; background: transparent; color: var(--chalk-secondary); font-size: 11px; }
.docs-code-header button:hover { color: var(--chalk-title); border-color: var(--chalk-border-hover); }
.docs-code pre { padding: 20px 18px; overflow-x: auto; font-size: 12px; line-height: 1.9; color: var(--chalk-title); tab-size: 2; scrollbar-width: thin; }
.docs-table-container { overflow-x: auto; margin: 20px 0; border: 1px solid var(--chalk-border); border-radius: 6px; }
.docs-table-container table { border-collapse: collapse; width: 100%; text-align: left; font-size: 13px; }
.docs-table-container th { background: var(--bg-surface); color: var(--chalk-title); font-size: 12px; font-weight: 550; }
.docs-table-container th, .docs-table-container td { padding: 12px 14px; border-bottom: 1px solid var(--chalk-line); vertical-align: top; }
.docs-table-container td:first-child { width: 48%; }
.docs-table-container tr:last-child td { border-bottom: 0; }
.docs-page-footer { margin-top: 48px; padding-top: 22px; border-top: 1px solid var(--chalk-line); display: flex; justify-content: space-between; gap: 20px; }
.docs-page-footer a { display: flex; flex-direction: column; gap: 5px; flex: 1; font-size: 14px; }
.docs-page-footer a:last-child { text-align: right; }
.docs-page-footer small { color: var(--chalk-secondary); font-size: 12px; }
.docs-page-footer strong { font-weight: 500; color: var(--chalk-title); }
.docs-page-footer a:hover strong { color: var(--color-accent); }
.docs-bottom { border-top: 1px solid var(--chalk-line); padding: 20px 0; display: flex; justify-content: space-between; gap: 16px; font-size: 11px; color: var(--chalk-secondary); }
.docs-bottom a:hover { color: var(--color-accent); }
.docs-toc { position: sticky; top: var(--docs-header-height); align-self: start; padding: 49px 20px 28px 8px; max-height: calc(100dvh - var(--docs-header-height)); overflow-y: auto; }
.docs-toc h2 { font-size: 12px; font-weight: 550; letter-spacing: 0; margin: 0 0 14px; }
.docs-toc nav { border-left: 1px solid var(--chalk-line); }
.docs-toc a { display: block; padding: 7px 0 7px 16px; font-size: 12px; line-height: 1.5; color: var(--chalk-secondary); }
.docs-toc a:hover, .docs-toc a[aria-current="location"] { color: var(--color-accent); }
.docs-search-dialog { width: min(640px, calc(100vw - 32px)); max-height: min(620px, calc(100dvh - 80px)); margin: 10vh auto auto; padding: 0; border: 1px solid var(--chalk-border-hover); border-radius: 10px; background: var(--bg-ground); color: var(--chalk-primary); box-shadow: 0 16px 60px #0004; }
.docs-search-dialog::backdrop { background: #0009; }
.docs-search-top { display: flex; align-items: center; justify-content: space-between; padding: 18px 20px 10px; font-size: 13px; color: var(--chalk-title); }
.docs-search-top button { background: var(--bg-surface); border: 1px solid var(--chalk-border); border-radius: 4px; color: var(--chalk-secondary); font-size: 11px; padding: 5px 8px; min-height: 32px; }
.docs-search-dialog input { display: block; width: calc(100% - 40px); margin: 8px 20px 0; background: var(--bg-surface); border: 1px solid var(--chalk-border-hover); color: var(--chalk-title); border-radius: 5px; padding: 12px; font-size: 14px; caret-color: var(--color-accent); }
.docs-search-dialog input::placeholder { color: var(--chalk-secondary); }
.docs-search-status { padding: 14px 20px 7px; font-size: 12px; color: var(--chalk-secondary); }
.docs-search-results { padding: 0 12px 12px; max-height: 340px; overflow-y: auto; }
.docs-search-results a { display: block; padding: 12px; border-radius: 5px; margin-top: 4px; }
.docs-search-results a:hover, .docs-search-results a[data-selected] { background: var(--bg-surface); outline: 1px solid var(--chalk-border); }
.docs-search-results strong { display: block; font-size: 14px; font-weight: 550; color: var(--chalk-title); }
.docs-search-results small { font-size: 11px; color: var(--color-accent); }
.docs-search-results p { font-size: 12px; margin-top: 5px; color: var(--chalk-secondary); }
.docs-search-help { border-top: 1px solid var(--chalk-line); padding: 12px 20px; display: flex; justify-content: space-between; gap: 16px; font-size: 11px; color: var(--chalk-secondary); }
.docs-announcement { position: fixed; bottom: 24px; left: 50%; transform: translateX(-50%); max-width: calc(100vw - 32px); font-size: 13px; color: var(--chalk-title); background: var(--bg-surface); border-radius: 6px; z-index: 200; }
.docs-announcement:not(:empty) { border: 1px solid var(--chalk-border-hover); padding: 10px 16px; }
@media (min-width: 1441px) { .docs-header { padding-left: max(28px, calc((100vw - 1384px)/2)); padding-right: max(28px, calc((100vw - 1384px)/2)); } }
@media (max-width: 1150px) { .docs-layout { grid-template-columns: 230px minmax(0, 1fr); } .docs-toc { display: none; } .docs-content { padding: 40px 48px 24px; max-width: 850px; } .docs-search-trigger { margin-left: 12px; width: 290px; } }
@media (max-width: 760px) {
  .docs-site { --docs-header-height: 64px; }
  .docs-header { gap: 14px; padding: 10px 18px; flex-wrap: wrap; }
  .docs-brand { font-size: 22px; gap: 7px; }
  .docs-wordmark { padding-left: 14px; font-size: 13px; }
  .docs-header-links { display: none; }
  .docs-search-trigger { margin-left: auto; width: 38px; padding: 8px; justify-content: center; background: transparent; border: 0; }
  .docs-search-trigger span, .docs-search-trigger kbd { display: none; }
  .docs-theme { min-width: 32px; }
  .docs-menu { display: flex; min-width: 32px; }
  .docs-menu span { display: none; }
  .docs-layout { display: block; }
  .docs-sidebar { position: static; height: auto; padding: 24px; border-right: 0; border-bottom: 1px solid var(--chalk-line); }
  .docs-site[data-enhanced] .docs-sidebar { display: none; }
  .docs-site[data-enhanced] .docs-sidebar[data-open] { display: flex; position: fixed; inset: var(--docs-header-height) 0 0; height: auto; background: var(--bg-ground); z-index: 90; overflow-y: auto; }
  .docs-site[data-menu-open] { overflow: hidden; }
  .docs-sidebar-note { margin-top: 0; }
  .docs-content { padding: 32px 22px 16px; }
  .docs-article h1 { font-size: 30px; }
  .docs-article .docs-lead { font-size: 17px; }
  .docs-article h2 { font-size: 21px; margin-top: 32px; scroll-margin-top: 84px; }
  .docs-definitions > div { grid-template-columns: 1fr; gap: 6px; }
  .docs-bottom { flex-direction: column; gap: 6px; }
  .docs-code pre { font-size: 11px; padding: 16px 14px; }
  .docs-search-dialog { margin-top: 24px; max-height: calc(100dvh - 48px); }
  .docs-search-help > span:last-child { display: none; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
