/* Site chrome only. Keep .fpds and .fpm-* component styles independent. */
.fpds .fpx-header { position: sticky; top: 0; z-index: 1000; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1rem 2rem; padding: 1rem 5%; border-bottom: 1px solid #d5e2f5; background: rgba(255,255,255,.97); box-shadow: 0 4px 24px #0066ff12; backdrop-filter: blur(20px); }
.fpds .fpx-logo { display: inline-flex; gap: .8rem; align-items: center; max-width: 100%; color: #1a1a2e; text-decoration: none; }
.fpds .fpx-logo svg { width: 48px; height: 48px; flex: 0 0 48px; filter: drop-shadow(0 4px 12px #0066ff30); }
.fpds .fpx-logo-text { font-family: Outfit, system-ui, sans-serif; font-size: 1.4rem; line-height: 1.3; font-weight: 700; letter-spacing: .5px; background: linear-gradient(135deg,#0066ff,#7fd300); background-clip: text; -webkit-text-fill-color: transparent; }
.fpds .fpx-nav ul { display: flex; flex-wrap: wrap; gap: .25rem 2.5rem; list-style: none; margin: 0; padding: 0; }
.fpds .fpx-nav a { display: inline-flex; align-items: center; min-height: 44px; color: #505f74; font-size: .95rem; font-weight: 500; text-decoration: none; text-underline-offset: .35em; }
.fpds .fpx-nav a:hover { color: #0052cc; text-decoration: underline; }
.fpds .fpx-footer { background: #1a1a2e; padding: 3rem 5%; border-top: 2px solid #0066ff33; }
.fpds .fpx-footer-inner { max-width: 1400px; margin: 0 auto; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 2rem; }
.fpds .fpx-footer p { margin: 0; color: #c7c7d1; font-size: .9rem; }
.fpds .fpx-footer .fpx-logo-text { font-size: 1.5rem; }
.fpds .fpx-footer a:not(.fpx-logo) { color: #c7ddff; }
.fpds .fp-skip { z-index: 1100; }
.fpds :where([id]) { scroll-margin-top: 8rem; }
.fpds .fpx-breadcrumb { margin-top: 2rem; font-size: .875rem; }
.fpds .fpx-doc { max-width: 56rem; padding-block: 2rem 4rem; overflow-wrap: anywhere; }
.fpds .fpx-doc h1 { font-size: clamp(1.75rem,4vw,2.5rem); }
.fpds .fpx-doc h2 { margin-top: 2.5rem; }
.fpds .fpx-doc h3 { margin-top: 1.75rem; }
.fpds .fpx-doc li { margin-block: .5rem; }
.fpds .fpx-doc pre { overflow-x: auto; padding: 1rem; background: #f5f7fa; border: 1px solid #d5d9e0; border-radius: 8px; }
.fpds .fpx-doc code { overflow-wrap: anywhere; }
.fpds .fpx-doc .fpx-table-scroll { overflow-x: auto; margin-block: 1.5rem; }
.fpds .fpx-doc table { border-collapse: collapse; min-width: 100%; font-size: .875rem; }
.fpds .fpx-doc td,.fpds .fpx-doc th { min-width: 8rem; padding: .75rem; text-align: left; vertical-align: top; border: 1px solid #d5d9e0; }
.fpds .fpx-doc th { background: #f5f7fa; }
.fpds .fpx-demo-fields { border: 0; padding: 0; margin: 0; min-width: 0; }
@media (max-width: 768px) {
  .fpds .fpx-header { position: static; gap: .75rem; }
  .fpds .fpx-nav { width: 100%; }
  .fpds .fpx-nav ul { gap: .25rem 1rem; }
  .fpds :where([id]) { scroll-margin-top: 1rem; }
}
@media (prefers-reduced-transparency: reduce), (prefers-contrast: more) {
  .fpds .fpx-header { background: #fff; backdrop-filter: none; }
}
@media (forced-colors: active) {
  .fpds .fpx-logo-text { background: none; -webkit-text-fill-color: LinkText; color: LinkText; }
}
