/* C114 · 通用超屏内容提示。业务页只指定滚动内容区与可选定位容器。 */
wqxt-overflow-hint {
  --wqxt-overflow-gold: #ffd479;
  --wqxt-overflow-line: rgba(242,238,231,.3);
  --wqxt-overflow-surface: rgba(18,19,26,.94);
  position: fixed;
  z-index: 46;
  left: var(--wqxt-overflow-left, 50vw);
  bottom: max(var(--wqxt-overflow-bottom, 16px), env(safe-area-inset-bottom));
  display: block;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  transform: translateX(-50%) translateY(6px);
  transition: opacity 160ms ease, transform 160ms ease, visibility 0s linear 160ms;
  contain: layout style;
}

wqxt-overflow-hint[visible] {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
  transition-delay: 0s;
}

wqxt-overflow-hint[hidden] { display: none !important; }

wqxt-overflow-hint .overflow-hint__button {
  position: relative;
  width: 44px;
  min-width: 44px;
  height: 44px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 50%;
  background: transparent;
  box-shadow: none;
  cursor: pointer;
  pointer-events: auto;
  -webkit-tap-highlight-color: transparent;
}

wqxt-overflow-hint .overflow-hint__button::before {
  content: "";
  box-sizing: border-box;
  position: absolute;
  inset: 4px;
  border: 1px solid var(--wqxt-overflow-line);
  border-radius: 50%;
  background: var(--wqxt-overflow-surface);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

wqxt-overflow-hint .overflow-hint__button > wqxt-icon {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  position: relative;
  z-index: 1;
  color: var(--wqxt-overflow-gold);
  transform: rotate(90deg);
}

wqxt-overflow-hint[entering] .overflow-hint__button > wqxt-icon {
  animation: wqxt-overflow-enter 240ms ease-out both;
}

wqxt-overflow-hint .overflow-hint__button:focus-visible {
  outline: 2px solid var(--wqxt-overflow-gold);
  outline-offset: 2px;
}

[data-wqxt-overflow-target] {
  overflow-y: auto !important;
  overscroll-behavior: contain;
  touch-action: pan-y;
  scrollbar-width: none !important;
  -ms-overflow-style: none;
}

[data-wqxt-overflow-target]::-webkit-scrollbar {
  width: 0 !important;
  height: 0 !important;
  display: none !important;
}

[data-wqxt-overflow-target][data-wqxt-overflow-reserved] {
  padding-bottom: calc(var(--wqxt-overflow-base-padding, 0px) + 64px) !important;
}

[data-wqxt-overflow-target][data-wqxt-overflow-dragging] {
  cursor: grabbing;
  user-select: none;
}

@keyframes wqxt-overflow-enter {
  from { translate: 0 -2px; }
  to { translate: 0 0; }
}

@media (max-width: 1000px), (max-height: 560px) {
  wqxt-overflow-hint .overflow-hint__button {
    width: 44px;
    min-width: 44px;
    height: 44px;
  }
  wqxt-overflow-hint .overflow-hint__button > wqxt-icon {
    width: 16px;
    height: 16px;
    flex-basis: 16px;
  }
}

@media (prefers-reduced-motion: reduce) {
  wqxt-overflow-hint { transition: none; }
  wqxt-overflow-hint[entering] .overflow-hint__button > wqxt-icon { animation: none; }
}
