:root {
  --ft-orange: #e85d04;
  --ft-orange-dark: #b93f00;
  --ft-amber: #ffb703;
  --ft-ink: #352318;
  --ft-soft: #fff8ed;
}
[data-md-color-scheme="default"] {
  --md-primary-fg-color: var(--ft-orange);
  --md-primary-fg-color--dark: var(--ft-orange-dark);
  --md-accent-fg-color: #d94801;
  --md-typeset-a-color: #c2410c;
}
.md-header { background: linear-gradient(105deg, #a93800, var(--ft-orange) 58%, #f48c06); }
.ft-model-search { margin: 1.2rem 0 0.8rem; }
.ft-model-search label { display: block; margin-bottom: 0.4rem; font-weight: 700; font-size: 0.75rem; }
.ft-model-search > div { display: flex; gap: 0.5rem; }
.ft-model-search input { min-width: 0; flex: 1; padding: 0.6rem 0.75rem; border: 1px solid #cfa98b; border-radius: 0.45rem; background: #fff; color: #352318; font: inherit; }
.ft-model-search button { padding: 0.6rem 0.85rem; border-radius: 0.45rem; background: #a93800; color: #fff; font: inherit; font-weight: 700; cursor: pointer; }
.ft-model-search :focus-visible, .ft-model-context :focus-visible { outline: 3px solid #098cd1; outline-offset: 3px; }
.md-typeset .ft-model-context { margin: 1rem 0; padding: 0.75rem 0.9rem; border: 1px solid #ddc3b1; border-left: 4px solid var(--ft-orange); border-radius: 0.5rem; font-size: 0.7rem; background: var(--ft-soft); color: #352318; }
.md-typeset .ft-model-context p { margin: 0.3rem 0 0.5rem; }
.ft-model-context-actions { display: flex; flex-wrap: wrap; gap: 0.3rem 0.8rem; align-items: baseline; }
.ft-model-context-actions a, .ft-model-context-actions button { padding: 0.25rem 0; }
.md-typeset .ft-model-context-actions button { font: inherit; text-decoration: underline; cursor: pointer; color: #654b3d; }
[data-md-color-scheme="slate"] .md-typeset .ft-model-context { background: #352118; color: #fff7ed; border-color: #825332; }
[data-md-color-scheme="slate"] .md-typeset .ft-model-context-actions button { color: #f6e8de; }
@media screen and (max-width: 30em) { .ft-model-search > div { flex-direction: column; } }
.md-typeset h1, .md-typeset h2, .md-typeset h3 { font-weight: 750; letter-spacing: -0.02em; }
.md-typeset .ft-hero {
  margin: 0 0 1.8rem;
  padding: clamp(1.4rem, 4vw, 2.6rem);
  border: 1px solid rgba(232, 93, 4, 0.22);
  border-radius: 1.1rem;
  background: radial-gradient(circle at 90% 10%, rgba(255, 183, 3, 0.28), transparent 30%), linear-gradient(135deg, #fff, var(--ft-soft));
}
.md-typeset .ft-hero h1 { margin: 0 0 0.55rem; color: var(--ft-ink); }
.md-typeset .ft-hero p { max-width: 48rem; font-size: 0.92rem; }
.md-typeset .md-button { border-radius: 999px; font-weight: 700; }
.md-typeset .md-button--primary { background: var(--ft-orange); border-color: var(--ft-orange); }
.md-typeset .md-button--primary:hover { background: var(--ft-orange-dark); border-color: var(--ft-orange-dark); }
.md-typeset .grid.cards > ul > li { border: 1px solid rgba(232, 93, 4, 0.2); border-radius: 0.9rem; box-shadow: 0 8px 24px rgba(120, 53, 15, 0.08); }
.md-typeset .grid.cards > ul > li:hover { border-color: rgba(232, 93, 4, 0.46); box-shadow: 0 12px 30px rgba(120, 53, 15, 0.13); }
.md-typeset .twemoji { color: var(--ft-orange); }
.md-typeset .ft-route {
  position: relative;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.72rem;
  margin: 1rem 0 2rem;
  padding-top: 0.55rem;
}
.md-typeset .ft-route::before {
  content: "";
  position: absolute;
  top: 1.65rem;
  left: 8%;
  right: 8%;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--ft-orange), var(--ft-amber));
  opacity: 0.45;
}
.md-typeset .ft-route-step {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-height: 9.2rem;
  padding: 0 0.8rem 0.95rem;
  color: var(--ft-ink);
  border: 1px solid rgba(232, 93, 4, 0.2);
  border-radius: 1rem;
  background: linear-gradient(155deg, #fff 25%, #fff8ed);
  box-shadow: 0 8px 22px rgba(120, 53, 15, 0.07);
  transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}
.md-typeset .ft-route-step:hover {
  color: var(--ft-ink);
  border-color: rgba(232, 93, 4, 0.5);
  box-shadow: 0 14px 28px rgba(120, 53, 15, 0.13);
  transform: translateY(-4px);
}
.md-typeset .ft-route-number {
  display: grid;
  place-items: center;
  width: 2.25rem;
  height: 2.25rem;
  margin: -0.55rem 0 0.75rem;
  color: #fff;
  font-size: 0.72rem;
  font-weight: 800;
  line-height: 1;
  border: 4px solid var(--md-default-bg-color);
  border-radius: 50%;
  background: linear-gradient(135deg, var(--ft-orange-dark), var(--ft-orange));
  box-shadow: 0 5px 12px rgba(185, 63, 0, 0.22);
}
.md-typeset .ft-route-copy { display: flex; flex-direction: column; gap: 0.42rem; }
.md-typeset .ft-route-copy strong { color: var(--ft-ink); font-size: 0.84rem; line-height: 1.45; }
.md-typeset .ft-route-copy small { color: #6d5547; font-size: 0.68rem; line-height: 1.65; }
.md-typeset .ft-selector {
  margin: 1rem 0 1.5rem;
  padding: 1rem;
  border: 1px solid rgba(232, 93, 4, 0.2);
  border-radius: 1rem;
  background: linear-gradient(150deg, rgba(255, 248, 237, 0.9), #fff 46%);
  box-shadow: 0 12px 34px rgba(120, 53, 15, 0.08);
}
.md-typeset .ft-selector-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}
.md-typeset .ft-selector-head > div { display: flex; flex-direction: column; gap: 0.2rem; }
.md-typeset .ft-selector-head strong { color: var(--ft-ink); font-size: 0.95rem; }
.md-typeset .ft-selector-head span { color: #735b4d; font-size: 0.7rem; line-height: 1.6; }
.md-typeset .ft-selector-reset,
.md-typeset .ft-selector-more {
  appearance: none;
  cursor: pointer;
  color: var(--ft-orange-dark);
  font: inherit;
  font-size: 0.7rem;
  font-weight: 700;
  border: 1px solid rgba(232, 93, 4, 0.35);
  border-radius: 999px;
  background: #fff;
  padding: 0.48rem 0.8rem;
}
.md-typeset .ft-selector-reset:hover,
.md-typeset .ft-selector-more:hover { color: #fff; background: var(--ft-orange); border-color: var(--ft-orange); }
.md-typeset .ft-selector-controls {
  display: grid;
  grid-template-columns: 1.5fr repeat(2, minmax(0, 1fr));
  gap: 0.7rem;
  padding: 0.85rem;
  border: 1px solid #f0dfd1;
  border-radius: 0.8rem;
  background: rgba(255, 255, 255, 0.82);
}
.md-typeset .ft-selector-field { display: flex; flex-direction: column; gap: 0.3rem; margin: 0; }
.md-typeset .ft-selector-field > span { color: #654b3d; font-size: 0.62rem; font-weight: 700; }
.md-typeset .ft-selector-field input,
.md-typeset .ft-selector-field select {
  width: 100%;
  min-height: 2.25rem;
  margin: 0;
  padding: 0.42rem 0.58rem;
  color: var(--ft-ink);
  font: inherit;
  font-size: 0.72rem;
  border: 1px solid #dfcbbd;
  border-radius: 0.55rem;
  outline: none;
  background: #fff;
}
.md-typeset .ft-selector-field input:focus,
.md-typeset .ft-selector-field select:focus { border-color: var(--ft-orange); box-shadow: 0 0 0 3px rgba(232, 93, 4, 0.12); }
.md-typeset .ft-selector-status { margin: 0.85rem 0 0.55rem; color: #765746; font-size: 0.68rem; font-weight: 700; }
.md-typeset .ft-selector-results { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.72rem; }
.md-typeset .servo-catalog-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.78rem; margin-top: 0.8rem; }
.md-typeset .ft-selector-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  margin: 0;
  padding: 0.85rem;
  border: 1px solid #edd8c8;
  border-radius: 0.8rem;
  background: #fff;
  box-shadow: 0 5px 16px rgba(120, 53, 15, 0.055);
}
.md-typeset .ft-selector-card:hover { border-color: rgba(232, 93, 4, 0.45); box-shadow: 0 9px 22px rgba(120, 53, 15, 0.1); }
.md-typeset .ft-selector-card-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 0.6rem; }
.md-typeset .ft-selector-card h3 { margin: 0; color: var(--ft-ink); font-size: 0.85rem; line-height: 1.4; }
.md-typeset .ft-selector-card h3 a { color: inherit; }
.md-typeset .ft-selector-card h3 a:hover { color: var(--ft-orange); }
.md-typeset .ft-selector-badges { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 0.25rem; }
.md-typeset .ft-selector-badges span { color: #9a3412; font-size: 0.54rem; font-weight: 800; border-radius: 999px; background: #ffedd5; padding: 0.16rem 0.4rem; }
.md-typeset .ft-selector-identity { min-height: 1.35rem; margin: 0.32rem 0 0.5rem; color: #806454; font-size: 0.58rem; }
.md-typeset .ft-selector-metrics { display: grid; grid-template-columns: 1fr 1.25fr; gap: 0.4rem; margin: 0; }
.md-typeset .ft-selector-metrics div { padding: 0.48rem; border-radius: 0.55rem; background: var(--ft-soft); }
.md-typeset .ft-selector-metrics dt { color: #806454; font-size: 0.54rem; }
.md-typeset .ft-selector-metrics dd { margin: 0.08rem 0 0; color: var(--ft-ink); font-size: 0.72rem; font-weight: 800; }
.md-typeset .ft-selector-description { flex: 1; margin: 0.55rem 0; color: #745b4c; font-size: 0.6rem; line-height: 1.5; overflow-wrap: anywhere; }
.md-typeset .ft-selector-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 0.7rem; margin-top: auto; }
.md-typeset .ft-selector-actions a { font-size: 0.62rem; font-weight: 700; }
.md-typeset .ft-selector-actions .ft-selector-detail { color: #fff; border-radius: 999px; background: var(--ft-orange); padding: 0.35rem 0.65rem; }
.md-typeset .ft-selector-more { display: block; margin: 1rem auto 0; }
.md-typeset .ft-selector-more[hidden] { display: none; }
.md-typeset .ft-selector-empty { grid-column: 1 / -1; margin: 0; padding: 2.5rem 1rem; text-align: center; color: #765746; border: 1px dashed #ddc3b1; border-radius: 0.8rem; }
.md-typeset .servo-product-assets { display: flex; flex-wrap: wrap; align-items: center; gap: 0.45rem; margin: -0.5rem 0 1.4rem; color: #765746; font-size: 0.7rem; }
.md-typeset .servo-product-assets span:first-child { color: #9a3412; font-weight: 800; }
.md-typeset .servo-product-assets code { color: #9a3412; border-radius: 0.35rem; background: #ffedd5; padding: 0.15rem 0.35rem; }
.md-typeset .servo-characteristic-chart { position: relative; min-width: 0; margin: 1rem 0 1.35rem; padding: 1rem; border: 1px solid #dce2d9; border-radius: 0.9rem; color: #202820; background: #fff; box-shadow: 0 6px 18px rgba(42, 54, 43, 0.05); }
.md-typeset .servo-chart-header { display: flex; align-items: flex-start; justify-content: space-between; flex-wrap: wrap; gap: 0.6rem; margin-bottom: 0.8rem; }
.md-typeset .servo-chart-title { color: #202820; font-size: 0.9rem; font-weight: 800; }
.md-typeset .servo-chart-subtitle { margin: 0.25rem 0 0; color: #707970; font-size: 0.65rem; }
.md-typeset .servo-chart-toggle { flex-shrink: 0; padding: 0.4rem 0.65rem; border: 1px solid #d8ded6; border-radius: 0.45rem; color: #344037; background: #fafbf8; font: inherit; font-size: 0.65rem; cursor: pointer; }
.md-typeset .servo-chart-toggle[aria-pressed="true"] { border-color: #dfc65e; color: #7a6000; background: #fff8d7; }
.md-typeset .servo-chart-toggle:disabled { opacity: 0.5; cursor: default; }
.md-typeset .servo-chart-toggle:focus-visible, .md-typeset .servo-chart-viewport svg:focus-visible { outline: 2px solid #098cd1; outline-offset: 2px; }
.md-typeset .servo-chart-metrics { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.45rem; margin-bottom: 0.75rem; }
.md-typeset .servo-chart-card { padding: 0.55rem; border: 1px solid #e2e7de; border-top: 3px solid var(--servo-chart-color); border-radius: 0.5rem; background: #fcfdfb; }
.md-typeset .servo-chart-card-label { display: block; color: #687168; font-size: 0.65rem; }
.md-typeset .servo-chart-card-label::before { content: ""; display: inline-block; width: 0.3rem; height: 0.3rem; margin-right: 0.3rem; border-radius: 50%; background: var(--servo-chart-color); }
.md-typeset .servo-chart-card-reading { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.2rem; margin-top: 0.15rem; }
.md-typeset .servo-chart-card-reading strong { color: #202820; font-size: 1.15rem; font-variant-numeric: tabular-nums; line-height: 1.4; }
.md-typeset .servo-chart-card-reading span { color: var(--servo-chart-color); font-size: 0.55rem; font-weight: 800; }
.md-typeset .servo-chart-legend { display: flex; flex-wrap: wrap; gap: 0.4rem 0.9rem; padding: 0.45rem 0.6rem; border: 1px solid #e5e9e1; border-radius: 0.45rem; background: #fafbf8; }
.md-typeset .servo-chart-legend span { color: var(--servo-chart-color); font-size: 0.65rem; font-weight: 700; }
.md-typeset .servo-chart-legend span::before { content: ""; display: inline-block; width: 0.7rem; height: 3px; margin-right: 0.3rem; vertical-align: middle; border-radius: 3px; background: currentColor; }
.md-typeset .servo-chart-viewport { width: 100%; overflow-x: auto; margin-top: 0.4rem; overscroll-behavior-x: contain; }
.md-typeset .servo-chart-viewport svg { display: block; width: 100%; min-width: 620px; height: auto; touch-action: pan-x pan-y; background: #fff; }
.md-typeset .servo-chart-tick { font-size: 13px; font-weight: 650; font-variant-numeric: tabular-nums; }
.md-typeset .servo-chart-axis { font-size: 15px; font-weight: 800; }
.md-typeset .servo-chart-footer { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.3rem 0.75rem; margin-top: 0.65rem; color: #707970; font-size: 0.6rem; }
.md-typeset .servo-chart-readout { color: #344037; font-variant-numeric: tabular-nums; }
.md-typeset .servo-chart-warning { margin: 0.5rem 0 0; color: #a16026; font-size: 0.6rem; }
.md-typeset .servo-chart-loading, .md-typeset .servo-chart-error { margin: 1rem; color: #707970; font-size: 0.75rem; }
.md-typeset .servo-chart-error { color: #b45309; }
.md-typeset .servo-chart-tooltip { position: absolute; z-index: 2; min-width: 10rem; max-width: calc(100% - 16px); padding: 0.6rem 0.7rem; color: #202820; font-size: 0.65rem; border: 1px solid #d8ded6; border-radius: 0.55rem; background: rgba(255, 255, 255, 0.98); box-shadow: 0 8px 24px rgba(42, 54, 43, 0.16); pointer-events: none; }
.md-typeset .servo-chart-tooltip strong { display: block; margin-bottom: 0.35rem; font-size: 0.7rem; }
.md-typeset .servo-chart-tooltip-row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 0.2rem; }
.md-typeset .servo-chart-tooltip-row span { color: #687168; }
.md-typeset .servo-chart-tooltip-row span::before { content: ""; display: inline-block; width: 0.35rem; height: 0.35rem; margin-right: 0.3rem; border-radius: 50%; background: var(--servo-chart-color); }
.md-typeset .servo-chart-tooltip b { color: #202820; font-variant-numeric: tabular-nums; }
.md-typeset .servo-characteristic-chart [hidden] { display: none; }
@media screen and (max-width: 40em) {
  .md-typeset .servo-characteristic-chart { padding: 0.65rem; }
  .md-typeset .servo-chart-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.md-typeset table:not([class]) { border-radius: 0.65rem; overflow: hidden; }
.md-typeset table:not([class]) th { background: var(--ft-soft); }
[data-md-color-scheme="slate"] {
  --md-primary-fg-color: #c64b0a;
  --md-accent-fg-color: #ffb703;
  --md-typeset-a-color: #ff9f43;
}
[data-md-color-scheme="slate"] .ft-hero { background: radial-gradient(circle at 88% 12%, rgba(255, 183, 3, 0.15), transparent 30%), linear-gradient(135deg, #2a1710, #3b1d0d); border-color: rgba(255, 159, 67, 0.28); }
[data-md-color-scheme="slate"] .ft-hero h1 { color: #f8fafc; }
[data-md-color-scheme="slate"] .md-typeset table:not([class]) th { background: #4a2412; }
[data-md-color-scheme="slate"] .ft-route-step { color: #f6e8de; background: linear-gradient(155deg, #2b1a13, #3b2114); border-color: rgba(255, 159, 67, 0.25); }
[data-md-color-scheme="slate"] .ft-route-step:hover { color: #fff7ed; border-color: rgba(255, 183, 3, 0.55); }
[data-md-color-scheme="slate"] .ft-route-copy strong { color: #fff7ed; }
[data-md-color-scheme="slate"] .ft-route-copy small { color: #d9c2b4; }
[data-md-color-scheme="slate"] .ft-selector { background: linear-gradient(150deg, #321b10, #231712 55%); border-color: rgba(255, 159, 67, 0.25); }
[data-md-color-scheme="slate"] .ft-selector-head strong,
[data-md-color-scheme="slate"] .ft-selector-card h3,
[data-md-color-scheme="slate"] .ft-selector-metrics dd { color: #fff7ed; }
[data-md-color-scheme="slate"] .ft-selector-head span,
[data-md-color-scheme="slate"] .ft-selector-field > span,
[data-md-color-scheme="slate"] .ft-selector-status,
[data-md-color-scheme="slate"] .ft-selector-identity,
[data-md-color-scheme="slate"] .ft-selector-description,
[data-md-color-scheme="slate"] .ft-selector-metrics dt { color: #d9c2b4; }
[data-md-color-scheme="slate"] .ft-selector-controls,
[data-md-color-scheme="slate"] .ft-selector-card { background: #251914; border-color: #533221; }
[data-md-color-scheme="slate"] .ft-selector-field input,
[data-md-color-scheme="slate"] .ft-selector-field select,
[data-md-color-scheme="slate"] .ft-selector-reset { color: #fff7ed; background: #1f1511; border-color: #69412b; }
[data-md-color-scheme="slate"] .ft-selector-metrics div { background: #352118; }
@media screen and (max-width: 90em) {
  .md-typeset .ft-route { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .md-typeset .ft-route::before { display: none; }
  .md-typeset .ft-route-step { min-height: 7.6rem; padding-top: 0.85rem; }
  .md-typeset .ft-route-number { margin-top: 0; }
}
@media screen and (max-width: 38em) {
  .md-typeset .ft-route { grid-template-columns: 1fr; gap: 0.62rem; }
  .md-typeset .ft-route-step { min-height: 0; flex-direction: row; align-items: flex-start; gap: 0.75rem; padding: 0.85rem; }
  .md-typeset .ft-route-number { flex: 0 0 2.1rem; width: 2.1rem; height: 2.1rem; margin: 0; border-width: 3px; }
  .md-typeset .ft-selector { padding: 0.75rem; }
  .md-typeset .ft-selector-head { align-items: stretch; flex-direction: column; }
  .md-typeset .ft-selector-reset { align-self: flex-start; }
  .md-typeset .ft-selector-controls { grid-template-columns: 1fr 1fr; padding: 0.7rem; }
  .md-typeset .ft-selector-search { grid-column: 1 / -1; }
  .md-typeset .ft-selector-results { grid-template-columns: 1fr; }
  .md-typeset .servo-catalog-grid { grid-template-columns: 1fr; }
}
/* Product selection: compact quick filters and a two-pane professional view. */
.md-typeset .ft-selector { padding: 1rem; scroll-margin-top: 4rem; background: var(--md-default-bg-color); }
.md-typeset .ft-selector-head { gap: 1rem; margin-bottom: .85rem; }
.md-typeset .ft-selector-head > .ft-selector-buttons { display: flex; flex-direction: row; align-items: center; gap: .4rem; flex-shrink: 0; }
.md-typeset .ft-selector-head strong { font-size: .9rem; }
.md-typeset .ft-selector-head span { font-size: .62rem; }
.md-typeset .ft-selector-reset { padding: .4rem .65rem; font-size: .62rem; white-space: nowrap; }
.md-typeset [data-action="advanced"] { border-color: var(--ft-orange); color: var(--ft-orange); }
.md-typeset .ft-selector [hidden] { display: none !important; }
.md-typeset .ft-selector-layout,.md-typeset .ft-selector-main { min-width: 0; }
.md-typeset .ft-selector-controls { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); align-items: end; gap: .65rem .8rem; padding: .8rem; border-radius: .6rem; }
.md-typeset .ft-selector-field { min-width: 0; gap: .25rem; }
.md-typeset .ft-selector-field > span { display: block; font-size: .6rem; line-height: 1.4; }
.md-typeset .ft-selector-field input,.md-typeset .ft-selector-field select { min-width: 0; height: 2rem; min-height: 2rem; padding: .35rem .5rem; font-size: .68rem; border-radius: .35rem; box-sizing: border-box; }
.md-typeset .ft-selector-toolbar { display: flex; align-items: center; justify-content: space-between; gap: .6rem; margin: .65rem 0; min-height: 1.6rem; }
.md-typeset .ft-selector-status { margin: 0; font-size: .62rem; }
.md-typeset .ft-selector-sort { display: flex; align-items: center; gap: .3rem; flex-shrink: 0; font-size: .58rem; }
.md-typeset .ft-selector-sort select { padding: .2rem .35rem; border: 1px solid #dfcbbd; border-radius: .35rem; background: var(--md-default-bg-color); color: var(--md-default-fg-color); font-size: .58rem; }
.md-typeset .ft-selector-results,.md-typeset .servo-catalog-grid { align-items: start; }
.md-typeset .is-professional .ft-selector-layout { display: grid; grid-template-columns: 13rem minmax(0,1fr); gap: .9rem; height: calc(100dvh - 10rem); min-height: 23rem; max-height: 44rem; }
.md-typeset .is-professional .ft-selector-main { display: grid; grid-template-rows: auto minmax(0,1fr); min-height: 0; }
.md-typeset .is-professional .ft-selector-toolbar { margin-top: 0; padding: .3rem .15rem .65rem; border-bottom: 1px solid var(--md-default-fg-color--lightest); }
.md-typeset .ft-selector-sidebar { overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-gutter: stable; padding: .75rem; border: 1px solid var(--md-default-fg-color--lightest); border-radius: .6rem; background: var(--md-default-bg-color); }
.md-typeset .ft-sidebar-heading { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: .65rem; font-size: .75rem; font-weight: 750; }
.md-typeset .ft-sidebar-heading small { font-size: .53rem; font-weight: 400; color: var(--md-default-fg-color--light); }
.md-typeset .is-professional .ft-results-scroll { min-height: 0; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-gutter: stable; padding: 0 .3rem .5rem .15rem; }
.md-typeset .ft-filter-group { min-width: 0; margin: .65rem 0 0; padding: .65rem 0 0; border: 0; border-top: 1px solid var(--md-default-fg-color--lightest); border-radius: 0; }
.md-typeset .ft-filter-group legend { float: left; width: 100%; margin-bottom: .4rem; padding: 0; font-size: .62rem; font-weight: 700; line-height: 1.5; }
.md-typeset .ft-filter-group legend + * { clear: both; }
.md-typeset .ft-filter-group legend small { font-size: .55rem; color: var(--md-default-fg-color--light); font-weight: 400; }
.md-typeset .ft-filter-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .3rem .45rem; }
.md-typeset .ft-filter-options label { display: flex; align-items: center; gap: .3rem; margin: 0; font-size: .57rem; line-height: 1.55; cursor: pointer; }
.md-typeset .ft-filter-options input { flex: 0 0 auto; accent-color: var(--ft-orange); width: .7rem; height: .7rem; margin: 0; }
.md-typeset [data-group="motor"],.md-typeset [data-group="case"] { grid-template-columns: 1fr; }
.md-typeset .ft-range-pair { display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); gap: .3rem; align-items: end; }
.md-typeset .ft-range-pair .ft-selector-field > span { color: var(--md-default-fg-color--light); font-size: .52rem; }
.md-typeset .ft-range-dash { align-self: end; line-height: 1.75rem; font-size: .6rem; color: var(--md-default-fg-color--light); }
.md-typeset .ft-selector-sidebar .ft-selector-field input { height: 1.75rem; min-height: 1.75rem; font-size: .62rem; }
.md-typeset .ft-range-sliders { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; }
.md-typeset .ft-filter-slider { display: block; width: 100%; min-width: 0; height: 1rem; margin: .3rem 0 0; padding: 0; accent-color: var(--ft-orange); background: transparent; cursor: pointer; }
.md-typeset .ft-limit-group .ft-selector-field > span { display: none; }
.md-typeset .ft-filter-note { font-size: .53rem; line-height: 1.6; color: var(--md-default-fg-color--light); margin-bottom: 0; }
.md-typeset .ft-selector :focus-visible { outline: 2px solid var(--ft-orange); outline-offset: 2px; }
/* An open specification panel occupies the card's interior, never a grid row. */
.md-typeset .ft-selector-card { position: relative; isolation: isolate; align-self: start; padding: .75rem; }
.md-typeset .ft-selector-card-top { flex-wrap: wrap; gap: .3rem; }
.md-typeset .ft-selector-card h3 { font-size: .78rem; }
.md-typeset .ft-product-image { position: relative; margin: 0 0 .65rem; border-radius: .5rem; background: #f7f8fa; overflow: hidden; }
.md-typeset .ft-product-image img { display: block; width: 100%; height: 8rem; object-fit: contain; padding: .4rem; }
.md-typeset .ft-product-image figcaption { position: absolute; bottom: .2rem; left: .4rem; font-size: .46rem; color: #636b75; font-style: normal; }
.md-typeset .ft-model-main-image { display: block; max-height: 20rem; margin: 1rem auto; }
.md-typeset .ft-model-drawing { display: block; width: auto; max-width: 100%; max-height: 30rem; object-fit: contain; margin: 1rem auto; background: #fff; border: 1px solid var(--md-default-fg-color--lightest); border-radius: .5rem; padding: .75rem; }
.md-typeset .ft-selector-metrics { grid-template-columns: 1fr; gap: .2rem; margin-top: .55rem; }
.md-typeset .ft-selector-metrics > div { display: flex; align-items: baseline; justify-content: space-between; gap: .4rem; padding: .28rem .4rem; }
.md-typeset .ft-selector-metrics dd { margin: 0; font-size: .62rem; text-align: right; overflow-wrap: anywhere; }
.md-typeset .ft-selector-actions { margin-top: 0; }
.md-typeset .ft-card-details { position: static; margin: .5rem 0 .6rem; border: 0; box-shadow: none; padding: 0; background: transparent; overflow: visible; }
.md-typeset .ft-card-details summary { position: relative; z-index: 3; padding: .3rem .45rem; margin: 0; background: var(--ft-soft); color: var(--md-default-fg-color); font-size: .58rem; border-radius: .35rem; cursor: pointer; }
.md-typeset .ft-card-details summary::before,.md-typeset .ft-card-details summary::after { display: none; }
.md-typeset .ft-card-popover { position: absolute; z-index: 2; inset: .5rem .5rem 4.6rem; padding: .65rem; overflow: auto; overscroll-behavior: contain; scrollbar-width: thin; border: 1px solid #f0ccad; border-radius: .5rem; background: var(--md-default-bg-color); box-shadow: 0 4px 16px #35231814; }
.md-typeset .ft-card-popover-title { display: block; padding-bottom: .35rem; font-size: .73rem; }
.md-typeset .ft-card-popover dl { margin: 0; }
.md-typeset .ft-card-popover dl div { display: grid; grid-template-columns: auto minmax(0,1fr); align-items: baseline; gap: .5rem; padding: .22rem 0; border-bottom: 1px solid var(--md-default-fg-color--lightest); font-size: .54rem; }
.md-typeset .ft-card-popover dt { color: var(--md-default-fg-color--light); }
.md-typeset .ft-card-popover dd { margin: 0; text-align: right; overflow-wrap: anywhere; }
[data-md-color-scheme="slate"] .md-typeset .ft-selector { background: #211b18; }
[data-md-color-scheme="slate"] .ft-card-details summary { background: #352118; }
[data-md-color-scheme="slate"] .ft-card-popover { border-color: #69412b; }
@media (max-width: 1000px) {
  .md-typeset .is-professional .ft-selector-layout { grid-template-columns: 11.5rem minmax(0,1fr); }
}
@media (max-width: 760px) {
  .md-typeset .ft-selector { padding: .65rem; }
  .md-typeset .ft-selector-controls { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .md-typeset .is-professional .ft-selector-results { grid-template-columns: 1fr; }
  .md-typeset .ft-selector-head { flex-direction: column; align-items: stretch; gap: .5rem; }
  .md-typeset .ft-selector-toolbar { flex-wrap: wrap; }
}
@media (max-width: 540px) {
  .md-typeset .is-professional .ft-selector-layout { grid-template-columns: 1fr; grid-template-rows: minmax(8rem, .8fr) minmax(13rem, 1.2fr); gap: .55rem; height: calc(100dvh - 12rem); min-height: 24rem; max-height: none; }
  .md-typeset .ft-selector-sidebar { padding: .55rem; }
  .md-typeset .ft-selector-results,.md-typeset .servo-catalog-grid { grid-template-columns: 1fr; }
  .md-typeset .ft-selector-head strong { font-size: .8rem; }
  .md-typeset .ft-selector-controls { padding: .55rem; gap: .5rem; }
}
@media (prefers-reduced-motion:reduce) { .ft-selector-card { transition: none; } }
/* Compact cards: square product image beside three primary metrics. */
.md-typeset .ft-selector-card {
  display: grid;
  grid-template-columns: minmax(0, 34%) minmax(0, 1fr);
  grid-template-areas: "heading heading" "image metrics" "more action";
  align-items: center;
  gap: .45rem .55rem;
  padding: .6rem;
  border-radius: .6rem;
}
.md-typeset .ft-selector-card-top { grid-area: heading; align-items: center; gap: .3rem; }
.md-typeset .ft-selector-card h3 { font-size: .72rem; line-height: 1.3; }
.md-typeset .ft-selector-badges { gap: .18rem; }
.md-typeset .ft-selector-badges span { padding: .1rem .3rem; font-size: .48rem; }
.md-typeset .ft-product-image { grid-area: image; align-self: center; margin: 0; background: #fff; border-radius: .35rem; }
.md-typeset .ft-product-image img { width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; padding: 0; }
.md-typeset .ft-product-image figcaption { position: static; margin: 0; padding: .1rem 0 0; color: #6c7178; font-size: .42rem; line-height: 1.3; text-align: center; }
.md-typeset .ft-product-image figcaption:empty { display: none; }
.md-typeset .ft-selector-metrics { grid-area: metrics; display: grid; gap: .25rem; margin: 0; }
.md-typeset .ft-selector-metrics > div { display: block; padding: 0 0 .22rem; border-radius: 0; border-bottom: 1px solid var(--md-default-fg-color--lightest); background: transparent; }
.md-typeset .ft-selector-metrics > div:last-child { border-bottom: 0; padding-bottom: 0; }
.md-typeset .ft-selector-metrics dt { font-size: .49rem; line-height: 1.35; }
.md-typeset .ft-selector-metrics dd { margin: .06rem 0 0; font-size: .6rem; line-height: 1.35; text-align: left; }
.md-typeset .ft-card-details { grid-area: more; align-self: stretch; display: flex; align-items: center; margin: 0; }
.md-typeset .ft-card-details summary { width: 100%; padding: .27rem .25rem; font-size: .53rem; line-height: 1.4; text-align: center; white-space: nowrap; }
.md-typeset .ft-selector-actions { grid-area: action; justify-content: flex-end; margin: 0; }
.md-typeset .ft-selector-actions .ft-selector-detail { padding: .27rem .5rem; font-size: .53rem; line-height: 1.4; }
.md-typeset .ft-card-popover { inset: .35rem .35rem 2.25rem; padding: .45rem; }
.md-typeset .ft-card-popover-title { font-size: .65rem; padding-bottom: .2rem; }
.md-typeset .ft-card-popover dl div { padding: .15rem 0; font-size: .51rem; line-height: 1.45; }
.md-typeset .servo-catalog-card .ft-selector-identity,.md-typeset .servo-catalog-card .ft-selector-description { display: none; }
[data-md-color-scheme="slate"] .md-typeset .ft-selector-metrics > div { background: transparent; }
@media (max-width: 540px) {
  .md-typeset .ft-selector-card { grid-template-columns: minmax(0, 32%) minmax(0, 1fr); }
}
/* Keep the horizontal brand mark proportional in the header and mobile drawer. */
.md-header .md-logo img, .md-nav__title .md-logo img { width: 6.2rem; height: 1.65rem; object-fit: contain; }
.md-header .md-logo { margin-right: .25rem; }
/* Desktop quick view lives in the top layer, outside scrolling card grids. */
.md-typeset .ft-card-preview-button { width:100%; padding:.27rem .25rem; border:0; border-radius:.35rem; color:var(--md-default-fg-color); background:var(--ft-soft); font:inherit; font-size:.53rem; cursor:pointer; }
.ft-product-preview.md-typeset { position:fixed; inset:auto; margin:0; box-sizing:border-box; max-height:calc(100dvh - 80px); overflow:auto; padding:18px; border:1px solid var(--md-default-fg-color--lightest); border-radius:16px; background:var(--md-default-bg-color); color:var(--md-default-fg-color); box-shadow:0 12px 50px #1e243433; font-size:13px; }
.ft-product-preview .ft-preview-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; font-size:17px; }
.ft-product-preview .ft-preview-close { width:28px; height:28px; border-radius:50%; border:0; background:var(--md-default-fg-color--lightest); font-size:23px; line-height:1; cursor:pointer; }
.ft-product-preview .ft-preview-media { display:grid; grid-template-columns:1fr 1.55fr; gap:12px; }
.ft-product-preview .ft-preview-media figure { margin:0; min-width:0; }
.ft-product-preview .ft-preview-media a { display:block; border:1px solid #eceef1; border-radius:8px; background:#fff; overflow:hidden; }
.ft-product-preview .ft-preview-media img { display:block; width:100%; height:170px; object-fit:contain; }
.ft-product-preview .ft-preview-media figcaption { margin:5px 0 12px; font-size:10px; font-style:normal; color:var(--md-default-fg-color--light); text-align:center; }
.ft-product-preview .ft-preview-specs { display:grid; grid-template-columns:1fr 1fr; gap:0 18px; margin:0; }
.ft-product-preview .ft-preview-specs > div { padding:7px 0; border-bottom:1px solid var(--md-default-fg-color--lightest); }
.ft-product-preview .ft-preview-specs dt { font-size:11px; color:var(--md-default-fg-color--light); }
.ft-product-preview .ft-preview-specs dd { margin:2px 0 0; font-size:12px; font-weight:600; }
.ft-product-preview .ft-preview-note { margin:12px 0 0; font-size:11px; color:var(--md-default-fg-color--light); }
@media (max-width:899px), (hover:none), (pointer:coarse) {
  .md-typeset .ft-card-details { display:none; }
  .ft-product-preview { display:none !important; }
  .md-typeset .ft-selector-card { cursor:pointer; }
}
@media (max-width: 76.234375em) {
  .md-header .md-logo { display: block; }
  .md-header .md-logo img { width: 5rem; height: 1.5rem; }
  .md-header__title { margin-left: .3rem; }
}
@media (max-width: 480px) {
  .md-header__title { visibility: hidden; margin: 0; }
}

/* 侧边栏顶级导航项加粗（首页/产品选型/开始使用/程序开发/结构装配/协议参数/故障排查/资料下载），
   直接子代选择器只作用于第一层，不影响展开后的二级、三级条目 */
.md-nav--primary > .md-nav__list > .md-nav__item > .md-nav__link {
  font-weight: 700;
}
