/* Fulai 18: isolated navigation enhancement, 20260911. */
.site-dock[data-fulai-beidou-open="true"] {
  z-index: 10000 !important;
}
#dock-navigation[data-fulai-beidou] {
  position: fixed !important;
  inset: max(20px, env(safe-area-inset-top)) auto auto 50% !important;
  width: min(1120px, calc(100vw - 40px)) !important;
  height: min(730px, calc(100vh - 120px)) !important;
  height: min(730px, calc(100dvh - 120px)) !important;
  max-height: none !important;
  padding: 0 !important;
  overflow: auto !important;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: #b69a68 transparent;
  border: 1px solid rgba(225, 199, 148, .48) !important;
  border-radius: 26px !important;
  background: radial-gradient(ellipse at 78% 35%, rgba(154, 111, 58, .2), transparent 55%), linear-gradient(135deg, rgba(25, 38, 33, .97), rgba(49, 37, 27, .94)) !important;
  box-shadow: 0 24px 90px rgba(0, 0, 0, .34) !important;
  -webkit-backdrop-filter: blur(18px) !important;
  backdrop-filter: blur(18px) !important;
  transform: translate(-50%, 8px) !important;
  transform-origin: center top !important;
  color: #f7efdf;
  font-family: "Songti SC", "Noto Serif CJK SC", Georgia, serif;
  z-index: 3 !important;
}
#dock-navigation[data-fulai-beidou]:not(.open) {
  visibility: hidden !important;
  pointer-events: none !important;
  opacity: 0 !important;
}
#dock-navigation[data-fulai-beidou].open {
  display: block !important;
  visibility: visible !important;
  pointer-events: auto !important;
  opacity: 1 !important;
  transform: translate(-50%, 0) !important;
}
#dock-navigation[data-fulai-beidou] .fulai-service-menu {
  --bd-star-left: 39%;
  --bd-star-width: 59%;
  --bd-star-top: 62px;
  --bd-star-height: calc(100% - 96px);
  --bd-star-size: clamp(72px, 8vw, 96px);
  position: relative !important;
  display: flow-root !important;
  box-sizing: border-box;
  direction: ltr;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 540px !important;
  padding: 0 !important;
  overflow: visible !important;
  isolation: isolate;
  background: none !important;
}
#dock-navigation[data-fulai-beidou] .fulai-service-menu::before,
#dock-navigation[data-fulai-beidou] .fulai-service-menu::after {
  content: none !important;
}
#dock-navigation[data-fulai-beidou] .fulai-service-group {
  position: static !important;
  display: block !important;
  inset: auto !important;
  width: auto !important;
  min-width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
  animation: none !important;
  transition: none !important;
  filter: none !important;
  opacity: 1 !important;
  z-index: auto !important;
}
#dock-navigation[data-fulai-beidou] .fulai-service-group > summary {
  position: absolute !important;
  left: calc(var(--bd-star-left) + var(--bd-star-width) * var(--bd-x)) !important;
  top: calc(var(--bd-star-top) + var(--bd-star-height) * var(--bd-y)) !important;
  width: var(--bd-star-size) !important;
  min-width: 44px !important;
  height: var(--bd-star-size) !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: translate(-50%, -50%) !important;
  border-radius: 50%;
  touch-action: manipulation;
  z-index: 2;
}
#dock-navigation[data-fulai-beidou] .fulai-service-group[open] > summary {
  z-index: 3;
}
#dock-navigation[data-fulai-beidou] .fulai-service-group > summary::before {
  inset: 0 !important;
}
#dock-navigation[data-fulai-beidou] .fulai-service-bubble {
  box-sizing: border-box;
  width: 100% !important;
  height: 100% !important;
  padding: 8px !important;
}
#dock-navigation[data-fulai-beidou] .fulai-service-number {
  font-size: 9px !important;
  letter-spacing: .13em;
}
#dock-navigation[data-fulai-beidou] .fulai-service-bubble strong {
  max-width: 100% !important;
  font-size: clamp(13px, 1.4vw, 17px) !important;
  line-height: 1.3 !important;
  overflow-wrap: anywhere;
}
#dock-navigation[data-fulai-beidou] .fulai-service-group > summary:focus-visible {
  outline: 2px solid #fff3c5 !important;
  outline-offset: 7px;
}
#dock-navigation[data-fulai-beidou] .fulai-service-constellation {
  position: absolute !important;
  inset: auto !important;
  left: var(--bd-star-left) !important;
  top: var(--bd-star-top) !important;
  width: var(--bd-star-width) !important;
  height: var(--bd-star-height) !important;
  transform: none !important;
  opacity: .74 !important;
  overflow: visible;
  pointer-events: none;
  z-index: 0;
}
#dock-navigation[data-fulai-beidou] .fulai-service-constellation polyline {
  fill: none;
  stroke: #cfb479 !important;
  stroke-width: 1.4px !important;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
  filter: drop-shadow(0 0 3px rgba(233, 197, 134, .35));
}
#dock-navigation[data-fulai-beidou] .bd-heading {
  position: absolute;
  top: 24px;
  left: 26px;
  right: 82px;
  z-index: 1;
  margin: 0;
  color: #e4c996;
  font-size: 17px;
  line-height: 1.5;
  letter-spacing: .12em;
}
#dock-navigation[data-fulai-beidou] .bd-close {
  position: absolute;
  top: 13px;
  right: 15px;
  z-index: 5;
  display: grid;
  place-items: center;
  box-sizing: border-box;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid rgba(222, 196, 150, .42);
  border-radius: 50%;
  color: #f6e9cd;
  background: rgba(246, 224, 183, .06);
  font: 28px/1 Georgia, serif;
  cursor: pointer;
}
#dock-navigation[data-fulai-beidou] .fulai-service-submenu,
#dock-navigation[data-fulai-beidou] .bd-placeholder {
  position: absolute !important;
  inset: 20% auto auto 3% !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr);
  align-content: start;
  gap: 10px;
  box-sizing: border-box;
  width: 33% !important;
  height: auto !important;
  max-height: calc(80% - 26px) !important;
  padding: 22px !important;
  margin: 0 !important;
  overflow: auto !important;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  border: 1px solid rgba(220, 192, 142, .38);
  border-radius: 22px;
  background: linear-gradient(145deg, rgba(227, 206, 165, .12), rgba(255, 239, 203, .025));
  box-shadow: 0 12px 32px rgba(0, 0, 0, .12);
  transform: none !important;
  z-index: 4;
}
#dock-navigation[data-fulai-beidou] .fulai-service-submenu::before,
#dock-navigation[data-fulai-beidou] .fulai-service-submenu::after {
  content: none !important;
}
#dock-navigation[data-fulai-beidou] .fulai-service-group:not([open]) > .fulai-service-submenu,
#dock-navigation[data-fulai-beidou] .bd-placeholder[hidden] {
  display: none !important;
}
#dock-navigation[data-fulai-beidou] .bd-panel-heading {
  grid-column: 1 / -1;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px;
  padding-bottom: 12px;
  margin-bottom: 2px;
  border-bottom: 1px solid rgba(221, 194, 147, .24);
  color: #fff1d4;
}
#dock-navigation[data-fulai-beidou] .bd-panel-heading strong {
  font-size: 21px;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
#dock-navigation[data-fulai-beidou] .bd-panel-count {
  color: #cab993;
  font-size: 12px;
}
#dock-navigation[data-fulai-beidou] .fulai-service-submenu a,
#dock-navigation[data-fulai-beidou] .fulai-service-submenu button {
  position: relative !important;
  inset: auto !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100%;
  height: auto !important;
  min-height: 48px !important;
  padding: 12px 14px !important;
  margin: 0 !important;
  border: 1px solid rgba(222, 196, 150, .32) !important;
  border-radius: 12px !important;
  background: rgba(251, 233, 197, .07) !important;
  color: #fff2d9 !important;
  box-shadow: none !important;
  font: 500 16px/1.5 "Songti SC", "Noto Serif CJK SC", Georgia, serif !important;
  letter-spacing: .025em;
  text-decoration: none;
  text-align: center;
  white-space: normal !important;
  overflow-wrap: anywhere;
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
  transition: background-color .18s ease, border-color .18s ease !important;
  touch-action: manipulation;
}
#dock-navigation[data-fulai-beidou] .fulai-service-submenu a:hover,
#dock-navigation[data-fulai-beidou] .fulai-service-submenu a:focus-visible,
#dock-navigation[data-fulai-beidou] .fulai-service-submenu button:hover,
#dock-navigation[data-fulai-beidou] .fulai-service-submenu button:focus-visible,
#dock-navigation[data-fulai-beidou] .bd-close:focus-visible {
  background: rgba(229, 194, 132, .2) !important;
  border-color: #e3c484 !important;
  outline: 2px solid #e3c484 !important;
  outline-offset: 2px;
}
#dock-navigation[data-fulai-beidou] .bd-placeholder p {
  margin: 0;
  font-size: 15px;
  line-height: 1.9;
  color: #d9c9a7;
  overflow-wrap: anywhere;
}
@media (max-width: 900px), (max-height: 580px) {
  #dock-navigation[data-fulai-beidou] {
    inset: max(10px, env(safe-area-inset-top)) auto auto 50% !important;
    width: calc(100vw - 24px) !important;
    height: calc(100vh - 104px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) !important;
    height: calc(100dvh - 104px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) !important;
    border-radius: 20px !important;
  }
  #dock-navigation[data-fulai-beidou] .fulai-service-menu {
    --bd-star-left: 3%;
    --bd-star-width: 94%;
    --bd-star-top: 57px;
    --bd-star-height: clamp(215px, 45vw, 325px);
    --bd-star-size: clamp(48px, 9vw, 66px);
    height: auto !important;
    min-height: 100% !important;
    padding: calc(75px + var(--bd-star-height)) 0 16px !important;
  }
  #dock-navigation[data-fulai-beidou] .fulai-service-group {
    height: auto !important;
  }
  #dock-navigation[data-fulai-beidou] .fulai-service-submenu,
  #dock-navigation[data-fulai-beidou] .bd-placeholder {
    position: relative !important;
    inset: auto !important;
    width: auto !important;
    max-height: none !important;
    margin: 0 12px 0 !important;
    padding: 16px !important;
    gap: 9px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    overflow: visible !important;
    border-radius: 17px;
  }
  #dock-navigation[data-fulai-beidou] .bd-heading {
    top: 20px;
    left: 18px;
    font-size: 15px;
    letter-spacing: .05em;
  }
  #dock-navigation[data-fulai-beidou] .bd-panel-heading {
    padding-bottom: 9px;
  }
  #dock-navigation[data-fulai-beidou] .bd-panel-heading strong {
    font-size: 18px;
  }
  #dock-navigation[data-fulai-beidou] .fulai-service-submenu a,
  #dock-navigation[data-fulai-beidou] .fulai-service-submenu button {
    min-height: 46px !important;
    padding: 10px 8px !important;
    font-size: 14px !important;
  }
  #dock-navigation[data-fulai-beidou] .bd-placeholder > * {
    grid-column: 1 / -1;
  }
  #dock-navigation[data-fulai-beidou] .fulai-service-number {
    font-size: 7px !important;
  }
  #dock-navigation[data-fulai-beidou] .fulai-service-bubble {
    padding: 5px !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  #dock-navigation[data-fulai-beidou],
  #dock-navigation[data-fulai-beidou] *,
  #dock-navigation[data-fulai-beidou] *::before {
    animation: none !important;
    transition: none !important;
  }
}
