/* 两侧悬浮入口共用尺寸与底部间距，客服常驻、返回顶部随滚动显示。 */
:root {
  --pd-floating-action-size: var(--pd-navbar-tool-size);
  --pd-floating-action-gap: var(--pd-space-4);
  --pd-floating-action-bottom: calc(var(--pd-floating-action-gap) + env(safe-area-inset-bottom, 0px));
  --pd-floating-action-offset: 0px;
}

body.theme-pd .pd-floating-action {
  position: fixed;
  bottom: calc(var(--pd-floating-action-bottom) + var(--pd-floating-action-offset));
  z-index: 100;
  height: var(--pd-floating-action-size);
}

/* 页底保留按钮所需空间，避免覆盖版权和站点链接。 */
body.theme-pd .site-footer {
  padding-bottom: calc(
    var(--pd-floating-action-bottom) +
    var(--pd-floating-action-offset) +
    var(--pd-floating-action-size) +
    var(--pd-space-2)
  );
}

body.theme-pd .pd-scroll-top.pd-floating-action {
  right: calc(var(--pd-floating-action-gap) + env(safe-area-inset-right, 0px));
  display: grid;
  width: var(--pd-floating-action-size);
}

body.theme-pd .pd-scroll-top.pd-floating-action[hidden] {
  display: none;
}

/* 与返回顶部共用实体按钮质感，用青绿色区分客服入口。 */
body.theme-pd .pd-support-launcher.pd-w06 {
  --pd-w06-fill: var(--pd-sidebar-art-telegram);
  --pd-w06-glow-color: color-mix(in srgb, var(--pd-w06-fill) 40%, #fff);
  left: calc(var(--pd-floating-action-gap) + env(safe-area-inset-left, 0px));
  display: grid;
  place-items: center;
  width: var(--pd-floating-action-size);
  padding: 0;
  border-radius: var(--pd-radius-round);
  font-size: var(--pd-icon-lg);
  line-height: var(--pd-lh-tight);
  cursor: pointer;
}

body.theme-pd .pd-support-launcher i {
  color: inherit;
  font-size: var(--pd-icon-lg);
}

body.theme-pd .pd-support-launcher.pd-w06:focus-visible {
  outline: var(--pd-tab-indicator) solid var(--pd-color-primary);
  outline-offset: var(--pd-tab-indicator);
}

@media (max-width: 960px) {
  :root {
    --pd-floating-action-size: calc(var(--pd-navbar-tool-size) + var(--pd-space-1) / 2);
    --pd-floating-action-gap: var(--pd-space-3);
  }
}

/* 手机上的保存栏和彩票提示留出一整行，两个入口同时抬高。 */
@media (max-width: 640px) {
  body.theme-pd:has(.pd-set-foot, .pd-lotto-live-pill:not([hidden])) {
    --pd-floating-action-offset: calc(var(--pd-space-5) * 2);
  }
}
