@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("fonts/inter-4.1/InterVariable.woff2") format("woff2");
}

@font-face {
  font-family: Inter;
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
  src: url("fonts/inter-4.1/InterVariable-Italic.woff2") format("woff2");
}

:root,
html[data-theme="light"] {
  --pst-color-primary: #111111;
  --pst-color-link: #111111;
  --pst-color-link-hover: #111111;
  --pst-color-border: #dedad2;
  --pst-color-background: #faf8f3;
  --pst-color-on-background: #faf8f3;
  --pst-color-surface: #f2efe8;
  --pst-color-text-base: #292824;
  --pst-color-text-muted: #68645d;
  --af-heading: #24231f;
  --af-focus-ring: rgb(41 40 36 / 42%);
  --af-header-surface: #faf8f3;
  --af-header-muted: #f2efe8;
  --af-search-field: #faf8f3;
  --af-search-key-surface: #f2efe8;
  --af-search-key-text: #292824;
  --af-scroll-thumb: rgb(17 17 17 / 30%);
  --af-menu-shadow: 0 18px 48px rgb(41 40 36 / 8%);
  --af-active-surface: rgb(17 17 17 / 7%);
  --af-code-surface: #f2efe8;
  --af-code-text: #24292f;
  --af-code-keyword: #8250df;
  --af-code-string: #116329;
  --af-code-comment: #57606a;
  --af-code-number: #953800;
  --af-code-name: #0550ae;
  --af-code-control: #68645d;
  --af-code-control-hover: #111111;
  --af-code-hover: rgb(17 17 17 / 7%);
  --af-success: #047857;
  --af-success-soft: rgb(4 120 87 / 11%);
  --af-important-bg: #fff7df;
  --af-important-text: #5f3b00;
  --af-warning-bg: #fff0f1;
  --af-warning-text: #8e2030;
  --af-note-bg: #f2efe8;
  --af-note-text: #292824;
  --af-sidebar-width: 15.5rem;
  --pst-font-family-base: Inter, "Pretendard Variable", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --pst-font-family-heading: var(--pst-font-family-base);
  --pst-font-family-monospace: "SFMono-Regular", "Roboto Mono", ui-monospace, Menlo, Consolas, monospace;
  --af-global-header-height: 56px;
  --af-context-header-height: 2.5rem;
  --pst-header-height: calc(var(--af-global-header-height) + var(--af-context-header-height));
  --pst-sidebar-secondary: 14rem;
}

html[data-theme="dark"] {
  --pst-color-primary: #ffffff;
  --pst-color-link: #f6f6f6;
  --pst-color-link-hover: #ffffff;
  --pst-color-border: #333333;
  --pst-color-background: #171717;
  --pst-color-on-background: #171717;
  --pst-color-surface: #202020;
  --pst-color-text-base: #e5e5e5;
  --pst-color-text-muted: #aaaaaa;
  --af-heading: #f6f6f6;
  --af-focus-ring: rgb(229 229 229 / 52%);
  --af-header-surface: #111111;
  --af-header-muted: #202020;
  --af-search-field: #202020;
  --af-search-key-surface: #202020;
  --af-search-key-text: #e5e5e5;
  --af-scroll-thumb: rgb(255 255 255 / 28%);
  --af-menu-shadow: 0 18px 48px rgb(0 0 0 / 24%);
  --af-active-surface: rgb(255 255 255 / 8%);
  --af-code-surface: #202020;
  --af-code-text: #f7f7f7;
  --af-code-keyword: #c792ea;
  --af-code-string: #c3e88d;
  --af-code-comment: #7f9aa6;
  --af-code-number: #f78c6c;
  --af-code-name: #82aaff;
  --af-code-control: #aaaaaa;
  --af-code-control-hover: #ffffff;
  --af-code-hover: rgb(255 255 255 / 8%);
  --af-success: #10b981;
  --af-success-soft: rgb(16 185 129 / 13%);
  --af-important-bg: #392500;
  --af-important-text: #ffd65c;
  --af-warning-bg: #461119;
  --af-warning-text: #ff7b88;
  --af-note-bg: #202020;
  --af-note-text: #e5e5e5;
}

/* Keep inherited Sphinx controls in the same palette as the docs shell. */
html[data-theme] {
  --pst-color-heading: var(--af-heading);
  --pst-color-on-surface: var(--pst-color-text-base);
  --pst-color-primary-text: var(--pst-color-background);
  --pst-color-primary-highlight: var(--af-heading);
  --pst-color-primary-highlight-text: var(--pst-color-background);
  --pst-color-secondary: var(--pst-color-text-base);
  --pst-color-secondary-text: var(--pst-color-background);
  --pst-color-secondary-highlight: var(--af-heading);
  --pst-color-secondary-highlight-text: var(--pst-color-background);
  --pst-color-link-higher-contrast: var(--pst-color-link);
  --pst-color-inline-code: var(--pst-color-text-base);
  --pst-color-border-muted: var(--pst-color-border);
  --pst-color-blockquote-notch: var(--pst-color-text-muted);
  --pst-color-table-inner-border: var(--pst-color-border);
  --pst-color-table-row-zebra-high-bg: var(--pst-color-background);
  --pst-color-table-row-zebra-low-bg: var(--pst-color-surface);
  --pst-color-table-row-hover-bg: var(--af-active-surface);
  --sd-color-primary-bg: var(--pst-color-surface);
  --sd-color-secondary-bg: var(--pst-color-surface);
  --sd-color-tabs-label-active: var(--af-heading);
  --sd-color-tabs-label-inactive: var(--pst-color-text-muted);
  --sd-color-tabs-label-hover: var(--af-heading);
  --sd-color-tabs-underline: var(--pst-color-border);
  --sd-color-tabs-underline-active: var(--af-heading);
  --sd-color-tabs-underline-hover: var(--pst-color-text-muted);
  --sd-color-card-border: var(--pst-color-border);
  --sd-color-card-border-hover: var(--pst-color-text-muted);
}

html {
  scrollbar-color: var(--af-scroll-thumb) transparent;
  scrollbar-width: thin;
}

body {
  background: var(--pst-color-background);
  color: var(--pst-color-text-base);
  font-size: 0.9375rem;
  letter-spacing: -0.006em;
}

.svg-inline--fa {
  box-sizing: content-box;
  display: inline-block;
  height: 1em;
  overflow: visible;
  vertical-align: -0.125em;
  width: auto;
}

.svg-inline--fa path {
  fill: currentColor;
}

.bd-breadcrumbs .breadcrumb-home .svg-inline--fa {
  height: 0.8rem;
  width: 0.8rem;
}

#pst-back-to-top {
  font-size: 0.75rem;
  line-height: 1.2;
  min-height: 2rem;
  padding: 0.38rem 0.7rem;
}

#pst-back-to-top .svg-inline--fa {
  height: 0.7rem;
  width: 0.7rem;
}

.af-docs-header {
  background: var(--af-header-surface) !important;
  border: 0;
  border-bottom: 0;
  box-shadow: none;
  color: var(--pst-color-text-base);
  display: block;
  height: var(--pst-header-height);
  padding: 0;
  z-index: 1050;
}

.af-global-header,
.af-context-header {
  align-items: center;
  display: flex;
  margin: 0 auto;
  max-width: 100%;
  padding-inline: 1.5rem;
}

.af-global-header {
  background: var(--af-header-surface);
  height: var(--af-global-header-height);
  max-width: none;
}

.af-context-header {
  background: var(--af-header-muted);
  border-bottom: 1px solid var(--pst-color-border);
  border-top: 1px solid var(--pst-color-border);
  height: var(--af-context-header-height);
}

.af-brand {
  align-items: center;
  color: var(--pst-color-text-base) !important;
  display: flex;
  flex: 0 0 auto;
  font-size: 1.25rem;
  font-weight: 720;
  gap: 0.55rem;
  letter-spacing: 0;
  margin-right: 1.4rem;
  min-width: 7.4rem;
  text-decoration: none;
  white-space: nowrap;
}

.af-global-nav {
  align-items: stretch;
  align-self: stretch;
  display: flex;
  min-width: 0;
}

.af-header-navigation {
  display: contents;
}

@media (min-width: 960px) {
  .af-global-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  }
  .af-global-header > .af-brand { grid-column: 1; grid-row: 1; justify-self: start; }
  .af-global-header .af-global-nav { grid-column: 2; grid-row: 1; justify-self: center; }
  .af-global-header .af-header-actions { grid-column: 3; grid-row: 1; justify-self: end; margin-right: 76px; }
  .af-global-header > .af-cloud-link { grid-column: 3; grid-row: 1; justify-self: end; }
  .af-context-header { position: relative; justify-content: center; }
  .af-context-links { margin-inline: auto; justify-content: center; }
}

.af-mobile-menu-toggle,
.af-mobile-menu-close,
.af-mobile-toc-close {
  align-items: center;
  background: transparent;
  border: 0;
  color: var(--pst-color-text-base);
  cursor: pointer;
  display: inline-flex;
  font-size: 1.1rem;
  height: 2.75rem;
  justify-content: center;
  width: 2.75rem;
}

.af-mobile-menu-toggle {
  display: none;
}

.af-mobile-toc-heading {
  display: none;
}

.af-mobile-menu {
  background: var(--pst-color-background);
  border: 0;
  color: var(--pst-color-text-base);
  height: 100dvh;
  margin: 0;
  max-height: none;
  max-width: none;
  padding: 0 1.25rem 1.5rem;
  width: 100%;
}

.af-mobile-menu-heading {
  align-items: center;
  border-bottom: 1px solid var(--pst-color-border);
  display: flex;
  font-size: 1.125rem;
  justify-content: space-between;
  min-height: 3.5rem;
}

body.af-mobile-menu-open {
  overflow: hidden;
}

.af-nav-menu,
.af-language-menu,
.af-theme-menu,
.af-context-menu,
.af-version-menu {
  position: relative;
}

.af-nav-menu > summary,
.af-language-menu > summary,
.af-theme-menu > summary {
  align-items: center;
  color: var(--pst-color-text-muted);
  cursor: pointer;
  display: flex;
  font-size: 0.8125rem;
  gap: 0.38rem;
  height: 100%;
  list-style: none;
  padding-inline: 0.72rem;
  user-select: none;
}

.af-nav-menu > summary::-webkit-details-marker,
.af-language-menu > summary::-webkit-details-marker,
.af-theme-menu > summary::-webkit-details-marker {
  display: none;
}

.af-nav-menu > summary {
  font-size: 1rem;
  font-weight: 520;
  padding-inline: 1rem;
}

.af-nav-menu > summary i,
.af-nav-menu > summary svg,
.af-language-chevron,
.af-theme-chevron {
  flex: 0 0 0.56rem;
  font-size: 0.56rem;
  height: 0.56rem;
  transition: transform 120ms ease;
  width: 0.56rem;
}

.af-nav-menu[open] > summary,
.af-nav-menu[data-current="true"] > summary,
.af-nav-menu > summary:hover,
.af-language-menu > summary:hover,
.af-theme-menu > summary:hover {
  color: var(--pst-color-text-base);
}

.af-nav-menu[open] > summary i,
.af-nav-menu[open] > summary svg,
.af-language-menu[open] .af-language-chevron,
.af-theme-menu[open] .af-theme-chevron {
  transform: rotate(180deg);
}

.af-nav-menu > summary:focus-visible,
.af-language-menu > summary:focus-visible,
.af-theme-menu > summary:focus-visible,
.af-context-menu > summary:focus-visible,
.af-version-menu > summary:focus-visible {
  border-radius: 0.25rem;
  outline: 2px solid var(--pst-color-text-muted);
  outline-offset: -2px;
}

.af-nav-panel,
.af-language-panel,
.af-theme-panel,
.af-context-panel,
.af-version-panel {
  background: var(--af-header-surface);
  border: 1px solid var(--pst-color-border);
  border-radius: 0.38rem;
  box-shadow: var(--af-menu-shadow);
  color: var(--pst-color-text-base);
  position: absolute;
  top: 100%;
  z-index: 1100;
}

.af-nav-panel {
  left: 0;
  max-width: calc(100vw - 2rem);
  overflow-x: auto;
  padding: 0.5rem;
  width: max-content;
}

.af-language-panel,
.af-theme-panel {
  top: 100%;
}

.af-nav-panel-links {
  display: grid;
  gap: 0;
}

.af-nav-columns-1 { grid-template-columns: repeat(1, max-content); }
.af-nav-columns-2 { grid-template-columns: repeat(2, max-content); }
.af-nav-columns-3 { grid-template-columns: repeat(3, max-content); }
.af-nav-columns-4 { grid-template-columns: repeat(4, max-content); }
.af-nav-columns-5 { grid-template-columns: repeat(5, max-content); }

.af-nav-column {
  min-width: 0;
}

.af-nav-column h6 {
  color: var(--pst-color-text-base);
  font-size: 0.75rem;
  font-weight: 680;
  line-height: 0.75rem;
  margin: 0;
  padding: 0.5rem;
}

.af-nav-column a {
  align-items: center;
  border-radius: 0.25rem;
  color: var(--pst-color-text-base) !important;
  display: flex;
  font-size: 0.813rem;
  line-height: 1.25rem;
  overflow: hidden;
  padding: 0.375rem 0.5rem;
  text-overflow: ellipsis;
  text-decoration: none;
  white-space: nowrap;
}

.af-nav-column a:hover {
  background: var(--pst-color-surface);
}

.af-header-actions {
  align-items: center;
  display: flex;
  gap: 0.25rem;
  margin-left: auto;
}

.af-search .search-button-field {
  align-items: center;
  background: var(--pst-color-surface);
  border: 1px solid var(--pst-color-border);
  border-radius: 0.55rem;
  box-shadow: none;
  color: var(--pst-color-text-muted);
  display: flex;
  font-size: 0.75rem;
  height: 2.125rem;
  min-width: 10rem;
}

.af-search .search-button-field:hover {
  border-color: var(--pst-color-text-muted);
  color: var(--pst-color-text-base);
}

.af-search .search-button__kbd-shortcut,
#pst-search-dialog .search-button__kbd-shortcut {
  align-items: center;
  color: var(--pst-color-text-muted);
  display: inline-flex;
  flex: 0 0 auto;
  margin-inline-end: 0.5rem;
  margin-inline-start: auto;
}

.af-search .search-button__kbd-shortcut kbd,
#pst-search-dialog .search-button__kbd-shortcut kbd {
  background: var(--af-search-key-surface);
  border: 1px solid var(--pst-color-border);
  box-shadow: none;
  color: var(--af-search-key-text);
}

.bd-search:focus-within {
  box-shadow: 0 0 0 0.125rem var(--af-focus-ring);
}

#pst-search-dialog[open] form.bd-search,
#pst-search-dialog[open] form.bd-search input.form-control {
  background: var(--af-search-field);
  color: var(--pst-color-text-base);
}

#pst-search-dialog[open] form.bd-search {
  border-color: var(--pst-color-border);
}

#pst-search-dialog[open] form.bd-search input.form-control {
  min-width: 0;
}

#pst-search-dialog[open] form.bd-search input.form-control::placeholder {
  color: var(--pst-color-text-muted);
}

.af-language-menu,
.af-theme-menu {
  height: 2.625rem;
}

.af-language-menu > summary,
.af-theme-menu > summary {
  color: var(--pst-color-text-base);
  font-weight: 650;
  padding-inline: 0.55rem;
}

.af-language-label,
.af-theme-label {
  font-size: 0.8125rem;
}

.af-language-panel,
.af-theme-panel {
  padding: 0.35rem;
  right: 0;
  width: 9rem;
}

.af-language-panel {
  width: min(18rem, calc(100vw - 2rem));
  max-height: min(32rem, 75dvh);
  overflow-y: auto;
  overscroll-behavior: contain;
}

.af-language-search {
  display: block;
  padding: 0.25rem;
  position: sticky;
  top: -0.35rem;
  background: var(--af-header-surface);
}

.af-language-search input {
  background: var(--pst-color-background);
  border: 1px solid var(--pst-color-border);
  border-radius: 0.25rem;
  color: var(--pst-color-text-base);
  font: inherit;
  font-size: 0.875rem;
  padding: 0.45rem 0.55rem;
  width: 100%;
}

.af-language-panel a[hidden], .af-language-empty[hidden] { display: none; }
.af-language-empty { padding: 0.5rem; font-size: 0.875rem; }
.af-translation-notice {
  background: var(--pst-color-surface);
  border-inline-start: 3px solid var(--pst-color-primary);
  border-radius: 0.25rem;
  font-size: 0.9rem;
  line-height: 1.6;
  margin-block: 1rem 1.5rem;
  padding: 0.85rem 1rem;
}

.af-language-panel a,
.af-theme-panel button {
  align-items: center;
  background: transparent;
  border: 0;
  color: var(--pst-color-text-base);
  cursor: pointer;
  display: flex;
  font: inherit;
  font-size: 0.78rem;
  gap: 0.65rem;
  padding: 0.55rem 0.65rem;
  text-align: left;
  text-decoration: none;
  width: 100%;
}

.af-language-panel a,
.af-theme-panel button,
.af-context-panel > a,
.af-version-panel > a {
  border-radius: 0.25rem;
}

.af-language-panel a:hover,
.af-language-panel a[aria-checked="true"],
.af-theme-panel button:hover,
.af-theme-panel button.is-active {
  background: var(--pst-color-surface);
}

.af-language-panel a[aria-checked="true"]::after,
.af-theme-panel button.is-active::after {
  color: var(--af-success);
  content: "\2713";
  margin-left: auto;
}

.af-cloud-link {
  align-items: center;
  border: 1px solid var(--pst-color-border);
  border-radius: 0.375rem;
  color: var(--pst-color-text-base) !important;
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 0.875rem;
  font-weight: 650;
  height: 2.125rem;
  justify-content: center;
  margin-left: 0.25rem;
  padding-inline: 0.75rem;
  text-decoration: none;
}

.af-cloud-link:hover {
  background: var(--pst-color-surface);
  border-color: var(--pst-color-text-muted);
}

.af-context-menu,
.af-version-menu {
  align-self: stretch;
  flex: 0 0 auto;
}

.af-context-menu {
  min-width: 8rem;
}

.af-context-menu > summary,
.af-version-menu > summary {
  align-items: center;
  color: var(--af-heading);
  cursor: pointer;
  display: flex;
  font-size: 0.78rem;
  gap: 0.45rem;
  height: 100%;
  list-style: none;
  padding-inline: 0.65rem;
  user-select: none;
}

.af-context-menu > summary::-webkit-details-marker,
.af-version-menu > summary::-webkit-details-marker {
  display: none;
}

.af-context-menu > summary {
  font-size: 0.9375rem;
  font-weight: 670;
  padding-left: 0;
}

.af-context-menu > summary i,
.af-context-menu > summary svg,
.af-version-menu > summary i,
.af-version-menu > summary svg {
  color: var(--pst-color-text-muted);
  flex: 0 0 0.55rem;
  font-size: 0.55rem;
  height: 0.55rem;
  transition: transform 120ms ease;
  width: 0.55rem;
}

.af-context-menu[open] > summary i,
.af-context-menu[open] > summary svg,
.af-version-menu[open] > summary i,
.af-version-menu[open] > summary svg {
  transform: rotate(180deg);
}

.af-version-menu {
  border-left: 1px solid var(--pst-color-border);
  margin-left: 0.25rem;
}

.af-version-prefix {
  color: var(--pst-color-text-muted);
  font-size: 0.7rem;
  font-weight: 500;
}

.af-support-badge {
  background: var(--af-success-soft);
  border: 1px solid color-mix(in srgb, var(--af-success) 28%, transparent);
  border-radius: 999px;
  color: var(--af-success);
  font-size: 0.64rem;
  font-weight: 700;
  line-height: 1.3;
  padding: 0.14rem 0.42rem;
}

.af-support-badge.is-archived {
  background: var(--pst-color-surface);
  border-color: var(--pst-color-border);
  color: var(--pst-color-text-muted);
}

.af-context-panel,
.af-version-panel {
  left: 0;
  max-height: calc(100vh - 6rem);
  overflow: auto;
  padding: 0.5rem;
  top: calc(100% + 1px);
}

.af-context-panel {
  width: min(20rem, calc(100vw - 2rem));
}

.af-context-panel > p {
  color: var(--pst-color-text-muted);
  font-size: 0.67rem;
  font-weight: 680;
  letter-spacing: 0.05em;
  margin: 0;
  padding: 0.55rem 0.65rem 0.25rem;
  text-transform: uppercase;
}

.af-context-panel > a {
  color: var(--af-heading) !important;
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  padding: 0.5rem 0.6rem;
  text-decoration: none;
}

.af-context-panel > a:hover,
.af-context-panel > a[aria-current="page"] {
  background: var(--pst-color-surface);
}

.af-context-panel strong {
  font-size: 0.78rem;
  font-weight: 640;
}

.af-context-panel span {
  color: var(--pst-color-text-muted);
  font-size: 0.69rem;
  line-height: 1.35;
}

.af-version-panel {
  width: 14rem;
  overflow: hidden;
}

.af-version-search {
  align-items: center;
  border: 1px solid var(--pst-color-border);
  border-radius: 0.3rem;
  color: var(--pst-color-text-muted);
  display: flex;
  gap: 0.45rem;
  margin-bottom: 0.35rem;
  padding: 0.35rem 0.5rem;
}

.af-version-search input {
  background: transparent;
  border: 0;
  color: var(--pst-color-text-base);
  font: inherit;
  font-size: 0.8rem;
  min-width: 0;
  width: 100%;
}

.af-version-search:focus-within {
  outline: 2px solid var(--af-focus-ring);
  outline-offset: 2px;
}

.af-version-search input:focus {
  outline: none;
}

.af-version-results {
  max-height: min(18rem, 50vh);
  overflow-y: auto;
}

.af-version-results > a {
  align-items: center;
  color: var(--af-heading) !important;
  display: flex;
  gap: 0.75rem;
  justify-content: space-between;
  min-height: 2rem;
  padding: 0.3rem 0.5rem;
  text-decoration: none;
}

.af-version-results > a:hover,
.af-version-results > a[aria-current="page"] {
  background: var(--pst-color-surface);
}

.af-version-results > a[hidden],
.af-version-empty[hidden] {
  display: none;
}

.af-version-panel strong {
  font-size: 0.8rem;
}

.af-version-panel small {
  color: var(--pst-color-text-muted);
  font-size: 0.68rem;
}

.af-version-empty {
  color: var(--pst-color-text-muted);
  font-size: 0.8rem;
  margin: 0;
  padding: 0.5rem;
}

.af-context-links {
  align-items: stretch;
  align-self: stretch;
  display: flex;
  gap: 0.1rem;
  margin-left: 0.5rem;
  min-width: 0;
  overflow: hidden;
}

.af-context-links a {
  align-items: center;
  border-bottom: 2px solid transparent;
  color: var(--pst-color-text-muted) !important;
  display: inline-flex;
  font-size: 0.9375rem;
  padding: 0.4rem 1rem;
  text-decoration: none;
  white-space: nowrap;
}

.af-context-links a:hover,
.af-context-links a[aria-current="page"] {
  color: var(--pst-color-text-base) !important;
}

.af-context-links a[aria-current="page"] {
  border-bottom-color: var(--af-heading);
  font-weight: 620;
}

.af-context-cta {
  align-items: center;
  background: var(--pst-color-text-base);
  border-radius: 0.55rem;
  color: var(--pst-color-background) !important;
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 0.72rem;
  font-weight: 640;
  gap: 0.45rem;
  margin-left: auto;
  padding: 0.42rem 0.68rem;
  text-decoration: none;
}

.af-context-cta .svg-inline--fa {
  flex: 0 0 0.7rem;
  height: 0.7rem;
  width: 0.7rem;
}

.af-breadcrumb-stack {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  min-width: 0;
}

/* The theme sizes article controls from the full, two-row site header. */
.bd-header-article .header-article-item {
  min-height: 0;
}

.af-breadcrumb-stack .bd-breadcrumbs {
  margin-bottom: 0;
}

.af-docs-updated {
  color: var(--pst-color-text-muted);
  font-size: 0.68rem;
  line-height: 1.4;
  margin: 0.2rem 0 0;
}

.af-docs-updated strong {
  color: inherit;
  font-weight: 560;
}

.bd-container__inner.bd-page-width {
  max-width: 100%;
}

.bd-sidebar-primary,
.bd-sidebar-secondary {
  border-color: var(--pst-color-border);
}

.bd-sidebar-primary {
  background: var(--pst-color-background);
  overscroll-behavior: contain;
  padding: 0.75rem 1rem 1rem;
  scrollbar-width: none;
}

.bd-sidebar-primary::-webkit-scrollbar {
  display: none;
}

@media (min-width: 960px) {
  .bd-sidebar-primary {
    height: calc(100vh - var(--pst-header-height));
    overflow-y: auto;
    top: var(--pst-header-height);
    width: var(--af-sidebar-width);
  }
}

.bd-sidebar-primary .sidebar-primary-items__start {
  padding-top: 0;
  position: relative;
}

.af-sidebar-filter {
  margin: 0 0.2rem 0.2rem;
}

.af-sidebar-filter label {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.af-sidebar-filter-control {
  position: relative;
}

.af-sidebar-filter input {
  background: var(--pst-color-surface);
  border: 1px solid var(--pst-color-border);
  border-radius: 0.42rem;
  color: var(--pst-color-text-base);
  display: block;
  font: inherit;
  font-size: 0.875rem;
  height: 2.25rem;
  outline: none;
  padding: 0 1.8rem 0 0.65rem;
  width: 100%;
}

.af-sidebar-filter input:focus {
  border-color: var(--pst-color-text-muted);
  box-shadow: 0 0 0 2px var(--af-active-surface);
}

.af-sidebar-filter input::placeholder {
  color: var(--pst-color-text-muted);
}

.af-sidebar-filter input::-webkit-search-cancel-button {
  display: none;
}

.af-sidebar-filter button {
  align-items: center;
  background: transparent;
  border: 0;
  color: var(--pst-color-text-muted);
  cursor: pointer;
  display: flex;
  font-size: 1rem;
  height: 1.65rem;
  justify-content: center;
  position: absolute;
  right: 0.2rem;
  top: 50%;
  transform: translateY(-50%);
  width: 1.65rem;
}

.af-sidebar-filter-empty {
  color: var(--pst-color-text-muted);
  font-size: 0.73rem;
  margin: -0.2rem 0 0.8rem;
}

.bd-sidebar-primary.pst-squeeze .af-sidebar-filter,
.bd-sidebar-primary.pst-squeeze .af-sidebar-filter-empty {
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
}

.af-rail-sidebar-toggle {
  align-items: stretch;
  align-self: stretch;
  border-right: 1px solid var(--pst-color-border);
  display: flex;
  flex: 0 0 2.625rem;
  margin-left: -1.25rem;
  margin-right: 0.65rem;
  min-width: 0;
}

.af-rail-sidebar-toggle #pst-collapse-sidebar-button,
.af-mobile-sidebar-toggle {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 0;
  bottom: auto;
  color: var(--pst-color-text-muted);
  cursor: pointer;
  display: flex;
  height: 100%;
  justify-content: center;
  position: static;
  top: auto;
  width: 100%;
}

.af-rail-sidebar-toggle #pst-collapse-sidebar-button:hover,
.af-rail-sidebar-toggle #pst-collapse-sidebar-button:focus-visible,
.af-mobile-sidebar-toggle:hover,
.af-mobile-sidebar-toggle:focus-visible {
  background: var(--af-active-surface);
  color: var(--pst-color-text-base);
}

.af-desktop-sidebar-toggle {
  display: flex;
  width: 100%;
}

.af-mobile-sidebar-toggle {
  display: none;
  flex: 1 1 auto;
  margin: 0 !important;
  min-width: 100%;
  padding: 0 !important;
  width: 100% !important;
}

.af-mobile-sidebar-toggle i {
  font-size: 0.8rem;
}

.af-rail-sidebar-toggle #pst-collapse-sidebar-button .pst-icon {
  color: var(--pst-color-text-muted) !important;
  height: 0.85rem;
  padding: 0;
  transition: transform 160ms ease;
  width: 0.85rem;
}

.af-rail-sidebar-toggle #pst-collapse-sidebar-button[aria-expanded="false"] .pst-icon {
  transform: rotate(180deg);
}

.af-rail-sidebar-toggle #pst-collapse-sidebar-button span {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.af-rail-sidebar-toggle #pst-collapse-sidebar-button[aria-expanded="true"] .pst-expand-sidebar-label,
.af-rail-sidebar-toggle #pst-collapse-sidebar-button[aria-expanded="false"] .pst-collapse-sidebar-label {
  display: none;
}

.bd-sidebar-primary nav.bd-links p.bd-links__title {
  color: var(--pst-color-text-muted);
  font-size: 0.67rem;
  font-weight: 680;
  letter-spacing: 0.05em;
  margin-bottom: 0.55rem;
  margin-top: 0.1rem;
  text-transform: uppercase;
}

.af-sidebar-groups {
  display: flex;
  flex-direction: column;
  gap: 0.18rem;
}

.af-sidebar-group {
  margin: 0;
}

.af-sidebar-group > summary {
  align-items: center;
  border-radius: 0.24rem;
  color: var(--pst-color-text-base);
  cursor: pointer;
  display: flex;
  font-size: 0.875rem;
  font-weight: 650;
  gap: 0.42rem;
  line-height: 1.35;
  list-style: none;
  min-height: 2.25rem;
  padding: 0.36rem 0.5rem;
  user-select: none;
}

.af-sidebar-group > summary::-webkit-details-marker {
  display: none;
}

.af-sidebar-group > summary:hover,
.af-sidebar-group > summary:focus-visible {
  background: var(--pst-color-surface);
}

.af-sidebar-group-chevron {
  color: var(--pst-color-text-muted);
  flex: 0 0 0.55rem;
  font-size: 0.55rem;
  height: 0.55rem;
  transition: transform 120ms ease;
  width: 0.55rem;
}

.af-sidebar-group[open] .af-sidebar-group-chevron {
  transform: rotate(90deg);
}

.bd-sidebar-primary nav.bd-links .af-sidebar-group-pages {
  gap: 0.08rem;
  margin: 0.08rem 0 0.28rem;
}

.bd-sidebar-primary nav.bd-links .af-sidebar-group-pages a {
  padding-left: 1.47rem;
}

.bd-sidebar-primary nav.bd-links .bd-sidenav a {
  align-items: center;
  border-radius: 0.24rem;
  color: var(--pst-color-text-muted);
  display: flex;
  font-size: 0.875rem;
  line-height: 1.35;
  margin: 0;
  margin-right: 0.35rem;
  min-height: 2.25rem;
  padding: 0.36rem 0.5rem;
  text-decoration: none;
}

.bd-sidebar-primary nav.bd-links .bd-sidenav {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.bd-sidebar-primary nav.bd-links .bd-sidenav > li {
  margin: 0;
}

.bd-sidebar-primary nav.bd-links .bd-sidenav a:hover {
  background: var(--pst-color-surface);
  color: var(--pst-color-text-base);
}

.bd-sidebar-primary nav.bd-links .bd-sidenav a.active,
.bd-sidebar-primary nav.bd-links .bd-sidenav li.current > a {
  background: var(--af-active-surface);
  box-shadow: none !important;
  color: var(--pst-color-text-base);
  font-weight: 640;
}

.bd-main .bd-content .bd-article-container {
  max-width: 58.5rem;
}

.bd-article {
  --af-web-canvas: var(--pst-color-background);
  --af-web-ink: var(--pst-color-text-base);
  --af-web-muted: var(--pst-color-text-muted);
  --af-web-line: var(--pst-color-border);
  --af-web-font: var(--pst-font-family-base);
  --af-web-focus: var(--af-focus-ring);
}

.bd-main .bd-content .bd-article-container .bd-article {
  padding-top: 2.25rem;
}

.bd-article h1 {
  color: var(--af-heading);
  font-size: 2rem;
  font-weight: 660;
  letter-spacing: -0.038em;
  line-height: 1.1;
  margin-bottom: 0.85rem;
}

.bd-article h2 {
  border-top: 1px solid var(--pst-color-border);
  font-size: 1.35rem;
  color: var(--af-heading);
  font-weight: 640;
  letter-spacing: -0.022em;
  margin-top: 2.2rem;
  padding-top: 1.35rem;
}

.bd-article h3 {
  color: var(--af-heading);
  font-size: 1.03rem;
  font-weight: 640;
  margin-top: 1.5rem;
}

.bd-article p,
.bd-article li {
  font-size: 1rem;
  line-height: 1.68;
}

/* Neutralize the theme's stronger table grid and zebra selectors. */
.bd-article .af-web-table > thead > tr,
.bd-article .af-web-table > tbody > tr {
  background: var(--af-web-canvas);
  border: 0;
}

.bd-article .af-web-table :is(th, td) {
  border: 0;
}

.bd-article .af-web-table p {
  font-size: inherit;
  line-height: inherit;
}

.bd-article .pst-scrollable-table-container {
  border: 0;
}

.prev-next-footer {
  margin-block: 3.25rem 2.25rem;
}

.bd-article pre,
.highlight {
  background: var(--af-code-surface);
  border: 1px solid var(--pst-color-border);
  border-radius: 0.25rem;
  box-shadow: none;
}

.bd-article .highlight,
.bd-article .highlight pre,
.bd-article .highlight code {
  color: var(--af-code-text) !important;
}

.af-code-view .highlight span {
  color: var(--af-code-text) !important;
}

.af-code-view .highlight :is(.k, .kc, .kd, .kn, .kp, .kr, .kt) {
  color: var(--af-code-keyword) !important;
}

.af-code-view .highlight :is(.s, .s1, .s2, .sa, .sb, .sc, .sd, .se, .sh, .si, .sr, .ss, .sx) {
  color: var(--af-code-string) !important;
}

.af-code-view .highlight :is(.c, .c1, .cm, .cp, .cs) {
  color: var(--af-code-comment) !important;
}

.af-code-view .highlight :is(.m, .mb, .mf, .mh, .mi, .mo, .il) {
  color: var(--af-code-number) !important;
}

.af-code-view .highlight :is(.na, .nb, .nc, .nd, .ne, .nf, .nl, .nn, .nt) {
  color: var(--af-code-name) !important;
}

.af-code-view.container {
  margin: 1.6rem 0 2rem;
  max-width: none;
  padding: 0;
  width: 100%;
}

.af-code-view__header {
  align-items: stretch;
  border-bottom: 1px solid var(--pst-color-border);
  display: flex;
  height: 3rem;
  margin-bottom: 1.25rem;
}

.af-code-view__header span {
  align-items: center;
  color: var(--af-heading);
  display: inline-flex;
  font-size: 0.9375rem;
  font-weight: 680;
  padding: 0 1rem;
  position: relative;
}

.af-code-view__header span::after {
  background: var(--af-heading);
  bottom: -1px;
  content: "";
  height: 2px;
  left: 0;
  position: absolute;
  right: 0;
}

.af-code-view .highlight {
  background: var(--af-code-surface) !important;
  border: 1px solid var(--pst-color-border);
  border-radius: 0.42rem;
  margin: 0;
  overflow: auto;
  position: relative;
}

.af-code-view .highlight pre {
  background: var(--af-code-surface) !important;
  border: 0;
  color: var(--af-code-text);
  margin: 0;
  min-height: 3.15rem;
  padding: 1rem 5.2rem 1rem 1rem;
}

.af-code-view > [class*="highlight-"] {
  background: var(--af-code-surface) !important;
  border-radius: 0.42rem;
}

.af-code-view .copybtn {
  align-items: center;
  background: transparent !important;
  color: var(--af-code-control) !important;
  display: flex !important;
  height: 1.8rem;
  justify-content: center;
  opacity: 1 !important;
  right: 2.85rem !important;
  top: 0.55rem !important;
  visibility: visible !important;
  width: 1.8rem;
}

.af-code-view .copybtn:hover,
.af-code-view .copybtn:focus-visible {
  background: var(--af-code-hover) !important;
  color: var(--af-code-control-hover) !important;
}

.af-code-expand {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 0.25rem;
  color: var(--af-code-control);
  cursor: pointer;
  display: flex;
  height: 1.8rem;
  justify-content: center;
  position: absolute;
  right: 0.55rem;
  top: 0.55rem;
  width: 1.8rem;
  z-index: 2;
}

.af-code-expand:hover,
.af-code-expand:focus-visible {
  background: var(--af-code-hover);
  color: var(--af-code-control-hover);
}

.af-code-view.is-expanded {
  background: var(--pst-color-background);
  bottom: 1rem;
  box-shadow: 0 0 0 100vmax rgb(0 0 0 / 72%);
  display: flex;
  flex-direction: column;
  left: 1rem;
  margin: 0;
  padding: 1rem;
  position: fixed;
  right: 1rem;
  top: 1rem;
  z-index: 1200;
}

.af-code-view.is-expanded .af-code-view__header {
  flex: 0 0 auto;
}

.af-code-view.is-expanded .highlight {
  flex: 1 1 auto;
}

body.af-code-overlay-open {
  overflow: hidden;
}

.bd-article .admonition.af-callout {
  border: 0;
  border-radius: 0.5rem;
  box-shadow: none;
  color: var(--pst-color-text-base);
  margin: 1.5rem 0;
  padding: 1rem 1.2rem;
}

.bd-article .admonition.af-callout > .admonition-title {
  background: transparent;
  border: 0;
  color: inherit;
  font-size: 0.82rem;
  font-weight: 700;
  margin: 0 0 0.45rem;
  padding: 0 0 0 1.9rem;
}

.bd-article .admonition.af-callout > .admonition-title::before {
  left: 0;
}

.bd-article .admonition.af-callout > :last-child {
  margin-bottom: 0;
}

.bd-article .admonition.af-callout > p:not(.admonition-title) {
  padding-left: 1.9rem;
}

.bd-article .admonition.af-callout.important {
  background: var(--af-important-bg);
  color: var(--pst-color-text-base);
}

.bd-article .admonition.af-callout.warning,
.bd-article .admonition.af-callout.caution,
.bd-article .admonition.af-callout.danger {
  background: var(--af-warning-bg);
  color: var(--pst-color-text-base);
}

.bd-article .admonition.af-callout.note,
.bd-article .admonition.af-callout.tip {
  background: var(--af-note-bg);
  color: var(--pst-color-text-base);
}

.bd-article .admonition.af-callout > .admonition-title {
  color: var(--af-heading);
}

.bd-article .admonition.af-callout.important > .admonition-title::before {
  color: var(--af-important-text);
}

.bd-article .admonition.af-callout:is(.warning, .caution, .danger) > .admonition-title::before {
  color: var(--af-warning-text);
}

.bd-article .admonition.af-callout:is(.note, .tip) > .admonition-title::before {
  color: var(--af-note-text);
}

.bd-article .admonition.af-callout code.literal {
  background: rgb(255 255 255 / 8%);
  border-color: currentColor;
  color: inherit;
}

.bd-main .bd-content .bd-article-container .bd-article :target > :is(h1, h2, h3, h4, h5, h6) {
  background: transparent !important;
  background-color: transparent !important;
}

.bd-article code.literal {
  background: var(--pst-color-surface);
  border: 1px solid var(--pst-color-border);
  border-radius: 0.22rem;
  color: var(--pst-color-text-base);
  padding: 0.08rem 0.28rem;
}

.bd-article a.reference:not(.af-catalog-card) {
  color: var(--pst-color-text-base);
  text-decoration: underline;
  text-decoration-color: var(--pst-color-text-muted);
  text-underline-offset: 0.18em;
}

.bd-article a.reference:not(.af-catalog-card):hover {
  color: var(--af-heading);
  text-decoration-color: var(--af-heading);
}

.bd-sidebar-secondary .onthispage {
  font-size: 0.7rem;
  font-weight: 670;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

.bd-sidebar-secondary .toc-entry a {
  color: var(--pst-color-text-muted);
  font-size: 0.76rem;
}

.bd-sidebar-secondary .toc-h3,
.bd-sidebar-secondary .toc-h4,
.bd-sidebar-secondary .toc-h5,
.bd-sidebar-secondary .toc-h6 {
  display: none;
}

body:has(.af-reference-page) .bd-sidebar-secondary,
body.af-reference-route .bd-sidebar-secondary {
  display: none;
}

body:has(.af-reference-page) .bd-main .bd-content .bd-article-container,
body.af-reference-route .bd-main .bd-content .bd-article-container {
  max-width: 83rem;
  overflow: visible;
  width: 100%;
}

.af-reference-page {
  display: none;
}

.af-reference-copy.container,
.af-reference-examples.container {
  margin-inline: 0;
  max-width: none;
  min-width: 0;
  padding: 0;
  width: 100%;
}

.af-reference-section {
  align-items: stretch;
  display: grid;
  gap: 2rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 1rem;
  max-width: none;
  padding: 0;
  width: 100%;
}

.af-reference-section-copy-only {
  grid-template-columns: 1fr;
}

.af-reference-section-copy-only .af-reference-copy {
  max-width: 50rem;
}

.af-reference-examples {
  align-self: stretch;
  position: relative;
}

.af-reference-examples .af-code-view.container {
  background: var(--af-code-surface);
  border: 1px solid var(--pst-color-border);
  border-radius: 0.42rem;
  margin: 0 0 2rem;
  overflow: hidden;
  position: sticky;
  top: calc(var(--pst-header-height) + 1.25rem);
}

.af-reference-examples .af-code-view__header {
  background: color-mix(in srgb, var(--pst-color-surface) 52%, var(--af-code-surface));
  height: 3rem;
  margin: 0;
}

.af-reference-examples .af-code-view__header span {
  font-family: var(--pst-font-family-monospace);
  font-size: 0.8rem;
  font-weight: 540;
}

.af-reference-examples .af-code-view__header span::after {
  display: none;
}

.af-reference-examples .af-code-view__header .copybtn {
  margin: auto 0.65rem auto auto;
  position: static;
}

.af-reference-examples .af-code-view .highlight,
.af-reference-examples .af-code-view > [class*="highlight-"] {
  border: 0;
  border-radius: 0;
}

.af-reference-examples .af-code-view .highlight {
  scrollbar-width: none;
}

.af-reference-examples .af-code-view .highlight::-webkit-scrollbar {
  display: none;
}

.af-reference-examples .af-code-view .highlight pre {
  padding-right: 1rem;
}

.af-reference-examples .af-code-expand {
  display: none;
}

.af-docs-intro {
  color: var(--pst-color-text-muted);
  font-size: 1rem;
  line-height: 1.58;
  max-width: 43rem;
}

.af-section-anchor {
  display: block;
  height: 0;
  scroll-margin-top: calc(var(--pst-header-height) + 1rem);
}

.af-catalog-grid {
  display: grid;
  gap: 0.55rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 1.1rem 0 1.5rem;
}

.af-catalog-card {
  display: flex;
  flex-direction: column;
  min-height: 8rem;
  text-decoration: none;
  transition: border-color 120ms ease;
}

.af-catalog-card:hover {
  border-color: var(--pst-color-text-muted);
}

.af-catalog-card strong {
  color: var(--af-heading);
  font-size: 0.9rem;
  font-weight: 650;
}

.af-catalog-card span {
  color: var(--pst-color-text-muted);
  font-size: 0.81rem;
  line-height: 1.5;
  margin-top: 0.55rem;
}

.af-catalog-card small {
  color: var(--pst-color-text-base);
  font-size: 0.75rem;
  font-weight: 640;
  margin-top: auto;
  padding-top: 0.9rem;
}

@media (max-width: 1099px) {
  .af-theme-label,
  .af-search .search-button__kbd-shortcut {
    display: none;
  }

  .af-search .search-button-field {
    min-width: 2rem;
  }
}

@media (max-width: 959px) {
  html[data-theme] {
    --af-context-header-height: 2.5rem;
  }

  html[data-theme]:has(.af-docs-home) {
    --pst-header-height: var(--af-global-header-height);
  }

  .af-global-header,
  .af-context-header {
    padding-inline: 1rem;
  }

  .af-brand {
    margin-right: auto;
  }

  .af-global-header {
    border-bottom: 1px solid var(--pst-color-border);
    gap: 0.5rem;
  }

  .af-header-navigation,
  .af-docs-home .af-context-header,
  .af-context-controls > .af-version-menu,
  .af-context-links,
  .af-context-cta,
  .af-desktop-sidebar-toggle {
    display: none;
  }

  .af-cloud-link {
    height: 2.75rem;
    margin-left: 0;
  }

  .af-mobile-menu-toggle,
  .af-mobile-sidebar-toggle {
    display: flex;
  }

  .af-mobile-menu .af-header-navigation {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding-top: 1rem;
  }

  .af-mobile-menu .af-global-nav {
    flex-direction: column;
  }

  .af-mobile-menu .af-nav-menu {
    border-bottom: 1px solid var(--pst-color-border);
  }

  .af-mobile-menu .af-nav-menu > summary {
    font-size: 1rem;
    justify-content: space-between;
    min-height: 3rem;
    padding-inline: 0.5rem;
  }

  .af-mobile-menu .af-nav-panel,
  .af-mobile-menu .af-language-panel,
  .af-mobile-menu .af-theme-panel,
  .af-mobile-menu .af-version-panel {
    border: 0;
    box-shadow: none;
    max-height: none;
    max-width: none;
    padding: 0.25rem 0 0.75rem;
    position: static;
    width: auto;
  }

  .af-mobile-menu .af-nav-panel-links {
    grid-template-columns: 1fr;
  }

  .af-mobile-menu .af-nav-column a {
    font-size: 0.9375rem;
    min-height: 2.75rem;
    padding: 0.625rem 0.5rem;
    white-space: normal;
  }

  .af-mobile-menu .af-header-actions {
    align-items: start;
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0;
  }

  .af-mobile-menu .af-search .search-button-field {
    font-size: 0.9375rem;
    height: 2.75rem;
    min-width: 0;
    width: 100%;
  }

  .af-mobile-menu .af-theme-label,
  .af-mobile-menu .search-button__default-text {
    display: inline;
  }

  .af-mobile-menu .af-language-menu,
  .af-mobile-menu .af-theme-menu,
  .af-mobile-menu .af-version-menu {
    height: auto;
  }

  .af-mobile-menu .af-language-menu > summary,
  .af-mobile-menu .af-theme-menu > summary {
    border: 1px solid var(--pst-color-border);
    border-radius: 0.375rem;
    height: 2.75rem;
  }

  .af-mobile-menu .af-version-menu {
    border-left: 0;
    border-top: 1px solid var(--pst-color-border);
    grid-column: 1 / -1;
    margin: 0;
    padding-top: 0.5rem;
  }

  .af-mobile-menu .af-version-menu > summary {
    min-height: 2.75rem;
  }

  .af-context-header {
    border-top: 0;
  }

  .af-rail-sidebar-toggle {
    flex: 0 0 auto;
    margin-left: -0.75rem;
    margin-right: 0.5rem;
  }

  .af-mobile-sidebar-toggle {
    font-size: 0.8125rem;
    gap: 0.5rem;
    padding-inline: 0.75rem !important;
  }

  .af-mobile-toc-heading {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin-bottom: 0.75rem;
  }

  .af-context-menu {
    flex: 1 1 auto;
    min-width: 0;
  }

  .af-context-menu > summary span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .af-context-panel {
    left: 0.75rem;
    max-height: calc(100dvh - var(--pst-header-height) - 1rem);
    position: fixed;
    right: 0.75rem;
    top: var(--pst-header-height);
    width: auto;
  }

  body:has(.af-docs-home) .af-breadcrumb-stack nav {
    display: none;
  }

  .bd-article {
    padding-top: 1rem;
  }

  .af-reference-section {
    gap: 1.5rem;
    grid-template-columns: 1fr;
  }

  .af-reference-examples .af-code-view.container {
    position: static;
  }
}

@media (max-width: 639px) {
  .af-catalog-grid {
    grid-template-columns: 1fr;
  }

  .af-catalog-card {
    min-height: 0;
    padding: 1rem;
  }

  .af-catalog-card span {
    font-size: 0.875rem;
  }

  .af-catalog-card small {
    margin-top: 0.75rem;
    padding-top: 0;
  }
}

/* Keep both navigation rows centered independently of their side controls. */
.af-context-controls { display: flex; align-items: center; min-width: 0; }
@media (min-width: 960px) {
  .af-context-header { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: .5rem; }
  .af-context-links { grid-column: 2; margin: 0; justify-content: center; }
  .af-context-cta { grid-column: 3; justify-self: end; }
  .af-context-controls .af-version-prefix, .af-context-controls .af-support-badge { display: none; }
}
@media (min-width: 960px) and (max-width: 1399px) {
  .af-search .search-button-field { min-width: 2.125rem; width: 2.125rem; padding: .4rem; }
  .af-search .search-button__default-text, .af-search .search-button__kbd-shortcut { display: none; }
}
@media (min-width: 960px) and (max-width: 1279px) {
  .af-global-nav .af-nav-trigger { padding-inline: .5rem; }
  .af-context-links a { padding-inline: .5rem; }
}
@media (max-width: 959px) {
  .af-context-controls { flex: 1; justify-content: center; }
}
