/* Behavioral repairs only; original fonts, palette, assets and layout retained. */
.fb-standalone-home { position:absolute;top:1.5rem;left:2rem;z-index:50;font-size:14px }
.fb-standalone-languages { position:absolute;top:1.5rem;right:2rem;z-index:50;display:flex;gap:1rem;font-size:12px }
.fb-embedded .fb-standalone-home,.fb-embedded .fb-standalone-languages { display:none }
[data-price-note] { margin-top:1.5rem;font-size:11px;line-height:1.6;color:var(--ink-60);max-width:60rem }
[role="tab"][aria-selected="true"] { color:var(--paper);box-shadow:inset 0 -1.5px var(--peri) }
[role="tab"][aria-selected="false"] { color:rgb(244 243 240 / .6) }
[data-section][aria-current="true"] > span { width:1.75rem;background:var(--peri) }
[data-section][aria-current="false"] > span { width:1rem;background:var(--hairline) }
[data-code] { display:block;min-height:10.5em }
.fb-discount-lockup [data-field="discountValue"] { white-space:nowrap }
/* A sparse provider strip leaves a gap in the loop. Omit the entire section
   until the current, un-repeated logos cover its viewport. Hidden by default
   also keeps the initial HTML and no-JavaScript layout free of an empty band. */
#providers:not([data-providers-visible]) { display:none }
#providers .marquee-track > div { flex-shrink:0 }
#providers:not([data-providers-visible]) + #unified { padding-top:4rem }
#developers .container-site > * { min-width:0 }
@media (min-width:768px) {
  #providers:not([data-providers-visible]) + #unified { padding-top:6rem }
}
@media (max-width:639px) { .fb-standalone-home {left:1rem}.fb-standalone-languages {right:1rem} }

/* Use the original motion curve and reveal structure, with bounded staggering. */
.js [data-reveal] { transition-delay:min(var(--reveal-delay, 0ms), 180ms) }
.js [data-reveal]:focus-within { opacity:1;transform:none;transition:none }
.fb-tab-indicator {
  position:absolute;left:0;bottom:0;width:1px;height:1.5px;
  background:var(--peri);transform-origin:left center;
  transition:transform 200ms var(--ease);pointer-events:none;
}
.fb-tabs-ready [role="tab"][aria-selected="true"] { box-shadow:none }
#code-panel { animation:none }
[data-copy] { min-width:6rem;transition:color 160ms var(--ease),transform 160ms var(--ease) }
[data-copy][data-copy-state="copied"] { color:var(--peri-on-ink) }
[data-copy]:active { transform:scale(.97) }
[data-section] > span { width:1.75rem;transform-origin:right center;transition:transform 200ms var(--ease),background-color 160ms var(--ease) }
[data-section][aria-current="false"] > span { width:1.75rem;transform:scaleX(.5714) }
[data-section][aria-current="true"] > span { transform:scaleX(1) }
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  [data-model-index] { transition:transform 160ms var(--ease),border-color 160ms var(--ease) }
  [data-model-index]:hover { transform:translateY(-2px) }
}
@media (max-width:767px) {
  .js [data-reveal] { transition-duration:500ms;transition-delay:min(var(--reveal-delay, 0ms), 80ms) }
}
@media (min-width:768px) and (min-height:650px) and (prefers-reduced-motion:no-preference) {
  #infrastructure[data-stack-ready] [data-stack-card] { position:sticky;top:0 }
  #infrastructure[data-stack-ready] [data-stack-card] + [data-stack-card] { border-top:1px solid rgb(244 243 240 / .08) }
  @supports (animation-timeline:view()) {
    #infrastructure[data-stack-ready] { timeline-scope:--fb-stack-second,--fb-stack-third }
    #infrastructure [data-stack-card]:nth-child(2) { view-timeline:--fb-stack-second block }
    #infrastructure [data-stack-card]:nth-child(3) { view-timeline:--fb-stack-third block }
    #infrastructure[data-stack-ready] [data-stack-card]:not(:last-child) > .container-site {
      animation:fb-stack-recede linear both;
      animation-timeline:--fb-stack-second;animation-range:entry 0% entry 100%;
    }
    #infrastructure[data-stack-ready] [data-stack-card]:nth-child(2) > .container-site { animation-timeline:--fb-stack-third }
  }
}
@keyframes fb-stack-recede {
  from { transform:none;opacity:1 }
  to { transform:translateY(-24px) scale(.97);opacity:.5 }
}
@media (prefers-reduced-motion:reduce) {
  [data-reveal] { opacity:1 !important;transform:none !important;transition:none !important }
  .fb-tab-indicator,[data-section] > span { transition:none }
  [data-copy]:active { transform:none }
  [data-copy] { transition:color 140ms var(--ease) !important }
}
.fb-developer-guides { display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;margin-top:1.25rem;font-size:13px;line-height:1.7 }
