/* API pages share the site's fonts, colors and brand. No script is needed. */
.api-docs { background: var(--sheet); }
.api-docs .skip-link { position: absolute; top: 8px; left: 8px; z-index: 20; transform: translateY(-160%); background: var(--sheet); color: var(--seal-text); padding: 8px 12px; }
.api-docs .skip-link:focus { transform: none; }
.api-docs .masthead { position: relative; border-bottom: 1px solid var(--rule); }
.api-docs .masthead-inner { max-width: 1440px; margin: 0 auto; }
.docs-layout { display: grid; grid-template-columns: 280px minmax(0, 1fr); max-width: 1360px; margin: 0 auto; }
.docs-sidebar { position: sticky; top: 24px; align-self: start; height: calc(100dvh - 48px); overflow-y: auto; padding: 36px 28px 40px 20px; border-right: 1px solid var(--rule); scrollbar-width: thin; }
.docs-sidebar a, .docs-mobile-nav a { display: block; color: var(--muted); font-size: 14px; line-height: 1.4; text-decoration: none; padding: 6px 10px; border-radius: 5px; }
.docs-sidebar a:hover, .docs-mobile-nav a:hover { color: var(--seal-text); background: var(--seal-soft); }
.docs-nav-group { margin-top: 28px; }
.docs-nav-group h2 { font-size: 12px; font-weight: 700; letter-spacing: .04em; color: var(--ink); margin: 0 0 8px 10px; }
.docs-nav-group ul, .docs-catalogue ul { margin: 0; padding: 0; list-style: none; }
.docs-sidebar .docs-overview-link { color: var(--seal-text); font-weight: 700; }
.docs-main { min-width: 0; padding: 56px clamp(28px, 5vw, 80px) 28px; max-width: 1080px; }
.docs-heading { padding-bottom: 32px; }
.docs-heading .eyebrow { color: var(--seal-text); font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; margin: 0 0 18px; }
.docs-heading h1 { color: var(--ink); font-size: clamp(32px, 3.7vw, 52px); font-weight: 600; line-height: 1.08; letter-spacing: -.035em; margin: 0 0 24px; max-width: 850px; }
.docs-heading .title-soft { color: var(--muted); }
.docs-heading .docs-lede { font-size: 20px; line-height: 1.5; max-width: 650px; color: var(--ink-2); }
.docs-heading-links { display: flex; flex-wrap: wrap; gap: 24px; align-items: center; margin-top: 28px; }
.docs-main p { color: var(--ink-2); font-size: 16px; line-height: 1.65; margin: 12px 0; }
.docs-main a { color: var(--seal-text); text-underline-offset: 3px; }
.docs-main a.button { color: var(--seal-ink); }
.docs-main h2 { font-size: 25px; font-weight: 600; letter-spacing: -.02em; line-height: 1.25; margin: 0 0 18px; }
.docs-main h3 { font-size: 18px; font-weight: 600; line-height: 1.45; margin: 24px 0 12px; }
.docs-section { border-top: 1px solid var(--rule); padding: 32px 0; scroll-margin-top: 24px; }
.docs-main code { font-family: var(--mono); font-size: .85em; overflow-wrap: anywhere; }
.docs-main p code, .docs-fields dt code { color: var(--seal-text); background: var(--seal-soft); border-radius: 4px; padding: 1px 4px; }
.docs-main pre { max-width: 100%; overflow-x: auto; background: var(--ground); border: 1px solid var(--rule); border-radius: 8px; padding: 22px 24px; margin: 20px 0; font-size: 14px; line-height: 1.65; tab-size: 2; }
.docs-main pre code { font-size: inherit; color: var(--ink); white-space: pre-wrap; overflow-wrap: anywhere; }
.docs-note { padding: 20px 24px; margin: 20px 0 32px; background: var(--seal-soft); border: 1px solid var(--rule); border-left: 3px solid var(--seal-text); border-radius: 0 6px 6px 0; }
.docs-note strong { font-size: 15px; color: var(--seal-text); }
.docs-note p:last-child { margin-bottom: 0; }
.docs-note p { font-size: 15px; }
.docs-main .docs-caption { font-size: 13px; color: var(--muted); }
.docs-main .docs-back { display: inline-block; font-size: 14px; margin-bottom: 28px; text-decoration: none; }
.docs-endpoint { display: flex; align-items: flex-start; gap: 12px; padding: 16px 0; }
.docs-main .docs-endpoint code { padding: 0; background: none; color: var(--ink-2); }
.docs-method { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; font-family: var(--mono); font-size: 11px; font-weight: 600; color: var(--seal-text); background: var(--seal-soft); padding: 3px 7px; border-radius: 4px; min-width: 56px; line-height: 1.7; }
.docs-status { font-family: var(--mono); font-size: 14px; color: var(--pass); margin-right: 8px; }
.docs-fields { margin: 20px 0; }
.docs-fields > div { padding: 18px 0; border-bottom: 1px solid var(--rule-soft); }
.docs-fields dt { display: flex; flex-wrap: wrap; gap: 8px 16px; align-items: baseline; font-size: 15px; }
.docs-fields dt > span { font-size: 12px; color: var(--muted); }
.docs-fields dd { margin: 0; }
.docs-fields dd > p { font-size: 15px; margin: 10px 0 0; }
.docs-fields details { margin-top: 14px; padding: 12px 16px; border: 1px solid var(--rule); border-radius: 6px; }
.docs-fields summary { font-size: 13px; color: var(--seal-text); cursor: pointer; }
.docs-fields details .docs-fields { margin: 8px 0; }
.docs-catalogue { margin-top: 28px; }
.docs-catalogue h3 { margin-top: 32px; }
.docs-catalogue li { border-bottom: 1px solid var(--rule-soft); }
.docs-catalogue a { display: flex; gap: 14px; align-items: flex-start; padding: 16px 0; text-decoration: none; }
.docs-catalogue a:hover strong { text-decoration: underline; }
.docs-catalogue a > span:nth-child(2) { min-width: 0; flex: 1; }
.docs-catalogue strong { display: block; color: var(--ink); font-size: 15px; font-weight: 500; }
.docs-catalogue code { display: block; color: var(--muted); font-size: 12px; margin-top: 5px; }
.docs-footer { border-top: 1px solid var(--rule); padding-top: 24px; margin-top: 16px; }
.docs-footer p, .docs-footer a { font-size: 13px; }
.docs-mobile-nav { display: none; }
.docs-main :focus-visible, .docs-sidebar :focus-visible { outline: 2px solid var(--focus); outline-offset: 4px; }
@media (max-width: 900px) {
  .docs-layout { display: block; }
  .docs-sidebar { display: none; }
  .docs-main { padding: 0 var(--gutter) 28px; }
  .docs-mobile-nav { display: block; padding: 18px 0; border-bottom: 1px solid var(--rule); margin-bottom: 32px; }
  .docs-mobile-nav summary { cursor: pointer; font-size: 14px; font-weight: 600; color: var(--seal-text); }
  .docs-mobile-nav nav { max-height: 60dvh; overflow-y: auto; padding: 16px 0; }
  .docs-heading h1 { font-size: 36px; }
  .docs-heading .docs-lede { font-size: 18px; }
  .docs-main pre { padding: 16px; font-size: 12px; }
  .docs-main h2 { font-size: 23px; }
  .docs-note { padding: 16px; }
  .docs-fields details { padding: 10px; }
  .api-docs .masthead-nav { display: flex; gap: 16px; flex-wrap: wrap; }
  .api-docs .masthead-inner { flex-wrap: wrap; padding-top: 18px; padding-bottom: 18px; gap: 16px; }
  .api-docs .masthead-nav { order: 3; width: 100%; margin: 0; }
  .api-docs .masthead-actions { margin-left: auto; }
}
.docs-guide h2 { border-top: 1px solid var(--rule); padding-top: 32px; margin-top: 32px; scroll-margin-top: 24px; }
.docs-guide li { color: var(--ink-2); line-height: 1.65; margin: 8px 0; }
.docs-cards { display: grid; gap: 20px; }
.docs-card { position: relative; display: block; padding: 24px; border: 1px solid var(--rule); border-radius: 8px; background: var(--ground); }
.docs-card h3 { margin: 0; }
.docs-main .docs-card h3 a { text-decoration: none; }
.docs-card h3 a::after { content: ""; position: absolute; inset: 0; }
.docs-card:hover h3 a { text-decoration: underline; }
.docs-card h3 a:focus-visible::after { outline: 2px solid var(--focus); outline-offset: 4px; }
.docs-card h3 a:focus-visible { outline: none; }
.docs-card span { color: var(--seal-text); font-size: 14px; }
