/* 工具端锚点气泡：固定黑底（不跟浅色/深色皮肤变）；语义涨跌色保留 */

:root {
  --wenli-callout-bg: #000;
  --wenli-callout-ink: #e8eef2;
  --wenli-callout-muted: rgba(232, 238, 242, 0.72);
  --wenli-callout-arrow: #000;
  /* 仅 1px 线框，不用 filter/box-shadow（手机端易糊成光晕） */
  --wenli-callout-line: rgba(255, 255, 255, 0.24);
  /* 与持仓页 --up/--down 同源：多空、涨跌、气泡内语义色统一 */
  --wenli-callout-up: var(--up, #0f7a6a);
  --wenli-callout-down: var(--down, #c0392b);
}

.run-stats-pop,
.info-pop-inner,
.bias-tip,
.fold-tip,
.pnl-pop-hover-tip,
.hold-heal-pop-card,
.pos-heal-pop-card,
.holding-status-bubble,
.pnl-tip,
.ui-help-tip,
body > .ui-help-tip.ui-help-tip-portal,
body > .bias-tip.bias-tip-fixed,
body > .fold-tip.fold-tip-portal,
body > .holding-status-bubble.status-bubble-portal,
body > .run-stats-pop-portal {
  background: var(--wenli-callout-bg) !important;
  color: var(--wenli-callout-ink) !important;
  border: 1px solid var(--wenli-callout-line) !important;
  box-shadow: none !important;
  filter: none !important;
  border-radius: 12px !important;
}

/* 压过 04-shell 夜间仍带的 drop-shadow 光晕 */
html[data-theme="dark"] .run-stats-pop,
html[data-theme="dark"] .info-pop-inner,
html[data-theme="dark"] .bias-tip,
html[data-theme="dark"] .fold-tip,
html[data-theme="dark"] .pnl-pop-hover-tip,
html[data-theme="dark"] .hold-heal-pop-card,
html[data-theme="dark"] body > .hold-heal-pop .hold-heal-pop-card,
html[data-theme="dark"] body > .hold-heal-pop.hold-heal-pop-portal .hold-heal-pop-card,
html[data-theme="dark"] .pos-heal-pop-card,
html[data-theme="dark"] body > .pos-heal-pop .pos-heal-pop-card,
html[data-theme="dark"] .holding-status-bubble,
html[data-theme="dark"] body > .holding-status-bubble.status-bubble-portal,
html[data-theme="dark"] .pnl-tip,
html[data-theme="dark"] .ui-help-tip,
html[data-theme="dark"] .radar-kpi-tip,
html[data-theme="dark"] body > .ui-help-tip.ui-help-tip-portal,
html[data-theme="dark"] body > .bias-tip.bias-tip-fixed,
html[data-theme="dark"] body > .fold-tip.fold-tip-portal,
html[data-theme="dark"] body > .holding-status-bubble.status-bubble-portal,
html[data-theme="dark"] body > .run-stats-pop-portal {
  box-shadow: none !important;
  filter: none !important;
  border: 1px solid var(--wenli-callout-line) !important;
}

@media (max-width: 899px) {
  :root {
    --wenli-callout-line: rgba(255, 255, 255, 0.3);
  }
}

.run-stats-pop::before,
.info-pop-inner::before,
.bias-tip::after,
.bias-tip.bias-tip-fixed::after,
.fold-tip::after,
.fold-tip.fold-tip-portal::after,
.hold-heal-pop-arrow,
.holding-status-bubble::before,
.pnl-tip::after,
.ui-help-tip::before,
.ui-help-tip.ui-help-tip-fixed::before {
  filter: none !important;
  box-shadow: none !important;
}

/* --- 三角尖描边：外层大三角 = 线框色，内层小三角 = 填色（与矩形体 border 同色） --- */

.run-stats-pop::before {
  top: -7px !important;
  width: 0 !important;
  height: 0 !important;
  background: none !important;
  border-style: solid !important;
  border-width: 0 7px 7px 7px !important;
  border-color: transparent transparent var(--wenli-callout-line) transparent !important;
  border-radius: 0 !important;
  transform: translateX(50%) rotate(0deg) !important;
  z-index: 1 !important;
}
.run-stats-pop::after {
  content: "" !important;
  position: absolute !important;
  top: -5px !important;
  right: 14px !important;
  left: auto !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  background: none !important;
  border-style: solid !important;
  border-width: 0 6px 6px 6px !important;
  border-color: transparent transparent var(--wenli-callout-bg) transparent !important;
  border-radius: 0 !important;
  transform: translateX(50%) !important;
  pointer-events: none !important;
  z-index: 2 !important;
}
.run-stats-pop.run-stats-pop-portal::after {
  right: var(--arrow-right, 14px) !important;
}
.run-stats-pop.is-callout-above::before {
  top: auto !important;
  bottom: -7px !important;
  border-width: 7px 7px 0 7px !important;
  border-color: var(--wenli-callout-line) transparent transparent transparent !important;
}
.run-stats-pop.is-callout-above::after {
  top: auto !important;
  bottom: -5px !important;
  border-width: 6px 6px 0 6px !important;
  border-color: var(--wenli-callout-bg) transparent transparent transparent !important;
}

.bias-tip::before,
.bias-tip.bias-tip-fixed::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  left: var(--arrow-x, 50%) !important;
  right: auto !important;
  width: 0 !important;
  height: 0 !important;
  margin-left: 0 !important;
  background: none !important;
  border-style: solid !important;
  border-radius: 0 !important;
  top: auto !important;
  bottom: -7px !important;
  border-width: 7px 7px 0 7px !important;
  border-color: var(--wenli-callout-line) transparent transparent transparent !important;
  transform: translateX(-50%) !important;
  box-shadow: none !important;
  filter: none !important;
  pointer-events: none !important;
  z-index: 1 !important;
}
.bias-tip::after,
.bias-tip.bias-tip-fixed::after {
  bottom: -5px !important;
  border-width: 6px 6px 0 6px !important;
  border-color: var(--wenli-callout-bg) transparent transparent transparent !important;
  z-index: 2 !important;
}
.bias-tip.bias-tip-fixed.is-below::before {
  top: -7px !important;
  bottom: auto !important;
  border-width: 0 7px 7px 7px !important;
  border-color: transparent transparent var(--wenli-callout-line) transparent !important;
}
.bias-tip.bias-tip-fixed.is-below::after {
  top: -5px !important;
  bottom: auto !important;
  border-width: 0 6px 6px 6px !important;
  border-color: transparent transparent var(--wenli-callout-bg) transparent !important;
}

.fold-tip::before,
.fold-tip.fold-tip-portal::before {
  content: "" !important;
  position: absolute !important;
  width: 0 !important;
  height: 0 !important;
  background: none !important;
  border-style: solid !important;
  border-radius: 0 !important;
  pointer-events: none !important;
  z-index: 1 !important;
  filter: none !important;
  box-shadow: none !important;
}
.fold-tip::before {
  top: -7px !important;
  left: 34px !important;
  border-width: 0 7px 7px 7px !important;
  border-color: transparent transparent var(--wenli-callout-line) transparent !important;
}
.fold-tip::after {
  border-width: 0 6px 6px 6px !important;
  border-color: transparent transparent var(--wenli-callout-bg) transparent !important;
  z-index: 2 !important;
}
.fold-tip.fold-tip-portal::before {
  left: var(--arrow-x, 50%) !important;
  top: -7px !important;
  bottom: auto !important;
  border-width: 0 7px 7px 7px !important;
  border-color: transparent transparent var(--wenli-callout-line) transparent !important;
  transform: translateX(-50%) !important;
}
.fold-tip.fold-tip-portal::after {
  border-width: 0 6px 6px 6px !important;
  border-color: transparent transparent var(--wenli-callout-bg) transparent !important;
}
.fold-tip.fold-tip-portal.is-above::before,
.fold-tip.is-above::before {
  top: auto !important;
  bottom: -7px !important;
  border-width: 7px 7px 0 7px !important;
  border-color: var(--wenli-callout-line) transparent transparent transparent !important;
}
.fold-tip.fold-tip-portal.is-above::after,
.fold-tip.is-above::after {
  top: auto !important;
  bottom: -5px !important;
  border-width: 6px 6px 0 6px !important;
  border-color: var(--wenli-callout-bg) transparent transparent transparent !important;
}
.fold-tip.fold-tip-fee::before {
  left: 18px !important;
  transform: none !important;
}
.fold-ref-item:last-child .fold-tip.fold-tip-fee::before {
  left: auto !important;
  right: 14px !important;
}

.pnl-tip::before {
  content: "" !important;
  position: absolute !important;
  left: calc(50% + var(--pnl-tip-arrow-dx, 0px)) !important;
  width: 0 !important;
  height: 0 !important;
  background: none !important;
  border-style: solid !important;
  border-radius: 0 !important;
  top: -7px !important;
  bottom: auto !important;
  border-width: 0 7px 7px 7px !important;
  border-color: transparent transparent var(--wenli-callout-line) transparent !important;
  transform: translateX(-50%) !important;
  pointer-events: none !important;
  z-index: 1 !important;
}
.pnl-tip::after {
  top: -5px !important;
  border-width: 0 6px 6px 6px !important;
  border-color: transparent transparent var(--wenli-callout-bg) transparent !important;
  z-index: 2 !important;
}
.pnl-tip.is-above::before {
  top: auto !important;
  bottom: -7px !important;
  border-width: 7px 7px 0 7px !important;
  border-color: var(--wenli-callout-line) transparent transparent transparent !important;
}
.pnl-tip.is-above::after {
  bottom: -5px !important;
  border-width: 6px 6px 0 6px !important;
  border-color: var(--wenli-callout-bg) transparent transparent transparent !important;
}

.holding-status-bubble::after {
  content: "" !important;
  position: absolute !important;
  left: 18px !important;
  top: -7px !important;
  width: 0 !important;
  height: 0 !important;
  background: none !important;
  border-style: solid !important;
  border-width: 0 7px 7px 7px !important;
  border-color: transparent transparent var(--wenli-callout-line) transparent !important;
  pointer-events: none !important;
  z-index: 1 !important;
}
.holding-status-bubble::before {
  top: -5px !important;
  border-width: 0 6px 6px 6px !important;
  border-color: transparent transparent var(--wenli-callout-bg) transparent !important;
  z-index: 2 !important;
}

.ui-help-tip::after {
  content: "" !important;
  position: absolute !important;
  left: var(--arrow-x, 50%) !important;
  width: 0 !important;
  height: 0 !important;
  margin-left: 0 !important;
  background: none !important;
  border-style: solid !important;
  border-radius: 0 !important;
  top: -7px !important;
  bottom: auto !important;
  border-width: 0 7px 7px 7px !important;
  border-color: transparent transparent var(--wenli-callout-line) transparent !important;
  transform: translateX(-50%) !important;
  pointer-events: none !important;
  z-index: 0 !important;
}
.ui-help-tip::before,
.ui-help-tip.ui-help-tip-fixed::before {
  top: -5px !important;
  border-width: 0 6px 6px 6px !important;
  border-color: transparent transparent var(--wenli-callout-bg) transparent !important;
  z-index: 1 !important;
}
.ui-help-tip.is-above::after,
.ui-help-tip.ui-help-tip-fixed.is-above::after {
  top: auto !important;
  bottom: -7px !important;
  border-width: 7px 7px 0 7px !important;
  border-color: var(--wenli-callout-line) transparent transparent transparent !important;
}
.ui-help-tip.is-above::before,
.ui-help-tip.ui-help-tip-fixed.is-above::before {
  bottom: -5px !important;
  border-width: 6px 6px 0 6px !important;
  border-color: var(--wenli-callout-bg) transparent transparent transparent !important;
}
.pro-field-lab .ui-help-tip::after {
  left: 14px !important;
  transform: none !important;
}
.pro-field-lab .ui-help-tip::before {
  bottom: -5px !important;
}

.radar-kpi-tip::before {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  top: -7px !important;
  width: 0 !important;
  height: 0 !important;
  border-style: solid !important;
  border-width: 0 7px 7px 7px !important;
  border-color: transparent transparent var(--wenli-callout-line) transparent !important;
  transform: translateX(-50%) !important;
  pointer-events: none !important;
  z-index: 1 !important;
}
.radar-kpi-tip::after {
  top: -5px !important;
  border-width: 0 6px 6px 6px !important;
  border-color: transparent transparent var(--wenli-callout-bg) transparent !important;
  z-index: 2 !important;
}
.radar-kpi-tip.is-above::before {
  top: auto !important;
  bottom: -7px !important;
  border-width: 7px 7px 0 7px !important;
  border-color: var(--wenli-callout-line) transparent transparent transparent !important;
}
.radar-kpi-tip.is-above::after {
  bottom: -5px !important;
  border-width: 6px 6px 0 6px !important;
  border-color: var(--wenli-callout-bg) transparent transparent transparent !important;
}

.info-pop-inner::after {
  content: "" !important;
  position: absolute !important;
  width: 0 !important;
  height: 0 !important;
  border-style: solid !important;
  pointer-events: none !important;
  z-index: 1 !important;
}
.info-pop-inner::before {
  z-index: 2 !important;
  border-width: 0 6px 6px 6px !important;
  border-color: transparent transparent var(--wenli-callout-bg) transparent !important;
}
.info-pop-inner::after {
  top: -7px !important;
  border-width: 0 7px 7px 7px !important;
  border-color: transparent transparent var(--wenli-callout-line) transparent !important;
}
.info-pop.info-pop-below .info-pop-inner::before {
  border-width: 6px 6px 0 6px !important;
  border-color: var(--wenli-callout-bg) transparent transparent transparent !important;
}
.info-pop.info-pop-below .info-pop-inner::after {
  bottom: -7px !important;
  top: auto !important;
  border-width: 7px 7px 0 7px !important;
  border-color: var(--wenli-callout-line) transparent transparent transparent !important;
}

/* heal 气泡：双层 CSS 三角（外描边 + 内填色盖住与方框顶/底接缝，仅外圈一线） */
.hold-heal-pop-card,
.pos-heal-pop-card {
  overflow: visible !important;
}
.hold-heal-pop-arrow,
.pos-heal-pop-arrow {
  position: absolute !important;
  top: 0 !important;
  bottom: auto !important;
  left: 12px;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  transform: translateX(-50%) !important;
  pointer-events: none !important;
  z-index: 3 !important;
  filter: none !important;
  box-shadow: none !important;
}
.hold-heal-pop-arrow::before,
.pos-heal-pop-arrow::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  left: 0 !important;
  top: -7px !important;
  bottom: auto !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  background: none !important;
  border-style: solid !important;
  border-width: 0 7px 7px 7px !important;
  border-color: transparent transparent var(--wenli-callout-line) transparent !important;
  border-radius: 0 !important;
  transform: translateX(-50%) !important;
  box-shadow: none !important;
  filter: none !important;
  pointer-events: none !important;
  z-index: 1 !important;
}
.hold-heal-pop-arrow::after,
.pos-heal-pop-arrow::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  left: 0 !important;
  top: -5px !important;
  bottom: auto !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  background: none !important;
  border-style: solid !important;
  border-width: 0 6px 6px 6px !important;
  border-color: transparent transparent var(--wenli-callout-bg) transparent !important;
  border-radius: 0 !important;
  transform: translateX(-50%) !important;
  box-shadow: none !important;
  filter: none !important;
  pointer-events: none !important;
  z-index: 2 !important;
}
.hold-heal-pop-above .hold-heal-pop-arrow,
.pos-heal-pop-above .pos-heal-pop-arrow {
  top: auto !important;
  bottom: 0 !important;
}
.hold-heal-pop-above .hold-heal-pop-arrow::before,
.pos-heal-pop-above .pos-heal-pop-arrow::before {
  top: auto !important;
  bottom: -7px !important;
  border-width: 7px 7px 0 7px !important;
  border-color: var(--wenli-callout-line) transparent transparent transparent !important;
}
.hold-heal-pop-above .hold-heal-pop-arrow::after,
.pos-heal-pop-above .pos-heal-pop-arrow::after {
  top: auto !important;
  bottom: -5px !important;
  border-width: 6px 6px 0 6px !important;
  border-color: var(--wenli-callout-bg) transparent transparent transparent !important;
}

/* 压过 04-shell 对箭头单边 border-*-color 的覆盖，保留描边+填色 */
html[data-theme="dark"] .bias-tip::before,
html[data-theme="dark"] .bias-tip.bias-tip-fixed::before {
  border-color: var(--wenli-callout-line) transparent transparent transparent !important;
}
html[data-theme="dark"] .bias-tip::after,
html[data-theme="dark"] .bias-tip.bias-tip-fixed::after {
  border-color: var(--wenli-callout-bg) transparent transparent transparent !important;
}
html[data-theme="dark"] .bias-tip.bias-tip-fixed.is-below::before {
  border-color: transparent transparent var(--wenli-callout-line) transparent !important;
}
html[data-theme="dark"] .bias-tip.bias-tip-fixed.is-below::after {
  border-color: transparent transparent var(--wenli-callout-bg) transparent !important;
}
html[data-theme="dark"] .fold-tip::before,
html[data-theme="dark"] .fold-tip.fold-tip-portal::before {
  border-color: transparent transparent var(--wenli-callout-line) transparent !important;
}
html[data-theme="dark"] .fold-tip::after,
html[data-theme="dark"] .fold-tip.fold-tip-portal::after {
  border-color: transparent transparent var(--wenli-callout-bg) transparent !important;
}
html[data-theme="dark"] .fold-tip.fold-tip-portal.is-above::before,
html[data-theme="dark"] .fold-tip.is-above::before {
  border-color: var(--wenli-callout-line) transparent transparent transparent !important;
}
html[data-theme="dark"] .fold-tip.fold-tip-portal.is-above::after,
html[data-theme="dark"] .fold-tip.is-above::after {
  border-color: var(--wenli-callout-bg) transparent transparent transparent !important;
}
html[data-theme="dark"] .holding-status-bubble::after {
  border-color: transparent transparent var(--wenli-callout-line) transparent !important;
}
html[data-theme="dark"] .holding-status-bubble::before {
  border-color: transparent transparent var(--wenli-callout-bg) transparent !important;
}
html[data-theme="dark"] .ui-help-tip::after {
  border-color: transparent transparent var(--wenli-callout-line) transparent !important;
}
html[data-theme="dark"] .ui-help-tip::before {
  border-color: transparent transparent var(--wenli-callout-bg) transparent !important;
}
html[data-theme="dark"] .ui-help-tip.is-above::after,
html[data-theme="dark"] .ui-help-tip.ui-help-tip-fixed.is-above::after {
  border-color: var(--wenli-callout-line) transparent transparent transparent !important;
}
html[data-theme="dark"] .ui-help-tip.is-above::before,
html[data-theme="dark"] .ui-help-tip.ui-help-tip-fixed.is-above::before {
  border-color: var(--wenli-callout-bg) transparent transparent transparent !important;
}
html[data-theme="dark"] .radar-kpi-tip::before {
  border-color: transparent transparent var(--wenli-callout-line) transparent !important;
}
html[data-theme="dark"] .radar-kpi-tip::after {
  border-color: transparent transparent var(--wenli-callout-bg) transparent !important;
}
html[data-theme="dark"] .radar-kpi-tip.is-above::before {
  border-color: var(--wenli-callout-line) transparent transparent transparent !important;
}
html[data-theme="dark"] .radar-kpi-tip.is-above::after {
  border-color: var(--wenli-callout-bg) transparent transparent transparent !important;
}

/* 文案层级（数值语义色不改） */
.run-stats-pop-head {
  color: var(--wenli-callout-muted) !important;
}
.run-stats-pill {
  color: var(--wenli-callout-muted) !important;
  background: rgba(255, 255, 255, 0.08) !important;
}
.run-stats-pill.warn {
  color: var(--down) !important;
  background: rgba(244, 63, 94, 0.1) !important;
}
.run-stats-grid span,
.run-stats-quality-h,
.run-stats-note {
  color: var(--wenli-callout-muted) !important;
}
.run-stats-grid b {
  color: var(--wenli-callout-ink) !important;
}
.run-stats-quality {
  border-top-color: rgba(255, 255, 255, 0.12) !important;
}
.run-stats-train-note {
  color: var(--teal) !important;
}

.info-pop-title,
.info-pop-account,
.info-pop-k {
  color: var(--wenli-callout-muted) !important;
}
.info-pop-v,
.info-pop li {
  color: var(--wenli-callout-ink) !important;
}

.bias-tip strong {
  color: var(--wenli-callout-ink) !important;
}
.bias-tip > span,
.bias-tip-cmp {
  color: var(--wenli-callout-muted) !important;
}
.bias-tip-read {
  color: var(--wenli-callout-ink) !important;
}
.bias-tip-now,
.bias-tip-val {
  color: var(--teal) !important;
}

.fold-tip,
.fold-tip-row span,
.fold-tip-note {
  color: var(--wenli-callout-muted) !important;
}
.fold-tip-row b,
.fold-tip-head em {
  color: var(--wenli-callout-ink) !important;
}

.pnl-pop-hover-tip {
  color: var(--wenli-callout-ink) !important;
}
.pnl-pop-hover-tip b {
  color: var(--wenli-callout-ink) !important;
}
.pnl-pop-hover-tip.up b {
  color: var(--up) !important;
}
.pnl-pop-hover-tip.down b {
  color: var(--down) !important;
}

.hold-heal-pop-kicker {
  color: var(--wenli-callout-muted) !important;
}
.hold-heal-pop-txt {
  color: var(--wenli-callout-ink) !important;
}

.holding-status-bubble {
  color: var(--wenli-callout-ink) !important;
}

/* 浅色 / 深色皮肤：气泡仍固定黑底（与 :root 一致，不跟 --panel/--ink） */

.radar-sheet .radar-kpi-tip,
.okx-data-sheet .radar-kpi-tip,
.radar-sheet .ui-help-tip,
.okx-data-sheet .ui-help-tip {
  background: #000 !important;
  color: #e8eef2 !important;
  border: 1px solid var(--wenli-callout-line) !important;
  box-shadow: none !important;
  filter: none !important;
}
.radar-sheet .radar-kpi-tip::after,
.okx-data-sheet .radar-kpi-tip::after,
.radar-sheet .ui-help-tip::before,
.okx-data-sheet .ui-help-tip::before {
  border-color: transparent transparent #000 transparent !important;
}
.radar-sheet .ui-help-tip.is-above::before,
.okx-data-sheet .ui-help-tip.is-above::before {
  border-color: #000 transparent transparent transparent !important;
}

/* 全站页级返回箭头：尺寸/位置模板 = AI 解读 is-page 顶栏 */
.ui-page-back,
.ai-page-back,
.help-hub-back,
.yield-sheet-back,
.mkt-coin-back,
.radar-back,
.rules-sheet-back,
.cs-page-back,
.hold-tool-layer-back,
.cycle-bills-back,
.acc-add-sheet-back,
.custom-train-back,
.teach-player-back,
.pwd-change-back,
.auth-page-back,
.invite-share-x.ui-page-back {
  appearance: none;
  border: 0;
  background: none;
  color: inherit;
  width: 40px;
  height: 40px;
  margin: 0;
  padding: 0;
  border-radius: 10px;
  cursor: pointer;
  flex-shrink: 0;
  line-height: 0;
  font-size: 0;
  -webkit-tap-highlight-color: transparent;
  box-sizing: border-box;
}
.ui-page-back:not([hidden]),
.ai-page-back:not([hidden]),
.help-hub-back:not([hidden]),
.yield-sheet-back:not([hidden]),
.mkt-coin-back:not([hidden]),
.radar-back:not([hidden]),
.rules-sheet-back:not([hidden]),
.cs-page-back:not([hidden]),
.hold-tool-layer-back:not([hidden]),
.cycle-bills-back:not([hidden]),
.acc-add-sheet-back:not([hidden]),
.custom-train-back:not([hidden]),
.teach-player-back:not([hidden]),
.pwd-change-back:not([hidden]),
.auth-page-back:not([hidden]),
.invite-share-x.ui-page-back:not([hidden]) {
  display: grid;
  place-items: center;
}
.ui-page-back svg,
.ai-page-back svg,
.help-hub-back svg,
.yield-sheet-back svg,
.mkt-coin-back svg,
.radar-back svg,
.rules-sheet-back svg,
.cs-page-back svg,
.hold-tool-layer-back svg,
.cycle-bills-back svg,
.acc-add-sheet-back svg,
.custom-train-back svg,
.teach-player-back svg,
.pwd-change-back svg,
.auth-page-back svg,
.invite-share-x.ui-page-back svg {
  display: block;
  width: 22px;
  height: 22px;
  pointer-events: none;
}
.pos-float-head > .ui-page-back,
.pos-float-head > .ai-page-back,
.pos-float-head > .cs-page-back,
.help-hub-top > .help-hub-back,
.help-hub-top > .ui-page-back,
.fee-tip-modal.yield-sheet .yield-sheet-back,
.radar-head > .radar-back,
.mkt-coin-head > .mkt-coin-back,
.mkt-exch-head > .mkt-coin-back,
.mkt-jump-head > .mkt-coin-back,
.hold-tool-layer-head > .hold-tool-layer-back,
.rules-sheet-head > .rules-sheet-back,
.cycle-bills-head > .cycle-bills-back,
.vb-order-head > .cycle-bills-back,
.invite-rules-top > .ui-page-back {
  margin-left: -6px;
}
@media (max-width: 719px) {
  #app-cycle-bills .cycle-bills-back.ui-page-back {
    display: grid;
  }
}
.fee-tip-modal.radar-sheet.is-desk-shell .radar-head > .radar-back {
  color: #e8edf4;
}

/* 交易页 OKX 式底栏上滑 sheet + 底栏圆钮凹口 */
.trade-acc-picker.fee-tip-modal,
.trade-acc-picker.fee-tip-modal.on {
  /* 覆盖 .fee-tip-modal 全屏 blur；仅 scrim 纯色压暗，不雾化 */
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
.trade-acc-picker.fee-tip-modal {
  --trade-picker-notch-r: 26px;
  position: fixed;
  inset: 0;
  z-index: 12080;
  display: none;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-end;
  padding: 0;
  pointer-events: none;
}
.trade-acc-picker.fee-tip-modal.on {
  display: flex;
  pointer-events: auto;
}
.trade-acc-picker-scrim {
  position: absolute;
  inset: 0;
  border: 0;
  padding: 0;
  margin: 0;
  background: rgba(0, 0, 0, 0.52);
  cursor: default;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
.trade-acc-picker-panel {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 100%;
  margin: 0;
  --trade-picker-gap-above-dock: 10px;
  padding: 0 0 calc(var(--dock-h, 64px) + var(--safe-b, 0px) + var(--trade-picker-gap-above-dock));
  pointer-events: none;
  box-sizing: border-box;
}
.trade-acc-picker-sheet {
  pointer-events: auto;
  background: transparent !important;
  border-radius: 0;
  padding: 0 10px 0;
  box-shadow: none !important;
  transform: translateY(0);
  animation: trade-acc-picker-rise 0.32s cubic-bezier(0.22, 0.85, 0.3, 1);
  -webkit-mask-image: none;
  mask-image: none;
  overscroll-behavior: contain;
}
.trade-acc-picker-hint {
  display: none !important;
}
.trade-acc-picker-empty {
  text-align: center;
  padding: 24px 16px 12px;
  color: var(--muted, #8a97a8);
}
@keyframes trade-acc-picker-rise {
  from {
    transform: translateY(105%);
    opacity: 0.85;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}
.trade-acc-picker-rail {
  margin: 0;
  padding: 0;
}
.trade-acc-picker-rail .trade-acc-picker-stage {
  overflow: hidden;
  touch-action: pan-x pinch-zoom;
  overscroll-behavior-x: contain;
  padding: 0;
  width: 100%;
  box-sizing: border-box;
}
.trade-acc-picker-rail .trade-acc-picker-stage.is-hold-cards {
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.trade-acc-picker-rail .trade-acc-picker-stage.is-hold-cards .plat-cred-track {
  align-items: flex-end;
  width: 100%;
}
.trade-acc-picker-rail.is-hold-picker .plat-cred-slide {
  display: flex;
  align-items: flex-end;
  box-sizing: border-box;
}
.trade-acc-picker-rail .trade-acc-picker-stage.is-hold-cards .plat-cred-slide {
  box-sizing: border-box;
}
.trade-acc-picker-rail .trade-acc-picker-stage.is-hold-cards .plat-cred-slide.is-clone {
  /* 循环克隆卡仅在滑动手势时进入视口 */
  pointer-events: none;
}
.trade-acc-picker-rail .plat-cred-track {
  display: flex;
  will-change: transform;
}
.trade-acc-picker-rail .plat-cred-slide {
  flex-shrink: 0;
}
/* 持仓 Picker：轨道平移 + 卡片淡入淡出（不用 visibility 闪现） */
.trade-acc-picker-rail .trade-acc-picker-stage.is-hold-cards .plat-cred-slide {
  transform: none;
  opacity: 1;
  backface-visibility: hidden;
}
.trade-acc-picker-rail.is-hold-picker .plat-cred-slide .trade-acc-picker-hold-shell {
  transition:
    opacity 0.32s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.32s cubic-bezier(0.22, 1, 0.36, 1);
  opacity: 0;
  transform: translate3d(0, 10px, 0);
  pointer-events: none;
}
.trade-acc-picker-rail.is-hold-picker .plat-cred-slide.is-center .trade-acc-picker-hold-shell {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  pointer-events: auto;
}
.trade-acc-picker-rail .trade-acc-picker-stage.is-hold-cards.is-dragging .plat-cred-slide:not(.is-center) .trade-acc-picker-hold-shell,
.trade-acc-picker-rail .trade-acc-picker-stage.is-hold-cards.is-sliding .plat-cred-slide:not(.is-center) .trade-acc-picker-hold-shell {
  opacity: 0.42;
  transform: translate3d(0, 6px, 0);
}
.trade-acc-picker-rail.is-hold-picker .trade-acc-picker-hold-shell.is-picker-leave .holding-main {
  animation: trade-picker-card-out 0.28s cubic-bezier(0.4, 0, 0.6, 1) both;
}
.trade-acc-picker-rail.is-hold-picker .trade-acc-picker-hold-shell.is-picker-enter .holding-main {
  animation: trade-picker-card-in 0.34s cubic-bezier(0.22, 1, 0.36, 1) both;
}
@keyframes trade-picker-card-in {
  from {
    opacity: 0;
    transform: translate3d(0, 16px, 0) scale(0.985);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
  }
}
@keyframes trade-picker-card-out {
  from {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
  }
  to {
    opacity: 0;
    transform: translate3d(0, -8px, 0) scale(0.985);
  }
}
.trade-acc-picker-rail .trade-acc-picker-stage.is-hold-cards .plat-cred-track {
  transform: translate3d(0, 0, 0);
}
.trade-acc-picker-rail .trade-acc-picker-stage.is-hold-cards.is-dragging .plat-cred-track,
.trade-acc-picker-rail .trade-acc-picker-stage.is-hold-cards.is-sliding .plat-cred-track {
  transition: transform 0.28s cubic-bezier(0.25, 1, 0.5, 1);
}
@media (prefers-reduced-motion: reduce) {
  .trade-acc-picker-rail.is-hold-picker .plat-cred-slide .trade-acc-picker-hold-shell {
    transition: none;
    transform: none;
  }
  .trade-acc-picker-rail.is-hold-picker .trade-acc-picker-hold-shell.is-picker-enter .holding-main,
  .trade-acc-picker-rail.is-hold-picker .trade-acc-picker-hold-shell.is-picker-leave .holding-main {
    animation: none;
  }
  .trade-acc-picker-rail .trade-acc-picker-stage.is-hold-cards.is-dragging .plat-cred-track,
  .trade-acc-picker-rail .trade-acc-picker-stage.is-hold-cards.is-sliding .plat-cred-track {
    transition: none;
  }
}
.trade-acc-picker-rail .plat-cred-menu-btn {
  display: none;
}
body.trade-acc-picker-open {
  overflow: hidden;
}
/* 弹层打开时保留页内 #bots 可见（仅 scrim 压暗，不再 visibility:hidden） */
.trade-acc-picker-rail .trade-acc-picker-stage.is-laid:not(.is-dragging):not(.is-sliding) .plat-cred-slide:not(.is-center) {
  pointer-events: none;
}
.trade-acc-picker.fee-tip-modal.is-leaving .trade-acc-picker-scrim {
  opacity: 0;
  transition: opacity 0.34s ease;
}
.trade-acc-picker.fee-tip-modal.is-leaving .trade-acc-picker-sheet {
  transform: translateY(16px);
  opacity: 0;
  transition:
    transform 0.36s cubic-bezier(0.4, 0, 0.6, 1),
    opacity 0.3s ease;
}
@media (max-width: 899px) {
  body.trade-acc-picker-open #trade-acc-picker.trade-acc-picker.fee-tip-modal.on {
    z-index: 13310;
  }
  .trade-acc-picker-panel {
    --trade-picker-gap-above-dock: 10px;
    padding-bottom: calc(var(--dock-h, 64px) + var(--safe-b, 0px) + var(--trade-picker-gap-above-dock));
  }
  /* 遮罩铺满视口，避免底栏 460 宽两侧 / 顶缝露出白底 */
  .trade-acc-picker-scrim {
    inset: 0;
  }
  body.trade-acc-picker-open .dock {
    z-index: 13320 !important;
    pointer-events: auto;
    isolation: isolate;
  }
  /* 底栏叠在遮罩上：尺寸与常态相同，仅背景略压暗 */
  body.trade-acc-picker-open .dock::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background: rgba(0, 0, 0, 0.16);
  }
  html[data-theme="dark"] body.trade-acc-picker-open .dock::before {
    background: rgba(0, 0, 0, 0.28);
  }
  body.trade-acc-picker-open .dock > * {
    position: relative;
    z-index: 1;
  }
  body.trade-acc-picker-open .dock .dock-trade.is-picker-open {
    pointer-events: auto;
  }
  body.trade-acc-picker-open .dock .dock-trade.is-picker-open .dock-trade-orb {
    position: relative;
    left: auto;
    bottom: auto;
    transform: none;
    z-index: 11;
    pointer-events: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
    filter: none !important;
    -webkit-tap-highlight-color: transparent;
  }
  body.trade-acc-picker-open .dock .dock-trade.is-picker-open:active .dock-trade-orb {
    transform: none;
    opacity: 1 !important;
  }
}
@media (min-width: 900px) {
  /* 电脑：居中浮层，无底栏凹口/无 fixed 圆钮 */
  .trade-acc-picker.fee-tip-modal,
  .trade-acc-picker.fee-tip-modal.on {
    align-items: center;
    justify-content: center;
    padding: 24px 20px;
  }
  .trade-acc-picker-panel {
    width: min(560px, calc(100vw - 48px));
    max-width: min(560px, 100%);
    margin: 0 auto;
    padding: 0;
  }
  .trade-acc-picker-sheet {
    padding: 0;
    animation: trade-acc-picker-desk-in 0.28s cubic-bezier(0.22, 0.85, 0.3, 1);
  }
  @keyframes trade-acc-picker-desk-in {
    from {
      transform: scale(0.96);
      opacity: 0.75;
    }
    to {
      transform: scale(1);
      opacity: 1;
    }
  }
  .trade-acc-picker-rail.is-hold-picker .trade-acc-picker-hold-shell {
    filter: none;
  }
  .trade-acc-picker-rail.is-hold-picker .trade-acc-picker-hold-shell .holding .holding-main {
    -webkit-mask-image: none !important;
    mask-image: none !important;
    padding-bottom: 14px;
    border-radius: 16px;
    box-shadow: none !important;
  }
  /* 电脑：横滑时邻卡由 JS 做 scale 景深（小→大）；静止仅居中满铺 */
  .trade-acc-picker-rail.is-hold-picker .plat-cred-slide .trade-acc-picker-hold-shell {
    transform-origin: center bottom;
    will-change: transform, opacity;
    pointer-events: none;
  }
  .trade-acc-picker-rail .trade-acc-picker-stage.is-hold-cards .plat-cred-slide.is-center .trade-acc-picker-hold-shell {
    pointer-events: auto;
  }
  .trade-acc-picker-rail .trade-acc-picker-stage.is-hold-cards.is-desk-depth .plat-cred-slide {
    pointer-events: none;
  }
  .trade-acc-picker-rail .trade-acc-picker-stage.is-hold-cards.is-desk-depth .plat-cred-slide.is-center {
    pointer-events: auto;
  }
  .trade-acc-picker-rail.is-hold-picker .trade-acc-picker-hold-shell.is-picker-enter .holding-main,
  .trade-acc-picker-rail.is-hold-picker .trade-acc-picker-hold-shell.is-picker-leave .holding-main {
    animation: none;
  }
  .trade-acc-picker-rail .trade-acc-picker-stage.is-hold-cards.is-dragging .plat-cred-slide:not(.is-center) .trade-acc-picker-hold-shell,
  .trade-acc-picker-rail .trade-acc-picker-stage.is-hold-cards.is-sliding .plat-cred-slide:not(.is-center) .trade-acc-picker-hold-shell {
    opacity: 0;
    transform: none;
  }
  /* 轨道 transition 仅由 JS 在吸附时设置，避免与手势拖动抢写导致中段卡顿 */
  .trade-acc-picker-rail .trade-acc-picker-stage.is-hold-cards.is-dragging .plat-cred-track {
    transition: none !important;
  }
}

/* 底栏「交易」：默认仅上下箭头；弹层打开时 ×；关闭时 ×→＋→箭头（手机动效） */
.dock .dock-trade-orb .dock-ico-picker-close-d,
.brand-rail .dock .dock-trade-orb .dock-ico-picker-close-d,
.dock .dock-trade-orb .dock-ico-picker-plus-m,
.brand-rail .dock .dock-trade-orb .dock-ico-picker-plus-m {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
@media (max-width: 899px) {
  .dock .dock-trade-orb,
  .brand-rail .dock .dock-trade-orb {
    position: relative;
  }
  .dock .dock-trade-orb svg,
  .brand-rail .dock .dock-trade-orb svg {
    position: absolute;
    left: 50%;
    top: 50%;
    margin: 0;
    flex: none;
    transition:
      opacity 0.28s cubic-bezier(0.22, 0.85, 0.3, 1),
      transform 0.44s cubic-bezier(0.22, 1.12, 0.36, 1);
  }
  .dock .dock-trade-orb .dock-ico-swap-m,
  .brand-rail .dock .dock-trade-orb .dock-ico-swap-m {
    display: block !important;
    visibility: visible !important;
    width: 26px !important;
    height: 26px !important;
    overflow: visible !important;
    opacity: 1 !important;
    transform: translate(-50%, -50%) rotate(0deg) scale(1);
  }
  .dock button.dock-trade.on .dock-trade-orb .dock-ico-swap-m,
  .brand-rail .dock button.dock-trade.on .dock-trade-orb .dock-ico-swap-m {
    transform: translate(-50%, -50%) rotate(90deg) scale(1);
  }
  .dock .dock-trade-orb .dock-ico-picker-close-d,
  .brand-rail .dock .dock-trade-orb .dock-ico-picker-close-d,
  .dock .dock-trade-orb .dock-ico-picker-plus-m,
  .brand-rail .dock .dock-trade-orb .dock-ico-picker-plus-m {
    display: block !important;
    width: 26px !important;
    height: 26px !important;
    overflow: visible !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translate(-50%, -50%) scale(0.35) rotate(-120deg);
  }
  body.trade-acc-picker-open .dock .dock-trade.is-picker-open .dock-trade-orb .dock-ico-swap-m,
  body.trade-acc-picker-open .brand-rail .dock .dock-trade.is-picker-open .dock-trade-orb .dock-ico-swap-m {
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translate(-50%, -50%) rotate(180deg) scale(0.35);
  }
  body.trade-acc-picker-open .dock .dock-trade.is-picker-open .dock-trade-orb .dock-ico-picker-close-d,
  body.trade-acc-picker-open .brand-rail .dock .dock-trade.is-picker-open .dock-trade-orb .dock-ico-picker-close-d {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translate(-50%, -50%) scale(1) rotate(0deg);
  }
  body.trade-acc-picker-open .dock .dock-trade.is-picker-open.is-orb-opening .dock-trade-orb .dock-ico-picker-close-d,
  body.trade-acc-picker-open .brand-rail .dock .dock-trade.is-picker-open.is-orb-opening .dock-trade-orb .dock-ico-picker-close-d {
    animation: dock-orb-x-in 0.32s cubic-bezier(0.22, 0.85, 0.36, 1) both;
  }
  body.trade-acc-picker-open .dock .dock-trade.is-picker-open.is-orb-closing .dock-trade-orb .dock-ico-picker-close-d,
  body.trade-acc-picker-open .brand-rail .dock .dock-trade.is-picker-open.is-orb-closing .dock-trade-orb .dock-ico-picker-close-d {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translate(-50%, -50%) scale(1) rotate(45deg);
    transition: transform 0.24s cubic-bezier(0.22, 0.85, 0.32, 1);
  }
  body.trade-acc-picker-open .dock .dock-trade.is-picker-open.is-orb-closing .dock-trade-orb .dock-ico-picker-plus-m,
  body.trade-acc-picker-open .brand-rail .dock .dock-trade.is-picker-open.is-orb-closing .dock-trade-orb .dock-ico-picker-plus-m {
    opacity: 0 !important;
    visibility: hidden !important;
  }
  .dock .dock-trade.is-orb-reopening .dock-trade-orb .dock-ico-picker-close-d,
  .brand-rail .dock .dock-trade.is-orb-reopening .dock-trade-orb .dock-ico-picker-close-d,
  .dock .dock-trade.is-orb-reopening .dock-trade-orb .dock-ico-picker-plus-m,
  .brand-rail .dock .dock-trade.is-orb-reopening .dock-trade-orb .dock-ico-picker-plus-m {
    opacity: 0 !important;
    visibility: hidden !important;
  }
  .dock .dock-trade.is-orb-reopening .dock-trade-orb .dock-ico-swap-m,
  .brand-rail .dock .dock-trade.is-orb-reopening .dock-trade-orb .dock-ico-swap-m {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translate(-50%, -50%) rotate(90deg) scale(1);
    transition: opacity 0.26s ease, transform 0.28s cubic-bezier(0.22, 0.85, 0.36, 1);
  }
  @keyframes dock-orb-x-in {
    from {
      opacity: 0;
      transform: translate(-50%, -50%) scale(0.72) rotate(-24deg);
    }
    to {
      opacity: 1;
      transform: translate(-50%, -50%) scale(1) rotate(0deg);
    }
  }
  @keyframes dock-orb-arrow-in {
    from {
      opacity: 0;
      transform: translate(-50%, -50%) rotate(45deg) scale(0.85);
    }
    to {
      opacity: 1;
      transform: translate(-50%, -50%) rotate(90deg) scale(1);
    }
  }
}
@media (min-width: 900px) {
body.trade-acc-picker-open .dock .dock-trade.is-picker-open .dock-trade-orb .dock-ico-swap-m,
body.trade-acc-picker-open .dock .dock-trade.is-picker-open .dock-trade-orb .dock-ico-swap-d,
body.trade-acc-picker-open .brand-rail .dock .dock-trade.is-picker-open .dock-trade-orb .dock-ico-swap-m,
body.trade-acc-picker-open .brand-rail .dock .dock-trade.is-picker-open .dock-trade-orb .dock-ico-swap-d,
body.trade-acc-picker-open .dock .dock-trade.is-picker-open .dock-trade-orb .dock-ico-swap,
body.trade-acc-picker-open .brand-rail .dock .dock-trade.is-picker-open .dock-trade-orb .dock-ico-swap {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
body.trade-acc-picker-open .dock .dock-trade.is-picker-open .dock-trade-orb .dock-ico-picker-close-d,
body.trade-acc-picker-open .brand-rail .dock .dock-trade.is-picker-open .dock-trade-orb .dock-ico-picker-close-d {
  display: block !important;
  visibility: visible !important;
  width: 46px !important;
  height: 46px !important;
  overflow: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  flex: 0 0 auto;
}
}

.trade-focus-hit,
#trade-focus-hit {
  display: none !important;
}
.trade-focus-hit .trade-focus-name {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 9em;
}
.trade-focus-hit .trade-focus-chev {
  opacity: 0.55;
  font-size: 1.05em;
  flex-shrink: 0;
}
.trade-acc-picker-rail .plat-cred-card.is-engine-running .plat-cred-badge {
  position: relative;
}
.trade-acc-picker-rail .plat-cred-card.is-engine-running .plat-cred-badge::after {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-left: 6px;
  border-radius: 50%;
  background: #22c55e;
  box-shadow: 0 0 0 2px color-mix(in srgb, #22c55e 35%, transparent);
  vertical-align: middle;
}
.trade-acc-picker-hold-shell.is-engine-running {
  position: relative;
}
.trade-acc-picker-hold-shell.is-engine-running::after {
  content: none;
  display: none;
}
/* 运行绿点：标题文字最左侧（Picker + 交易页持仓卡） */
.holding[data-running="1"] .holding-title-row .hn::before,
.trade-acc-picker-rail.is-hold-picker .trade-acc-picker-hold-shell.is-engine-running .holding-title-row .hn::before {
  content: "";
  flex: none;
  width: 8px;
  height: 8px;
  margin-right: 6px;
  border-radius: 50%;
  background: #22c55e;
  box-shadow: 0 0 0 2px color-mix(in srgb, #22c55e 35%, transparent);
  align-self: center;
}
.trade-acc-picker-rail.is-hold-picker .trade-acc-picker-hold-shell.is-engine-running .holding-title-row .hn::after {
  content: none;
  display: none;
}
.dock .dock-trade-orb,
.brand-rail .dock .dock-trade-orb {
  position: relative;
}
.dock-trade-run-badge {
  position: absolute;
  top: -3px;
  right: -6px;
  min-width: 17px;
  height: 17px;
  padding: 0 4px;
  border-radius: 999px;
  background: #22c55e;
  color: #fff;
  font-size: 10px;
  font-weight: 800;
  line-height: 17px;
  text-align: center;
  z-index: 4;
  pointer-events: none;
  box-shadow: 0 0 0 2px var(--panel, #fff);
  font-variant-numeric: tabular-nums;
}
.dock button.dock-trade.has-bg-run .dock-trade-orb::before,
.brand-rail .dock button.dock-trade.has-bg-run .dock-trade-orb::before {
  content: "";
  position: absolute;
  top: -1px;
  right: -2px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #22c55e;
  box-shadow: 0 0 0 2px color-mix(in srgb, #22c55e 35%, transparent);
  z-index: 3;
  pointer-events: none;
}
.dock button.dock-trade.has-run-badge .dock-trade-orb::before,
.brand-rail .dock button.dock-trade.has-run-badge .dock-trade-orb::before {
  display: none;
}
.trade-focus-hit.is-running::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-right: 4px;
  border-radius: 50%;
  background: #22c55e;
  box-shadow: 0 0 0 2px color-mix(in srgb, #22c55e 35%, transparent);
  vertical-align: middle;
}
.trade-focus-hit.has-bg-run:not(.is-running) {
  box-shadow: inset 0 0 0 1px color-mix(in srgb, #22c55e 45%, transparent);
}
html:has(#tab-home:not(.on)) .trade-focus-hit {
  display: none !important;
}

/* 气泡 / 统计浮层：多空与涨跌色 = 持仓 --up / --down（压过 04-shell 薄荷粉） */
.fold-tip-duo .tip-l,
.fold-tip-row.up b,
.fold-tip-row.up-row b,
.run-stats-pop .up,
.run-stats-pop b.up,
.pnl-tip.up b,
.run-stats-grid-q b.is-ok {
  color: var(--wenli-callout-up) !important;
  -webkit-text-fill-color: var(--wenli-callout-up) !important;
}
.fold-tip-duo .tip-s,
.fold-tip-row.down b,
.fold-tip-row.down-row b,
.run-stats-pop .down,
.run-stats-pop b.down,
.pnl-tip.down b,
.run-stats-grid-q b.is-bad {
  color: var(--wenli-callout-down) !important;
  -webkit-text-fill-color: var(--wenli-callout-down) !important;
}

/* 弹层：交易持仓卡（与 #bots 同组件），非资产页凭证卡 */
.trade-acc-picker-rail.is-hold-picker .trade-acc-picker-panel,
.trade-acc-picker-rail.is-hold-picker {
  max-width: min(580px, 100%);
}
.trade-acc-picker-rail.is-hold-picker .trade-acc-picker-hold-shell {
  width: 100%;
  filter: none;
}
.trade-acc-picker-rail.is-hold-picker .trade-acc-picker-hold-shell .holding {
  margin: 0;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  cursor: pointer;
  padding: 0;
  border-radius: 0;
  box-shadow: none;
  background: transparent;
  pointer-events: none;
  -webkit-mask-image: none;
  mask-image: none;
}
.trade-acc-picker-rail.is-hold-picker .trade-acc-picker-hold-shell .holding > :not(.holding-main) {
  display: none !important;
}
@media (max-width: 899px) {
  .trade-acc-picker-rail.is-hold-picker .trade-acc-picker-hold-shell .holding .holding-main {
    /* 底缘 SVG：浅凹口 + 左右肩 fillet（仅横向拉伸，高度固定 36px 不变形） */
    --trade-picker-notch-bite: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 12' preserveAspectRatio='none'%3E%3Cpath fill='%23fff' d='M43 12C44.5 12 45.2 11.72 46 11.18 46.85 10.55 48.15 8.88 50 8.88 51.85 8.88 53.15 10.55 54 11.18 54.8 11.72 55.5 12 57 12z'/%3E%3C/svg%3E");
    margin: 0;
    border-radius: 16px;
    overflow: hidden;
    border: none !important;
    /* 与页内 .holding-main 一致，不再为凹口堆额外底白边 */
    padding: 14px 11px 18px;
    min-height: var(--trade-picker-card-min-h, 252px);
    box-sizing: border-box;
    box-shadow: none !important;
    pointer-events: none;
    -webkit-mask-image: linear-gradient(#000, #000), var(--trade-picker-notch-bite);
    mask-image: linear-gradient(#000, #000), var(--trade-picker-notch-bite);
    -webkit-mask-size: 100% 100%, 100% 36px;
    mask-size: 100% 100%, 100% 36px;
    -webkit-mask-position: 0 0, bottom;
    mask-position: 0 0, bottom;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-composite: destination-out;
    mask-composite: exclude;
  }
  /* 整圈描边在 .holding 上：顶+侧与底缘分两层，底缘固定 36px 与 mask 凹口对齐 */
  .trade-acc-picker-rail.is-hold-picker .trade-acc-picker-hold-shell .holding {
    position: relative;
    /* 底缘：下圆角(≈16px) + 凹弧；rx/ry 与顶角 viewBox 比例一致 */
    --trade-picker-notch-edge: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 12' preserveAspectRatio='none'%3E%3Cpath fill='none' stroke='%2315202b' stroke-opacity='0.14' stroke-width='1' vector-effect='non-scaling-stroke' d='M0.5 0V6.5Q0.5 11.5 4.5 11.5H43C44.5 11.5 45.2 11.22 46 10.68C46.85 10.05 48.15 8.38 50 8.38C51.85 8.38 53.15 10.05 54 10.68C54.8 10.72 55.5 11.5 57 11.5H95.5Q99.5 11.5 99.5 6.5V0'/%3E%3C/svg%3E");
    /* 仅顶+左右竖线，底边由 notch-edge 一笔画完，避免肩口横线与凹口描边叠成「两层」 */
    --trade-picker-card-outline-sides: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpath fill='none' stroke='%2315202b' stroke-opacity='0.14' stroke-width='1' vector-effect='non-scaling-stroke' d='M0.5 99.5V4Q0.5 0.5 4 0.5H96Q99.5 0.5 99.5 4V99.5'/%3E%3C/svg%3E");
  }
  .trade-acc-picker-rail.is-hold-picker .trade-acc-picker-hold-shell .holding::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
      var(--trade-picker-card-outline-sides) no-repeat left top / 100% calc(100% - 36px),
      var(--trade-picker-notch-edge) no-repeat center bottom / 100% 36px;
    pointer-events: none;
    z-index: 4;
  }
  html:not([data-theme="dark"]) .trade-acc-picker-rail.is-hold-picker .trade-acc-picker-hold-shell .holding::after {
    content: none;
  }
}
@media (min-width: 900px) {
  .trade-acc-picker-rail.is-hold-picker .trade-acc-picker-hold-shell .holding .holding-main {
    margin: 0;
    border-radius: 16px;
    overflow: hidden;
    padding-bottom: 14px;
    box-shadow: none !important;
    pointer-events: none;
    border: 1px solid transparent;
    -webkit-mask-image: none;
    mask-image: none;
  }
  html[data-theme="dark"] .trade-acc-picker-rail.is-hold-picker .trade-acc-picker-hold-shell .holding .holding-main {
    border-color: var(--card-line, var(--line));
  }
}
.trade-acc-picker-rail.is-hold-picker .trade-acc-picker-hold-shell .holding .holding-main {
  box-shadow: none !important;
}
/* 夜间：与账户页「总余额 / 总盈利」条同底色（--panel-2），仅改填充色 */
html[data-theme="dark"] .trade-acc-picker-rail.is-hold-picker .trade-acc-picker-hold-shell .holding .holding-main {
  background: var(--panel-2);
}
@media (max-width: 899px) {
  html[data-theme="dark"] .trade-acc-picker-rail.is-hold-picker .trade-acc-picker-hold-shell .holding .holding-main {
    --trade-picker-notch-bite: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 12' preserveAspectRatio='none'%3E%3Cpath fill='%23121212' d='M43 12C44.5 12 45.2 11.72 46 11.18 46.85 10.55 48.15 8.88 50 8.88 51.85 8.88 53.15 10.55 54 11.18 54.8 11.72 55.5 12 57 12z'/%3E%3C/svg%3E");
  }
  html[data-theme="dark"] .trade-acc-picker-rail.is-hold-picker .trade-acc-picker-hold-shell .holding {
    --trade-picker-notch-edge: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 12' preserveAspectRatio='none'%3E%3Cpath fill='none' stroke='%23ffffff' stroke-opacity='0.14' stroke-width='1' vector-effect='non-scaling-stroke' d='M0.5 0V6.5Q0.5 11.5 4.5 11.5H43C44.5 11.5 45.2 11.22 46 10.68C46.85 10.05 48.15 8.38 50 8.38C51.85 8.38 53.15 10.05 54 10.68C54.8 10.72 55.5 11.5 57 11.5H95.5Q99.5 11.5 99.5 6.5V0'/%3E%3C/svg%3E");
    --trade-picker-card-outline-sides: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpath fill='none' stroke='%23ffffff' stroke-opacity='0.14' stroke-width='1' vector-effect='non-scaling-stroke' d='M0.5 99.5V4Q0.5 0.5 4 0.5H96Q99.5 0.5 99.5 4V99.5'/%3E%3C/svg%3E");
  }
}
.trade-acc-picker-rail.is-hold-picker .trade-acc-picker-hold-shell .holding .holding-main > * {
  pointer-events: auto;
}
.trade-acc-picker-rail.is-hold-picker .holding-head-actions,
.trade-acc-picker-rail.is-hold-picker .hold-tool-btn,
.trade-acc-picker-rail.is-hold-picker .info-btn,
.trade-acc-picker-rail.is-hold-picker .params-scope-meta {
  pointer-events: none !important;
}
.trade-acc-picker-rail.is-hold-picker .holding-head-actions {
  visibility: hidden;
}
.trade-acc-picker-rail.is-hold-picker .trade-acc-picker-hold-shell {
  position: relative;
}
.trade-acc-picker-rail.is-hold-picker .holding-pnl[data-hold-detail-toggle],
.trade-acc-picker-rail.is-hold-picker .holding-mark-hit,
.trade-acc-picker-rail.is-hold-picker .holding-status-hit,
.trade-acc-picker-rail.is-hold-picker .hold-tool-btn,
.trade-acc-picker-rail.is-hold-picker .holding a {
  pointer-events: none !important;
  cursor: default;
}
.trade-acc-picker-pick-btn {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 12;
  width: 30px;
  height: 30px;
  padding: 0;
  margin: 0;
  border-radius: 50%;
  border: 2px solid color-mix(in srgb, var(--line) 85%, transparent);
  background: color-mix(in srgb, var(--panel) 92%, transparent);
  color: transparent;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
}
.trade-acc-picker-pick-btn.is-on {
  border-color: var(--up, #20b26c);
  background: var(--up, #20b26c);
  color: #fff;
}
.trade-acc-picker-pick-glyph {
  font-size: 16px;
  font-weight: 800;
  line-height: 1;
}
.trade-acc-picker-rail .plat-cred-slide:not(.is-center) .trade-acc-picker-pick-btn {
  pointer-events: none;
  opacity: 0.45;
}
.trade-acc-picker-mock-btn {
  display: block;
  width: calc(100% - 28px);
  margin: 0 14px 10px;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px dashed var(--line);
  background: var(--panel);
  color: var(--ink);
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}
.trade-acc-picker-mock-btn:active {
  opacity: 0.85;
}
.trade-acc-picker-rail.is-hold-picker .plat-cred-slide.is-center .trade-acc-picker-hold-shell {
  cursor: grab;
}
.trade-acc-picker-rail.is-hold-picker .trade-acc-picker-stage.is-dragging .trade-acc-picker-hold-shell {
  cursor: grabbing;
}

/* 单线框：禁止 filter/box-shadow 与 border 叠成「背后多一层」（压过 04-shell / 旧 heal 规则） */
html[data-theme="dark"] .bias-tip,
html[data-theme="dark"] .fold-tip,
html[data-theme="dark"] .ui-help-tip,
html[data-theme="dark"] .pnl-tip,
html[data-theme="dark"] .pnl-pop-hover-tip,
html[data-theme="dark"] .radar-kpi-tip,
html[data-theme="dark"] .info-pop-inner,
html[data-theme="dark"] .run-stats-pop,
html[data-theme="dark"] body > .run-stats-pop-portal,
html[data-theme="dark"] .holding-status-bubble,
html[data-theme="dark"] body > .holding-status-bubble.status-bubble-portal,
html[data-theme="dark"] .hold-heal-pop-card,
html[data-theme="dark"] body > .hold-heal-pop .hold-heal-pop-card,
html[data-theme="dark"] body > .hold-heal-pop.hold-heal-pop-portal .hold-heal-pop-card,
html[data-theme="dark"] .pos-heal-pop-card,
html[data-theme="dark"] body > .pos-heal-pop .pos-heal-pop-card {
  filter: none !important;
  box-shadow: none !important;
  border: 1px solid var(--wenli-callout-line) !important;
}
.fold-tug-bubble,
.target-bubble,
html[data-theme="dark"] .fold-tug-bubble,
html[data-theme="dark"] .target-bubble {
  filter: none !important;
  box-shadow: none !important;
}
.fold-tug-bubble-txt,
.target-bubble-txt,
html[data-theme="dark"] .fold-tug-bubble-txt,
html[data-theme="dark"] .target-bubble-txt {
  filter: none !important;
  box-shadow: none !important;
  border: 1px solid var(--wenli-callout-line) !important;
}
/* 目标条 / 博弈条：朝下尖 = 外三角线框 + 内三角填色（与矩形体 border 连贯） */
.fold-tug-bubble-txt::after,
.target-bubble-txt::after,
html[data-theme="dark"] .fold-tug-bubble-txt::after,
html[data-theme="dark"] .target-bubble-txt::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  left: var(--arrow-x, 50%) !important;
  right: auto !important;
  top: auto !important;
  bottom: -7px !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  background: none !important;
  border-style: solid !important;
  border-width: 7px 7px 0 7px !important;
  border-color: var(--wenli-callout-line) transparent transparent transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  filter: none !important;
  transform: translateX(-50%) rotate(0deg) !important;
  z-index: 0 !important;
  pointer-events: none !important;
}
.fold-tug-bubble-txt::before,
.target-bubble-txt::before,
html[data-theme="dark"] .fold-tug-bubble-txt::before,
html[data-theme="dark"] .target-bubble-txt::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  left: var(--arrow-x, 50%) !important;
  right: auto !important;
  top: auto !important;
  bottom: -5px !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  background: none !important;
  border-style: solid !important;
  border-width: 6px 6px 0 6px !important;
  border-color: var(--bubble-fill, var(--wenli-callout-bg)) transparent transparent transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  filter: none !important;
  transform: translateX(-50%) rotate(0deg) !important;
  z-index: 1 !important;
  pointer-events: none !important;
}