/* ForwardFlow documentation. Shared visual register with the analytical workspace.
   mdBook owns search, chapter navigation, highlighting and math rendering. */
:root, .navy, .coal, .ayu, .rust {
  --bg: #0b0d10;
  --fg: #edf0f2;
  --sidebar-bg: #101318;
  --sidebar-fg: #abb4c1;
  --sidebar-active: #ff9b70;
  --sidebar-non-existant: #919dab;
  --links: #ff9b70;
  --icons: #abb4c1;
  --icons-hover: #edf0f2;
  --surface: #12161c;
  --raised: #191f27;
  --muted: #abb4c1;
  --faint: #919dab;
  --border: #29313b;
  --accent: #ff4c01;
  --accent-text: #161b21;
  --quote-bg: #12161c;
  --quote-border: #ff4c01;
  --table-border-color: #29313b;
  --table-header-bg: #191f27;
  --table-alternate-bg: #12161c;
  --code-bg: #191f27;
  --inline-code-color: #d7dee6;
  --theme-popup-bg: #191f27;
  --theme-popup-border: #29313b;
  --theme-hover: #29313b;
  --scrollbar: #536071;
  --searchbar-bg: #12161c;
  --searchbar-fg: #edf0f2;
  --searchbar-border-color: #536071;
  --searchresults-header-fg: #abb4c1;
  --searchresults-border-color: #29313b;
  --searchresults-li-bg: #12161c;
  --search-mark-bg: #ff9b70;
  --color-scheme: dark;
  --sidebar-width: 256px;
  --sidebar-target-width: 256px;
  --page-padding: 38px;
  --content-max-width: 1100px;
  --menu-bar-height: 66px;
  --mono-font: 'SFMono-Regular', Consolas, 'Liberation Mono', monospace;
  --code-font-size: .86em;
}
.light {
  --bg: #fafafa; --fg: #17202b; --sidebar-bg: #f1f3f5; --sidebar-fg: #465362;
  --sidebar-active: #a83100; --links: #a83100; --surface: #fff; --raised: #eef1f4;
  --muted: #465362; --faint: #596779; --border: #cdd3da; --icons: #465362; --icons-hover: #17202b;
  --quote-bg: #fff; --table-border-color: #cdd3da; --table-header-bg: #eef1f4; --table-alternate-bg: #f1f3f5;
  --code-bg: #eef1f4; --inline-code-color: #28394c; --theme-popup-bg: #fff; --theme-popup-border: #cdd3da;
  --theme-hover: #e4e9ee; --searchbar-bg: #fff; --searchbar-fg: #17202b; --searchresults-header-fg: #465362;
  --searchresults-border-color: #cdd3da; --searchresults-li-bg: #fff; --color-scheme: light;
}
html { font-family: Arial, Helvetica, sans-serif; scroll-padding-top: 88px; text-size-adjust: 100%; -webkit-text-size-adjust: 100%; }
body { font-size: 15px; line-height: 1.7; font-variant-numeric: tabular-nums; }
*, *::before, *::after { box-sizing: border-box; }
a, button, input { -webkit-tap-highlight-color: transparent; }
a, button { touch-action: manipulation; }
a:focus-visible, button:focus-visible, input:focus-visible, summary:focus-visible, [tabindex="0"]:focus-visible {
  outline: 2px solid var(--links); outline-offset: 4px; border-radius: 3px;
}
.ff-skip { position: fixed; left: 18px; top: -100px; z-index: 1000; padding: 12px 20px; background: var(--accent); color: var(--accent-text) !important; }
.ff-skip:focus { top: 12px; }
.ff-guide .page { margin-top: 0; }
.ff-guide .page-wrapper { transition: none !important; }
#mdbook-menu-bar-hover-placeholder { display: none; }
#mdbook-menu-bar { height: 66px; flex-wrap: nowrap; gap: 12px; border-bottom: 1px solid var(--border); background: var(--bg); }
#mdbook-menu-bar .left-buttons { align-items: center; margin-left: 22px; gap: 2px; }
#mdbook-menu-bar .icon-button, #mdbook-menu-bar .right-buttons > a:not(.ff-open-workspace) { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; height: 44px; line-height: 1; border-radius: 6px; }
#mdbook-menu-bar .fa-svg { padding: 0; width: 17px; height: 17px; line-height: 1; }
#mdbook-menu-bar .icon-button:hover { background: var(--raised); }
#mdbook-menu-bar .menu-title { text-align: left; font-size: 13px; color: var(--muted); line-height: 66px; font-weight: 500; text-decoration: none; }
#mdbook-search-toggle { gap: 10px; padding: 0 12px !important; }
.ff-search-label { font-size: 12px; white-space: nowrap; }
#mdbook-search-toggle kbd { border: 1px solid var(--border); border-radius: 3px; padding: 2px 6px; font-size: 11px; color: var(--faint); background: none; }
#mdbook-theme-toggle { order: 3; }
.right-buttons { display: flex; align-items: center; gap: 8px; margin: 0 24px 0 0; }
#mdbook-menu-bar .ff-open-workspace { font-size: 12px; color: var(--fg); border: 1px solid var(--border); padding: 10px 14px; border-radius: 6px; line-height: 22px; white-space: nowrap; }
.ff-open-workspace span { color: var(--links); margin-left: 12px; }
.theme-popup { top: 56px; border-radius: 8px; padding: 6px; }
.theme-popup .theme { min-height: 44px; font-size: 13px; padding: 8px 16px; }
#mdbook-sidebar { border-right: 1px solid var(--border); display: flex; flex-direction: column; }
.ff-brand { min-height: 91px; display: flex; gap: 12px; align-items: center; padding: 20px; text-decoration: none; border-bottom: 1px solid var(--border); color: var(--fg) !important; }
.ff-logo { background: #f5f2ea; border-radius: 5px; width: 78px; height: 40px; display: grid; place-items: center; flex-shrink: 0; }
.ff-logo img { width: 64px; height: auto; display: block; }
.ff-brand strong { display: block; font-size: 14px; letter-spacing: -.3px; }
.ff-brand small { display: block; color: var(--muted); font-size: 11px; letter-spacing: .4px; }
#mdbook-sidebar .sidebar-scrollbox { position: static; flex: 1; min-height: 0; overflow-y: auto; padding: 16px 12px 20px; }
#mdbook-sidebar .chapter { margin: 0; font-size: 12px; line-height: 1.4; }
#mdbook-sidebar .chapter .part-title { font-size: 10px; color: var(--faint); letter-spacing: 1.4px; text-transform: uppercase; padding: 0 12px; margin: 24px 0 9px; font-weight: 600; }
#mdbook-sidebar .chapter li.chapter-item { margin: 2px 0; line-height: 1.4; }
#mdbook-sidebar .chapter-link-wrapper { min-width: 0; }
#mdbook-sidebar .chapter a { display: block; padding: 10px 12px; border-radius: 6px; color: var(--muted); white-space: normal; min-height: 38px; }
#mdbook-sidebar .chapter a.active { color: var(--sidebar-active); background: var(--raised); box-shadow: inset 2px 0 var(--accent); font-weight: 600; }
#mdbook-sidebar .chapter a:hover { color: var(--fg); background: var(--raised); text-decoration: none; }
#mdbook-sidebar .on-this-page, #mdbook-sidebar .header-item { display: none; }
.ff-sidebar-return { display: flex; align-items: center; gap: 12px; min-height: 60px; padding: 15px 24px; font-size: 12px; border-top: 1px solid var(--border); color: var(--muted) !important; text-decoration: none; }
.ff-sidebar-return .fa-svg { width: 12px; }
.sidebar-resize-handle { display: none; }
.ff-guide .content { max-width: 1100px; margin: 0 auto; padding: 28px 0 0; overflow: visible; }
.ff-document-meta { display: flex; align-items: center; gap: 12px; margin-bottom: 38px; font-size: 11px; color: var(--faint); line-height: 1.5; }
.ff-document-meta a { color: var(--muted); }
.ff-document-meta span:last-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ff-reading-layout { display: grid; grid-template-columns: minmax(0,1fr) 184px; gap: 44px; align-items: start; }
.ff-reading-layout main { width: 100%; min-width: 0; max-width: 780px; margin: 0; overflow-wrap: anywhere; }
.ff-reading-layout:has(.ff-outline[hidden]) { display: block; }
.ff-reading-layout:has(.ff-outline[hidden]) main { max-width: none; }
.ff-outline { position: sticky; top: 94px; max-height: calc(100vh - 118px); overflow-y: auto; font-size: 11px; border-left: 1px solid var(--border); padding-left: 18px; }
.ff-outline p { text-transform: uppercase; letter-spacing: 1.4px; font-size: 10px; font-weight: 600; color: var(--faint); margin: 0 0 12px; }
.ff-outline a { display: block; padding: 6px 0; color: var(--muted); line-height: 1.5; }
.ff-outline a[aria-current="location"] { color: var(--links); }
.content main > h1 { font-size: clamp(30px, 3vw, 44px); line-height: 1.14; font-weight: 500; letter-spacing: -1.5px; margin: 0 0 26px; max-width: 800px; }
.content h2 { font-size: 24px; font-weight: 500; line-height: 1.3; letter-spacing: -.5px; margin: 54px 0 18px; padding-top: 24px; border-top: 1px solid var(--border); }
.content h3 { font-size: 18px; font-weight: 600; line-height: 1.4; letter-spacing: -.15px; margin: 32px 0 12px; }
.content h4 { font-size: 15px; line-height: 1.4; }
.content p, .content ul, .content ol { line-height: 1.75; color: var(--muted); }
.content p { margin: 16px 0; }
.content li { margin: 7px 0; }
.content strong { color: var(--fg); font-weight: 600; }
.content main > h1 + p { font-size: 17px; line-height: 1.7; }
.content main a:not(.header):not(.ff-card):not(.ff-button):not(.ff-text-link) { text-decoration: underline; text-decoration-color: color-mix(in srgb, var(--links) 35%, transparent); text-underline-offset: 3px; }
.content a:hover { text-decoration-color: currentColor; }
.content :target { scroll-margin-top: 90px; }
.content :target::before { display: none; }
.content :target > .header { color: var(--links); }
.content blockquote { margin: 26px 0; border: 1px solid var(--border); border-left: 3px solid var(--accent); border-radius: 0 8px 8px 0; padding: 4px 22px; background: var(--surface); }
.content .table-wrapper { border: 1px solid var(--border); border-radius: 8px; margin: 24px 0; max-width: 100%; }
.content table { width: 100%; font-size: 12px; line-height: 1.6; text-align: left; }
.content table th { color: var(--fg); font-size: 11px; font-weight: 600; padding: 13px 16px; }
.content table td { padding: 14px 16px; border: 0; border-top: 1px solid var(--border); color: var(--muted); vertical-align: top; min-width: 100px; }
.content table tr:nth-child(2n) { background: var(--surface); }
.content table td:first-child { color: var(--fg); }
.content code { overflow-wrap: anywhere; }
.content :not(pre) > code { background: var(--raised); border-radius: 4px; padding: 2px 5px; }
.content pre { max-width: 100%; border: 1px solid var(--border); border-radius: 8px; background: var(--surface); margin: 24px 0; }
.content pre > code { padding: 22px; font-size: 12px; line-height: 1.8; overflow-x: auto; white-space: pre; background: var(--surface); }
.content pre > .buttons { visibility: visible; opacity: 1; top: 6px; right: 6px; }
.content pre > .buttons button { min-width: 36px; min-height: 36px; font-size: 15px; border-color: var(--border); }
.MathJax_Display { overflow-x: auto; overflow-y: hidden; padding: 14px 0; max-width: 100%; }
.MathJax { color: var(--fg); }
.ff-chapter-nav { margin: 60px 0 32px; padding-top: 26px; border-top: 1px solid var(--border); display: flex; gap: 16px; }
.ff-chapter-nav a { flex: 1; min-width: 0; border: 1px solid var(--border); border-radius: 8px; padding: 18px 20px; text-decoration: none; }
.ff-chapter-nav a:last-child { text-align: right; }
.ff-chapter-nav small { display: block; font-size: 11px; color: var(--faint); margin-bottom: 6px; }
.ff-chapter-nav strong { font-size: 14px; line-height: 1.4; display: block; font-weight: 500; }
.ff-chapter-nav a:hover { background: var(--surface); }
.ff-footer { display: flex; justify-content: space-between; gap: 20px; border-top: 1px solid var(--border); padding: 20px 0 28px; color: var(--faint); font-size: 10px; }
#mdbook-search-wrapper { margin: 24px auto; max-width: 1100px; border: 1px solid var(--border); padding: 22px; border-radius: 10px; background: var(--surface); }
#mdbook-searchbar { border-radius: 6px; min-height: 48px; padding: 12px 16px; font: inherit; }
#mdbook-searchresults { padding: 0; }
#mdbook-searchresults li { background: var(--bg); border: 1px solid var(--border); border-radius: 6px; padding: 16px; margin: 12px 0; font-size: 13px; }
#mdbook-searchresults .teaser { color: var(--muted); line-height: 1.6; }
mark { color: #161b21; }
.ff-home .ff-document-meta { margin-bottom: 34px; }
.ff-home .ff-reading-layout { display: block; }
.ff-home .ff-reading-layout main { max-width: none; }
.ff-home main > h1 { font-size: clamp(36px, 4.2vw, 58px); max-width: 720px; line-height: 1.05; letter-spacing: -2px; margin-bottom: 22px; }
.ff-eyebrow { font-size: 10px; color: var(--links); text-transform: uppercase; letter-spacing: 1.8px; margin-bottom: 18px; }
.ff-intro { max-width: 670px; font-size: 18px; line-height: 1.7; color: var(--muted); }
.ff-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; margin: 28px 0 38px; }
.content a.ff-button { display: inline-flex; align-items: center; justify-content: center; gap: 30px; min-height: 46px; border-radius: 6px; padding: 10px 18px; background: var(--accent); color: var(--accent-text); font-size: 13px; font-weight: 600; text-decoration: none; }
.content a.ff-button:hover { background: #ff7138; }
.content a.ff-text-link { color: var(--fg); font-size: 13px; text-decoration: none; }
.ff-text-link span { color: var(--links); margin-left: 10px; }
.ff-route-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border: 1px solid var(--border); border-radius: 10px; overflow: hidden; margin: 0 0 40px; }
.content .ff-card { display: flex; flex-direction: column; background: var(--surface); color: var(--fg); padding: 24px; text-decoration: none; min-height: 224px; }
.ff-card + .ff-card { border-left: 1px solid var(--border); }
.ff-card .ff-card-number { color: var(--links); font: 11px var(--mono-font); margin-bottom: 28px; }
.ff-card strong { font-size: 18px; letter-spacing: -.3px; font-weight: 500; }
.ff-card p { font-size: 12px; line-height: 1.6; margin: 10px 0 24px; }
.ff-card .ff-card-go { color: var(--links); font-size: 12px; margin-top: auto; }
.content .ff-card:hover { background: var(--raised); text-decoration: none; }
.ff-at-a-glance { border: 1px solid var(--border); border-radius: 10px; padding: 28px; background: var(--surface); }
.ff-at-a-glance .ff-eyebrow { margin-bottom: 20px; color: var(--faint); }
.ff-contract-flow { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 30px; }
.ff-contract-flow span { display: block; color: var(--faint); font-size: 11px; margin-bottom: 8px; }
.ff-contract-flow strong { display: block; font-size: 27px; font-weight: 400; letter-spacing: -.6px; }
.ff-contract-flow small { color: var(--muted); font-size: 12px; }
.ff-at-a-glance > p { font-size: 11px; padding-top: 20px; border-top: 1px solid var(--border); margin: 24px 0 0; }
.ff-note { display: flex; gap: 15px; background: var(--surface); border: 1px solid var(--border); border-left: 3px solid var(--accent); padding: 18px 22px; border-radius: 0 8px 8px 0; margin: 28px 0; font-size: 13px; color: var(--muted); }
.ff-guide details { border: 1px solid var(--border); background: var(--surface); border-radius: 8px; padding: 14px 18px; margin: 24px 0; }
.ff-guide summary { cursor: pointer; color: var(--fg); font-size: 13px; min-height: 30px; }
.ff-glossary-jump { display: flex; flex-wrap: wrap; gap: 7px; margin: 24px 0; }
.ff-glossary-jump a { display: grid; place-items: center; width: 36px; height: 36px; border: 1px solid var(--border); border-radius: 4px; font-size: 12px; text-decoration: none !important; }
@media (min-width: 1080px) { .sidebar-visible .page-wrapper { margin-left: 256px !important; } }
@media (max-width: 1270px) { .ff-reading-layout { grid-template-columns: minmax(0,1fr) 155px; gap: 26px; } :root { --page-padding: 28px; } }
@media (max-width: 1079px) {
  .ff-reading-layout { display: block; }
  .ff-outline { display: none; }
  #mdbook-sidebar-toggle-anchor:checked ~ .page-wrapper { transform: none !important; }
  #mdbook-sidebar { top: 66px; height: calc(100% - 66px); z-index: 110; box-shadow: 30px 0 80px #0009; }
  .sidebar-visible #mdbook-sidebar { width: min(310px, calc(100vw - 44px)); }
  .ff-reading-layout main { max-width: none; }
  .ff-mobile-backdrop { display: none; position: fixed; inset: 66px 0 0; background: #0009; z-index: 109; border: 0; }
  .sidebar-visible .ff-mobile-backdrop { display: block; }
}
@media (max-width: 650px) {
  :root { --page-padding: 18px; }
  body { font-size: 14px; }
  #mdbook-menu-bar { gap: 0; }
  #mdbook-menu-bar .left-buttons { margin-left: 6px; gap: 0; }
  #mdbook-menu-bar .right-buttons { margin-right: 10px; gap: 0; }
  .ff-search-label, #mdbook-search-toggle kbd, .right-buttons > a:not(.ff-open-workspace) { display: none !important; }
  #mdbook-search-toggle { padding: 0 8px !important; }
  #mdbook-menu-bar .ff-open-workspace { font-size: 11px; padding: 9px 10px; }
  .ff-open-workspace span { margin-left: 5px; }
  #mdbook-menu-bar .menu-title { font-size: 12px; padding-left: 6px; }
  #mdbook-theme-toggle { display: none !important; }
  .ff-document-meta { margin-bottom: 28px; font-size: 10px; }
  .ff-home .ff-document-meta { margin-bottom: 26px; }
  .ff-intro { font-size: 16px; }
  .ff-route-grid { grid-template-columns: 1fr; }
  .content .ff-card { padding: 22px; min-height: auto; }
  .ff-card + .ff-card { border-left: 0; border-top: 1px solid var(--border); }
  .ff-card .ff-card-number { margin-bottom: 18px; }
  .ff-card p { margin-bottom: 18px; }
  .ff-contract-flow { grid-template-columns: 1fr; gap: 22px; }
  .ff-contract-flow strong { font-size: 30px; }
  .ff-at-a-glance { padding: 22px; }
  .content h2 { margin-top: 40px; font-size: 22px; }
  .content main > h1 + p { font-size: 15px; }
  .content blockquote { padding-left: 16px; padding-right: 16px; }
  .ff-chapter-nav { gap: 10px; }
  .ff-chapter-nav a { padding: 15px 12px; }
  .ff-chapter-nav strong { font-size: 12px; }
  .ff-footer { flex-direction: column; gap: 4px; }
  #mdbook-search-wrapper { padding: 14px; }
  #mdbook-searchbar { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; } }
@media print {
  :root, .navy, .light { --bg: white; --fg: #111; --muted: #333; --faint: #444; --links: #963100; --surface: white; --raised: #eee; --border: #ccc; --table-header-bg: #eee; --table-border-color: #ccc; --table-alternate-bg: white; --code-bg: #eee; --inline-code-color: #111; color-scheme: light; }
  #mdbook-sidebar, #mdbook-menu-bar, .ff-outline, .ff-document-meta, .ff-chapter-nav, .ff-footer, .ff-skip, .ff-hero-actions, .ff-mobile-backdrop { display: none !important; }
  .page-wrapper { margin: 0 !important; transform: none !important; }
  .ff-reading-layout { display: block; }
  .ff-reading-layout main { max-width: none; }
  .ff-guide .content { padding: 0; }
  .ff-route-grid, .ff-at-a-glance, .content table { break-inside: avoid; }
  .content pre, .content pre > code { white-space: pre-wrap; overflow-wrap: anywhere; color: #111; }
  .content table { font-size: 9px; }
  .content table td, .content table th { min-width: 0; padding: 6px; }
  .table-wrapper, .MathJax_Display { overflow: visible !important; }
}

/* API explorer, loaded only by its chapter. */

  #ff-swagger { margin-top: 1rem; }
  #ff-swagger .swagger-ui, #ff-swagger .swagger-ui .info .title, #ff-swagger .swagger-ui .opblock .opblock-summary-description,
  #ff-swagger .swagger-ui .opblock-tag, #ff-swagger .swagger-ui table thead tr th, #ff-swagger .swagger-ui .parameter__name,
  #ff-swagger .swagger-ui .response-col_status, #ff-swagger .swagger-ui .model-title, #ff-swagger .swagger-ui .model,
  #ff-swagger .swagger-ui label, #ff-swagger .swagger-ui .info p, #ff-swagger .swagger-ui .info li, #ff-swagger .swagger-ui .markdown p,
  #ff-swagger .swagger-ui .opblock-description-wrapper p, #ff-swagger .swagger-ui .response-col_description, #ff-swagger .swagger-ui .tab li,
  #ff-swagger .swagger-ui .scheme-container .schemes-title, #ff-swagger .swagger-ui .btn { color: inherit; }
  #ff-swagger .swagger-ui .scheme-container, #ff-swagger .swagger-ui section.models, #ff-swagger .swagger-ui .opblock .opblock-section-header { background: transparent; box-shadow: none; }
  #ff-swagger .swagger-ui .opblock .opblock-section-header { border-bottom: 1px solid rgba(128,128,128,.35); }
  #ff-swagger .swagger-ui input[type=text], #ff-swagger .swagger-ui textarea, #ff-swagger .swagger-ui select { background: rgba(128,128,128,.12); color: inherit; border-color: rgba(128,128,128,.4); }
  #ff-swagger .swagger-ui .btn.authorize { color: var(--links); border-color: var(--links); }
  #ff-swagger .swagger-ui .btn.authorize svg { fill: var(--links); }
  #ff-swagger .swagger-ui .microlight, #ff-swagger .swagger-ui .highlight-code > .microlight { background: var(--surface) !important; color: var(--fg); }
  #ff-swagger .swagger-ui .info hgroup.main a, #ff-swagger .swagger-ui .info a { color: var(--links); }
  #ff-swagger .swagger-ui .dialog-ux .modal-ux { background: var(--surface); color: var(--fg); border: 1px solid rgba(128,128,128,.4); }
  #ff-swagger .swagger-ui .dialog-ux .modal-ux-header h3, #ff-swagger .swagger-ui .dialog-ux .modal-ux-content h4, #ff-swagger .swagger-ui .dialog-ux .modal-ux-content p, #ff-swagger .swagger-ui .dialog-ux .modal-ux-content code, #ff-swagger .swagger-ui .auth-container label { color: var(--fg); }
  #ff-fallback { padding: .75rem 1rem; border: 1px solid rgba(128,128,128,.35); border-radius: 4px; }

#mdbook-sidebar .chapter-link-wrapper, #mdbook-sidebar .chapter-link-wrapper > a { width: 100%; }
#mdbook-sidebar-resize-handle { display: none; }
.ff-home main > h1 { max-width: 690px; }
#ff-swagger .swagger-ui .wrapper { padding: 0; }
#ff-swagger .swagger-ui .info { margin: 24px 0; }
#ff-swagger .swagger-ui .info .title { font-size: 27px; }
#ff-swagger .swagger-ui .opblock-tag { font-size: 20px; padding: 16px 0; border: 0; }
#ff-swagger .swagger-ui .scheme-container { padding: 16px 0; }
#ff-swagger .swagger-ui .opblock .opblock-summary-path { color: var(--fg); font-size: 12px; min-width: 0; word-break: break-word; }
#ff-swagger .swagger-ui .opblock .opblock-summary-description { font-size: 11px; line-height: 1.5; }
#ff-swagger .swagger-ui .opblock-summary { min-height: 55px; }
#ff-swagger .swagger-ui svg { fill: var(--muted); }
#ff-swagger .swagger-ui button, #ff-swagger .swagger-ui select { min-height: 40px; }
#ff-swagger .swagger-ui select option { background: var(--surface); color: var(--fg); }
#ff-swagger .swagger-ui .dialog-ux .modal-ux { max-width: calc(100vw - 32px); }
#ff-swagger .swagger-ui table td { min-width: 0; }
#ff-swagger .swagger-ui .model-toggle:after { filter: invert(.6); }
@media (max-width: 650px) {
  #ff-swagger .swagger-ui .opblock-summary { flex-wrap: wrap; gap: 8px; }
  #ff-swagger .swagger-ui .opblock-summary-control { align-items: flex-start; }
  #ff-swagger .swagger-ui .opblock .opblock-summary-method { min-width: 48px; font-size: 11px; }
  #ff-swagger .swagger-ui .opblock .opblock-summary-description { display: none; }
  #ff-swagger .swagger-ui .scheme-container .schemes { display: block; }
  #ff-swagger .swagger-ui .servers > label select { max-width: 100%; width: 100%; }
  #ff-swagger .swagger-ui .auth-wrapper { justify-content: flex-start; margin-top: 12px; }
}
/* Keep the reading chrome subordinate to the article. */
.content .ff-outline a:link, .content .ff-outline a:visited { color: var(--muted); }
.content .ff-outline a[aria-current="location"] { color: var(--links); }
.content .ff-document-meta a { color: var(--muted); }
.ff-mobile-backdrop { display: none; }
@media (max-width: 1079px) { .sidebar-visible .ff-mobile-backdrop { display: block; } }
#mdbook-menu-bar { position: sticky !important; top: 0 !important; }
#ff-swagger .swagger-ui, #ff-swagger .swagger-ui .opblock-body,
#ff-swagger .swagger-ui .model, #ff-swagger .swagger-ui .model-title,
#ff-swagger .swagger-ui .parameter__name, #ff-swagger .swagger-ui .parameter__type,
#ff-swagger .swagger-ui .response-col_status, #ff-swagger .swagger-ui .tab li,
#ff-swagger .swagger-ui .opblock-section-header h4,
#ff-swagger .swagger-ui .model-box-control { color: var(--fg); }
#ff-swagger .swagger-ui .renderedMarkdown p, #ff-swagger .swagger-ui .renderedMarkdown li,
#ff-swagger .swagger-ui .opblock-description-wrapper p,
#ff-swagger .swagger-ui .opblock-external-docs-wrapper,
#ff-swagger .swagger-ui .opblock-title_normal, #ff-swagger .swagger-ui .parameter__in { color: var(--muted); }
#ff-swagger .swagger-ui .opblock .opblock-summary { border-color: var(--border); }
#ff-swagger .swagger-ui .opblock .opblock-summary-method { color: #fff; text-shadow: none; }
#ff-swagger .swagger-ui .opblock-get .opblock-summary-method { background: #216890; }
#ff-swagger .swagger-ui .opblock-post .opblock-summary-method { background: #1b7154; }
#ff-swagger .swagger-ui .renderedMarkdown code { color: var(--links); }
#ff-swagger .swagger-ui .highlight-code, #ff-swagger .swagger-ui .microlight { color: var(--fg); background: var(--surface); }
#ff-swagger .swagger-ui .model-box { background: var(--raised); }
.ff-chapter-nav .nav-chapters { position: static; display: block; max-width: none; min-width: 0; width: auto; margin: 0; float: none; font-size: inherit; text-align: left; }
.ff-chapter-nav .nav-chapters:last-child { text-align: right; }
@media (max-width: 650px) { #mdbook-menu-bar #mdbook-theme-toggle { display: inline-flex !important; } }
@media (max-width: 380px) { #mdbook-menu-bar .menu-title { display: none; } #mdbook-menu-bar .right-buttons { margin-left: auto; } }
/* Long inline equations must scroll inside the text column on narrow screens. */
.content .MathJax { display: inline-block; max-width: 100%; overflow-x: auto; overflow-y: hidden; vertical-align: middle; }
.content .MathJax_Preview { display: inline-block; max-width: 100%; overflow-x: auto; vertical-align: middle; }
#ff-swagger .swagger-ui .servers > label select { margin: 0; min-width: 0; }
#ff-swagger .swagger-ui .opblock-section-header { flex-wrap: wrap; gap: 12px; }
#ff-swagger .swagger-ui .opblock-section-header h4 { min-width: 100px; }
#ff-swagger .swagger-ui .servers > label { display: block; margin: 0; min-width: 0; max-width: 100%; }
#ff-swagger .swagger-ui .dialog-ux .modal-ux:focus { outline: none; }
