/* The measured FreeLLM primary rail, shared across every page. */
:root {
  --rail-i-home: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.2 10.9 12 4.4l7.8 6.5'/%3E%3Cpath d='M6.1 9.4v9.2a1.9 1.9 0 0 0 1.9 1.9h8a1.9 1.9 0 0 0 1.9-1.9V9.4'/%3E%3Cpath d='M9.9 20.4v-3.9a2.1 2.1 0 0 1 4.2 0v3.9'/%3E%3C/svg%3E");
  --rail-i-models: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 3a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3H6a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3V6a3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3h12a3 3 0 0 0 3-3 3 3 0 0 0-3-3z'/%3E%3C/svg%3E");
  --rail-i-skills: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z'/%3E%3Cpath d='M3.3 7 12 12l8.7-5M12 22V12'/%3E%3C/svg%3E");
  --rail-i-prompts: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 11.5a7.5 7.5 0 0 1-7.5 7.5H6l-3 2v-6.5A7.5 7.5 0 1 1 20 11.5Z'/%3E%3Cpath d='M8 10h8M8 14h5'/%3E%3C/svg%3E");
  --rail-i-public-api: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20.5 4.1 13A5.3 5.3 0 0 1 11.6 5.5L12 6l.4-.5a5.3 5.3 0 0 1 7.5 7.5L12 20.5Z'/%3E%3Cpath d='M7.5 12h3l1.4-2.4 2.1 4.8 1.2-2.4h1.3'/%3E%3C/svg%3E");
  --rail-i-tools: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='7.6' width='16' height='12.8' rx='2.7'/%3E%3Cpath d='M9.5 7.6V6.3a2.5 2.5 0 0 1 5 0v1.3M4.7 13.3c2.2 1.9 12.4 1.9 14.6 0'/%3E%3C/svg%3E");
  --rail-i-workflow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8.2'/%3E%3Cpath d='m9 15 6-6m0 0h-3m3 0v3'/%3E%3C/svg%3E");
  --rail-i-logs: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8.6'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E");
  --rail-i-about: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8.6'/%3E%3Cpath d='M12 11.3v4.9M12 7.7h.01' stroke-width='2.5'/%3E%3C/svg%3E");
  --rail-i-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9.5 5.5 6.5 6.5-6.5 6.5'/%3E%3C/svg%3E");
  --rail-i-sun: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='4.1' fill='black' stroke='none'/%3E%3Cpath d='M12 2.2v2.3M12 19.5v2.3M2.2 12h2.3M19.5 12h2.3M4.9 4.9l1.6 1.6M17.5 17.5l1.6 1.6M19.1 4.9l-1.6 1.6M6.5 17.5l-1.6-1.6'/%3E%3C/svg%3E");
  --rail-i-moon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.4 13.2A8.4 8.4 0 1 1 10.8 3.6a6.9 6.9 0 0 0 9.6 9.6z'/%3E%3C/svg%3E");
}

body[data-fl-section] {
  --fl-menu-rail-width: clamp(116px, 13.5vw, 188px) !important;
  --fl-reference-rail: var(--fl-menu-rail-width) !important;
  --ml-rail: var(--fl-menu-rail-width) !important;
  --prototype-rail: var(--fl-menu-rail-width) !important;
}

#fl-shared-site-menu {
  position: fixed !important; inset: 0 auto 0 0 !important; z-index: 80 !important;
  box-sizing: border-box !important; display: flex !important; flex-direction: column !important;
  align-items: stretch !important; width: var(--fl-menu-rail-width) !important; height: 100vh !important;
  min-height: 0 !important; margin: 0 !important; padding: clamp(8px, 1vw, 14px) !important;
  overflow: hidden !important; border: 0 !important; border-radius: 0 !important;
  background: radial-gradient(circle at 45% 34%, rgba(43,128,246,.12), transparent 34%), linear-gradient(180deg,#081124 0%,#081530 40%,#0a1c3d 58%,#0b2148 100%) !important;
  box-shadow: 10px 0 36px rgba(16,50,91,.08) !important;
  color: #d9e7fb !important; font-family: Inter,"PingFang SC","Microsoft YaHei",sans-serif !important;
}

#fl-shared-site-menu::before { content: none !important; display: none !important; }
#fl-shared-site-menu::after {
  content: "" !important; position: absolute !important; inset: auto 0 0 !important; z-index: 0 !important;
  display: block !important; width: 100% !important; height: clamp(220px,50vh,460px) !important;
  background: url("../assets/reference/rail-bottom.png") center bottom / 100% 100% no-repeat !important;
  clip-path: none !important; opacity: 1 !important; transform: none !important; filter: none !important; pointer-events: none !important;
}

#fl-shared-site-menu > .fl-site-brand {
  position: relative !important; z-index: 2 !important; box-sizing: border-box !important;
  display: flex !important; flex: none !important; align-items: center !important; gap: clamp(5px,.7vw,10px) !important;
  min-width: 0 !important; min-height: clamp(32px,4.4vw,56px) !important; margin: 0 0 clamp(8px,1.2vw,16px) !important;
  padding: 0 4px clamp(7px,1vw,14px) !important; border: 0 !important; border-bottom: 1px solid rgba(255,255,255,.13) !important;
  border-radius: 0 !important; background: transparent !important; color: #fff !important; text-decoration: none !important;
}
#fl-shared-site-menu .fl-site-brand-mark {
  box-sizing: border-box !important; flex: 0 0 clamp(24px,3vw,42px) !important;
  width: clamp(24px,3vw,42px) !important; height: clamp(24px,3vw,42px) !important;
  padding: 0 !important; overflow: hidden !important; border: 0 !important; border-radius: 50% !important;
  background: url("../assets/reference/rail-brand.png") center / cover no-repeat !important;
  box-shadow: none !important; clip-path: none !important; color: transparent !important; font-size: 0 !important;
}
#fl-shared-site-menu .fl-site-brand-copy { display: grid !important; min-width: 0 !important; background: transparent !important; }
#fl-shared-site-menu .fl-site-brand-copy strong { display: block !important; color: #fff !important; font-size: clamp(12px,1.45vw,20px) !important; font-weight: 800 !important; line-height: 1 !important; letter-spacing: -.01em !important; white-space: nowrap !important; }
#fl-shared-site-menu .fl-site-brand-copy small { display: block !important; margin-top: 3px !important; color: #a8c3e7 !important; font-size: clamp(7px,.72vw,10px) !important; line-height: 1.1 !important; letter-spacing: .01em !important; white-space: nowrap !important; }

#fl-shared-site-menu > .fl-site-nav {
  position: relative !important; z-index: 2 !important; box-sizing: border-box !important;
  display: flex !important; flex: 0 0 auto !important; flex-direction: column !important;
  gap: clamp(4px,.75vw,11px) !important; min-width: 0 !important; margin: 0 !important; padding: 0 !important; overflow: visible !important;
}
#fl-shared-site-menu .fl-site-nav > a {
  position: relative !important; box-sizing: border-box !important; display: flex !important; align-items: center !important;
  justify-content: flex-start !important; flex: none !important; width: 100% !important; min-width: 0 !important;
  height: clamp(28px,3.3vw,42px) !important; min-height: clamp(28px,3.3vw,42px) !important;
  margin: 0 !important; padding: 0 clamp(7px,1vw,10px) 0 clamp(10px,1.45vw,21px) !important;
  gap: clamp(7px,1vw,14px) !important; border: 1px solid transparent !important; border-radius: 10px !important;
  background: transparent !important; box-shadow: none !important; color: #d9e7fb !important;
  font-size: clamp(10px,.95vw,15px) !important; font-weight: 600 !important; line-height: 1 !important;
  letter-spacing: .01em !important; text-decoration: none !important; white-space: nowrap !important; transform: none !important;
}
#fl-shared-site-menu .fl-site-nav > a:hover { background: rgba(255,255,255,.06) !important; color: #fff !important; }
#fl-shared-site-menu .fl-site-nav-icon {
  box-sizing: border-box !important; display: block !important; flex: 0 0 clamp(15px,1.5vw,20px) !important;
  width: clamp(15px,1.5vw,20px) !important; height: clamp(15px,1.5vw,20px) !important;
  margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important;
  background-color: #d3e3fa !important; box-shadow: none !important; color: transparent !important;
  font-size: 0 !important; line-height: 1 !important; -webkit-mask: var(--fl-menu-icon,none) center / contain no-repeat !important;
  mask: var(--fl-menu-icon,none) center / contain no-repeat !important;
}
#fl-shared-site-menu .fl-site-nav > a[data-site-nav="home"] { --fl-menu-icon: var(--rail-i-home); }
#fl-shared-site-menu .fl-site-nav > a[data-site-nav="models"] { --fl-menu-icon: var(--rail-i-models); }
#fl-shared-site-menu .fl-site-nav > a[data-site-nav="skills"] { --fl-menu-icon: var(--rail-i-skills); }
#fl-shared-site-menu .fl-site-nav > a[data-site-nav="prompts"] { --fl-menu-icon: var(--rail-i-prompts); }
#fl-shared-site-menu .fl-site-nav > a[data-site-nav="public-api"] { --fl-menu-icon: var(--rail-i-public-api); }
#fl-shared-site-menu .fl-site-nav > a[data-site-nav="tools"] { --fl-menu-icon: var(--rail-i-tools); }
#fl-shared-site-menu .fl-site-nav > a[data-site-nav="workflow"] { --fl-menu-icon: var(--rail-i-workflow); }
#fl-shared-site-menu .fl-site-nav > a[data-site-nav="logs"] { --fl-menu-icon: var(--rail-i-logs); }
#fl-shared-site-menu .fl-site-nav > a[data-site-nav="about"] { --fl-menu-icon: var(--rail-i-about); }
#fl-shared-site-menu .fl-site-nav > a[aria-current="page"] { background: linear-gradient(90deg,#1e52b9 0%,#16347e 55%,#0d1e41 100%) !important; box-shadow: inset 0 1px 0 rgba(255,255,255,.12),0 8px 18px rgba(3,74,174,.28) !important; color: #fff !important; }
#fl-shared-site-menu .fl-site-nav > a[aria-current="page"] .fl-site-nav-icon { background-color: #fff !important; }
#fl-shared-site-menu .fl-site-nav > a[aria-current="page"]::before { content: "" !important; position: absolute !important; top: 1px !important; bottom: 1px !important; left: calc(-1 * clamp(8px,1vw,14px)) !important; width: 4px !important; border-radius: 0 4px 4px 0 !important; background: linear-gradient(180deg,#2f80f4,#1c56c9) !important; }
#fl-shared-site-menu .fl-site-nav > a[aria-current="page"]::after { content: "" !important; position: absolute !important; top: 50% !important; right: 10px !important; width: 8px !important; height: 13px !important; margin-top: -6.5px !important; background-color: #fff !important; -webkit-mask: var(--rail-i-chevron) center / contain no-repeat !important; mask: var(--rail-i-chevron) center / contain no-repeat !important; }
#fl-shared-site-menu .fl-site-nav > a[data-site-nav="logs"]:not([aria-current="page"]) > span:last-child { position: relative !important; }
#fl-shared-site-menu .fl-site-nav > a[data-site-nav="logs"][data-has-update="true"]:not([aria-current="page"]) > span:last-child::after { content: "" !important; position: absolute !important; top: -2px !important; right: -10px !important; width: 7px !important; height: 7px !important; border-radius: 50% !important; background: #ff4c58 !important; }
#fl-shared-site-menu .fl-site-rail-note { display: none !important; }

#fl-shared-site-menu .fl-site-theme-toggle {
  position: relative !important; inset: auto !important; top: auto !important; right: auto !important; bottom: auto !important; left: auto !important;
  z-index: 2 !important; order: 3 !important; display: flex !important; flex: none !important; align-items: center !important;
  width: clamp(76px,9vw,122px) !important; height: clamp(30px,3.8vw,48px) !important;
  margin: clamp(28px,5vw,52px) 0 0 clamp(8px,1.4vw,20px) !important; padding: 4px !important; gap: 0 !important;
  border: 1px solid rgba(146,180,224,.16) !important; border-radius: 24px !important; background: rgba(24,44,78,.62) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.02) !important; cursor: pointer !important;
}
#fl-shared-site-menu .fl-site-theme-toggle > span { position: relative !important; box-sizing: border-box !important; display: block !important; flex: 1 1 auto !important; min-width: 0 !important; height: 100% !important; border: 0 !important; border-radius: 19px !important; background: transparent !important; box-shadow: none !important; color: transparent !important; font-size: 0 !important; }
#fl-shared-site-menu .fl-site-theme-toggle .fl-theme-sun { flex: 0 0 54% !important; order: -1 !important; background: linear-gradient(180deg,#97abd0 0%,#5e739c 100%) !important; box-shadow: 0 4px 10px rgba(9,27,58,.45) !important; }
#fl-shared-site-menu .fl-site-theme-toggle span::after { content: "" !important; position: absolute !important; top: 50% !important; left: 50% !important; width: 18px !important; height: 18px !important; margin: -9px 0 0 -9px !important; background-color: #e8f0fc !important; -webkit-mask: var(--fl-theme-icon) center / contain no-repeat !important; mask: var(--fl-theme-icon) center / contain no-repeat !important; }
#fl-shared-site-menu .fl-site-theme-toggle .fl-theme-sun::after { background-color: #fff !important; -webkit-mask: var(--rail-i-sun) center / contain no-repeat !important; mask: var(--rail-i-sun) center / contain no-repeat !important; }
#fl-shared-site-menu .fl-site-theme-toggle .fl-theme-moon { --fl-theme-icon: var(--rail-i-moon); }
#fl-shared-site-menu .fl-site-theme-toggle .fl-theme-label { display: none !important; }

/* Workflow's reference board hid live labels because its sidebar artwork
   contained a baked-in menu. The shared rail uses a different background,
   so keep the actual brand and navigation visible on this page. */
@media (min-width: 1201px) {
  html body[data-reference-style="v1"][data-fl-section="workflow"] #fl-shared-site-menu::after {
    display: none !important;
  }
  html body[data-reference-style="v1"][data-fl-section="workflow"] #fl-shared-site-menu .fl-site-nav > a {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    height: clamp(28px, 3.3vw, 42px) !important;
    min-height: clamp(28px, 3.3vw, 42px) !important;
    margin: 0 !important;
  }
  html body[data-reference-style="v1"][data-fl-section="workflow"] #fl-shared-site-menu .fl-site-brand > *,
  html body[data-reference-style="v1"][data-fl-section="workflow"] #fl-shared-site-menu .fl-site-nav > a > * {
    opacity: 1 !important;
  }
}

/* The prototype uses the same compact global search on every primary page. */
html body[data-reference-style="v1"][data-fl-section]:is([data-fl-section]) .ref-topbar.ref-topbar {
  position: fixed !important;
  z-index: 90 !important;
  top: 6px !important;
  right: 16px !important;
  left: calc(var(--fl-menu-rail-width) + 24px) !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  height: 29px !important;
  min-height: 29px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

html body[data-reference-style="v1"][data-fl-section]:is([data-fl-section]) .ref-search.ref-search {
  box-sizing: border-box !important;
  display: flex !important;
  flex: 1 1 0 !important;
  align-items: center !important;
  gap: 6px !important;
  width: auto !important;
  max-width: 450px !important;
  min-width: 0 !important;
  height: 25px !important;
  margin: 0 !important;
  padding: 0 8px !important;
  border: 1px solid #d8e5f8 !important;
  border-radius: 14px !important;
  background: rgba(255,255,255,.84) !important;
  box-shadow: none !important;
  color: #31496e !important;
}

html body[data-reference-style="v1"][data-fl-section]:is([data-fl-section]) .ref-search.ref-search > span {
  box-sizing: border-box !important;
  display: inline-flex !important;
  flex: 0 0 14px !important;
  align-items: center !important;
  justify-content: center !important;
  width: 14px !important;
  height: 14px !important;
  margin: 0 !important;
  color: #5876a1 !important;
  font-size: 14px !important;
  line-height: 1 !important;
}

html body[data-reference-style="v1"][data-fl-section]:is([data-fl-section]) .ref-search.ref-search > span svg {
  display: block !important;
  width: 14px !important;
  height: 14px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.8 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

html body[data-reference-style="v1"][data-fl-section]:is([data-fl-section]) .ref-search.ref-search input {
  box-sizing: border-box !important;
  flex: 1 1 auto !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  color: #31496e !important;
  font: inherit !important;
  font-size: 9px !important;
  line-height: 1.2 !important;
}

html body[data-reference-style="v1"][data-fl-section]:is([data-fl-section]) .ref-search.ref-search input::placeholder {
  color: #7186aa !important;
  opacity: 1 !important;
}

html body[data-reference-style="v1"][data-fl-section]:is([data-fl-section]) .ref-search.ref-search kbd {
  box-sizing: border-box !important;
  display: inline-flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 0 !important;
  height: 16px !important;
  margin: 0 0 0 auto !important;
  padding: 0 5px !important;
  border: 1px solid #d8e4f2 !important;
  border-radius: 8px !important;
  background: rgba(255,255,255,.92) !important;
  color: #56739f !important;
  font-family: inherit !important;
  font-size: 8px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

html body[data-reference-style="v1"][data-fl-section]:is([data-fl-section]) .ref-top-actions.ref-top-actions {
  flex: 0 0 auto !important;
  margin-left: auto !important;
}

body[data-fl-section="skills"] .skills-page { width: calc(100% - var(--fl-menu-rail-width)) !important; margin-left: var(--fl-menu-rail-width) !important; }
body[data-fl-section="skills"] .ref-topbar { left: var(--fl-menu-rail-width) !important; }

/* Keep standalone model, provider and offer detail pages clear of the fixed rail.
   The model-library overview owns its own rail-aware grid, so leave it untouched. */
@media (min-width: 601px) {
  /* Pages that do not use the shared model-library shell still need an
     explicit content column beside the fixed rail at narrow desktop widths. */
  body[data-fl-section="logs"] > .daily-log-dashboard {
    box-sizing: border-box !important;
    width: calc(100% - var(--fl-menu-rail-width)) !important;
    max-width: none !important;
    margin: 0 0 0 var(--fl-menu-rail-width) !important;
  }
  body[data-fl-section="about"] > main {
    position: relative !important;
    left: 0 !important;
    box-sizing: border-box !important;
    width: calc(100% - var(--fl-menu-rail-width) - 36px) !important;
    max-width: none !important;
    margin-left: calc(var(--fl-menu-rail-width) + 18px) !important;
    margin-right: 18px !important;
  }
  body[data-fl-section="about"] > .prototype-footer {
    width: calc(100% - var(--fl-menu-rail-width)) !important;
    max-width: none !important;
  }
  body[data-fl-section="models"]:not(.fl-ui-v2):not(.model-center-page):not([data-provider-directory]) > .model-section-tabs,
  body[data-fl-section="models"]:not(.fl-ui-v2):not(.model-center-page):not([data-provider-directory]) > header:not(.models-overview),
  body[data-fl-section="models"]:not(.fl-ui-v2):not(.model-center-page):not([data-provider-directory]) > header.models-overview,
  body[data-fl-section="models"]:not(.fl-ui-v2):not(.model-center-page):not([data-provider-directory]) > main#fl-main-content:not(.model-library-main),
  body[data-fl-section="models"]:not(.fl-ui-v2):not(.model-center-page):not([data-provider-directory]) > footer {
    position: relative !important;
    left: var(--fl-menu-rail-width) !important;
    box-sizing: border-box !important;
    width: calc(100% - var(--fl-menu-rail-width) - 36px) !important;
    max-width: none !important;
    margin-left: 18px !important;
    margin-right: 18px !important;
  }
}
body[data-fl-section="about"] > main { left: 0 !important; box-sizing: border-box !important; width: calc(100% - var(--fl-menu-rail-width) - 36px) !important; margin-left: calc(var(--fl-menu-rail-width) + 18px) !important; margin-right: 18px !important; }
body[data-fl-section="about"] > .prototype-footer { left: var(--fl-menu-rail-width) !important; width: calc(100% - var(--fl-menu-rail-width)) !important; }

@media (max-width: 600px) {
  body[data-fl-section] { --fl-menu-rail-width: 0px !important; }
  #fl-shared-site-menu { position: relative !important; inset: auto !important; width: 100% !important; height: auto !important; min-height: 56px !important; padding: 6px 10px !important; flex-direction: row !important; align-items: center !important; gap: 8px !important; }
  #fl-shared-site-menu::after, #fl-shared-site-menu .fl-site-brand-copy, #fl-shared-site-menu .fl-site-theme-toggle { display: none !important; }
  #fl-shared-site-menu > .fl-site-brand { width: auto !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; border: 0 !important; }
  #fl-shared-site-menu > .fl-site-nav { flex: 1 1 auto !important; flex-direction: row !important; justify-content: space-between !important; gap: 2px !important; }
  #fl-shared-site-menu .fl-site-nav > a { width: auto !important; height: 38px !important; min-height: 38px !important; padding: 0 5px !important; gap: 4px !important; font-size: 10px !important; }
  #fl-shared-site-menu .fl-site-nav > a[data-site-nav="public-api"] span:last-child { display: none !important; }
  #fl-shared-site-menu .fl-site-nav-icon { width: 14px !important; height: 14px !important; flex-basis: 14px !important; }
  #fl-shared-site-menu .fl-site-nav > a[aria-current="page"]::before { left: 0 !important; top: auto !important; right: 0 !important; bottom: -6px !important; width: auto !important; height: 3px !important; }
  #fl-shared-site-menu .fl-site-nav > a[aria-current="page"]::after { display: none !important; }
  body[data-fl-section="skills"] .skills-page { width: 100% !important; margin-left: 0 !important; }
  body[data-fl-section="skills"] .ref-topbar { left: 0 !important; }
  body[data-fl-section="about"] > main, body[data-fl-section="about"] > .prototype-footer { left: 0 !important; box-sizing: border-box !important; width: 100% !important; margin-left: 0 !important; margin-right: 0 !important; }
  body[data-reference-style="v1"][data-fl-section="workflow"] .workflow-template-grid { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; }
  body[data-reference-style="v1"][data-fl-section="workflow"] .workflow-template-card { min-width: 0 !important; }
  body[data-reference-style="v1"][data-fl-section="workflow"] .workflow-template-cover { display: block !important; width: 100% !important; max-width: 100% !important; height: auto !important; }
  html body[data-reference-style="v1"][data-fl-section="logs"] .ref-topbar.ref-topbar.ref-topbar { left: 0 !important; width: calc(100% - 20px) !important; }
}

@media (max-width: 820px) {
  html body[data-reference-style="v1"][data-fl-section]:is([data-fl-section]) .ref-topbar.ref-topbar {
    position: relative !important;
    inset: auto !important;
    width: calc(100% - var(--fl-menu-rail-width) - 26px) !important;
    height: 30px !important;
    min-height: 30px !important;
    margin: 8px 10px 10px !important;
  }
  html body[data-reference-style="v1"][data-fl-section]:is([data-fl-section]) .ref-search.ref-search {
    flex: 1 1 auto !important;
    max-width: none !important;
  }
  html body[data-reference-style="v1"][data-fl-section]:is([data-fl-section]) .ref-search.ref-search kbd {
    display: none !important;
  }
}

@media (max-width: 600px) {
  html body[data-reference-style="v1"][data-fl-section="logs"] .ref-topbar.ref-topbar.ref-topbar {
    width: calc(100% - 20px) !important;
  }
}

/* Screenshot-sized daily updates board. These rules follow the page styles so
   the shared chrome and the reference modules meet on the same pixel grid. */
html body[data-fl-section="logs"] #fl-shared-site-menu .fl-site-nav { gap: 6px !important; }
html body[data-fl-section="logs"] #fl-shared-site-menu .fl-site-nav > a { height: 26px !important; min-height: 26px !important; }
html body[data-fl-section="logs"] #fl-shared-site-menu .fl-site-theme-toggle { width: 68px !important; height: 28px !important; min-height: 28px !important; margin: 33px 0 0 6px !important; padding: 3px !important; }
html body[data-fl-section="logs"] #fl-shared-site-menu .fl-site-theme-toggle span::after { width: 14px !important; height: 14px !important; margin: -7px 0 0 -7px !important; }
html body[data-fl-section="logs"] #fl-shared-site-menu .fl-site-rail-note { position: absolute !important; top: 350px !important; left: 0 !important; z-index: 1 !important; display: block !important; width: 100% !important; height: 294px !important; margin: 0 !important; padding: 0 !important; overflow: hidden !important; transform: none !important; background: url("../assets/reference/rail-bottom.png") center / 100% 100% no-repeat !important; color: transparent !important; font-size: 0 !important; }
html body[data-reference-style="v1"][data-fl-section="logs"] .ref-topbar.ref-topbar.ref-topbar { left: calc(var(--fl-menu-rail-width) + 16px) !important; }
html body[data-reference-style="v1"][data-fl-section="logs"] .ref-search.ref-search.ref-search { max-width: 440px !important; }
html body[data-reference-style="v1"][data-fl-section="logs"] .ref-top-actions .ref-auth-button.ref-auth-button,
html body[data-reference-style="v1"][data-fl-section="logs"] .ref-top-actions .ref-auth-button.ref-auth-button.primary { flex-basis: 38px !important; width: 38px !important; min-width: 38px !important; }
html body[data-fl-section="logs"] #fl-main-content .ref-update-overview { padding-top: 1px !important; }
html body[data-fl-section="logs"] #fl-main-content .ref-update-overview > h2 { margin-bottom: 9px !important; }
html body[data-fl-section="logs"] #fl-main-content .ref-update-change-cards { margin-bottom: 22px !important; }
html body[data-fl-section="logs"] #fl-main-content .ref-update-layout { margin-bottom: 28px !important; }
html body[data-fl-section="logs"] #fl-main-content .ref-update-snapshot h3 { display: none !important; }
html body[data-fl-section="logs"] #fl-main-content .ref-update-layout .log-snapshot-card { height: 94px !important; min-height: 94px !important; }
html body[data-fl-section="logs"] #fl-main-content .log-archive { display: none !important; }
html body[data-fl-section="logs"] #fl-main-content .log-archive[open] { display: block !important; }
html body[data-fl-section="logs"] > .prototype-footer { left: -22px !important; width: calc(100% + 36px) !important; height: 200px !important; min-height: 200px !important; margin-top: -75px !important; }

/* The overview hero and its directory cards must share one rail-aware desktop column. */
@media (min-width: 601px) {
  body[data-fl-section="models"]:not(.model-center-page):not([data-provider-directory]) > header.models-overview,
  body[data-fl-section="models"]:not(.model-center-page):not([data-provider-directory]) > main#fl-main-content:not(.model-library-main) {
    position: relative !important;
    left: var(--fl-menu-rail-width) !important;
    box-sizing: border-box !important;
    width: calc(100% - var(--fl-menu-rail-width) - 36px) !important;
    max-width: none !important;
    margin-left: 18px !important;
    margin-right: 18px !important;
  }
}
@media (max-width: 600px) {
  html body[data-reference-style="v1"][data-fl-section="logs"] .ref-topbar.ref-topbar.ref-topbar { left: 0 !important; width: calc(100% - 20px) !important; }
}
body[data-offer-id] .qs-grid,
body[data-offer-id] .qs-step,
body[data-offer-id] .qs-code,
body[data-offer-id] .qs-code .operation-command-head { min-width: 0 !important; }

/* Keep fixed-rail content within the viewport and let long source links wrap. */
html body.fl-ui-v2 main,
html body.fl-ui-v2 main > * { min-width: 0 !important; }
html body.fl-ui-v2 main a,
html body[data-offer-id] main a,
html body[data-provider-directory] main a {
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}
html body.fl-ui-v2 main p,
html body.fl-ui-v2 main li {
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}
html body.fl-ui-v2 main pre {
  box-sizing: border-box !important;
  max-width: 100% !important;
  min-width: 0 !important;
}
body[data-offer-id] .quick-start .qs-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
body[data-offer-id] .qs-step > * { box-sizing: border-box; min-width: 0 !important; max-width: 100%; }
body[data-offer-id] .qs-step pre { width: 100%; max-width: 100%; }
body[data-offer-id] .registration-requirements .btn,
body[data-provider-directory] .registration-requirements .btn {
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
}
@media (max-width: 680px) {
  body[data-offer-id] .quick-start .qs-grid { grid-template-columns: minmax(0, 1fr); }
}
body[data-offer-id] .qs-code { width: 100% !important; max-width: 100% !important; }
body[data-offer-id] .qs-step pre { box-sizing: border-box !important; width: 100% !important; min-width: 0 !important; max-width: 100% !important; }
body[data-offer-id] .qs-desc,
body[data-offer-id] .qs-link { overflow-wrap: anywhere !important; }

/* The all-models directory uses a wide table inside its own horizontal scroller.
   Keep the page shell rail-aware and prevent that table's min-content width from
   expanding the page's implicit single-column grid. */
@media (min-width: 601px) {
  body.fl-ui-v2[data-fl-section="models"] > .model-section-tabs,
  body.fl-ui-v2[data-fl-section="models"] > .model-section-tabs + header,
  body.fl-ui-v2[data-fl-section="models"] > .model-section-tabs + header + main#fl-main-content,
  body.fl-ui-v2[data-fl-section="models"] > .model-section-tabs + header + main#fl-main-content + footer {
    position: relative !important;
    left: var(--fl-menu-rail-width) !important;
    box-sizing: border-box !important;
    width: calc(100% - var(--fl-menu-rail-width)) !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}
body.fl-ui-v2[data-fl-section="models"] > .model-section-tabs + header + main#fl-main-content {
  min-width: 0 !important;
  grid-template-columns: minmax(0, 1fr) !important;
}
body.fl-ui-v2[data-fl-section="models"] > .model-section-tabs + header + main#fl-main-content > #model-directory {
  width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}
body.fl-ui-v2[data-fl-section="models"] #model-directory .catalog-table-wrap {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow-x: auto !important;
}

/* P1-5: dark-mode UI is unavailable until all Aurora surfaces are audited.
   Use the shared menu ID to outrank historical reference-rail !important rules. */
#fl-shared-site-menu :is(.fl-site-theme-toggle,.prototype-theme-toggle,.ml-rail-theme),
html body.fl-ui-v2 :is(.fl-site-theme-toggle,.prototype-theme-toggle,.ml-rail-theme,.theme-toggle) {
  display: none !important;
}

/* P1-7: phone layout, 390px reference width. The desktop rail stays unchanged. */
#fl-shared-site-menu .fl-mobile-menu-button { display: none !important; }
@media (max-width: 600px) {
  html body[data-fl-section] #fl-shared-site-menu {
    position: relative !important;
    z-index: 210 !important;
    display: flex !important;
    justify-content: space-between !important;
    flex-wrap: nowrap !important;
    min-width: 0 !important;
  }
  #fl-shared-site-menu .fl-mobile-menu-button {
    display: inline-flex !important;
    flex: 0 0 44px !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    margin-left: auto !important;
    border: 1px solid #36567c !important;
    border-radius: 12px !important;
    background: #102e53 !important;
    color: #fff !important;
    font-size: 22px !important;
    cursor: pointer !important;
  }
  #fl-shared-site-menu .fl-mobile-menu-button:focus-visible {
    outline: 3px solid #8fbcff !important;
    outline-offset: 2px !important;
  }
  html body[data-fl-section] #fl-shared-site-menu > .fl-site-nav {
    display: none !important;
    position: absolute !important;
    top: calc(100% + 3px) !important;
    right: 8px !important;
    bottom: auto !important;
    left: 8px !important;
    z-index: 215 !important;
    box-sizing: border-box !important;
    width: calc(100% - 16px) !important;
    min-width: 0 !important;
    max-height: min(70vh, 520px) !important;
    padding: 10px !important;
    grid-template-columns: minmax(0, 1fr) !important;
    flex-direction: column !important;
    gap: 4px !important;
    overflow-y: auto !important;
    border: 1px solid #2a496e !important;
    border-radius: 12px !important;
    background: #071b37 !important;
    box-shadow: 0 12px 35px rgba(4, 21, 44, .36) !important;
  }
  html body[data-fl-section] #fl-shared-site-menu.fl-mobile-menu-open > .fl-site-nav {
    display: grid !important;
  }
  #fl-shared-site-menu .fl-site-nav > a {
    display: flex !important;
    justify-content: flex-start !important;
    width: 100% !important;
    min-height: 44px !important;
    padding: 10px 12px !important;
    font-size: 14px !important;
  }
  #fl-shared-site-menu .fl-site-nav > a > span:last-child {
    display: inline !important;
    font-size: 14px !important;
  }
  /* Chip strips must scroll rather than wrap into a wall of tiny targets. */
  body :is(.model-filter-chips, .mdir-chips, .hot-searches, .hero-intent-links) {
    display: flex !important;
    flex-wrap: nowrap !important;
    box-sizing: border-box !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    overscroll-behavior-x: contain !important;
    scrollbar-width: thin;
    -webkit-overflow-scrolling: touch;
  }
  body :is(.model-filter-chips, .mdir-chips, .hot-searches, .hero-intent-links) > * {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
  }
  /* Reuse the native 'cards' view on phones: meaningful headings, no 1260px table. */
  #model-directory[data-catalog-view="cards"] .catalog-table-wrap {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: visible !important;
  }
  #model-directory[data-catalog-view="cards"] .catalog-table tbody {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  #model-directory[data-catalog-view="cards"] tr.catalog-row:not([hidden]) {
    grid-template-columns: minmax(0, 1fr) !important;
    min-width: 0 !important;
    overflow-wrap: anywhere !important;
  }
  #model-directory tr[hidden] { display: none !important; }
  #model-directory[data-catalog-view="cards"] .catalog-row > td {
    min-width: 0 !important;
  }
}

/* UX-20261009-P0: workflow topbar layering, clipped heading and decorative hero */
html body.fl-ui-v2[data-reference-style="v1"][data-fl-section="workflow"] .ref-topbar.ref-topbar.ref-topbar {
  position: fixed !important;
  z-index: 320 !important;
  isolation: isolate !important;
  background: rgba(255,255,255,.98) !important;
  border-radius: 14px !important;
}
html body.fl-ui-v2[data-reference-style="v1"][data-fl-section="workflow"] .ref-search.ref-search.ref-search {
  position: relative !important;
  z-index: 1 !important;
  min-width: 0 !important;
  background: #fff !important;
  border: 1px solid #cbdcf2 !important;
}
html body.fl-ui-v2[data-reference-style="v1"][data-fl-section="workflow"] .ref-search input {
  min-width: 0 !important;
  background: transparent !important;
}
html body.fl-ui-v2[data-reference-style="v1"][data-fl-section="workflow"] .lab-hero {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
}
html body.fl-ui-v2[data-reference-style="v1"][data-fl-section="workflow"] .lab-hero > div,
html body.fl-ui-v2[data-reference-style="v1"][data-fl-section="workflow"] .lab-hero-actions {
  position: relative !important;
  z-index: 2 !important;
}
html body.fl-ui-v2[data-reference-style="v1"][data-fl-section="workflow"] .lab-hero::after {
  pointer-events: none !important;
  z-index: 0 !important;
  right: 0 !important;
}
html body.fl-ui-v2[data-reference-style="v1"][data-fl-section="workflow"] .lab-eyebrow {
  pointer-events: none !important;
  opacity: .55 !important;
}
@media (max-width: 700px) {
  html body.fl-ui-v2[data-reference-style="v1"][data-fl-section="workflow"] .lab-hero {
    box-sizing: border-box !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 26px 18px !important;
    padding-right: 18px !important;
  }
  html body.fl-ui-v2[data-reference-style="v1"][data-fl-section="workflow"] .lab-hero > div {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
  html body.fl-ui-v2[data-reference-style="v1"][data-fl-section="workflow"] .lab-hero h1,
  html body.fl-ui-v2[data-reference-style="v1"][data-fl-section="workflow"] .lab-hero h1 .accent-text {
    height: auto !important;
    max-width: 100% !important;
    white-space: normal !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
  }
  html body.fl-ui-v2[data-reference-style="v1"][data-fl-section="workflow"] .lab-hero h1 {
    font-size: clamp(27px,7.6vw,34px) !important;
    line-height: 1.2 !important;
  }
  html body.fl-ui-v2[data-reference-style="v1"][data-fl-section="workflow"] .lab-hero::after {
    display: none !important;
  }
}

/* UX-20261009-P1-10: horizontal mobile tool categories */
@media (max-width: 700px) {
  html body.fl-ui-v2[data-visual-style="aurora"][data-reference-style="v1"][data-fl-section="tools"] .tool-category-tabs {
    display: flex !important;
    flex-flow: row nowrap !important;
    align-items: stretch !important;
    gap: 8px !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding: 8px 2px 12px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    overscroll-behavior-x: contain;
    scroll-snap-type: x proximity;
    scrollbar-width: thin !important;
    -webkit-overflow-scrolling: touch;
  }
  html body.fl-ui-v2[data-visual-style="aurora"][data-reference-style="v1"][data-fl-section="tools"] .tool-category-tabs > .tool-category-tab {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 66px !important;
    min-height: 40px !important;
    height: auto !important;
    padding: 0 12px !important;
    scroll-snap-align: start;
    font-size: 12px !important;
  }
}

/* UX-20261009-P1-4: progressive homepage resource cards */
html body.fl-ui-v2 .catalog-load-more {
  display: block;
  width: min(100%, 460px);
  min-height: 46px;
  margin: 22px auto 14px;
  padding: 10px 24px;
  border: 1px solid #2c6be8;
  border-radius: 12px;
  background: #f5f9ff;
  color: #1744a3;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
}
html body.fl-ui-v2 .catalog-load-more[hidden] { display: none !important; }
html body.fl-ui-v2 .catalog-load-more:hover { background: #e5efff; }
html body.fl-ui-v2 .catalog-load-more:focus-visible {
  outline: 3px solid #83b8ff;
  outline-offset: 3px;
}
@media(max-width: 600px) {
  html body.fl-ui-v2 .catalog-load-more {
    min-height: 48px;
    width: 100%;
  }
}

/* UX-20261009-P1: protect shared fixed searches across the site */
html body.fl-ui-v2[data-reference-style="v1"] .ref-topbar.ref-topbar.ref-topbar {
  isolation: isolate !important;
  z-index: 300 !important;
  background: rgba(255,255,255,.98) !important;
  border-radius: 12px !important;
}
html body.fl-ui-v2[data-reference-style="v1"] .ref-search.ref-search.ref-search {
  position: relative !important;
  z-index: 1 !important;
  min-width: 0 !important;
  background: #fff !important;
}
html body.fl-ui-v2[data-reference-style="v1"] .ref-search.ref-search.ref-search input {
  min-width: 0 !important;
  background: transparent !important;
}
@media (max-width: 600px) {
  html body.fl-ui-v2[data-reference-style="v1"] .ref-topbar.ref-topbar.ref-topbar {
    max-width: calc(100% - 20px) !important;
    gap: 6px !important;
  }
  html body.fl-ui-v2[data-reference-style="v1"] .ref-search.ref-search.ref-search {
    flex: 1 1 0 !important;
    width: auto !important;
    max-width: none !important;
  }
  html body.fl-ui-v2[data-reference-style="v1"] .ref-top-actions .ref-favorites-link {
    display: none !important;
  }
}

/* CONTENT-20261009: visible source-backed home discovery */
html body[data-fl-section="home"] .home-latest-discovery {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 10px;
  margin-top: 10px;
  padding: 9px 12px;
  border: 1px solid #dce8fb;
  border-radius: 10px;
  background: rgba(248,251,255,.96);
  font-size: 12px;
  line-height: 1.5;
}
html body[data-fl-section="home"] .home-latest-discovery span {
  color: #5b7191;
  font-weight: 700;
  flex: 0 0 auto;
  white-space: nowrap;
}
html body[data-fl-section="home"] .home-latest-discovery strong {
  color: #172d4f;
  font-weight: 800;
  flex: 0 0 auto;
  white-space: nowrap;
}
html body[data-fl-section="home"] .home-latest-discovery a {
  min-width: 0;
  flex: 0 1 auto;
  margin-left: auto;
  color: #1763d8;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 2px;
  white-space: nowrap;
}
html body[data-fl-section="home"] .home-latest-discovery a:focus-visible {
  outline: 3px solid #83b8ff;
  outline-offset: 2px;
}
@media (max-width: 700px) {
  html body[data-fl-section="home"] .home-latest-discovery {
    gap: 5px 8px;
    padding: 8px 10px;
  }
  html body[data-fl-section="home"] .home-latest-discovery a {
    margin-left: 0;
  }
}


/* UX-20261009-P1-11: compact mobile scan statistics */
@media (max-width: 700px) {
  html body.fl-ui-v2[data-fl-section="home"] .weekly-scan-cards {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: 100% !important;
    min-width: 0 !important;
  }
  html body.fl-ui-v2[data-fl-section="home"] .weekly-scan-cards > article {
    box-sizing: border-box !important;
    min-width: 0 !important;
    width: auto !important;
    padding: 14px 12px !important;
    overflow-wrap: anywhere;
  }
  html body.fl-ui-v2[data-fl-section="home"] .weekly-scan-cards > article > strong {
    display: block;
    font-size: clamp(24px, 6vw, 32px) !important;
    line-height: 1.15 !important;
    font-variant-numeric: tabular-nums;
  }
}
