:root {
  --site-chart-input: #2a78d6;
  --site-chart-read: #eb6834;
  --site-chart-write: #1baf7a;
  --site-chart-output: #eda100;
  --site-nav-space-1: .25rem;
  --site-nav-space-2: .5rem;
  --site-nav-space-3: .75rem;
  --site-nav-space-4: 1rem;
  --site-nav-space-5: 1.5rem;
  --site-nav-content: 1000px;
  --site-nav-gutter: 20px;
  --site-nav-main-height: 3.625rem;
  --site-nav-radius: .625rem;
  --site-nav-bg: #fff;
  --site-nav-panel: #fff;
  --site-nav-border: #e2e8f0;
  --site-nav-text: #1a2233;
  --site-nav-muted: #5a6577;
  --site-nav-accent: #2f6df0;
  --site-nav-accent-soft: #eaf1ff;
  --site-nav-on-accent: #fff;
  --site-nav-shadow: 0 .75rem 2rem rgb(18 28 45 / 14%);
  color-scheme: light dark;
}

@media (prefers-color-scheme: dark) {
  :root {
    --site-chart-input: #3987e5;
    --site-chart-read: #d95926;
    --site-chart-write: #199e70;
    --site-chart-output: #c98500;
    --site-nav-bg: #0f1420;
    --site-nav-panel: #161d2c;
    --site-nav-border: #2a3650;
    --site-nav-text: #e6ebf5;
    --site-nav-muted: #a4afc3;
    --site-nav-accent: #78a6ff;
    --site-nav-accent-soft: #172542;
    --site-nav-shadow: 0 .75rem 2rem rgb(0 0 0 / 38%);
  }
}

/* Match each existing page's content edges without resizing its content.
   Padded .wrap/.api-wrap values below describe their inner content width. */
:root:has(main.api-wrap) {
  --site-nav-content: 1132px;
  --site-nav-gutter: 24px;
}

:root:has(link[rel="canonical"][href$="/benchmarks/"]) {
  --site-nav-content: 70rem;
  --site-nav-gutter: calc(var(--space-8, 2rem) / 2);
}

:root:has(link[rel="canonical"][href$="/model-benchmarks/"]) {
  --site-nav-content: 82rem;
  --site-nav-gutter: calc(var(--space-8, 2rem) / 2);
}

:root:has(link[rel="canonical"][href$="/task-class-routing/"]) {
  --site-nav-content: 72rem;
  --site-nav-gutter: calc(var(--space-8, 2rem) / 2);
}

:root:has(main.page) {
  --site-nav-content: 76rem;
  --site-nav-gutter: var(--space-5, 1.5rem);
}

:root:has(main.shell) {
  --site-nav-content: 92rem;
  --site-nav-gutter: var(--space-5, 1.5rem);
}

:root:has(link[rel="canonical"][href$="/cap-forecast/"]),
:root:has(link[rel="canonical"][href$="/cap-forecast/data-plan.html"]),
:root:has(link[rel="canonical"][href$="/cap-forecast/forecast-v1.html"]) {
  --site-nav-content: 940px;
}

:root:has(link[rel="canonical"][href$="/cap-forecast/problem.html"]),
:root:has(link[rel="canonical"][href$="/evidence/agent-studio-usage/"]) {
  --site-nav-content: 900px;
}

:root:has(link[rel="canonical"][href$="/cap-forecast/architecture.html"]) {
  --site-nav-content: 960px;
}

@media (max-width: 48rem) {
  :root:has(link[rel="canonical"][href$="/model-benchmarks/"]) {
    --site-nav-gutter: calc(var(--space-6, 1.5rem) / 2);
  }

  :root:has(main.shell) {
    --site-nav-gutter: var(--space-4, 1rem);
  }
}

@media (max-width: 480px) {
  :root:has(main.api-wrap) {
    --site-nav-gutter: 16px;
  }
}

.site-header,
.site-header * {
  box-sizing: border-box;
}

.site-header {
  position: sticky;
  inset-block-start: 0;
  z-index: 100;
  width: 100%;
  border: 0;
  border-block-end: .0625rem solid var(--site-nav-border);
  background: color-mix(in srgb, var(--site-nav-bg) 92%, transparent);
  color: var(--site-nav-text);
  font: 1rem/1.4 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  backdrop-filter: saturate(140%) blur(.5rem);
}

.site-header a {
  color: inherit;
  text-decoration: none;
}

.site-header a:hover {
  text-decoration: none;
}

.site-header-main {
  width: min(var(--site-nav-content), calc(100% - 2 * var(--site-nav-gutter)));
  margin-inline: auto;
}

.site-header-main {
  min-height: var(--site-nav-main-height);
  display: flex;
  align-items: center;
  gap: var(--site-nav-space-5);
}

.site-brand {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: var(--site-nav-space-2);
  font-weight: 750;
  letter-spacing: -.02em;
  white-space: nowrap;
}

.site-brand-mark {
  width: 1.5rem;
  height: 1.5rem;
  display: inline-grid;
  place-items: center;
  border-radius: .375rem;
  background: var(--site-nav-accent);
  color: var(--site-nav-on-accent);
  font: 750 .875rem/1 ui-monospace, "SF Mono", Consolas, monospace;
}

.site-primary-nav {
  min-width: 0;
  margin-inline-start: auto;
  padding: 0;
}

.site-nav-groups {
  display: flex;
  align-items: stretch;
  gap: var(--site-nav-space-1);
  margin: 0;
  padding: 0;
}

.site-nav-group {
  position: relative;
}

.site-nav-heading {
  min-height: 2.5rem;
  display: inline-flex;
  align-items: center;
  gap: var(--site-nav-space-2);
  padding: var(--site-nav-space-2) var(--site-nav-space-3);
  border-radius: var(--site-nav-radius);
  color: var(--site-nav-muted) !important;
  font-size: .9rem;
  font-weight: 650;
  white-space: nowrap;
}

.site-nav-heading::after {
  width: .45rem;
  height: .45rem;
  border-inline-end: .1rem solid currentColor;
  border-block-end: .1rem solid currentColor;
  content: "";
  transform: translateY(-.12rem) rotate(45deg);
  transition: transform 120ms ease;
}

.site-nav-heading:hover,
.site-nav-heading:focus-visible,
.site-nav-group[data-open] > .site-nav-heading {
  background: var(--site-nav-accent-soft);
  color: var(--site-nav-text) !important;
}

html:not(.site-nav-enhanced) .site-nav-group:focus-within > .site-nav-heading::after,
.site-nav-group[data-open] > .site-nav-heading::after {
  transform: translateY(.1rem) rotate(225deg);
}

.site-nav-menu {
  position: absolute;
  inset-block-start: calc(100% + var(--site-nav-space-1));
  inset-inline-start: 0;
  min-width: 13rem;
  margin: 0;
  padding: var(--site-nav-space-2);
  visibility: hidden;
  opacity: 0;
  border: .0625rem solid var(--site-nav-border);
  border-radius: var(--site-nav-radius);
  background: var(--site-nav-panel);
  box-shadow: var(--site-nav-shadow);
  list-style: none;
  transform: translateY(-.25rem);
  transition: opacity 120ms ease, transform 120ms ease;
}

.site-nav-group:nth-child(2) .site-nav-menu,
.site-nav-group:last-child .site-nav-menu {
  inset-inline: auto 0;
}

html:not(.site-nav-enhanced) .site-nav-group:focus-within > .site-nav-menu,
.site-nav-group[data-open] > .site-nav-menu {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
}

.site-nav-menu a {
  display: block;
  padding: var(--site-nav-space-2) var(--site-nav-space-3);
  border-radius: calc(var(--site-nav-radius) - .125rem);
  color: var(--site-nav-muted) !important;
  font-size: .875rem;
  white-space: nowrap;
}

.site-nav-menu a:hover,
.site-nav-menu a:focus-visible {
  background: var(--site-nav-accent-soft);
  color: var(--site-nav-text) !important;
}

.site-header :focus-visible {
  outline: .125rem solid var(--site-nav-accent);
  outline-offset: .125rem;
}

.site-menu-button {
  display: none;
  align-items: center;
  gap: var(--site-nav-space-2);
  margin-inline-start: auto;
  padding: var(--site-nav-space-2) var(--site-nav-space-3);
  border: .0625rem solid var(--site-nav-border);
  border-radius: var(--site-nav-radius);
  background: var(--site-nav-panel);
  color: var(--site-nav-text);
  font: inherit;
  font-size: .875rem;
  font-weight: 700;
  cursor: pointer;
}

.site-menu-icon,
.site-menu-icon::before,
.site-menu-icon::after {
  width: 1rem;
  height: .1rem;
  display: block;
  border-radius: 999rem;
  background: currentColor;
  content: "";
}

.site-menu-icon::before { transform: translateY(-.3rem); }
.site-menu-icon::after { transform: translateY(.2rem); }

@media (max-width: 48rem) {
    .site-header-main {
    width: min(var(--site-nav-content), calc(100% - 2 * var(--site-nav-gutter)));
  }

  .site-header-main {
    position: relative;
    flex-wrap: wrap;
    gap: 0;
    padding-block: var(--site-nav-space-2);
  }

  .site-nav-enhanced .site-menu-button {
    display: inline-flex;
  }

  .site-primary-nav {
    width: 100%;
    margin: 0;
  }

  .site-nav-groups {
    display: grid;
    gap: var(--site-nav-space-2);
    padding-block: var(--site-nav-space-2);
  }

  .site-nav-enhanced .site-nav-groups:not([data-menu-open]) {
    display: none;
  }

  .site-nav-heading {
    width: 100%;
    justify-content: space-between;
    border: .0625rem solid var(--site-nav-border);
    background: var(--site-nav-panel);
    color: var(--site-nav-text) !important;
  }

  .site-nav-menu {
    position: static;
    min-width: 0;
    display: block;
    margin: var(--site-nav-space-1) 0 0;
    visibility: visible;
    opacity: 1;
    border: 0;
    border-inline-start: .0625rem solid var(--site-nav-border);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    transform: none;
    transition: none;
  }

  .site-nav-enhanced .site-nav-group:not([data-open]) > .site-nav-menu {
    display: none;
  }

  .site-nav-menu a {
    white-space: normal;
  }
}

@media (prefers-reduced-motion: reduce) {
  .site-nav-heading::after,
  .site-nav-menu {
    transition: none;
  }
}

/* Native buttons own disclosure state; hover never disagrees with aria-expanded. */
html { scroll-padding-top: var(--site-header-offset, 7rem); }
.site-nav-heading { border: 0; background: transparent; font-family: inherit; line-height: inherit; cursor: pointer; }
.site-nav-menu { inset-block-start: 100%; max-height: calc(100dvh - var(--site-header-offset, 7rem)); overflow-y: auto; }
.site-nav-menu a, .site-nav-direct, .site-menu-button { min-height: 2.75rem; }
.site-nav-direct { display: inline-flex; align-items: center; padding: .5rem .75rem; border-radius: var(--site-nav-radius); font-size: .9rem; font-weight: 700; }
.site-nav-direct { color: var(--site-nav-muted) !important; background: transparent; }
.site-header a[aria-current] { color: var(--site-nav-accent) !important; background: var(--site-nav-accent-soft); }
.site-nav-direct:hover { color: var(--site-nav-text) !important; }
.site-skip-link { position: fixed; inset: .5rem auto auto .5rem; z-index: 200; padding: .75rem 1rem; background: var(--site-nav-panel); color: var(--site-nav-text); border: 2px solid var(--site-nav-accent); transform: translateY(-200%); }
.site-skip-link:focus { transform: none; }
html:not(.site-nav-enhanced) .site-nav-groups { flex-wrap: wrap; }
html:not(.site-nav-enhanced) .site-nav-menu { position: static; visibility: visible; opacity: 1; transform: none; box-shadow: none; }
html:not(.site-nav-enhanced) .site-nav-heading::after { display: none; }
@media (max-width: 48rem) {
  .site-nav-groups { max-height: calc(100dvh - 7rem); overflow-y: auto; }
  .site-nav-menu { max-height: none; }
  .site-nav-direct { border: 1px solid var(--site-nav-border); }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto !important; } }

/* Long API names may wrap in prose; code blocks retain horizontal scrolling. */
main :not(pre) > code { overflow-wrap: anywhere; }


/* Keep the complete active border inside the contents navigation's scroll area. */
.docs-layout .docs-toc a {
  padding-inline: 8px;
  margin-inline: 0;
  border: 1px solid transparent;
  border-radius: 6px;
  color: var(--muted);
}

.docs-layout .docs-toc a:hover {
  color: var(--accent);
  background: var(--accent-soft);
}

.docs-layout .docs-toc a[aria-current="location"] {
  color: var(--accent);
  background: var(--accent-soft);
  border-color: var(--accent);
  font-weight: 700;
  text-decoration: none;
}


/* Product identity, local navigation and compact ecosystem links share one row. */
.site-header-main { gap: 16px; }
.site-utilities { display: flex; align-items: center; gap: 6px; flex: 0 0 auto; }
.site-utility-icon { width: 16px; height: 16px; flex: 0 0 auto; }
.site-header .site-github-link {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  min-height: 36px; padding: 6px 10px; border: 1px solid var(--site-nav-border);
  border-radius: 7px; background: var(--site-nav-panel); color: var(--site-nav-text);
  font-size: 12px; font-weight: 650;
}
.site-header .site-github-link:hover { border-color: var(--site-nav-accent); background: var(--site-nav-accent-soft); }
@media (max-width: 980px) {
  .site-github-label { display: none; }
}
@media (max-width: 48rem) {
  .site-header-main { column-gap: 8px; row-gap: 0; }
  .site-brand { order: 0; }
  .site-menu-button { order: 1; }
  .site-utilities { order: 2; }
  .site-primary-nav { order: 3; }
  .site-header .site-github-link, .site-header .ao-family-link { min-height: 44px; }
  .site-header .site-github-link { min-width: 44px; }
}
@media (max-width: 480px) {
  .site-menu-button > span:first-child { display: none; }
  .site-menu-button { min-width: 44px; justify-content: center; padding-inline: 10px; }
}
@media (max-width: 360px) {
  /* The Project menu retains the GitHub link when the compact row needs space. */
  .site-header .site-github-link { display: none; }
}

@media (max-width: 360px) {
  .site-header-main { column-gap: 6px; }
  .site-brand { gap: 6px; font-size: 14px; }
  .site-brand-mark { width: 20px; height: 20px; font-size: 12px; }
}
