/* ==========================================================================
   SLIM TOP NAVBAR, INTUITIVE MOBILE DROPDOWN & UNIVERSAL SUB-MENUS (v2.21.0)
   ========================================================================== */

/* Zero-lag theme transition lock */
.fcn-switching-theme,
.fcn-switching-theme * {
  transition: none !important;
}

/* Body lock when Live Search is open */
body.fcn-search-modal-open {
  overflow: hidden !important;
}

/* --------------------------------------------------------------------------
   Sticky Modern Top Navbar Header (Slim Single Row)
   -------------------------------------------------------------------------- */
.main-navigation.fcn-modern-navbar {
  position: sticky !important;
  top: 0 !important;
  z-index: 9999 !important;
  width: 100% !important;
  height: 60px !important;
  background: var(--bg-900, #12141a) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.35) !important;
}

html[data-mode="light"] .main-navigation.fcn-modern-navbar {
  background: #ffffff !important;
  border-bottom: 1px solid #e2e8f0 !important;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06) !important;
}

/* Hide old burger menu elements completely */
.mobile-menu-button,
#mobile-menu,
.mobile-menu,
.fcn-mobile-matrix-bar,
.fcn-mobile-dock {
  display: none !important;
}

.fcn-navbar-container {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: .5rem !important;
  width: 100% !important;
  height: 100% !important;
  max-width: var(--layout-width-main, 1200px) !important;
  margin: 0 auto !important;
  padding: 0 1.25rem !important;
  box-sizing: border-box !important;
}

/* Desktop Navigation Pills */
.fcn-nav-desktop-primary {
  display: flex !important;
  align-items: center !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

.fcn-nav-pill-list {
  display: flex !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  gap: .25rem !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.fcn-nav-pill-list > li {
  display: inline-flex !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  white-space: nowrap !important;
}

.fcn-nav-pill-list > li > a {
  display: inline-flex !important;
  align-items: center !important;
  gap: .4rem !important;
  padding: .45rem .8rem !important;
  border-radius: 8px !important;
  color: var(--fg-400, #cbd5e1) !important;
  font-size: .88rem !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  transition: background 120ms ease, color 120ms ease !important;
}

.fcn-nav-pill-list > li > a:hover,
.fcn-nav-pill-list > li.current-menu-item > a,
.fcn-nav-pill-list > li.current-page-ancestor > a {
  color: var(--fg-100, #ffffff) !important;
  background: rgba(255, 255, 255, 0.08) !important;
}

html[data-mode="light"] .fcn-nav-pill-list > li > a {
  color: var(--fg-700, #334155) !important;
}

html[data-mode="light"] .fcn-nav-pill-list > li > a:hover,
html[data-mode="light"] .fcn-nav-pill-list > li.current-menu-item > a {
  color: var(--fg-900, #0f172a) !important;
  background: rgba(0, 0, 0, 0.06) !important;
}

.nav-item__icon {
  font-size: .85rem !important;
  opacity: .85 !important;
}

/* Mobile Brand Title */
.fcn-mobile-brand {
  display: none;
}

/* Right-Side Utility Toolbar */
.fcn-nav-toolbar {
  display: flex !important;
  align-items: center !important;
  margin-left: auto !important;
  flex-shrink: 0 !important;
}

.fcn-toolbar-icons {
  display: flex !important;
  align-items: center !important;
  gap: .25rem !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.fcn-toolbar-icons .menu-item {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 2rem !important;
  height: 2rem !important;
}

.fcn-toolbar-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 2rem !important;
  height: 2rem !important;
  padding: 0 !important;
  border: 1px solid transparent !important;
  border-radius: 6px !important;
  background: transparent !important;
  color: var(--fg-400, #cbd5e1) !important;
  font-size: .95rem !important;
  cursor: pointer !important;
  text-decoration: none !important;
  transition: background 100ms ease, color 100ms ease !important;
  user-select: none !important;
  -webkit-tap-highlight-color: transparent !important;
}

.fcn-toolbar-btn:hover {
  color: var(--fg-100, #ffffff) !important;
  background: rgba(255, 255, 255, 0.08) !important;
  border-color: rgba(255, 255, 255, 0.12) !important;
}

html[data-mode="light"] .fcn-toolbar-btn {
  color: var(--fg-700, #334155) !important;
}

html[data-mode="light"] .fcn-toolbar-btn:hover {
  color: var(--fg-900, #0f172a) !important;
  background: rgba(0, 0, 0, 0.05) !important;
  border-color: rgba(0, 0, 0, 0.08) !important;
}

/* Instant Theme Toggle Button & Direct Icon Visibility */
.fcn-theme-toggle-btn i {
  font-size: 1rem !important;
  pointer-events: none !important;
  transition: transform 100ms ease !important;
}

.fcn-theme-toggle-btn:active i {
  transform: scale(0.85) !important;
}

html[data-mode="dark"] .fcn-theme-toggle-btn .only-lightmode,
html:not([data-mode="light"]) .fcn-theme-toggle-btn .only-lightmode,
html[data-mode="dark"] .toggle-light-mode .only-lightmode,
html:not([data-mode="light"]) .toggle-light-mode .only-lightmode {
  display: none !important;
}

html[data-mode="dark"] .fcn-theme-toggle-btn .only-darkmode,
html:not([data-mode="light"]) .fcn-theme-toggle-btn .only-darkmode,
html[data-mode="dark"] .toggle-light-mode .only-darkmode,
html:not([data-mode="light"]) .toggle-light-mode .only-darkmode {
  display: inline-block !important;
  color: #facc15 !important;
}

html[data-mode="light"] .fcn-theme-toggle-btn .only-darkmode,
html[data-mode="light"] .toggle-light-mode .only-darkmode {
  display: none !important;
}

html[data-mode="light"] .fcn-theme-toggle-btn .only-lightmode,
html[data-mode="light"] .toggle-light-mode .only-lightmode {
  display: inline-block !important;
  color: #6366f1 !important;
}

/* User Avatar */
.fcn-avatar-btn {
  position: relative !important;
}

.fcn-avatar-btn .user-icon {
  font-size: 1.15rem !important;
}

.fcn-avatar-btn img.user-profile-image {
  width: 26px !important;
  height: 26px !important;
  border-radius: 50% !important;
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
  object-fit: cover !important;
}

.fcn-avatar-btn img.user-profile-image ~ img.user-profile-image {
  display: none !important;
}

/* Logout Button in Toolbar */
.fcn-logout-btn {
  color: var(--fg-400, #cbd5e1) !important;
  transition: all 120ms ease !important;
}

.fcn-logout-btn:hover {
  color: #ef4444 !important;
  background: rgba(239, 68, 68, 0.12) !important;
}

html[data-mode="light"] .fcn-logout-btn {
  color: #64748b !important;
}

html[data-mode="light"] .fcn-logout-btn:hover {
  color: #dc2626 !important;
  background: rgba(220, 38, 38, 0.08) !important;
}

/* ==========================================================================
   UNIVERSAL SUB-MENU SYSTEM (Desktop Primary & Account Dropdowns)
   ========================================================================== */

/* Override and disable parent theme's :not(:hover) sub-menu hiding */
:is(.main-navigation, .icon-menu) .menu-item:not(:hover) .sub-menu,
:is(.main-navigation, .icon-menu) .sub-menu {
  transform: none;
  content-visibility: visible !important;
}

/* Parent items with child menus */
.main-navigation .menu-item-has-children,
.fcn-nav-pill-list > li.menu-item-has-children,
.icon-menu-account {
  position: relative !important;
}

/* Dropdown arrow for desktop parent items */
.fcn-nav-pill-list > li.menu-item-has-children > a::after {
  content: "\f107";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: .68rem;
  margin-left: 4px;
  opacity: .7;
  transition: transform 120ms ease;
}

.fcn-nav-pill-list > li.menu-item-has-children:hover > a::after,
.fcn-nav-pill-list > li.menu-item-has-children.is-open > a::after {
  transform: rotate(180deg);
}

/* Universal Sub-Menu Base */
.main-navigation .sub-menu,
.fcn-nav-pill-list .sub-menu,
.fcn-user-submenu,
#fcn-user-submenu-list {
  position: absolute !important;
  top: calc(100% + 8px) !important;
  left: 0 !important;
  min-width: 200px !important;
  max-width: 280px !important;
  max-height: min(440px, calc(100vh - 90px)) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  scrollbar-width: thin !important;
  padding: 6px !important;
  margin: 0 !important;
  border-radius: 12px !important;
  background: rgba(15, 18, 26, 0.98) !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.75), 0 0 0 1px rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(24px) !important;
  -webkit-backdrop-filter: blur(24px) !important;
  z-index: 9999999 !important;
  display: none !important;
  flex-direction: column !important;
  gap: 3px !important;
  list-style: none !important;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  content-visibility: visible !important;
  transform: translateY(-6px) scale(0.98);
  box-sizing: border-box !important;
  transition: opacity 140ms cubic-bezier(0.16, 1, 0.3, 1), transform 140ms cubic-bezier(0.16, 1, 0.3, 1), visibility 140ms cubic-bezier(0.16, 1, 0.3, 1) !important;
}

#fcn-user-submenu-list::-webkit-scrollbar {
  width: 5px !important;
}

#fcn-user-submenu-list::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.2) !important;
  border-radius: 999px !important;
}

/* Account Dropdown Right-Alignment */
.icon-menu-account .sub-menu,
.icon-menu-account .fcn-user-submenu,
.icon-menu-account #fcn-user-submenu-list,
#fcn-user-account-wrapper .sub-menu,
#fcn-user-account-wrapper .fcn-user-submenu,
#fcn-user-account-wrapper #fcn-user-submenu-list {
  left: auto !important;
  right: 0 !important;
}

/* Display sub-menu on Hover (Desktop) or JS .is-open Class (Desktop, Tablet & Mobile) */
@media (min-width: 768px) {
  .main-navigation .menu-item-has-children:hover > .sub-menu,
  .main-navigation .menu-item-has-children:focus-within > .sub-menu,
  .icon-menu-account:hover > .sub-menu,
  .icon-menu-account:hover > .fcn-user-submenu,
  .icon-menu-account:hover > #fcn-user-submenu-list,
  #fcn-user-account-wrapper:hover > .sub-menu,
  #fcn-user-account-wrapper:hover > .fcn-user-submenu,
  #fcn-user-account-wrapper:hover > #fcn-user-submenu-list {
    display: flex !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) scale(1) !important;
  }
}

.main-navigation .menu-item-has-children.is-open > .sub-menu,
.icon-menu-account.is-open > .sub-menu,
.icon-menu-account.is-open > .fcn-user-submenu,
.icon-menu-account.is-open > #fcn-user-submenu-list,
#fcn-user-account-wrapper.is-open > .sub-menu,
#fcn-user-account-wrapper.is-open > .fcn-user-submenu,
#fcn-user-account-wrapper.is-open > #fcn-user-submenu-list {
  display: flex !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateY(0) scale(1) !important;
}

/* Sub-menu Items & Links */
.main-navigation .sub-menu li,
.fcn-user-submenu li,
#fcn-user-submenu-list li {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  display: block !important;
  width: 100% !important;
}

.main-navigation .sub-menu a,
.main-navigation .sub-menu button,
.fcn-user-submenu a,
.fcn-user-submenu button,
#fcn-user-submenu-list a,
#fcn-user-submenu-list button {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 8px 12px !important;
  border-radius: 8px !important;
  font-size: .84rem !important;
  font-weight: 600 !important;
  color: var(--fg-300, #cbd5e1) !important;
  background: transparent !important;
  border: 0 !important;
  cursor: pointer !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  width: 100% !important;
  box-sizing: border-box !important;
  text-align: left !important;
  transition: background 100ms ease, color 100ms ease !important;
}

.main-navigation .sub-menu a:hover,
.main-navigation .sub-menu button:hover,
.fcn-user-submenu a:hover,
.fcn-user-submenu button:hover,
#fcn-user-submenu-list a:hover,
#fcn-user-submenu-list button:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  color: #ffffff !important;
}

/* Light Mode Overrides */
html[data-mode="light"] .main-navigation .sub-menu,
html[data-mode="light"] .fcn-user-submenu,
html[data-mode="light"] #fcn-user-submenu-list {
  background: #ffffff !important;
  border-color: #e2e8f0 !important;
  box-shadow: 0 20px 50px rgba(15, 23, 42, 0.16) !important;
}

html[data-mode="light"] #fcn-user-submenu-list::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.15) !important;
}

html[data-mode="light"] .main-navigation .sub-menu a,
html[data-mode="light"] .main-navigation .sub-menu button,
html[data-mode="light"] .fcn-user-submenu a,
html[data-mode="light"] .fcn-user-submenu button,
html[data-mode="light"] #fcn-user-submenu-list a,
html[data-mode="light"] #fcn-user-submenu-list button {
  color: #334155 !important;
}

html[data-mode="light"] .main-navigation .sub-menu a:hover,
html[data-mode="light"] .main-navigation .sub-menu button:hover,
html[data-mode="light"] .fcn-user-submenu a:hover,
html[data-mode="light"] .fcn-user-submenu button:hover,
html[data-mode="light"] #fcn-user-submenu-list a:hover,
html[data-mode="light"] #fcn-user-submenu-list button:hover {
  background: #f1f5f9 !important;
  color: #0f172a !important;
}

/* ==========================================================================
   COMPACT MOBILE DROPDOWN MENU (Lightweight, Modern & Clean Alignment)
   ========================================================================== */

.fcn-mobile-dropdown {
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 99999 !important;
  background: rgba(18, 20, 26, 0.98) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.6) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  animation: fcnDropdownSlide 160ms cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.fcn-mobile-dropdown[hidden] {
  display: none !important;
}

html[data-mode="light"] .fcn-mobile-dropdown {
  background: #ffffff !important;
  border-bottom-color: #e2e8f0 !important;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.12) !important;
}

@keyframes fcnDropdownSlide {
  from { opacity: 0; transform: translateY(-8px); }
  to { opacity: 1; transform: translateY(0); }
}

.fcn-mobile-dropdown__inner {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  max-width: var(--layout-width-main, 1200px) !important;
  margin: 0 auto !important;
  padding: .75rem 1rem !important;
  box-sizing: border-box !important;
}

/* Clean Flex Alignment for Mobile Dropdown Items: Left aligned with tight, elegant 10px gap */
.fcn-mobile-dropdown a,
.fcn-mobile-dropdown .fcn-dropdown-item,
.fcn-mobile-nav-list a,
.fcn-mobile-nav-list > li > a {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important; /* Left-aligned, NOT space-between */
  gap: 10px !important;                 /* Tight 10px spacing between icon & text */
  padding: 10px 14px !important;
  border-radius: 8px !important;
  color: var(--fg-200, #f1f5f9) !important;
  font-size: .9rem !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  width: 100% !important;
  box-sizing: border-box !important;
  transition: background 120ms ease, color 120ms ease !important;
}

.fcn-mobile-dropdown a i,
.fcn-mobile-dropdown a .nav-item__icon,
.fcn-mobile-dropdown .fcn-dropdown-item i,
.fcn-mobile-dropdown .fcn-dropdown-item .nav-item__icon,
.fcn-mobile-nav-list a i,
.fcn-mobile-nav-list a .nav-item__icon,
.fcn-mobile-nav-list > li > a i,
.fcn-mobile-nav-list > li > a .nav-item__icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 20px !important;
  min-width: 20px !important;
  max-width: 20px !important;
  font-size: .95rem !important;
  opacity: .85 !important;
  flex-shrink: 0 !important;
  text-align: center !important;
  margin: 0 !important;
  padding: 0 !important;
}

.fcn-mobile-dropdown a span,
.fcn-mobile-dropdown .fcn-dropdown-item span,
.fcn-mobile-nav-list a span,
.fcn-mobile-nav-list > li > a span {
  display: inline-block !important;
  flex: 0 1 auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

.fcn-dropdown-item:hover,
.fcn-dropdown-item.is-active,
.fcn-mobile-nav-list > li > a:hover,
.fcn-mobile-nav-list > li.current-menu-item > a {
  background: rgba(255, 255, 255, 0.08) !important;
  color: #ffffff !important;
}

html[data-mode="light"] .fcn-dropdown-item,
html[data-mode="light"] .fcn-mobile-nav-list > li > a {
  color: #334155 !important;
}

html[data-mode="light"] .fcn-dropdown-item:hover,
html[data-mode="light"] .fcn-dropdown-item.is-active,
html[data-mode="light"] .fcn-mobile-nav-list > li > a:hover,
html[data-mode="light"] .fcn-mobile-nav-list > li.current-menu-item > a {
  background: #f1f5f9 !important;
  color: #0f172a !important;
}

/* Mobile Accordion Sub-Menu items */
.fcn-mobile-nav-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 3px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  width: 100% !important;
}

.fcn-mobile-nav-list li {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  width: 100% !important;
}

.fcn-mobile-nav-list .sub-menu {
  position: static !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  display: none !important;
  flex-direction: column !important;
  gap: 2px !important;
  margin: 4px 0 6px 1.5rem !important;
  padding: 4px 0 4px 10px !important;
  border-left: 2px solid rgba(255, 255, 255, 0.15) !important;
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  z-index: 10 !important;
}

.fcn-mobile-nav-list li.is-open > .sub-menu {
  display: flex !important;
  animation: fcnMobileSubmenuIn 160ms cubic-bezier(0.16, 1, 0.3, 1) !important;
}

@keyframes fcnMobileSubmenuIn {
  from { opacity: 0; transform: translateY(-4px); }
  to { opacity: 1; transform: translateY(0); }
}

.fcn-mobile-nav-list .sub-menu li a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  padding: 7px 10px !important;
  border-radius: 6px !important;
  color: var(--fg-400, #94a3b8) !important;
  font-size: .84rem !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.fcn-mobile-nav-list .sub-menu li a:hover,
.fcn-mobile-nav-list .sub-menu li.current-menu-item a {
  background: rgba(255, 255, 255, 0.06) !important;
  color: #ffffff !important;
}

html[data-mode="light"] .fcn-mobile-nav-list .sub-menu {
  border-left-color: #cbd5e1 !important;
}

html[data-mode="light"] .fcn-mobile-nav-list .sub-menu li a {
  color: #64748b !important;
}

html[data-mode="light"] .fcn-mobile-nav-list .sub-menu li a:hover {
  background: rgba(0, 0, 0, 0.05) !important;
  color: #0f172a !important;
}

/* Accordion chevron on parent items: Pushed to far right */
.fcn-mobile-nav-list li.menu-item-has-children > a::after {
  content: "\f107";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: .75rem;
  margin-left: auto !important; /* Push chevron to the right */
  opacity: .7;
  transition: transform 140ms ease;
}

.fcn-mobile-nav-list li.menu-item-has-children.is-open > a::after {
  transform: rotate(180deg);
  opacity: 1;
}

/* ==========================================================================
   MOBILE & TABLET MEDIA QUERIES (<= 767px)
   ========================================================================== */
@media (max-width: 767px) {
  .fcn-nav-desktop-primary {
    display: none !important;
  }

  .fcn-hide-mobile {
    display: none !important;
  }

  .fcn-show-mobile {
    display: inline-flex !important;
  }

  .fcn-mobile-brand {
    display: flex !important;
    align-items: center !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }

  .fcn-mobile-brand__link {
    display: inline-flex !important;
    align-items: center !important;
    gap: .4rem !important;
    color: var(--fg-100, #ffffff) !important;
    text-decoration: none !important;
    font-size: .92rem !important;
    font-weight: 800 !important;
    letter-spacing: -0.01em !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  html[data-mode="light"] .fcn-mobile-brand__link {
    color: #0f172a !important;
  }

  .fcn-mobile-brand__logo {
    width: 26px !important;
    height: 26px !important;
    object-fit: contain !important;
    border-radius: 6px !important;
    flex-shrink: 0 !important;
  }

  .fcn-mobile-brand__icon {
    font-size: 1.05rem !important;
    color: var(--primary-accent, #c084fc) !important;
    flex-shrink: 0 !important;
  }

  /* Account Sub-Menu Popup on Mobile */
  .icon-menu-account:not(.is-open) > .sub-menu,
  .icon-menu-account:not(.is-open) > .fcn-user-submenu,
  .icon-menu-account:not(.is-open) > #fcn-user-submenu-list,
  #fcn-user-account-wrapper:not(.is-open) > .sub-menu,
  #fcn-user-account-wrapper:not(.is-open) > .fcn-user-submenu,
  #fcn-user-account-wrapper:not(.is-open) > #fcn-user-submenu-list {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  .icon-menu-account.is-open > .sub-menu,
  .icon-menu-account.is-open > .fcn-user-submenu,
  .icon-menu-account.is-open > #fcn-user-submenu-list,
  #fcn-user-account-wrapper.is-open > .sub-menu,
  #fcn-user-account-wrapper.is-open > .fcn-user-submenu,
  #fcn-user-account-wrapper.is-open > #fcn-user-submenu-list {
    position: fixed !important;
    top: 56px !important;
    right: 12px !important;
    left: auto !important;
    width: 220px !important;
    max-width: calc(100vw - 24px) !important;
    max-height: calc(100vh - 76px) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    scrollbar-width: thin !important;
    background: rgba(15, 18, 26, 0.98) !important;
    border: 1px solid rgba(255, 255, 255, 0.16) !important;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.8) !important;
    border-radius: 12px !important;
    z-index: 9999999 !important;
    display: flex !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) scale(1) !important;
    animation: fcnUserMenuMobileIn 160ms cubic-bezier(0.16, 1, 0.3, 1) !important;
  }

  @keyframes fcnUserMenuMobileIn {
    from {
      opacity: 0;
      transform: translateY(-6px) scale(0.96);
    }
    to {
      opacity: 1;
      transform: translateY(0) scale(1);
    }
  }

  html[data-mode="light"] .icon-menu-account.is-open > .sub-menu,
  html[data-mode="light"] .icon-menu-account.is-open > .fcn-user-submenu,
  html[data-mode="light"] .icon-menu-account.is-open > #fcn-user-submenu-list,
  html[data-mode="light"] #fcn-user-account-wrapper.is-open > .sub-menu,
  html[data-mode="light"] #fcn-user-account-wrapper.is-open > .fcn-user-submenu,
  html[data-mode="light"] #fcn-user-account-wrapper.is-open > #fcn-user-submenu-list {
    background: #ffffff !important;
    border-color: #e2e8f0 !important;
    box-shadow: 0 20px 50px rgba(15, 23, 42, 0.22) !important;
  }
}

/* ==========================================================================
   DUAL-MODE LIVE SEARCH & A-Z INDEX MODAL (Refined Frosted Glass v2.36.0)
   ========================================================================== */

.fcn-live-search-modal {
  position: fixed !important;
  inset: 0 !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  z-index: 999999 !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  padding: clamp(3.5rem, 8vh, 6rem) 1rem 2rem !important;
  background: rgba(6, 8, 14, 0.72) !important;
  backdrop-filter: blur(18px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(18px) saturate(180%) !important;
  contain: none !important;
  box-sizing: border-box !important;
  animation: fcnModalFadeIn 180ms cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.fcn-live-search-modal[hidden] {
  display: none !important;
}

html[data-mode="light"] .fcn-live-search-modal {
  background: rgba(15, 23, 42, 0.42) !important;
  backdrop-filter: blur(18px) saturate(150%) !important;
  -webkit-backdrop-filter: blur(18px) saturate(150%) !important;
}

@keyframes fcnModalFadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

.fcn-search-card {
  display: flex !important;
  flex-direction: column !important;
  width: min(680px, 96vw) !important;
  max-height: calc(88vh - 1.5rem) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-radius: 16px !important;
  background: #0f121a !important;
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.75), 0 0 0 1px rgba(255, 255, 255, 0.05), inset 0 1px 0 rgba(255, 255, 255, 0.1) !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  animation: fcnCardSlideIn 200ms cubic-bezier(0.16, 1, 0.3, 1) !important;
}

@keyframes fcnCardSlideIn {
  from {
    opacity: 0;
    transform: translateY(-8px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

html[data-mode="light"] .fcn-search-card {
  background: #ffffff !important;
  border-color: #e2e8f0 !important;
  box-shadow: 0 24px 70px rgba(15, 23, 42, 0.18), 0 0 0 1px rgba(0, 0, 0, 0.04), inset 0 1px 0 rgba(255, 255, 255, 0.9) !important;
}

/* Top Mode Switcher Bar */
.fcn-modal-mode-bar {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 0.65rem 1rem !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  background: rgba(255, 255, 255, 0.02) !important;
  gap: 0.75rem !important;
}

html[data-mode="light"] .fcn-modal-mode-bar {
  border-bottom-color: #f1f5f9 !important;
  background: #f8fafc !important;
}

.fcn-mode-switcher {
  display: inline-flex !important;
  align-items: center !important;
  background: rgba(255, 255, 255, 0.06) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 8px !important;
  padding: 2px !important;
  gap: 2px !important;
}

html[data-mode="light"] .fcn-mode-switcher {
  background: #e2e8f0 !important;
  border-color: #cbd5e1 !important;
}

.fcn-mode-tab {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.35rem !important;
  padding: 0.3rem 0.75rem !important;
  border: 0 !important;
  border-radius: 6px !important;
  background: transparent !important;
  color: var(--fg-400, #94a3b8) !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  transition: background 120ms ease, color 120ms ease !important;
}

.fcn-mode-tab:hover {
  color: #ffffff !important;
}

.fcn-mode-tab.is-active {
  background: rgba(255, 255, 255, 0.14) !important;
  color: #ffffff !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25) !important;
}

html[data-mode="light"] .fcn-mode-tab {
  color: #64748b !important;
}

html[data-mode="light"] .fcn-mode-tab:hover {
  color: #0f172a !important;
}

html[data-mode="light"] .fcn-mode-tab.is-active {
  background: #ffffff !important;
  color: #0f172a !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08) !important;
}

.fcn-mode-full-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.35rem !important;
  color: var(--primary-accent, #c084fc) !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  margin-left: auto !important;
  padding: 0.25rem 0.5rem !important;
  border-radius: 6px !important;
  transition: background 120ms ease !important;
}

.fcn-mode-full-link:hover {
  background: rgba(192, 132, 252, 0.12) !important;
}

html[data-mode="light"] .fcn-mode-full-link {
  color: #a855f7 !important;
}

.fcn-search-close {
  border: 0 !important;
  background: transparent !important;
  padding: 0 !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
}

.fcn-search-key {
  display: inline-grid !important;
  place-items: center !important;
  padding: 0.2rem 0.45rem !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-radius: 5px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  color: var(--fg-400, #94a3b8) !important;
  font-size: 0.68rem !important;
  font-weight: 800 !important;
  font-family: inherit !important;
}

html[data-mode="light"] .fcn-search-key {
  border-color: #cbd5e1 !important;
  background: #f1f5f9 !important;
  color: #64748b !important;
}

/* Search Header Input (Matched to .fcn-lib-filter-input-wrap) */
.fcn-search-header,
#fcn-tab-search .fcn-search-header {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  gap: 0.55rem !important;
  width: 100% !important;
  height: 38px !important;
  min-height: 38px !important;
  padding: 0 0.75rem !important;
  border-radius: 9px !important;
  background: rgba(255, 255, 255, 0.04) !important;
  border: 1px solid rgba(192, 132, 252, 0.2) !important;
  box-sizing: border-box !important;
  transition: border-color 140ms ease, box-shadow 140ms ease !important;
  border-bottom: 1px solid rgba(192, 132, 252, 0.2) !important;
}

html[data-mode="light"] .fcn-search-header,
html[data-mode="light"] #fcn-tab-search .fcn-search-header {
  background: #f8fafc !important;
  border-color: #e2e8f0 !important;
}

.fcn-search-header:focus-within,
#fcn-tab-search .fcn-search-header:focus-within {
  border-color: #c084fc !important;
  box-shadow: 0 0 0 3px rgba(192, 132, 252, 0.16) !important;
}

.fcn-search-header__icon,
#fcn-tab-search .fcn-search-header__icon {
  position: static !important;
  font-size: 0.82rem !important;
  color: #c084fc !important;
  flex-shrink: 0 !important;
  pointer-events: none !important;
  z-index: 1 !important;
  line-height: 1 !important;
  margin: 0 !important;
  left: auto !important;
}

.fcn-search-input,
#fcn-tab-search .fcn-search-input {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  width: 100% !important;
  height: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  background: transparent !important;
  outline: none !important;
  color: var(--fg-100, #ffffff) !important;
  font-size: 0.84rem !important;
  font-weight: 500 !important;
  line-height: 38px !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

html[data-mode="light"] .fcn-search-input,
html[data-mode="light"] #fcn-tab-search .fcn-search-input {
  color: #0f172a !important;
}

.fcn-search-input::placeholder,
#fcn-tab-search .fcn-search-input::placeholder {
  color: #94a3b8 !important;
  font-size: 0.84rem !important;
  opacity: 0.85 !important;
}

.fcn-search-clear,
#fcn-tab-search .fcn-search-clear {
  position: static !important;
  background: transparent !important;
  border: none !important;
  color: #94a3b8 !important;
  font-size: 1.15rem !important;
  line-height: 1 !important;
  cursor: pointer !important;
  padding: 0 0.15rem !important;
  flex-shrink: 0 !important;
  transition: color 120ms ease !important;
}

.fcn-search-clear:hover,
#fcn-tab-search .fcn-search-clear:hover {
  color: #ffffff !important;
}

html[data-mode="light"] .fcn-search-clear:hover,
html[data-mode="light"] #fcn-tab-search .fcn-search-clear:hover {
  color: #0f172a !important;
}

html[data-mode="light"] .fcn-search-input:focus {
  background: #ffffff !important;
  border-color: #a855f7 !important;
  box-shadow: 0 0 0 3px rgba(2, 132, 199, 0.15) !important;
}

.fcn-search-clear {
  position: absolute !important;
  right: 1.75rem !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 24px !important;
  height: 24px !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.1) !important;
  color: #cbd5e1 !important;
  font-size: 0.9rem !important;
  cursor: pointer !important;
  z-index: 2 !important;
}

.fcn-search-clear[hidden] {
  display: none !important;
}

html[data-mode="light"] .fcn-search-clear {
  background: #e2e8f0 !important;
  color: #64748b !important;
}

/* Secondary Filter Toolbar */
.fcn-search-toolbar {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 0.5rem 1rem !important;
  background: rgba(0, 0, 0, 0.15) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
  gap: 0.5rem !important;
  flex-wrap: wrap !important;
}

html[data-mode="light"] .fcn-search-toolbar {
  background: #f8fafc !important;
  border-bottom-color: #f1f5f9 !important;
}

.fcn-search-filters {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.35rem !important;
  flex-wrap: wrap !important;
}

.fcn-filter-chip {
  padding: 0.22rem 0.65rem !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: var(--fg-400, #94a3b8) !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  transition: all 120ms ease !important;
}

.fcn-filter-chip:hover,
.fcn-filter-chip.is-active {
  background: rgba(255, 255, 255, 0.12) !important;
  color: #ffffff !important;
  border-color: rgba(255, 255, 255, 0.22) !important;
}

html[data-mode="light"] .fcn-filter-chip {
  border-color: #e2e8f0 !important;
  color: #64748b !important;
}

html[data-mode="light"] .fcn-filter-chip:hover,
html[data-mode="light"] .fcn-filter-chip.is-active {
  background: #e2e8f0 !important;
  color: #0f172a !important;
}

.fcn-bl-filter-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.4rem !important;
  padding: 0.25rem 0.65rem !important;
  border: 1px solid rgba(168, 85, 247, 0.3) !important;
  border-radius: 8px !important;
  background: rgba(168, 85, 247, 0.08) !important;
  color: #c084fc !important;
  font-size: 0.74rem !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  transition: all 120ms ease !important;
}

.fcn-bl-filter-btn:hover,
.fcn-bl-filter-btn.is-active,
.fcn-bl-filter-btn.has-filters {
  background: rgba(168, 85, 247, 0.2) !important;
  color: #ffffff !important;
  border-color: rgba(168, 85, 247, 0.5) !important;
}

.fcn-bl-active-count {
  display: inline-grid !important;
  place-items: center !important;
  min-width: 16px !important;
  height: 16px !important;
  padding: 0 4px !important;
  border-radius: 999px !important;
  background: #a855f7 !important;
  color: #ffffff !important;
  font-size: 0.62rem !important;
  font-weight: 800 !important;
}

.fcn-bl-active-count[hidden] {
  display: none !important;
}

/* BL Taxonomy Popover Panel */
.fcn-bl-taxonomy-panel {
  padding: 0.75rem 1rem !important;
  background: rgba(0, 0, 0, 0.25) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}

.fcn-bl-taxonomy-panel[hidden] {
  display: none !important;
}

html[data-mode="light"] .fcn-bl-taxonomy-panel {
  background: #f1f5f9 !important;
  border-bottom-color: #e2e8f0 !important;
}

.fcn-bl-taxonomy-nav {
  display: flex !important;
  align-items: center !important;
  gap: 0.35rem !important;
  margin-bottom: 0.6rem !important;
  flex-wrap: wrap !important;
}

.fcn-bl-tab {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.3rem !important;
  padding: 0.22rem 0.55rem !important;
  border: 0 !important;
  border-radius: 6px !important;
  background: transparent !important;
  color: var(--fg-400, #94a3b8) !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  cursor: pointer !important;
}

.fcn-bl-tab.is-active {
  background: rgba(255, 255, 255, 0.12) !important;
  color: #ffffff !important;
}

html[data-mode="light"] .fcn-bl-tab {
  color: #64748b !important;
}

html[data-mode="light"] .fcn-bl-tab.is-active {
  background: #ffffff !important;
  color: #0f172a !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important;
}

.fcn-bl-clear-btn {
  margin-left: auto !important;
  background: transparent !important;
  border: 0 !important;
  color: #ef4444 !important;
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  cursor: pointer !important;
}

.fcn-bl-clear-btn[hidden] {
  display: none !important;
}

.fcn-bl-tag-cloud {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.35rem !important;
  max-height: 110px !important;
  overflow-y: auto !important;
}

.fcn-bl-tag-chip {
  padding: 0.18rem 0.5rem !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: 6px !important;
  background: rgba(255, 255, 255, 0.04) !important;
  color: var(--fg-300, #cbd5e1) !important;
  font-size: 0.72rem !important;
  cursor: pointer !important;
  transition: all 120ms ease !important;
}

.fcn-bl-tag-chip:hover {
  background: rgba(255, 255, 255, 0.1) !important;
  color: #ffffff !important;
}

.fcn-bl-tag-chip.is-selected {
  background: #a855f7 !important;
  color: #ffffff !important;
  border-color: #a855f7 !important;
}

html[data-mode="light"] .fcn-bl-tag-chip {
  border-color: #cbd5e1 !important;
  background: #ffffff !important;
  color: #475569 !important;
}

html[data-mode="light"] .fcn-bl-tag-chip.is-selected {
  background: #9333ea !important;
  color: #ffffff !important;
  border-color: #9333ea !important;
}

/* Alphabet Strip for A-Z Index */
.fcn-index-alphabet-strip {
  display: flex !important;
  align-items: center !important;
  gap: 2px !important;
  padding: 0.4rem 0.75rem !important;
  background: rgba(0, 0, 0, 0.2) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
  overflow-x: auto !important;
  scrollbar-width: none !important;
}

.fcn-index-alphabet-strip[hidden] {
  display: none !important;
}

.fcn-index-alphabet-strip::-webkit-scrollbar {
  display: none !important;
}

html[data-mode="light"] .fcn-index-alphabet-strip {
  background: #f1f5f9 !important;
  border-bottom-color: #e2e8f0 !important;
}

.fcn-letter-chip {
  display: inline-grid !important;
  place-items: center !important;
  min-width: 24px !important;
  height: 24px !important;
  padding: 0 4px !important;
  border: 0 !important;
  border-radius: 4px !important;
  background: transparent !important;
  color: var(--fg-400, #94a3b8) !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
  transition: all 100ms ease !important;
}

.fcn-letter-chip:hover {
  background: rgba(255, 255, 255, 0.1) !important;
  color: #ffffff !important;
}

.fcn-letter-chip.is-active {
  background: var(--primary-accent, #c084fc) !important;
  color: #0f172a !important;
}

.fcn-letter-chip.is-disabled,
.fcn-letter-chip:disabled {
  opacity: 0.25 !important;
  cursor: default !important;
  pointer-events: none !important;
}

html[data-mode="light"] .fcn-letter-chip {
  color: #64748b !important;
}

html[data-mode="light"] .fcn-letter-chip.is-active {
  background: #a855f7 !important;
  color: #ffffff !important;
}

/* Search Body & Results Container */
.fcn-search-body {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow-y: auto !important;
}

.fcn-search-results {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.35rem !important;
  padding: 0.65rem !important;
  max-height: calc(75vh - 120px) !important;
  overflow-y: auto !important;
  box-sizing: border-box !important;
}

/* Search Item Card */
.fcn-search-item {
  display: flex !important;
  align-items: center !important;
  gap: 0.85rem !important;
  padding: 0.55rem 0.75rem !important;
  border-radius: 10px !important;
  text-decoration: none !important;
  color: inherit !important;
  background: rgba(255, 255, 255, 0.02) !important;
  border: 1px solid transparent !important;
  transition: background 120ms ease, border-color 120ms ease !important;
}

.fcn-search-item:hover,
.fcn-search-item.is-selected {
  background: rgba(255, 255, 255, 0.08) !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
}

html[data-mode="light"] .fcn-search-item {
  background: rgba(0, 0, 0, 0.02) !important;
}

html[data-mode="light"] .fcn-search-item:hover,
html[data-mode="light"] .fcn-search-item.is-selected {
  background: #f1f5f9 !important;
  border-color: #e2e8f0 !important;
}

.fcn-search-item__cover,
.fcn-index-item__cover {
  width: 44px !important;
  height: 60px !important;
  border-radius: 6px !important;
  object-fit: cover !important;
  background: rgba(255, 255, 255, 0.06) !important;
  flex-shrink: 0 !important;
}

.fcn-search-item__info,
.fcn-index-item__info {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.2rem !important;
}

.fcn-search-item__title,
.fcn-index-item__title {
  font-size: 0.9rem !important;
  font-weight: 700 !important;
  color: var(--fg-100, #ffffff) !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

html[data-mode="light"] .fcn-search-item__title,
html[data-mode="light"] .fcn-index-item__title {
  color: #0f172a !important;
}

.fcn-search-item__title mark,
.fcn-index-item__title mark {
  background: rgba(192, 132, 252, 0.25) !important;
  color: #c084fc !important;
  padding: 0 2px !important;
  border-radius: 2px !important;
}

html[data-mode="light"] .fcn-search-item__title mark,
html[data-mode="light"] .fcn-index-item__title mark {
  background: #e9d5ff !important;
  color: #a855f7 !important;
}

.fcn-search-item__meta,
.fcn-index-item__meta {
  display: flex !important;
  align-items: center !important;
  gap: 0.45rem !important;
  color: var(--fg-500, #64748b) !important;
  font-size: 0.72rem !important;
  font-weight: 500 !important;
}

.fcn-search-item__status {
  font-size: 0.62rem !important;
  font-weight: 700 !important;
  padding: 0.1rem 0.35rem !important;
  border-radius: 4px !important;
  text-transform: uppercase !important;
  background: rgba(255, 255, 255, 0.08) !important;
  color: #94a3b8 !important;
}

.fcn-search-item__status._ongoing {
  background: rgba(34, 197, 94, 0.12) !important;
  color: #4ade80 !important;
}

.fcn-search-item__status._completed {
  background: rgba(192, 132, 252, 0.12) !important;
  color: #c084fc !important;
}

.fcn-search-item__status._hiatus {
  background: rgba(234, 179, 8, 0.12) !important;
  color: #facc15 !important;
}

.fcn-search-loading {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 3rem 1.5rem !important;
  color: var(--fg-400, #94a3b8) !important;
  text-align: center !important;
  gap: 0.75rem !important;
}

.fcn-search-loading i {
  font-size: 2rem !important;
  color: var(--primary-accent, #c084fc) !important;
}

.fcn-search-loading p {
  margin: 0 !important;
  font-size: 0.85rem !important;
  font-weight: 500 !important;
}

.fcn-search-empty {
  text-align: center !important;
  padding: 3rem 1.5rem !important;
  color: #94a3b8 !important;
}

.fcn-search-empty i {
  font-size: 2.2rem !important;
  margin-bottom: 0.75rem !important;
  opacity: 0.4 !important;
  display: block !important;
}

.fcn-search-empty p {
  margin: 0.3rem 0 !important;
  font-size: 0.85rem !important;
}

.fcn-search-empty a {
  color: var(--primary-accent, #c084fc) !important;
  text-decoration: none !important;
  font-weight: 600 !important;
}

.fcn-search-overflow-note {
  text-align: center !important;
  padding: 0.75rem !important;
  color: #64748b !important;
  font-size: 0.72rem !important;
}

/* A-Z Index Grouped Layout */
.fcn-index-group-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 1rem !important;
  width: 100% !important;
}

.fcn-index-letter-group {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.35rem !important;
}

.fcn-index-letter-header {
  display: flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  padding: 0.3rem 0.5rem !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
}

html[data-mode="light"] .fcn-index-letter-header {
  border-bottom-color: #f1f5f9 !important;
}

.fcn-index-letter-badge {
  display: inline-grid !important;
  place-items: center !important;
  width: 22px !important;
  height: 22px !important;
  border-radius: 4px !important;
  background: rgba(192, 132, 252, 0.15) !important;
  color: #c084fc !important;
  font-size: 0.75rem !important;
  font-weight: 800 !important;
}

html[data-mode="light"] .fcn-index-letter-badge {
  background: #f3e8ff !important;
  color: #a855f7 !important;
}

.fcn-index-letter-count {
  font-size: 0.7rem !important;
  color: #64748b !important;
}

.fcn-index-letter-items {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.3rem !important;
}

.fcn-index-item {
  display: flex !important;
  align-items: center !important;
  gap: 0.85rem !important;
  padding: 0.55rem 0.75rem !important;
  border-radius: 10px !important;
  text-decoration: none !important;
  color: inherit !important;
  background: rgba(255, 255, 255, 0.02) !important;
  border: 1px solid transparent !important;
  transition: background 120ms ease, border-color 120ms ease !important;
}

.fcn-index-item:hover,
.fcn-index-item.is-selected {
  background: rgba(255, 255, 255, 0.08) !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
}

html[data-mode="light"] .fcn-index-item:hover,
html[data-mode="light"] .fcn-index-item.is-selected {
  background: #f1f5f9 !important;
  border-color: #e2e8f0 !important;
}

.fcn-index-item__arrow {
  color: var(--fg-500, #64748b) !important;
  font-size: 0.75rem !important;
  margin-left: auto !important;
}

/* Modal Footer */
.fcn-search-footer {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 0.5rem 1rem !important;
  border-top: 1px solid rgba(255, 255, 255, 0.06) !important;
  background: rgba(0, 0, 0, 0.2) !important;
  color: var(--fg-500, #64748b) !important;
  font-size: 0.72rem !important;
}

html[data-mode="light"] .fcn-search-footer {
  border-top-color: #f1f5f9 !important;
  background: #f8fafc !important;
}

.fcn-search-hints {
  display: flex !important;
  align-items: center !important;
  gap: 0.6rem !important;
}

.fcn-search-hints kbd {
  display: inline-block !important;
  padding: 0.1rem 0.35rem !important;
  border-radius: 4px !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  background: rgba(255, 255, 255, 0.04) !important;
  font-family: inherit !important;
  font-size: 0.65rem !important;
  color: #94a3b8 !important;
}

html[data-mode="light"] .fcn-search-hints kbd {
  border-color: #cbd5e1 !important;
  background: #f1f5f9 !important;
  color: #64748b !important;
}


/* ==========================================================================
   NOTION-LIKE MINIMALIST BREADCRUMBS (Top Left Corner of Main Polygon)
   ========================================================================== */

.fcn-chapter-breadcrumbs-container {
  display: block !important;
  position: relative !important;
  z-index: 10 !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 0 1.65rem 0 !important; /* Slightly bigger, generous vertical gap before action tools */
  padding: 0 !important;
  box-sizing: border-box !important;
}

.fcn-notion-breadcrumbs {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.fcn-notion-breadcrumbs__list {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex-wrap: wrap !important;
  gap: 0.35rem 0.65rem !important; /* Generous breathing room between crumbs */
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  font-family: inherit !important;
  font-size: 0.82rem !important;
  line-height: 1.45 !important;
  background: transparent !important;
  border: 0 !important;
}

.fcn-notion-breadcrumbs__item {
  display: inline-flex !important;
  align-items: center !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}

.fcn-notion-breadcrumbs__item--story {
  max-width: 320px !important;
}

.fcn-notion-breadcrumbs__item--current {
  max-width: 360px !important;
  flex-shrink: 1 !important;
  min-width: 0 !important;
}

.fcn-notion-breadcrumbs__link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  padding: 0 !important;
  color: var(--fg-500, #94a3b8) !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  transition: color 120ms ease !important;
  text-overflow: ellipsis !important;
  overflow: hidden !important;
}

.fcn-notion-breadcrumbs__home-icon {
  font-size: 0.8rem !important;
  opacity: 0.85 !important;
  margin-right: 2px !important;
}

.fcn-notion-breadcrumbs__link:hover {
  color: var(--primary-accent, #c084fc) !important;
  text-decoration: underline !important;
}

.fcn-notion-breadcrumbs__separator {
  color: var(--fg-600, #484f58) !important;
  opacity: 0.45 !important;
  font-size: 0.75rem !important;
  margin: 0 4px !important;
  user-select: none !important;
  flex-shrink: 0 !important;
}

.fcn-notion-breadcrumbs__current {
  display: inline-block !important;
  padding: 0 !important;
  color: var(--fg-200, #e6edf3) !important;
  font-weight: 600 !important;
  text-overflow: ellipsis !important;
  overflow: hidden !important;
  white-space: nowrap !important;
}

/* Light Mode Overrides */
html[data-mode="light"] .fcn-notion-breadcrumbs__link {
  color: #64748b !important;
}

html[data-mode="light"] .fcn-notion-breadcrumbs__link:hover {
  color: #a855f7 !important;
}

html[data-mode="light"] .fcn-notion-breadcrumbs__separator {
  color: #94a3b8 !important;
  opacity: 0.65 !important;
}

html[data-mode="light"] .fcn-notion-breadcrumbs__current {
  color: #0f172a !important;
}

/* Hide default bottom footer breadcrumbs on chapter pages */
body.single-fcn_chapter .footer .nav-breadcrumbs {
  display: none !important;
}

@media screen and (max-width: 640px) {
  .fcn-chapter-breadcrumbs-container {
    margin: 0 0 1.25rem 0 !important;
  }
  .fcn-notion-breadcrumbs__list {
    gap: 0.3rem 0.5rem !important;
  }
  .fcn-notion-breadcrumbs__item--story {
    max-width: 150px !important;
  }
  .fcn-notion-breadcrumbs__item--current {
    max-width: 180px !important;
  }
}


/* ==========================================================================
   CLEAN FOOTER STYLING & _footer-isolated FIX
   ========================================================================== */

.footer,
.footer.layout-links,
.footer._footer-isolated {
  position: relative !important;
  width: 100% !important;
  margin: 2rem 0 0 0 !important;
  padding: 1.5rem 1rem !important;
  background: transparent !important;
  border-top: 1px solid rgba(255, 255, 255, 0.06) !important;
  box-sizing: border-box !important;
  text-align: center !important;
}

html[data-mode="light"] .footer,
html[data-mode="light"] .footer.layout-links,
html[data-mode="light"] .footer._footer-isolated {
  background: transparent !important;
  border-top-color: #e2e8f0 !important;
}

.footer__wrapper {
  max-width: var(--layout-width-main, 1200px) !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.75rem !important;
}

.footer:empty,
.footer__wrapper:empty {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}


/* ==========================================================================
   UNIVERSALLY RESPONSIVE PERPETUALLY DARK MICRO MENU (v2.44.0)
   - Fits seamlessly across 320px ultra-compact mobile to 4K ultra-wide desktop.
   - Fluid clamp sizing, flex-shrink protection, zero horizontal overflow.
   - Center-balanced on mobile/tablet, left-aligned on desktop reading margin.
   - Rich frosted obsidian glass with glowing golden active bookmarking.
   ========================================================================== */

:root .micro-menu,
html .micro-menu,
html[data-mode="light"] .micro-menu,
html[data-mode="dark"] .micro-menu,
body .micro-menu {
  --size: 38px !important;
  --micro-menu-background: rgba(12, 15, 22, 0.95) !important;
  --micro-menu-color: #f1f5f9 !important;
  --micro-menu-color-hover: #c084fc !important;
  position: fixed !important;
  left: max(14px, calc((100vw - var(--site-width, 1140px)) / 2 + 14px)) !important;
  bottom: max(18px, env(safe-area-inset-bottom, 18px)) !important;
  z-index: 999 !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 4px !important;
  padding: 4px 6px !important;
  border-radius: 12px !important;
  background: rgba(12, 15, 22, 0.95) !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  box-shadow: 0 12px 35px rgba(0, 0, 0, 0.7), 0 0 0 1px rgba(255, 255, 255, 0.06) !important;
  backdrop-filter: blur(24px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(24px) saturate(180%) !important;
  transform: none !important;
  transition: opacity 200ms ease, bottom 200ms ease, transform 200ms ease !important;
  box-sizing: border-box !important;
  max-width: calc(100vw - 28px) !important;
  width: max-content !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
}

:root .micro-menu::-webkit-scrollbar,
html .micro-menu::-webkit-scrollbar,
body .micro-menu::-webkit-scrollbar {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}

:root .micro-menu::before,
html .micro-menu::before,
html[data-mode="light"] .micro-menu::before,
body .micro-menu::before {
  display: none !important;
}

/* Base Micro Menu Items: Crisp Silver/White */
:root .micro-menu__item,
html .micro-menu__item,
html[data-mode="light"] .micro-menu__item,
html[data-mode="dark"] .micro-menu__item,
body .micro-menu__item {
  cursor: pointer !important;
  display: inline-grid !important;
  place-content: center !important;
  width: var(--size, 38px) !important;
  height: var(--size, 38px) !important;
  min-width: var(--size, 38px) !important;
  min-height: var(--size, 38px) !important;
  flex-shrink: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 8px !important;
  background: transparent !important;
  color: #e2e8f0 !important;
  font-size: 17px !important;
  line-height: 1 !important;
  border: none !important;
  box-shadow: none !important;
  text-decoration: none !important;
  opacity: 0.92 !important;
  transition: background 120ms ease, color 120ms ease, transform 100ms ease, opacity 120ms ease !important;
  box-sizing: border-box !important;
  -webkit-tap-highlight-color: transparent !important;
}

:root .micro-menu__item:hover,
html .micro-menu__item:hover,
html[data-mode="light"] .micro-menu__item:hover,
body .micro-menu__item:hover {
  background: rgba(255, 255, 255, 0.12) !important;
  color: #ffffff !important;
  opacity: 1 !important;
}

:root .micro-menu__item:active,
html .micro-menu__item:active,
body .micro-menu__item:active {
  transform: scale(0.92) !important;
}

/* SVG and font icon color synchronization */
.micro-menu__item svg,
.micro-menu__item .icon,
.micro-menu__item i {
  color: inherit !important;
  fill: currentColor !important;
  display: block !important;
  width: 17px !important;
  height: 17px !important;
  font-size: 16px !important;
  line-height: 1 !important;
  text-align: center !important;
  flex-shrink: 0 !important;
}

/* Navigation Carets: Extra Crisp & Prominent */
:root .micro-menu__item:is(.previous, .next, .up),
html .micro-menu__item:is(.previous, .next, .up),
html[data-mode="light"] .micro-menu__item:is(.previous, .next, .up) {
  font-size: 20px !important;
  color: #ffffff !important;
}

:root .micro-menu__item:is(.previous, .next, .up) i,
html .micro-menu__item:is(.previous, .next, .up) i {
  font-size: 20px !important;
  width: auto !important;
  height: auto !important;
}

/* Chapter Report Button: Warm Caution Amber / Soft Red Hover */
:root .micro-menu__item.micro-menu__report,
html .micro-menu__item.micro-menu__report,
html[data-mode="light"] .micro-menu__item.micro-menu__report {
  color: #f59e0b !important;
  opacity: 0.95 !important;
}

:root .micro-menu__item.micro-menu__report:hover,
html .micro-menu__item.micro-menu__report:hover,
html[data-mode="light"] .micro-menu__item.micro-menu__report:hover {
  color: #ef4444 !important;
  background: rgba(239, 68, 68, 0.18) !important;
}

.micro-menu__report-icon {
  width: 17px !important;
  height: 17px !important;
  fill: currentColor !important;
}

/* Bookmark Button: Brilliant High-Contrast Cyan & Glowing Golden Amber */
:root .micro-menu__item.micro-menu__bookmark,
:root .micro-menu__item.button--bookmark,
html .micro-menu__item.micro-menu__bookmark,
html .micro-menu__item.button--bookmark,
html[data-mode="light"] .micro-menu__item.micro-menu__bookmark,
html[data-mode="light"] .micro-menu__item.button--bookmark {
  color: #c084fc !important;
  background: transparent !important;
  opacity: 1 !important;
  visibility: visible !important;
}

:root .micro-menu__item.micro-menu__bookmark i,
:root .micro-menu__item.button--bookmark i,
html .micro-menu__item.micro-menu__bookmark i,
html .micro-menu__item.button--bookmark i {
  color: inherit !important;
  font-size: 17px !important;
  filter: drop-shadow(0 2px 5px rgba(0, 0, 0, 0.5)) !important;
}

:root .micro-menu__item.micro-menu__bookmark:hover,
:root .micro-menu__item.button--bookmark:hover,
html .micro-menu__item.micro-menu__bookmark:hover,
html .micro-menu__item.button--bookmark:hover {
  color: #ffffff !important;
  background: rgba(192, 132, 252, 0.2) !important;
}

/* Active Bookmarked Chapter: Radiant Amber Glow */
:root .micro-menu__item.micro-menu__bookmark.active,
:root .micro-menu__item.micro-menu__bookmark.is-bookmarked,
:root .micro-menu__item.button--bookmark.active,
:root .micro-menu__item.button--bookmark.is-bookmarked,
:root .micro-menu__item.button--bookmark[data-bookmark-active="true"],
html .micro-menu__item.micro-menu__bookmark.active,
html .micro-menu__item.micro-menu__bookmark.is-bookmarked,
html[data-mode="light"] .micro-menu__item.micro-menu__bookmark.active,
html[data-mode="light"] .micro-menu__item.micro-menu__bookmark.is-bookmarked {
  color: #facc15 !important;
  background: rgba(250, 204, 21, 0.15) !important;
  box-shadow: 0 0 10px rgba(250, 204, 21, 0.3) !important;
}

/* Tablets & Small Laptops (<= 1024px): Center-Balanced Floating Pill */
@media (max-width: 1024px) {
  :root .micro-menu,
  html .micro-menu,
  html[data-mode="light"] .micro-menu,
  body .micro-menu {
    left: 50% !important;
    transform: translateX(-50%) !important;
    bottom: max(16px, env(safe-area-inset-bottom, 16px)) !important;
    max-width: calc(100vw - 20px) !important;
  }
}

/* Standard Mobile (<= 767px): Fluid Dimension Clamping */
@media (max-width: 767px) {
  :root .micro-menu,
  html .micro-menu,
  html[data-mode="light"] .micro-menu,
  body .micro-menu {
    --size: clamp(34px, 9.2vw, 40px) !important;
    gap: clamp(2px, 1.2vw, 4px) !important;
    padding: 4px clamp(4px, 1.5vw, 6px) !important;
    border-radius: 12px !important;
  }

  .micro-menu__item {
    font-size: clamp(15px, 4.2vw, 18px) !important;
  }

  .micro-menu__item:is(.previous, .next, .up),
  .micro-menu__item:is(.previous, .next, .up) i {
    font-size: clamp(18px, 5vw, 22px) !important;
  }

  .micro-menu__item svg,
  .micro-menu__report-icon {
    width: clamp(15px, 4.2vw, 18px) !important;
    height: clamp(15px, 4.2vw, 18px) !important;
  }

  .micro-menu__item.micro-menu__bookmark i,
  .micro-menu__item.button--bookmark i {
    font-size: clamp(15px, 4.2vw, 18px) !important;
  }

  .tts-open .micro-menu {
    bottom: calc(max(16px, env(safe-area-inset-bottom, 16px)) + 64px) !important;
  }
}

/* Compact Mobile (<= 360px): Ultra-Slim Scaling */
@media (max-width: 360px) {
  :root .micro-menu,
  html .micro-menu,
  html[data-mode="light"] .micro-menu,
  body .micro-menu {
    --size: 30px !important;
    gap: 2px !important;
    padding: 3px 4px !important;
    border-radius: 10px !important;
    bottom: max(12px, env(safe-area-inset-bottom, 12px)) !important;
    max-width: calc(100vw - 12px) !important;
  }

  .micro-menu__item {
    font-size: 14px !important;
    border-radius: 6px !important;
  }

  .micro-menu__item:is(.previous, .next, .up),
  .micro-menu__item:is(.previous, .next, .up) i {
    font-size: 16px !important;
  }

  .micro-menu__item svg,
  .micro-menu__report-icon {
    width: 14px !important;
    height: 14px !important;
  }

  .micro-menu__item.micro-menu__bookmark i,
  .micro-menu__item.button--bookmark i {
    font-size: 14px !important;
  }
}

/* ==========================================================================
   HIDE REMINDERS (Site-Wide & Bookshelf)
   ========================================================================== */

[data-fictioneer-reminders-target],
.button-read-later,
.button-read-later-notice,
.has-reminder,
.reminders-tab,
[data-tab="reminders"],
.story__actions .button-read-later {
  display: none !important;
}

/* ==========================================================================
   INTERACTIVE LIBRARY MODAL / SLIDE-OVER DRAWER
   ========================================================================== */

.fcn-library-modal {
  position: fixed !important;
  inset: 0 !important;
  z-index: 999999 !important;
  display: flex !important;
  justify-content: flex-end !important;
  visibility: hidden !important;
  opacity: 0 !important;
  transition: opacity 220ms ease, visibility 220ms ease !important;
  pointer-events: none !important;
}

.fcn-library-modal.is-open {
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

.fcn-library-backdrop {
  position: absolute !important;
  inset: 0 !important;
  background: rgba(0, 0, 0, 0.65) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
}

.fcn-library-drawer {
  position: relative !important;
  z-index: 10 !important;
  width: 440px !important;
  max-width: 90vw !important;
  height: 100% !important;
  background: #0f121a !important;
  border-left: 1px solid rgba(255, 255, 255, 0.1) !important;
  box-shadow: -12px 0 40px rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  transform: translateX(100%) !important;
  transition: transform 260ms cubic-bezier(0.16, 1, 0.3, 1) !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

.fcn-library-modal.is-open .fcn-library-drawer {
  transform: translateX(0) !important;
}

html[data-mode="light"] .fcn-library-drawer {
  background: #ffffff !important;
  border-left-color: #e2e8f0 !important;
  box-shadow: -10px 0 40px rgba(0, 0, 0, 0.15) !important;
}

/* Header */
.fcn-library-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 1.1rem 1.25rem !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}

html[data-mode="light"] .fcn-library-header {
  border-bottom-color: #f1f5f9 !important;
}

.fcn-library-title-group {
  display: flex !important;
  align-items: center !important;
  gap: 0.65rem !important;
}

.fcn-library-icon {
  font-size: 1.15rem !important;
  color: var(--primary-accent, #c084fc) !important;
}

.fcn-library-title {
  margin: 0 !important;
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  color: var(--fg-100, #ffffff) !important;
  letter-spacing: -0.01em !important;
}

html[data-mode="light"] .fcn-library-title {
  color: #0f172a !important;
}

.fcn-library-close-btn {
  background: rgba(255, 255, 255, 0.08) !important;
  border: 0 !important;
  border-radius: 50% !important;
  width: 32px !important;
  height: 32px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #94a3b8 !important;
  font-size: 0.9rem !important;
  cursor: pointer !important;
  transition: all 120ms ease !important;
}

.fcn-library-close-btn:hover {
  background: rgba(255, 255, 255, 0.16) !important;
  color: #ffffff !important;
}

html[data-mode="light"] .fcn-library-close-btn {
  background: #f1f5f9 !important;
  color: #64748b !important;
}

html[data-mode="light"] .fcn-library-close-btn:hover {
  background: #e2e8f0 !important;
  color: #0f172a !important;
}

/* Nav Tabs */
.fcn-library-nav {
  display: flex !important;
  padding: 0.6rem 1rem !important;
  gap: 0.5rem !important;
  background: rgba(0, 0, 0, 0.2) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
}

html[data-mode="light"] .fcn-library-nav {
  background: #f8fafc !important;
  border-bottom-color: #f1f5f9 !important;
}

.fcn-library-tab-btn {
  flex: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.45rem !important;
  padding: 0.55rem 0.75rem !important;
  border: 1px solid transparent !important;
  border-radius: 8px !important;
  background: transparent !important;
  color: #94a3b8 !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all 140ms ease !important;
}

.fcn-library-tab-btn:hover {
  color: #ffffff !important;
  background: rgba(255, 255, 255, 0.06) !important;
}

.fcn-library-tab-btn.is-active {
  background: rgba(192, 132, 252, 0.12) !important;
  color: #c084fc !important;
  border-color: rgba(192, 132, 252, 0.28) !important;
}

html[data-mode="light"] .fcn-library-tab-btn {
  color: #64748b !important;
}

html[data-mode="light"] .fcn-library-tab-btn:hover {
  color: #0f172a !important;
  background: #f1f5f9 !important;
}

html[data-mode="light"] .fcn-library-tab-btn.is-active {
  background: #f3e8ff !important;
  color: #a855f7 !important;
  border-color: #e9d5ff !important;
}

.fcn-library-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0.1rem 0.4rem !important;
  border-radius: 999px !important;
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  background: rgba(255, 255, 255, 0.1) !important;
  color: inherit !important;
}

/* Tab Content */
.fcn-library-tab-content {
  display: none !important;
  flex: 1 1 auto !important;
  overflow-y: auto !important;
  padding: 1rem !important;
}

.fcn-library-tab-content.is-active {
  display: block !important;
}

.fcn-library-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.75rem !important;
}

/* Empty State */
.fcn-library-empty {
  text-align: center !important;
  padding: 3rem 1.5rem !important;
  color: #94a3b8 !important;
}

.fcn-empty-icon {
  font-size: 2.5rem !important;
  margin-bottom: 0.75rem !important;
  opacity: 0.4 !important;
  display: block !important;
}

.fcn-library-empty h4 {
  margin: 0 0 0.4rem 0 !important;
  font-size: 1rem !important;
  color: #cbd5e1 !important;
}

.fcn-library-empty p {
  margin: 0 !important;
  font-size: 0.82rem !important;
  line-height: 1.5 !important;
}

html[data-mode="light"] .fcn-library-empty h4 {
  color: #334155 !important;
}

/* Library Cards */
.fcn-lib-card {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 0.75rem !important;
  border-radius: 10px !important;
  background: rgba(255, 255, 255, 0.03) !important;
  border: 1px solid rgba(255, 255, 255, 0.06) !important;
  gap: 0.75rem !important;
  transition: background 120ms ease, border-color 120ms ease !important;
}

.fcn-lib-card:hover {
  background: rgba(255, 255, 255, 0.06) !important;
  border-color: rgba(255, 255, 255, 0.12) !important;
}

html[data-mode="light"] .fcn-lib-card {
  background: #f8fafc !important;
  border-color: #e2e8f0 !important;
}

html[data-mode="light"] .fcn-lib-card:hover {
  background: #f1f5f9 !important;
}

.fcn-lib-card-left {
  display: flex !important;
  align-items: center !important;
  gap: 0.75rem !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
}

.fcn-lib-thumb {
  width: 44px !important;
  height: 60px !important;
  object-fit: cover !important;
  border-radius: 6px !important;
  flex-shrink: 0 !important;
}

.fcn-lib-thumb-placeholder {
  width: 44px !important;
  height: 60px !important;
  border-radius: 6px !important;
  background: rgba(255, 255, 255, 0.06) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #64748b !important;
  font-size: 1.1rem !important;
  flex-shrink: 0 !important;
}

html[data-mode="light"] .fcn-lib-thumb-placeholder {
  background: #e2e8f0 !important;
  color: #94a3b8 !important;
}

.fcn-lib-card-info {
  min-width: 0 !important;
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.2rem !important;
}

.fcn-lib-card-title {
  font-size: 0.88rem !important;
  font-weight: 700 !important;
  color: var(--fg-100, #ffffff) !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

html[data-mode="light"] .fcn-lib-card-title {
  color: #0f172a !important;
}

.fcn-lib-resume-link {
  font-size: 0.8rem !important;
  color: var(--primary-accent, #c084fc) !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.3rem !important;
}

.fcn-lib-resume-link:hover {
  text-decoration: underline !important;
}

.fcn-lib-latest-link {
  font-size: 0.75rem !important;
  color: #94a3b8 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.fcn-lib-date {
  font-size: 0.68rem !important;
  color: #64748b !important;
}

.fcn-lib-card-actions {
  display: flex !important;
  align-items: center !important;
  gap: 0.4rem !important;
  flex-shrink: 0 !important;
}

.fcn-lib-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.35rem !important;
  padding: 0.35rem 0.65rem !important;
  border-radius: 6px !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  cursor: pointer !important;
  border: 0 !important;
  transition: all 120ms ease !important;
}

.fcn-lib-btn-primary {
  background: rgba(192, 132, 252, 0.15) !important;
  color: #c084fc !important;
  border: 1px solid rgba(192, 132, 252, 0.3) !important;
}

.fcn-lib-btn-primary:hover {
  background: #c084fc !important;
  color: #0f172a !important;
}

html[data-mode="light"] .fcn-lib-btn-primary {
  background: #a855f7 !important;
  color: #ffffff !important;
  border-color: #a855f7 !important;
}

html[data-mode="light"] .fcn-lib-btn-primary:hover {
  background: #0369a1 !important;
}

.fcn-lib-delete-btn {
  background: transparent !important;
  border: 0 !important;
  color: #64748b !important;
  padding: 0.35rem !important;
  cursor: pointer !important;
  font-size: 0.85rem !important;
  border-radius: 4px !important;
  transition: color 120ms ease, background 120ms ease !important;
}

.fcn-lib-delete-btn:hover {
  color: #ef4444 !important;
  background: rgba(239, 68, 68, 0.1) !important;
}

/* Toast Notification */
.fcn-library-toast {
  position: fixed !important;
  bottom: 24px !important;
  right: 24px !important;
  z-index: 1000000 !important;
  padding: 0.75rem 1.25rem !important;
  border-radius: 8px !important;
  background: #0f121a !important;
  border: 1px solid rgba(192, 132, 252, 0.4) !important;
  color: #ffffff !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.6) !important;
  transform: translateY(20px) !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: transform 200ms ease, opacity 200ms ease !important;
}

.fcn-library-toast.is-visible {
  transform: translateY(0) !important;
  opacity: 1 !important;
}


/* ==========================================================================
   STORY PAGE RESUME READING BANNER
   ========================================================================== */

.fcn-story-resume-banner {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 0.85rem 1.25rem !important;
  margin: 1.25rem 0 !important;
  border-radius: 10px !important;
  background: rgba(192, 132, 252, 0.08) !important;
  border: 1px solid rgba(192, 132, 252, 0.25) !important;
  gap: 1rem !important;
  box-sizing: border-box !important;
}

html[data-mode="light"] .fcn-story-resume-banner {
  background: #f0f9ff !important;
  border-color: #e9d5ff !important;
}

.fcn-resume-banner-content {
  display: flex !important;
  align-items: center !important;
  gap: 0.75rem !important;
  min-width: 0 !important;
}

.fcn-resume-banner-icon {
  font-size: 1.25rem !important;
  color: #c084fc !important;
  flex-shrink: 0 !important;
}

html[data-mode="light"] .fcn-resume-banner-icon {
  color: #a855f7 !important;
}

.fcn-resume-banner-text {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.15rem !important;
  min-width: 0 !important;
}

.fcn-resume-banner-text span {
  font-size: 0.75rem !important;
  color: #94a3b8 !important;
}

html[data-mode="light"] .fcn-resume-banner-text span {
  color: #64748b !important;
}

.fcn-resume-banner-text strong {
  font-size: 0.95rem !important;
  color: #ffffff !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

html[data-mode="light"] .fcn-resume-banner-text strong {
  color: #0f172a !important;
}

.fcn-resume-banner-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.45rem !important;
  padding: 0.5rem 1rem !important;
  border-radius: 8px !important;
  background: var(--primary-accent, #c084fc) !important;
  color: #0f172a !important;
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
  transition: transform 120ms ease, opacity 120ms ease !important;
}

.fcn-resume-banner-btn:hover {
  opacity: 0.92 !important;
  transform: translateX(2px) !important;
}

html[data-mode="light"] .fcn-resume-banner-btn {
  background: #a855f7 !important;
  color: #ffffff !important;
}

@media (max-width: 640px) {
  .fcn-story-resume-banner {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 0.75rem !important;
  }
  .fcn-resume-banner-btn {
    width: 100% !important;
    justify-content: center !important;
  }
}


/* ==========================================================================
   HIDE CHECKMARKS ON STORY PAGES (chapter-group__list-item-checkmark)
   ========================================================================== */

.story .chapter-group__list-item-checkmark,
.story .chapter-group__list-item-checkmark.marked,
.story .chapter-group__list-item-checkmark.only-logged-in,
.story .checkmark.only-logged-in,
.chapter-group__list-item-checkmark {
  display: none !important;
}


/* ==========================================================================
   HIDE REDUNDANT RANGE PURCHASE BUTTON IN STORY HEADER
   ========================================================================== */

.story__header ._range-purchase,
.story__actions ._range-purchase,
.story .story__action-button._range-purchase {
  display: none !important;
}


/* --------------------------------------------------------------------------
   Consolidated Search in Unified Slide-Over Drawer
   -------------------------------------------------------------------------- */
#fcn-tab-search {
  display: none !important;
  flex-direction: column !important;
  padding: 1rem 1.15rem !important;
  gap: 0.75rem !important;
  overflow-y: auto !important;
  flex: 1 1 auto !important;
}

#fcn-tab-search.is-active {
  display: flex !important;
}

#fcn-tab-search .fcn-search-header {
  display: flex !important;
  align-items: center !important;
  gap: 0.65rem !important;
  padding: 0.65rem 0.95rem !important;
  border-radius: 10px !important;
  background: rgba(255, 255, 255, 0.06) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  transition: border-color 150ms ease, box-shadow 150ms ease !important;
}

html[data-mode="light"] #fcn-tab-search .fcn-search-header {
  background: #f8fafc !important;
  border-color: #e2e8f0 !important;
}

#fcn-tab-search .fcn-search-header:focus-within {
  border-color: var(--primary-accent, #c084fc) !important;
  box-shadow: 0 0 0 3px rgba(192, 132, 252, 0.15) !important;
}

#fcn-tab-search .fcn-search-input {
  flex: 1 !important;
  background: transparent !important;
  border: none !important;
  outline: none !important;
  color: var(--fg-100, #ffffff) !important;
  font-size: 0.95rem !important;
  font-weight: 500 !important;
  padding: 0 !important;
}

html[data-mode="light"] #fcn-tab-search .fcn-search-input {
  color: #0f172a !important;
}

#fcn-tab-search .fcn-search-toolbar {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 0.5rem !important;
}

.fcn-search-mode-links {
  display: flex !important;
  align-items: center !important;
  gap: 0.4rem !important;
}

.fcn-mode-mini-switcher {
  display: inline-flex !important;
  background: rgba(255, 255, 255, 0.06) !important;
  border-radius: 8px !important;
  padding: 2px !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
}

html[data-mode="light"] .fcn-mode-mini-switcher {
  background: #f1f5f9 !important;
  border-color: #e2e8f0 !important;
}

.fcn-mode-mini-switcher .fcn-mode-tab {
  background: transparent !important;
  border: none !important;
  color: #94a3b8 !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 6px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 0.8rem !important;
  cursor: pointer !important;
  transition: all 120ms ease !important;
}

.fcn-mode-mini-switcher .fcn-mode-tab.is-active {
  background: rgba(192, 132, 252, 0.2) !important;
  color: #c084fc !important;
}

html[data-mode="light"] .fcn-mode-mini-switcher .fcn-mode-tab.is-active {
  background: #ffffff !important;
  color: #a855f7 !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08) !important;
}

.fcn-search-drawer-footer {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding-top: 0.75rem !important;
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
  margin-top: auto !important;
  font-size: 0.78rem !important;
  color: #94a3b8 !important;
}

html[data-mode="light"] .fcn-search-drawer-footer {
  border-top-color: #f1f5f9 !important;
  color: #64748b !important;
}

.fcn-search-drawer-footer .fcn-mode-full-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.35rem !important;
  color: var(--primary-accent, #c084fc) !important;
  text-decoration: none !important;
  font-weight: 600 !important;
}

/* --------------------------------------------------------------------------
   Ultra-Compact Slim Library Rows & Instant Search Filter (v2.46.0)
   -------------------------------------------------------------------------- */

/* Quick Filter Bar */
.fcn-lib-filter-bar {
  margin-bottom: 0.65rem !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 5 !important;
}

.fcn-lib-filter-input-wrap {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  background: rgba(255, 255, 255, 0.05) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: 8px !important;
  padding: 0.35rem 0.65rem !important;
  transition: border-color 140ms ease, box-shadow 140ms ease !important;
}

html[data-mode="light"] .fcn-lib-filter-input-wrap {
  background: #f8fafc !important;
  border-color: #e2e8f0 !important;
}

.fcn-lib-filter-input-wrap:focus-within {
  border-color: var(--primary-accent, #c084fc) !important;
  box-shadow: 0 0 0 2px rgba(192, 132, 252, 0.15) !important;
}

.fcn-lib-filter-icon {
  font-size: 0.8rem !important;
  color: #94a3b8 !important;
  margin-right: 0.45rem !important;
}

.fcn-lib-filter-input {
  flex: 1 !important;
  background: transparent !important;
  border: none !important;
  outline: none !important;
  color: var(--fg-100, #ffffff) !important;
  font-size: 0.84rem !important;
  font-weight: 500 !important;
  padding: 0 !important;
}

html[data-mode="light"] .fcn-lib-filter-input {
  color: #0f172a !important;
}

.fcn-lib-filter-clear {
  background: transparent !important;
  border: none !important;
  color: #94a3b8 !important;
  font-size: 1.1rem !important;
  line-height: 1 !important;
  cursor: pointer !important;
  padding: 0 0.2rem !important;
  transition: color 120ms ease !important;
}

.fcn-lib-filter-clear:hover {
  color: #ffffff !important;
}

html[data-mode="light"] .fcn-lib-filter-clear:hover {
  color: #0f172a !important;
}

/* Compact List Container */
.fcn-library-compact-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.4rem !important;
}

/* Compact Row Item (50% slimmer than old card) */
.fcn-lib-row {
  display: flex !important;
  align-items: center !important;
  gap: 0.65rem !important;
  padding: 0.45rem 0.65rem !important;
  background: rgba(255, 255, 255, 0.03) !important;
  border: 1px solid rgba(255, 255, 255, 0.06) !important;
  border-radius: 8px !important;
  transition: background 120ms ease, border-color 120ms ease, transform 100ms ease !important;
  box-sizing: border-box !important;
}

.fcn-lib-row:hover {
  background: rgba(255, 255, 255, 0.07) !important;
  border-color: rgba(255, 255, 255, 0.12) !important;
}

html[data-mode="light"] .fcn-lib-row {
  background: #f8fafc !important;
  border-color: #f1f5f9 !important;
}

html[data-mode="light"] .fcn-lib-row:hover {
  background: #f1f5f9 !important;
  border-color: #e2e8f0 !important;
}

/* Thumbnails */
.fcn-lib-row-thumb-wrap {
  flex-shrink: 0 !important;
  width: 38px !important;
  height: 52px !important;
  border-radius: 6px !important;
  overflow: hidden !important;
  background: rgba(255, 255, 255, 0.06) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2) !important;
}

.fcn-lib-row-thumb {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 6px !important;
}

.fcn-lib-row-thumb-placeholder {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #c084fc !important;
  font-size: 0.9rem !important;
  background: rgba(192, 132, 252, 0.1) !important;
  border-radius: 6px !important;
}

/* Body Content */
.fcn-lib-row-body {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.2rem !important;
}

.fcn-lib-row-title {
  font-size: 0.86rem !important;
  font-weight: 600 !important;
  color: var(--fg-100, #ffffff) !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  line-height: 1.25 !important;
  transition: color 120ms ease !important;
}

.fcn-lib-row-title:hover {
  color: var(--primary-accent, #c084fc) !important;
}

html[data-mode="light"] .fcn-lib-row-title {
  color: #0f172a !important;
}

.fcn-lib-row-meta {
  display: flex !important;
  align-items: center !important;
  gap: 0.35rem !important;
  font-size: 0.74rem !important;
  color: #94a3b8 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  line-height: 1 !important;
}

.fcn-lib-row-chapter {
  color: var(--primary-accent, #c084fc) !important;
  text-decoration: none !important;
  font-weight: 500 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.25rem !important;
}

.fcn-lib-row-chapter i {
  font-size: 0.7rem !important;
}

.fcn-lib-row-chapter:hover {
  text-decoration: underline !important;
}

.fcn-lib-row-latest {
  color: #34d399 !important;
  text-decoration: none !important;
  font-weight: 500 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.25rem !important;
}

.fcn-lib-row-latest i {
  font-size: 0.7rem !important;
}

.fcn-lib-row-dot {
  opacity: 0.5 !important;
}

.fcn-lib-row-date {
  font-size: 0.7rem !important;
  color: #64748b !important;
}

/* Action Buttons */
.fcn-lib-row-actions {
  flex-shrink: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 0.35rem !important;
}

.fcn-lib-resume-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.3rem !important;
  padding: 0.28rem 0.65rem !important;
  border-radius: 6px !important;
  background: rgba(192, 132, 252, 0.15) !important;
  color: #c084fc !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  border: 1px solid rgba(192, 132, 252, 0.25) !important;
  transition: all 120ms ease !important;
  white-space: nowrap !important;
}

.fcn-lib-resume-btn i {
  font-size: 0.65rem !important;
}

.fcn-lib-resume-btn:hover {
  background: #c084fc !important;
  color: #0f172a !important;
  border-color: #c084fc !important;
}

.fcn-lib-view-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.3rem !important;
  padding: 0.28rem 0.65rem !important;
  border-radius: 6px !important;
  background: rgba(255, 255, 255, 0.08) !important;
  color: #cbd5e1 !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  transition: all 120ms ease !important;
  white-space: nowrap !important;
}

.fcn-lib-view-btn:hover {
  background: rgba(255, 255, 255, 0.18) !important;
  color: #ffffff !important;
}

html[data-mode="light"] .fcn-lib-view-btn {
  background: #f1f5f9 !important;
  color: #475569 !important;
  border-color: #e2e8f0 !important;
}

html[data-mode="light"] .fcn-lib-view-btn:hover {
  background: #e2e8f0 !important;
  color: #0f172a !important;
}

.fcn-lib-delete-btn {
  width: 28px !important;
  height: 28px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 6px !important;
  color: #64748b !important;
  background: transparent !important;
  border: none !important;
  font-size: 0.8rem !important;
  cursor: pointer !important;
  transition: all 120ms ease !important;
  padding: 0 !important;
}

.fcn-lib-delete-btn:hover {
  color: #ef4444 !important;
  background: rgba(239, 68, 68, 0.15) !important;
}


/* ==========================================================================
   Responsive Media Queries & Slim Compact Drawer Geometry (v2.49.0)
   ========================================================================== */

/* Tablet Screens (481px - 768px) */
@media screen and (max-width: 768px) {
  .fcn-library-drawer {
    width: min(84vw, 400px) !important;
    max-width: 84vw !important;
    border-top-left-radius: 18px !important;
    border-bottom-left-radius: 18px !important;
  }

  .fcn-library-header {
    padding: 0.85rem 1rem !important;
  }

  .fcn-library-title {
    font-size: 1.02rem !important;
  }

  .fcn-library-nav {
    padding: 0.45rem 0.75rem !important;
    gap: 0.35rem !important;
  }

  .fcn-library-tab-btn {
    padding: 0.45rem 0.55rem !important;
    font-size: 0.8rem !important;
  }

  .fcn-library-tab-content,
  #fcn-tab-search {
    padding: 0.85rem 0.95rem !important;
    gap: 0.6rem !important;
  }
}

/* Mobile Screens (<= 480px) - Slim Floating Sheet with Visible Left Rail Backdrop */
@media screen and (max-width: 480px) {
  .fcn-library-drawer {
    width: min(86vw, 340px) !important;
    max-width: 86vw !important;
    border-top-left-radius: 16px !important;
    border-bottom-left-radius: 16px !important;
    box-shadow: -8px 0 30px rgba(0, 0, 0, 0.75) !important;
  }

  /* Slim Mobile Header */
  .fcn-library-header {
    padding: 0.65rem 0.85rem !important;
    min-height: 46px !important;
  }

  .fcn-library-icon {
    font-size: 0.95rem !important;
  }

  .fcn-library-title {
    font-size: 0.92rem !important;
  }

  .fcn-library-close-btn {
    width: 28px !important;
    height: 28px !important;
    font-size: 0.8rem !important;
  }

  /* Slim Mobile Nav Tabs */
  .fcn-library-nav {
    padding: 0.35rem 0.6rem !important;
    gap: 0.25rem !important;
  }

  .fcn-library-tab-btn {
    padding: 0.38rem 0.45rem !important;
    font-size: 0.75rem !important;
    gap: 0.3rem !important;
  }

  .fcn-library-tab-btn i {
    font-size: 0.75rem !important;
  }

  .fcn-library-badge {
    font-size: 0.65rem !important;
    padding: 0.05rem 0.3rem !important;
  }

  /* Slim Mobile Content & Search Area */
  .fcn-library-tab-content,
  #fcn-tab-search {
    padding: 0.65rem 0.75rem !important;
    gap: 0.5rem !important;
  }

  .fcn-search-header,
  #fcn-tab-search .fcn-search-header {
    padding: 0.45rem 0.7rem !important;
    border-radius: 8px !important;
  }

  .fcn-search-header__icon {
    font-size: 0.8rem !important;
  }

  .fcn-search-input,
  #fcn-tab-search .fcn-search-input {
    font-size: 0.82rem !important;
  }

  .fcn-search-item {
    padding: 0.45rem 0.6rem !important;
    gap: 0.55rem !important;
  }

  .fcn-search-item__cover {
    width: 36px !important;
    height: 50px !important;
  }

  .fcn-search-item__title {
    font-size: 0.84rem !important;
  }

  .fcn-lib-row {
    padding: 0.38rem 0.5rem !important;
    gap: 0.5rem !important;
    border-radius: 6px !important;
  }

  .fcn-lib-row-thumb-wrap {
    width: 32px !important;
    height: 44px !important;
  }

  .fcn-lib-row-title {
    font-size: 0.82rem !important;
  }

  .fcn-lib-row-meta {
    font-size: 0.7rem !important;
  }

  .fcn-lib-row-chapter,
  .fcn-lib-row-latest {
    font-size: 0.7rem !important;
  }

  .fcn-lib-resume-btn,
  .fcn-lib-view-btn {
    padding: 0.22rem 0.5rem !important;
    font-size: 0.7rem !important;
  }
}

/* ==========================================================================
   BOOKMARKS & FOLLOWS ULTRA-COMPACT ROWS & FILTER BAR (v2.57.0)
   ========================================================================== */

/* Filter Bar */
.fcn-lib-filter-bar {
  display: flex !important;
  align-items: center !important;
  margin-bottom: 0.5rem !important;
}

.fcn-lib-filter-input-wrap {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  gap: 0.55rem !important;
  width: 100% !important;
  height: 38px !important;
  min-height: 38px !important;
  padding: 0 0.75rem !important;
  border-radius: 9px !important;
  background: rgba(255, 255, 255, 0.04) !important;
  border: 1px solid rgba(192, 132, 252, 0.2) !important;
  box-sizing: border-box !important;
  transition: border-color 140ms ease, box-shadow 140ms ease !important;
}

html[data-mode="light"] .fcn-lib-filter-input-wrap {
  background: #f8fafc !important;
  border-color: #e2e8f0 !important;
}

.fcn-lib-filter-input-wrap:focus-within {
  border-color: #c084fc !important;
  box-shadow: 0 0 0 3px rgba(192, 132, 252, 0.16) !important;
}

.fcn-lib-filter-icon {
  font-size: 0.82rem !important;
  color: #c084fc !important;
  flex-shrink: 0 !important;
}

.fcn-lib-filter-input {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  height: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  background: transparent !important;
  outline: none !important;
  color: var(--fg-100, #ffffff) !important;
  font-size: 0.84rem !important;
  font-weight: 500 !important;
  line-height: 38px !important;
  box-shadow: none !important;
}

html[data-mode="light"] .fcn-lib-filter-input {
  color: #0f172a !important;
}

.fcn-lib-filter-input::placeholder {
  color: #94a3b8 !important;
  font-size: 0.84rem !important;
  opacity: 0.85 !important;
}

.fcn-lib-filter-clear {
  background: transparent !important;
  border: none !important;
  color: #94a3b8 !important;
  font-size: 1.15rem !important;
  line-height: 1 !important;
  cursor: pointer !important;
  padding: 0 0.15rem !important;
}

.fcn-lib-filter-clear:hover {
  color: #ffffff !important;
}

/* Compact List Container */
.fcn-library-compact-list,
.fcn-bookmarks-list,
.fcn-follows-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.35rem !important;
}

/* Compact Row Item */
.fcn-lib-row {
  display: flex !important;
  align-items: center !important;
  gap: 0.65rem !important;
  padding: 0.45rem 0.65rem !important;
  background: rgba(255, 255, 255, 0.03) !important;
  border: 1px solid rgba(255, 255, 255, 0.06) !important;
  border-radius: 9px !important;
  transition: all 130ms cubic-bezier(0.16, 1, 0.3, 1) !important;
  box-sizing: border-box !important;
}

.fcn-lib-row:hover {
  background: rgba(192, 132, 252, 0.08) !important;
  border-color: rgba(192, 132, 252, 0.22) !important;
  transform: translateY(-1px) !important;
}

html[data-mode="light"] .fcn-lib-row {
  background: #f8fafc !important;
  border-color: #f1f5f9 !important;
}

html[data-mode="light"] .fcn-lib-row:hover {
  background: #f3e8ff !important;
  border-color: #d8b4fe !important;
}

/* Thumbnails */
.fcn-lib-row-thumb-wrap {
  flex-shrink: 0 !important;
  width: 38px !important;
  height: 52px !important;
  border-radius: 6px !important;
  overflow: hidden !important;
  background: rgba(255, 255, 255, 0.06) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2) !important;
}

.fcn-lib-row-thumb {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 6px !important;
}

.fcn-lib-row-thumb-placeholder {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #c084fc !important;
  font-size: 0.9rem !important;
  background: rgba(192, 132, 252, 0.1) !important;
  border-radius: 6px !important;
}

/* Body Info */
.fcn-lib-row-body {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.2rem !important;
}

.fcn-lib-row-title {
  font-size: 0.86rem !important;
  font-weight: 700 !important;
  color: var(--fg-100, #ffffff) !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  line-height: 1.25 !important;
  transition: color 120ms ease !important;
}

.fcn-lib-row-title:hover {
  color: #c084fc !important;
}

html[data-mode="light"] .fcn-lib-row-title {
  color: #0f172a !important;
}

.fcn-lib-row-meta {
  display: flex !important;
  align-items: center !important;
  gap: 0.35rem !important;
  font-size: 0.74rem !important;
  color: #94a3b8 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  line-height: 1 !important;
}

.fcn-lib-row-chapter {
  color: #c084fc !important;
  text-decoration: none !important;
  font-weight: 500 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.25rem !important;
}

.fcn-lib-row-chapter i {
  font-size: 0.65rem !important;
}

.fcn-lib-row-chapter:hover {
  text-decoration: underline !important;
}

.fcn-lib-row-latest {
  color: #34d399 !important;
  text-decoration: none !important;
  font-weight: 500 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.25rem !important;
}

.fcn-lib-row-latest i {
  font-size: 0.65rem !important;
}

.fcn-lib-row-dot {
  opacity: 0.4 !important;
  font-size: 0.65rem !important;
}

.fcn-lib-row-date {
  font-size: 0.7rem !important;
  color: #64748b !important;
}

/* Action Buttons */
.fcn-lib-row-actions {
  flex-shrink: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 0.35rem !important;
}

.fcn-lib-resume-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.3rem !important;
  padding: 0.28rem 0.65rem !important;
  border-radius: 6px !important;
  background: rgba(192, 132, 252, 0.15) !important;
  color: #c084fc !important;
  font-size: 0.74rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  border: 1px solid rgba(192, 132, 252, 0.28) !important;
  transition: all 120ms ease !important;
  white-space: nowrap !important;
}

.fcn-lib-resume-btn i {
  font-size: 0.65rem !important;
}

.fcn-lib-resume-btn:hover {
  background: #c084fc !important;
  color: #0f121a !important;
  border-color: #c084fc !important;
}

html[data-mode="light"] .fcn-lib-resume-btn {
  background: #f3e8ff !important;
  border-color: #d8b4fe !important;
  color: #7c3aed !important;
}

html[data-mode="light"] .fcn-lib-resume-btn:hover {
  background: #7c3aed !important;
  color: #ffffff !important;
}

.fcn-lib-view-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.3rem !important;
  padding: 0.28rem 0.65rem !important;
  border-radius: 6px !important;
  background: rgba(255, 255, 255, 0.08) !important;
  color: #cbd5e1 !important;
  font-size: 0.74rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  transition: all 120ms ease !important;
  white-space: nowrap !important;
}

.fcn-lib-view-btn i {
  font-size: 0.65rem !important;
}

.fcn-lib-view-btn:hover {
  background: rgba(255, 255, 255, 0.18) !important;
  color: #ffffff !important;
}

html[data-mode="light"] .fcn-lib-view-btn {
  background: #f1f5f9 !important;
  color: #475569 !important;
  border-color: #e2e8f0 !important;
}

html[data-mode="light"] .fcn-lib-view-btn:hover {
  background: #e2e8f0 !important;
  color: #0f172a !important;
}

.fcn-lib-delete-btn {
  width: 28px !important;
  height: 28px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 6px !important;
  color: #64748b !important;
  background: transparent !important;
  border: 1px solid transparent !important;
  cursor: pointer !important;
  font-size: 0.8rem !important;
  transition: all 120ms ease !important;
}

.fcn-lib-delete-btn:hover {
  color: #f87171 !important;
  background: rgba(239, 68, 68, 0.12) !important;
  border-color: rgba(239, 68, 68, 0.25) !important;
}

/* Empty States */
.fcn-lib-empty {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  padding: 3rem 1.5rem !important;
  color: #94a3b8 !important;
  gap: 0.4rem !important;
}

.fcn-lib-empty i {
  font-size: 2.2rem !important;
  color: #c084fc !important;
  opacity: 0.65 !important;
  margin-bottom: 0.4rem !important;
}

.fcn-lib-empty p {
  margin: 0 !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  color: var(--fg-100, #ffffff) !important;
}

.fcn-lib-empty span {
  font-size: 0.8rem !important;
  color: #64748b !important;
  max-width: 260px !important;
  line-height: 1.4 !important;
}

.fcn-lib-no-filter-match {
  padding: 2rem 1rem !important;
  text-align: center !important;
  color: #64748b !important;
  font-size: 0.85rem !important;
}

.fcn-lib-no-filter-match i {
  font-size: 1.5rem !important;
  color: #c084fc !important;
  opacity: 0.5 !important;
  margin-bottom: 0.4rem !important;
}

/* Dedicated Navigation Menu Drawer Content Body */
.fcn-nav-menu-body {
  padding-top: 1.15rem !important;
  padding-bottom: 1.5rem !important;
  padding-left: 0.75rem !important;
  padding-right: 0.75rem !important;
  overflow-y: auto !important;
  flex: 1 1 auto !important;
  box-sizing: border-box !important;
}

@media (max-width: 768px) {
  .fcn-nav-menu-body {
    padding-top: 1rem !important;
    padding-left: 0.65rem !important;
    padding-right: 0.65rem !important;
  }
}

/* ==========================================================================
   STORY SUMMARY PREVIEW & LOAD MORE (v2.65.0)
   ========================================================================== */
.fcn-collapsible-summary {
  position: relative !important;
  margin-top: 1.25rem !important;
  margin-bottom: 1.5rem !important;
}

.fcn-summary-content {
  position: relative !important;
  transition: max-height 320ms cubic-bezier(0.4, 0, 0.2, 1) !important;
  overflow: hidden !important;
}

/* Collapsed Preview State */
.fcn-collapsible-summary.is-collapsed .fcn-summary-content {
  max-height: 120px !important;
  -webkit-mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 1) 45%, rgba(0, 0, 0, 0) 100%) !important;
  mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 1) 45%, rgba(0, 0, 0, 0) 100%) !important;
}

/* Expanded State */
.fcn-collapsible-summary.is-expanded .fcn-summary-content {
  max-height: 3500px !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
}

/* Button Wrapper */
.fcn-summary-toggle-wrap {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-top: 0.65rem !important;
  width: 100% !important;
}

/* Load More Toggle Button */
.fcn-summary-toggle {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.45rem !important;
  padding: 0.32rem 1.15rem !important;
  border-radius: 9999px !important;
  background: rgba(192, 132, 252, 0.08) !important;
  border: 1px solid rgba(192, 132, 252, 0.25) !important;
  color: #c084fc !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all 160ms ease !important;
  width: auto !important;
  outline: none !important;
}

html[data-mode="light"] .fcn-summary-toggle {
  background: #f1f5f9 !important;
  border-color: #cbd5e1 !important;
  color: #7c3aed !important;
}

.fcn-summary-toggle:hover {
  background: rgba(192, 132, 252, 0.18) !important;
  border-color: #c084fc !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(192, 132, 252, 0.2) !important;
}

html[data-mode="light"] .fcn-summary-toggle:hover {
  background: #e2e8f0 !important;
  border-color: #7c3aed !important;
  color: #4c1d95 !important;
}

.fcn-summary-toggle i {
  font-size: 0.72rem !important;
  transition: transform 220ms ease !important;
}

.fcn-collapsible-summary.is-expanded .fcn-summary-toggle i {
  transform: rotate(180deg) !important;
}

/* Micro Menu Bookmark Button Unconditional Display & Glowing Accent */
:root .micro-menu__item.micro-menu__bookmark,
:root .micro-menu__item.button--bookmark,
:root #fcn-micro-menu-bookmark,
:root .fcn-chapter-bookmark-btn,
html .micro-menu__item.micro-menu__bookmark,
html .micro-menu__item.button--bookmark,
html #fcn-micro-menu-bookmark,
html .fcn-chapter-bookmark-btn {
  display: inline-grid !important;
  opacity: 1 !important;
  visibility: visible !important;
}

:root .micro-menu__item.micro-menu__bookmark[hidden],
:root .micro-menu__item.button--bookmark[hidden],
html .micro-menu__item.micro-menu__bookmark[hidden],
html .micro-menu__item.button--bookmark[hidden] {
  display: inline-grid !important;
}

/* ==========================================================================
   STORY PAGE RESUME READING & START READING BUTTON (v2.67.0)
   ========================================================================== */
.button-start-reading.fcn-story-resume-btn,
#fcn-story-resume-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.5rem !important;
  background: linear-gradient(135deg, #a855f7 0%, #7c3aed 100%) !important;
  color: #ffffff !important;
  font-weight: 600 !important;
  padding: 0.55rem 1.25rem !important;
  border-radius: 9px !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  box-shadow: 0 4px 14px rgba(168, 85, 247, 0.35) !important;
  text-decoration: none !important;
  transition: all 180ms cubic-bezier(0.4, 0, 0.2, 1) !important;
  cursor: pointer !important;
  line-height: 1.3 !important;
}

.button-start-reading.fcn-story-resume-btn:hover,
#fcn-story-resume-btn:hover {
  background: linear-gradient(135deg, #c084fc 0%, #9333ea 100%) !important;
  color: #ffffff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(168, 85, 247, 0.5) !important;
}

.button-start-reading.fcn-story-resume-btn.is-resuming,
#fcn-story-resume-btn.is-resuming {
  background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%) !important;
  box-shadow: 0 4px 14px rgba(245, 158, 11, 0.35) !important;
}

.button-start-reading.fcn-story-resume-btn.is-resuming:hover,
#fcn-story-resume-btn.is-resuming:hover {
  background: linear-gradient(135deg, #fbbf24 0%, #f59e0b 100%) !important;
  box-shadow: 0 6px 20px rgba(245, 158, 11, 0.5) !important;
}

.button-start-reading.fcn-story-resume-btn i,
#fcn-story-resume-btn i {
  font-size: 0.95rem !important;
}

.button-start-reading.fcn-story-resume-btn .fcn-resume-text,
#fcn-story-resume-btn .fcn-resume-text {
  max-width: 240px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

/* ==========================================================================
   SMART READING JUMP & PROGRESS RESOLUTION TOAST (v2.68.0)
   ========================================================================== */
.fcn-jump-banner {
  position: fixed !important;
  bottom: 84px !important;
  right: 20px !important;
  max-width: 380px !important;
  width: calc(100vw - 40px) !important;
  background: rgba(18, 14, 28, 0.94) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  border: 1px solid rgba(192, 132, 252, 0.35) !important;
  border-radius: 14px !important;
  padding: 0.85rem 1rem !important;
  box-shadow: 0 12px 35px rgba(0, 0, 0, 0.65), 0 0 20px rgba(192, 132, 252, 0.15) !important;
  z-index: 1000002 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.65rem !important;
  transform: translateY(20px) scale(0.97) !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: transform 260ms cubic-bezier(0.16, 1, 0.3, 1), opacity 260ms ease !important;
}

.fcn-jump-banner.is-visible {
  transform: translateY(0) scale(1) !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

html[data-mode="light"] .fcn-jump-banner {
  background: rgba(255, 255, 255, 0.96) !important;
  border-color: rgba(147, 51, 234, 0.25) !important;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.15), 0 0 15px rgba(147, 51, 234, 0.1) !important;
}

.fcn-jb-content {
  display: flex !important;
  align-items: center !important;
  gap: 0.65rem !important;
  position: relative !important;
}

.fcn-jb-icon {
  width: 32px !important;
  height: 32px !important;
  flex-shrink: 0 !important;
  border-radius: 8px !important;
  background: rgba(250, 204, 21, 0.15) !important;
  color: #facc15 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 0.85rem !important;
}

.fcn-jb-info {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
  min-width: 0 !important;
  line-height: 1.25 !important;
}

.fcn-jb-label {
  font-size: 0.68rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  color: #c084fc !important;
}

html[data-mode="light"] .fcn-jb-label {
  color: #7c3aed !important;
}

.fcn-jb-title {
  font-size: 0.8rem !important;
  color: #e2e8f0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

html[data-mode="light"] .fcn-jb-title {
  color: #1e293b !important;
}

.fcn-jb-title strong {
  color: #ffffff !important;
  font-weight: 600 !important;
}

html[data-mode="light"] .fcn-jb-title strong {
  color: #0f172a !important;
}

.fcn-jb-close {
  background: transparent !important;
  border: none !important;
  color: #94a3b8 !important;
  font-size: 1.25rem !important;
  line-height: 1 !important;
  cursor: pointer !important;
  padding: 0 0.25rem !important;
  transition: color 150ms ease !important;
}

.fcn-jb-close:hover {
  color: #ffffff !important;
}

html[data-mode="light"] .fcn-jb-close:hover {
  color: #0f172a !important;
}

.fcn-jb-actions {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 0.5rem !important;
}

.fcn-jb-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.35rem !important;
  padding: 0.42rem 0.65rem !important;
  border-radius: 8px !important;
  font-size: 0.76rem !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  text-decoration: none !important;
  transition: all 160ms ease !important;
  border: none !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.fcn-jb-resume-btn {
  background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 2px 8px rgba(245, 158, 11, 0.3) !important;
}

.fcn-jb-resume-btn:hover {
  background: linear-gradient(135deg, #fbbf24 0%, #f59e0b 100%) !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(245, 158, 11, 0.45) !important;
}

.fcn-jb-track-btn {
  background: rgba(192, 132, 252, 0.12) !important;
  border: 1px solid rgba(192, 132, 252, 0.3) !important;
  color: #c084fc !important;
}

html[data-mode="light"] .fcn-jb-track-btn {
  background: #f1f5f9 !important;
  border-color: #cbd5e1 !important;
  color: #7c3aed !important;
}

.fcn-jb-track-btn:hover {
  background: rgba(192, 132, 252, 0.22) !important;
  border-color: #c084fc !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
}

html[data-mode="light"] .fcn-jb-track-btn:hover {
  background: #e2e8f0 !important;
  color: #4c1d95 !important;
}

/* Mobile Placement */
@media (max-width: 640px) {
  .fcn-jump-banner {
    left: 12px !important;
    right: 12px !important;
    bottom: 74px !important;
    width: calc(100vw - 24px) !important;
  }
}

/* Micro Menu Chapter List (fa-solid fa-list) Unconditional Visibility Across All Viewports */
:root .micro-menu__item.micro-menu__chapter-list,
:root #micro-menu-label-open-chapter-list,
html .micro-menu__item.micro-menu__chapter-list,
html #micro-menu-label-open-chapter-list,
html[data-mode="light"] .micro-menu__item.micro-menu__chapter-list,
html[data-mode="light"] #micro-menu-label-open-chapter-list,
body .micro-menu__item.micro-menu__chapter-list,
body .micro-menu .show-below-desktop,
.micro-menu__item.micro-menu__chapter-list.show-below-desktop {
  display: inline-grid !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* Responsive Chapter Main Title Styling */
.fcn-lib-row-latest span,
.fcn-lib-row-chapter span,
.button-start-reading.fcn-story-resume-btn .fcn-resume-text {
  font-weight: 500 !important;
}

@media (max-width: 640px) {
  .button-start-reading.fcn-story-resume-btn .fcn-resume-text {
    max-width: 180px !important;
    font-size: 0.88rem !important;
  }
}
