/* AgentSoma documentation · shared Paper & Signal tokens */
html { scroll-padding-top: calc(var(--doc-header-height) + var(--space-lg)); }
.doc-header { position: sticky; top: 0; z-index: var(--z-raised); background: var(--color-paper); border-bottom: var(--rule-width) solid var(--color-rule); }
.doc-header-inner { max-width: var(--doc-width); min-height: var(--doc-header-height); margin-inline: auto; padding: var(--space-md) var(--space-xl); display: flex; align-items: center; justify-content: space-between; gap: var(--space-lg); }
.doc-header nav { display: flex; align-items: center; gap: var(--space-lg); font-size: var(--text-sm); }
.doc-header nav a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: none; }
.doc-header nav [aria-current] { font-weight: 600; }
.docs-layout { display: grid; grid-template-columns: 192px minmax(0, 1fr); gap: var(--space-xl); max-width: var(--doc-width); margin-inline: auto; padding: var(--space-xl); align-items: start; }
.doc-sidebar { position: sticky; top: calc(var(--doc-header-height) + var(--space-xl)); max-height: calc(100dvh - var(--doc-header-height) - var(--space-2xl)); overflow-y: auto; padding: var(--space-xs); }
.doc-sidebar > summary { display: none; }
.sidebar-content nav { display: grid; gap: var(--space-xs); }
.sidebar-content nav > a { display: flex; align-items: center; min-height: 44px; padding: var(--space-sm) var(--space-md); border-radius: var(--radius-sm); text-decoration: none; color: var(--color-muted); font-size: var(--text-sm); }
.sidebar-content nav > a[aria-current='page'] { color: var(--color-accent); background: var(--color-accent-soft); font-weight: 550; }
.nav-group { font-size: var(--text-xs); font-weight: 600; padding-inline: var(--space-md); margin-block: var(--space-lg) var(--space-sm); }
.doc-version { margin: var(--space-xl) var(--space-md) 0; color: var(--color-muted); font-family: var(--font-mono); font-size: var(--text-xs); }
.doc-search { display: grid; gap: var(--space-sm); margin-block-end: var(--space-lg); }
.doc-search label { font-size: var(--text-xs); color: var(--color-muted); }
.doc-search input { width: 100%; min-width: 0; min-height: 44px; padding: var(--space-sm); border: var(--rule-width) solid var(--color-control); border-radius: var(--radius-sm); background: var(--color-paper); color: var(--color-ink); font: inherit; font-size: var(--text-sm); }
.doc-search input::placeholder { color: var(--color-muted); }
.search-empty { color: var(--color-muted); font-size: var(--text-sm); }
.doc-main { min-width: 0; max-width: 760px; }
.doc-breadcrumb { display: flex; align-items: center; gap: var(--space-sm); color: var(--color-muted); font-size: var(--text-xs); margin-block: var(--space-sm) var(--space-xl); }
.doc-breadcrumb a { display: inline-flex; align-items: center; min-height: 44px; }
.doc-article h1 { font-size: var(--text-doc-title); line-height: 1.12; letter-spacing: -.045em; margin-block-end: var(--space-lg); }
.doc-article .doc-lede { font-size: var(--text-lede); color: var(--color-muted); line-height: 1.65; margin-block-end: var(--space-xl); }
.doc-article h2 { font-size: var(--text-doc-heading); letter-spacing: -.03em; margin-block: var(--space-2xl) var(--space-lg); }
.doc-article h3 { font-size: var(--text-lede); margin-block: var(--space-xl) var(--space-md); }
.doc-article p, .doc-article ul, .doc-article ol, .doc-article dl { margin-block: var(--space-md); max-width: 72ch; }
.doc-article li { margin-block: var(--space-sm); padding-inline-start: var(--space-xs); }
.doc-article a { color: var(--color-accent); }
.doc-article .code-block { margin-block: var(--space-lg); grid-template-columns: minmax(0, 1fr); gap: var(--space-md); }
.doc-article .code-block .copy-button { justify-self: end; }
.doc-article code { font-size: var(--text-sm); }
.doc-article pre code { font-size: var(--text-xs); }
.doc-article blockquote { margin-block: var(--space-lg); padding: var(--space-lg); background: var(--color-accent-soft); border-radius: var(--radius-sm); font-size: var(--text-lede); }
.doc-path { padding-inline-start: var(--space-lg); }
.doc-path li { padding-block: var(--space-sm); }
.doc-path a { font-weight: 550; }
.doc-path p { margin-block: var(--space-xs); color: var(--color-muted); font-size: var(--text-sm); }
.doc-definitions dt { font-family: var(--font-mono); font-size: var(--text-sm); margin-block-start: var(--space-lg); }
.doc-definitions dd { margin-block-start: var(--space-sm); }
.doc-toc { display: none; position: sticky; top: calc(var(--doc-header-height) + var(--space-xl)); font-size: var(--text-xs); max-height: calc(100dvh - var(--doc-header-height) - var(--space-2xl)); overflow-y: auto; padding: var(--space-xs); }
.doc-toc > p { font-weight: 550; margin-block: var(--space-sm) var(--space-md); }
.doc-toc nav, .mobile-toc nav { display: grid; gap: var(--space-xs); }
.doc-toc a, .mobile-toc a { padding-block: var(--space-sm); color: var(--color-muted); text-decoration: none; line-height: 1.5; white-space: normal; }
.doc-toc a:focus-visible, .mobile-toc a:focus-visible { color: var(--color-accent); }
.mobile-toc { border-block: var(--rule-width) solid var(--color-rule); margin-block-end: var(--space-xl); padding-block: var(--space-sm); font-size: var(--text-sm); }
.mobile-toc summary { cursor: pointer; min-height: 44px; align-content: center; }
.mobile-toc nav { padding-block: var(--space-sm); }
.doc-pager { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-lg); margin-block: var(--space-3xl) var(--space-xl); border-top: var(--rule-width) solid var(--color-rule); padding-block-start: var(--space-lg); }
.doc-pager a { display: grid; align-content: start; gap: var(--space-sm); min-height: 72px; text-decoration: none; }
.doc-pager span { font-size: var(--text-xs); color: var(--color-muted); }
.doc-pager strong { font-size: var(--text-sm); font-weight: 550; }
.page-next { grid-column: 2; text-align: end; }
.doc-footer { max-width: var(--doc-width); margin-inline: auto; padding: var(--space-xl); display: flex; align-items: center; justify-content: space-between; gap: var(--space-lg); font-size: var(--text-sm); color: var(--color-muted); }
.doc-footer > a { min-height: 44px; display: inline-flex; align-items: center; }
@media (min-width: 75rem) {
  .docs-layout { grid-template-columns: 192px minmax(0, 1fr) 168px; }
  .doc-toc { display: block; }
  .mobile-toc { display: none; }
}
@media (max-width: 59.99rem) {
  .docs-layout { grid-template-columns: minmax(0, 1fr); gap: var(--space-xl); }
  .doc-main { max-width: none; }
  .doc-sidebar { position: static; max-height: none; padding: var(--space-md); background: var(--color-surface); border-radius: var(--radius-sm); overflow: visible; }
  .doc-sidebar > summary { display: list-item; cursor: pointer; min-height: 44px; align-content: center; font-size: var(--text-sm); font-weight: 550; }
  .sidebar-content { padding-block: var(--space-lg) var(--space-sm); }
  .doc-breadcrumb { margin-block: 0 var(--space-lg); }
}
@media (max-width: 39.99rem) {
  .doc-header-inner { padding-inline: var(--space-md); gap: var(--space-sm); }
  .doc-header .wordmark img { width: 132px; }
  .doc-header nav { gap: var(--space-md); }
  .doc-github { display: none !important; }
  .docs-layout { padding: var(--space-lg) var(--space-md); gap: var(--space-lg); }
  .doc-footer { padding-inline: var(--space-md); }
  .doc-article ul, .doc-article ol { padding-inline-start: var(--space-lg); }
  .doc-article .code-block { padding: var(--space-md); }
}
@media (hover: hover) and (pointer: fine) {
  .sidebar-content nav > a:hover { color: var(--color-ink); background: var(--color-surface); }
  .doc-toc a:hover, .mobile-toc a:hover, .doc-pager a:hover { color: var(--color-accent); }
}
