/* —— 账户页：统一设置卡 —— */


.acc-panel {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 16px;
  overflow: hidden;
  margin: 0;
}
#me-page.acc-panel {
  background: transparent;
  border: 0;
  overflow: visible;
}
#me-page .acc-panel-head {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 16px;
}
.acc-panel-head {
  padding: 14px 16px 12px;
}
.acc-panel-head .me-guest,
.acc-panel-head .me-user {
  gap: 12px;
}
/* 与账户卡内「余额」标题 #accounts .acc-spot-bal-hd 同档字号 */
.acc-panel-head .me-title {
  font-size: 15px;
  font-weight: 750;
  line-height: 1.25;
  letter-spacing: 0;
  color: var(--ink);
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
html[data-theme="dark"] .acc-panel-head .me-title {
  color: var(--text, #e8eef6);
}
.acc-panel-head .me-avatar {
  width: 34px;
  height: 34px;
}
.acc-panel-head .me-hero-ident {
  gap: 9px;
}
.acc-panel-head .me-gear {
  margin-top: 0;
  width: 36px;
  height: 36px;
  align-self: center;
}
.acc-panel-head .me-cta-inline,
.acc-panel-head .me-cta-title {
  margin-top: 0;
  height: 36px;
  min-width: 80px;
}
.acc-panel-head .me-guest .me-hero-actions {
  align-self: flex-end;
}
.acc-panel-head .me-assets {
  margin-top: 2px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: color-mix(in srgb, var(--bg) 70%, var(--panel));
}
.acc-panel-head .me-asset {
  padding: 10px 10px;
  gap: 8px;
}
.acc-panel-head .me-asset-ico-wrap,
.acc-panel-head .me-asset-ico {
  width: 28px;
  height: 28px;
}
.acc-panel-head .me-asset-row {
  margin-top: 4px;
}
.acc-panel-head .me-asset-val {
  font-size: 18px;
}
.acc-panel-trade {
  border-top: 0;
  padding: 0;
  background: transparent;
}
@media (max-width: 899px) {
  .home-stack .home-trade-split {
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: stretch;
  }
  .home-trade-pos-col {
    display: none !important;
  }
  .home-trade-unified-card {
    background: transparent;
    border: 0;
    box-shadow: none;
    border-radius: 0;
    min-height: 0;
    overflow: visible;
  }
  .home-trade-unified-body {
    display: block;
  }
  .bias-card.is-pulse-layout.home-trade-pulse-strip {
    border-bottom: 0;
    margin: 0;
  }
  .home-trade-pulse-strip .bias-watch-shell.holding-main {
    border-radius: 16px;
    border: 1px solid var(--card-line, var(--line));
    box-shadow: var(--card-home-elev, var(--shadow));
  }
}
@media (min-width: 900px) {
  /* 电脑交易页：禁止整页/整 Tab 滚；停止按钮以下（盯盘条 + 一体卡）在 .home-trade-split 内滚 */
  html:has(#tab-home.on),
  body.fund-tab-home-on {
    overflow: hidden;
    height: 100%;
  }
  html:has(#tab-home.on) .shell,
  body.fund-tab-home-on .shell {
    height: 100dvh;
    max-height: 100dvh;
    overflow: hidden;
  }
  html:has(#tab-home.on) .app,
  body.fund-tab-home-on .app {
    display: flex;
    flex-direction: column;
    height: 100dvh;
    max-height: 100dvh;
    min-height: 0;
    overflow: hidden;
    padding-bottom: 0;
    padding-top: calc(28px + env(safe-area-inset-top, 0px));
    box-sizing: border-box;
  }
  html:has(#tab-home.on) .app > .hero,
  body.fund-tab-home-on .app > .hero {
    flex: 0 0 auto;
  }
  html:has(#tab-home.on) .app > .main,
  body.fund-tab-home-on .app > .main {
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    margin-top: 12px;
  }
  html:has(#tab-home.on) #tab-home.panel.on.home-stack,
  body.fund-tab-home-on #tab-home.panel.on.home-stack {
    display: flex !important;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden !important;
    padding-bottom: 0;
  }
  #tab-home.on .home-trade-split {
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex: 1 1 auto;
    min-height: 0;
    width: 100%;
    overflow-x: clip;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
    padding-bottom: calc(var(--dock-h, 56px) + var(--dock-gap, 8px) + var(--safe-b, 0px) + 20px);
    box-sizing: border-box;
  }
  body.fund-tab-home-on .home-trade-split {
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex: 1 1 auto;
    min-height: 0;
    width: 100%;
    overflow-x: clip;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: none;
    -ms-overflow-style: none;
    padding-bottom: calc(var(--dock-h, 56px) + var(--dock-gap, 8px) + var(--safe-b, 0px) + 20px);
    box-sizing: border-box;
  }
  #tab-home.on .home-trade-split::-webkit-scrollbar,
  body.fund-tab-home-on .home-trade-split::-webkit-scrollbar {
    width: 0;
    height: 0;
    display: none;
    background: transparent;
  }
  /* 盯盘通条：独立一行，不在交易一体卡内 */
  #tab-home.on .home-trade-pulse-strip {
    width: 100%;
    flex: 0 0 auto;
    align-self: stretch;
  }
  #tab-home.on .home-trade-pulse-strip .bias-watch-shell.holding-main {
    width: 100%;
    box-sizing: border-box;
  }
  #tab-home.on .home-trade-pulse-strip .bias-watch-top {
    margin-bottom: 0;
    width: 100%;
  }
  #tab-home.on .home-trade-pulse-strip .bias-brief {
    flex: 1;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  #tab-home.on .home-trade-unified-card,
  body.fund-tab-home-on .home-trade-unified-card {
    display: flex;
    flex-direction: column;
    width: 100%;
    box-sizing: border-box;
    background: var(--panel);
    border: 1px solid var(--card-line, var(--line));
    border-radius: 16px;
    box-shadow: var(--card-home-elev, var(--shadow));
    overflow: hidden;
    --home-trade-card-h: min(520px, calc(100vh - 280px));
    height: var(--home-trade-card-h);
    max-height: var(--home-trade-card-h);
    min-height: var(--home-trade-card-h);
    flex: 0 0 auto;
  }
  #tab-home.on .home-trade-unified-body,
  body.fund-tab-home-on .home-trade-unified-body {
    display: grid;
    grid-template-columns: minmax(0, 6fr) minmax(0, 4fr);
    align-items: stretch;
    flex: 1 1 auto;
    min-height: 0;
    max-height: 100%;
    overflow: hidden;
    position: relative;
  }
  #tab-home.on .home-trade-hold-col,
  body.fund-tab-home-on .home-trade-hold-col {
    min-width: 0;
    min-height: 0;
    border-right: 0;
    display: flex;
    flex-direction: column;
  }
  #tab-home.on .home-trade-hold-col .holdings {
    flex: 1 1 auto;
    min-height: 0;
  }
  #tab-home.on .home-trade-unified-card .holding-main,
  body.fund-tab-home-on .home-trade-unified-card .holding-main {
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent;
    min-height: auto;
    padding: 14px 12px;
  }
  #tab-home.on .home-trade-hold-col .holdings,
  body.fund-tab-home-on .home-trade-hold-col .holdings {
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    padding-right: 4px;
    scrollbar-width: thin;
    scrollbar-color: color-mix(in srgb, var(--ink) 16%, transparent) transparent;
  }
  #tab-home.on .home-trade-hold-col .holdings::-webkit-scrollbar,
  body.fund-tab-home-on .home-trade-hold-col .holdings::-webkit-scrollbar {
    width: 6px;
  }
  #tab-home.on .home-trade-hold-col .holdings::-webkit-scrollbar-thumb,
  body.fund-tab-home-on .home-trade-hold-col .holdings::-webkit-scrollbar-thumb {
    border-radius: 6px;
    background: color-mix(in srgb, var(--ink) 22%, transparent);
  }
  /* holding-desk-body 包裹后明细非 .holding-main 直接子节点，须用后代选择器 */
  #tab-home.on .home-trade-unified-card .holding-main .holding-detail-tail:not([open]),
  body.fund-tab-home-on .home-trade-unified-card .holding-main .holding-detail-tail:not([open]) {
    display: none !important;
  }
  #tab-home.on .home-trade-unified-card .holding-main .holding-detail-tail[open],
  body.fund-tab-home-on .home-trade-unified-card .holding-main .holding-detail-tail[open] {
    display: block !important;
    margin-top: 8px;
    padding: 4px 0 8px;
    border: 0;
    border-top: 0;
    border-radius: 0;
    box-shadow: none;
    background: transparent;
  }
  #tab-home.on .home-trade-unified-card .holding-main .holding-detail-tail[open] .fold-row,
  body.fund-tab-home-on .home-trade-unified-card .holding-main .holding-detail-tail[open] .fold-row {
    border-top: 0;
    padding-top: 4px;
    padding-bottom: 4px;
  }
  #tab-home.on .home-trade-unified-card .holding-main .holding-detail-tail[open] .fold-ref,
  body.fund-tab-home-on .home-trade-unified-card .holding-main .holding-detail-tail[open] .fold-ref {
    border-top: 0;
    margin-top: 4px;
    padding-top: 0;
  }
  /* 展开浮动盈亏明细：左栏随内容增高（无内滚），右栏固定高度内滚仓位 */
  #tab-home.on .home-trade-unified-card:has(.holding-detail-tail[open]),
  body.fund-tab-home-on .home-trade-unified-card:has(.holding-detail-tail[open]) {
    height: auto;
    max-height: none;
    min-height: var(--home-trade-card-h, min(520px, calc(100vh - 280px)));
    overflow: visible;
  }
  #tab-home.on .home-trade-unified-card:has(.holding-detail-tail[open]) .home-trade-unified-body,
  body.fund-tab-home-on .home-trade-unified-card:has(.holding-detail-tail[open]) .home-trade-unified-body {
    overflow: visible;
    max-height: none;
    align-items: start;
  }
  #tab-home.on .home-trade-unified-card:has(.holding-detail-tail[open]) .home-trade-hold-col,
  body.fund-tab-home-on .home-trade-unified-card:has(.holding-detail-tail[open]) .home-trade-hold-col {
    min-height: 0;
    overflow: visible;
  }
  #tab-home.on .home-trade-unified-card:has(.holding-detail-tail[open]) .home-trade-hold-col .holdings,
  body.fund-tab-home-on .home-trade-unified-card:has(.holding-detail-tail[open]) .home-trade-hold-col .holdings {
    overflow: visible;
    flex: 0 1 auto;
    max-height: none;
    padding-right: 0;
    scrollbar-width: none;
  }
  #tab-home.on .home-trade-unified-card:has(.holding-detail-tail[open]) .home-trade-hold-col .holding-main,
  body.fund-tab-home-on .home-trade-unified-card:has(.holding-detail-tail[open]) .home-trade-hold-col .holding-main {
    overflow: visible;
  }
  #tab-home.on .home-trade-unified-card:has(.holding-detail-tail[open]) .home-trade-pos-col,
  body.fund-tab-home-on .home-trade-unified-card:has(.holding-detail-tail[open]) .home-trade-pos-col {
    align-self: start;
    height: var(--home-trade-card-h, min(520px, calc(100vh - 280px)));
    max-height: var(--home-trade-card-h, min(520px, calc(100vh - 280px)));
    min-height: var(--home-trade-card-h, min(520px, calc(100vh - 280px)));
    overflow: hidden;
  }
  #tab-home.on #pos-sheet.is-acc-embedded #pos-float,
  body.fund-tab-home-on #pos-sheet.is-acc-embedded #pos-float {
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
  }
  #tab-home.on #pos-sheet.is-acc-embedded .pos-tabs,
  body.fund-tab-home-on #pos-sheet.is-acc-embedded .pos-tabs {
    flex: 0 0 auto;
  }
  #tab-home.on #pos-sheet.is-acc-embedded #pos-wrong-banner,
  #tab-home.on #pos-sheet.is-acc-embedded #pos-flat-msg,
  body.fund-tab-home-on #pos-sheet.is-acc-embedded #pos-wrong-banner,
  body.fund-tab-home-on #pos-sheet.is-acc-embedded #pos-flat-msg {
    flex: 0 0 auto;
  }
  #tab-home.on #pos-sheet.is-acc-embedded .pos-scroll,
  body.fund-tab-home-on #pos-sheet.is-acc-embedded .pos-scroll {
    flex: 1 1 auto;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
  #tab-home.on #pos-sheet.is-acc-embedded .pos-resize,
  body.fund-tab-home-on #pos-sheet.is-acc-embedded .pos-resize {
    display: none !important;
  }
  #tab-home.on .home-trade-pos-col,
  body.fund-tab-home-on .home-trade-pos-col {
    min-width: 0;
    min-height: 0;
    display: flex;
    flex-direction: column;
    border: 0;
    border-left: 1px solid color-mix(in srgb, var(--card-line, var(--line)) 36%, transparent);
    border-radius: 0;
    background: transparent;
    overflow: hidden;
    position: static;
    max-height: none;
    box-shadow: none !important;
    box-sizing: border-box;
  }
  /* 标记价贴左栏右缘，竖分割跟 grid 6:4 列界（pos-col border-left）对齐 */
  #tab-home.on .home-trade-unified-card .holding-hero,
  body.fund-tab-home-on .home-trade-unified-card .holding-hero {
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-end;
    justify-content: flex-start;
    gap: 0 12px;
    margin-right: -11px;
    width: calc(100% + 11px);
    box-sizing: border-box;
  }
  #tab-home.on .home-trade-unified-card .holding-hero-col:not(.holding-hero-mark),
  body.fund-tab-home-on .home-trade-unified-card .holding-hero-col:not(.holding-hero-mark) {
    flex: 1 1 auto;
    min-width: 0;
  }
  #tab-home.on .home-trade-unified-card .holding-hero-mark,
  body.fund-tab-home-on .home-trade-unified-card .holding-hero-mark {
    flex: 0 0 auto;
    margin-left: auto;
    padding-right: 11px;
    box-sizing: border-box;
  }
  #tab-home.on #pos-sheet.is-acc-embedded #pos-float,
  body.fund-tab-home-on #pos-sheet.is-acc-embedded #pos-float {
    border: 0 !important;
    box-shadow: none !important;
    outline: none !important;
  }
  html[data-theme="dark"] #tab-home.on #pos-sheet.is-acc-embedded #pos-float,
  html[data-theme="dark"] body.fund-tab-home-on #pos-sheet.is-acc-embedded #pos-float {
    border: 0 !important;
    box-shadow: none !important;
  }
  #tab-home.on #pos-sheet.is-acc-embedded .pos-tabs,
  body.fund-tab-home-on #pos-sheet.is-acc-embedded .pos-tabs {
    border-bottom: 0 !important;
    gap: 8px;
  }
  #tab-home.on #pos-sheet.is-acc-embedded .pos-tabs-actions,
  body.fund-tab-home-on #pos-sheet.is-acc-embedded .pos-tabs-actions {
    background: transparent !important;
    padding: 0 !important;
    border-radius: 0 !important;
  }
  #tab-home.on #pos-sheet.is-acc-embedded .pos-scroll,
  body.fund-tab-home-on #pos-sheet.is-acc-embedded .pos-scroll {
    border-top: 0 !important;
  }
  #tab-home.on #pos-sheet.is-acc-embedded .pos-list,
  body.fund-tab-home-on #pos-sheet.is-acc-embedded .pos-list {
    gap: 0;
    padding-top: 4px;
  }
  #tab-home.on #pos-sheet.is-acc-embedded .pos-card,
  body.fund-tab-home-on #pos-sheet.is-acc-embedded .pos-card {
    border-top: 0;
    margin-top: 0;
    padding-top: 0;
  }
  #tab-home.on #pos-sheet.is-acc-embedded .pos-card + .pos-card,
  body.fund-tab-home-on #pos-sheet.is-acc-embedded .pos-card + .pos-card {
    border-top: 1px solid color-mix(in srgb, var(--line) 42%, transparent);
    margin-top: 12px;
    padding-top: 12px;
  }
  .pos-embed-host {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
  }
  .home-trade-unified-card.has-pos-embed .pos-embed-host {
    flex: 1;
  }
  .pos-embed-empty {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px 16px;
    text-align: center;
    color: var(--muted);
    font-size: 13px;
    font-weight: 600;
    line-height: 1.5;
  }
  .pos-embed-empty[hidden] {
    display: none !important;
  }
  .home-trade-unified-card.has-pos-embed .pos-embed-empty {
    display: none !important;
  }
  #tab-home.on .home-trade-pos-col #pos-sheet.pos-float-layer,
  body.fund-tab-home-on .home-trade-pos-col #pos-sheet.pos-float-layer {
    position: relative !important;
    inset: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    z-index: 1 !important;
    pointer-events: auto !important;
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
  #pos-sheet.is-acc-embedded {
    position: relative !important;
    inset: auto !important;
    flex: 1;
    min-height: 0;
    width: 100%;
    height: 100%;
    pointer-events: auto !important;
    background: transparent !important;
    z-index: 1;
  }
  #pos-sheet.is-acc-embedded:not(.on) {
    display: none !important;
  }
  #pos-sheet.is-acc-embedded.on {
    display: flex !important;
    flex-direction: column;
  }
  #pos-sheet.is-acc-embedded #pos-float {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: none !important;
    max-height: none !important;
    flex: 1;
    border-radius: 0;
    border: 0;
    box-shadow: none;
    background: transparent;
  }
  #tab-home.on #pos-sheet.is-acc-embedded .pos-tabs {
    padding: 12px 12px 6px;
  }
  #tab-home.on #pos-sheet.is-acc-embedded .pos-tabs-left > button {
    font-size: 14px;
    font-weight: 800;
  }
  #tab-home.on #pos-sheet.is-acc-embedded .pos-tabs-actions .pos-resume-btn,
  #tab-home.on #pos-sheet.is-acc-embedded .pos-tabs-actions .pos-flat-btn,
  #tab-home.on #pos-sheet.is-acc-embedded .pos-tabs-actions .pos-open-btn {
    font-size: 12px !important;
    font-weight: 700 !important;
    padding: 7px 10px !important;
    min-height: 34px;
    border-radius: 8px !important;
  }
  #tab-home.on #pos-sheet.is-acc-embedded .pos-scroll {
    padding: 0 10px 12px;
  }
  #tab-home.on #pos-sheet.is-acc-embedded .pos-grid > div span,
  #tab-home.on #pos-sheet.is-acc-embedded .pos-metrics > div > span {
    font-size: 11px;
    font-weight: 600;
  }
  #tab-home.on #pos-sheet.is-acc-embedded .pos-grid > div b,
  #tab-home.on #pos-sheet.is-acc-embedded .pos-metrics > div > b {
    font-size: 13px;
    font-weight: 800;
  }
  #tab-home.on #pos-sheet.is-acc-embedded .pos-kind-tabs button {
    font-size: 12px;
    font-weight: 700;
  }
  /* 一体卡内：选中户仅用右侧仓位联动，左侧不再铺绿底 */
  #tab-home.on .home-trade-unified-card .holding.is-pos-embed-on .holding-main,
  body.fund-tab-home-on .home-trade-unified-card .holding.is-pos-embed-on .holding-main,
  #tab-home.on .home-trade-unified-card .holding:has(.holding-main .holding-detail-tail[open]) .holding-main,
  body.fund-tab-home-on .home-trade-unified-card .holding:has(.holding-main .holding-detail-tail[open]) .holding-main {
    background: transparent;
    border: 0 !important;
    box-shadow: none !important;
  }
  #tab-home.on #bots .holding.is-pos-embed-on {
    outline: none;
  }
  /* 桌面一体卡：点标记价 → 左栏内嵌 K 线盘口（订单表/成交/资金），卡高不变、内滚 */
  #tab-home.on .home-trade-unified-card .holding.is-hold-market-rail-on .holding-desk-body,
  body.fund-tab-home-on .home-trade-unified-card .holding.is-hold-market-rail-on .holding-desk-body {
    display: none !important;
  }
  #tab-home.on .home-trade-unified-card .holding.is-hold-market-rail-on .holding-main,
  body.fund-tab-home-on .home-trade-unified-card .holding.is-hold-market-rail-on .holding-main {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
    padding-top: 8px;
    padding-bottom: 8px;
  }
  #tab-home.on .home-trade-unified-card .holding.is-hold-market-rail-on .hold-desk-rail-pane,
  body.fund-tab-home-on .home-trade-unified-card .holding.is-hold-market-rail-on .hold-desk-rail-pane {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
  }
  #tab-home.on .home-trade-unified-card .hold-desk-rail-host,
  body.fund-tab-home-on .home-trade-unified-card .hold-desk-rail-host {
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    border-radius: 10px;
    background: #0b0e11;
  }
  #tab-home.on .home-trade-unified-card .hold-desk-rail-host .mkt-coin-rail.is-hold-trade-embed,
  body.fund-tab-home-on .home-trade-unified-card .hold-desk-rail-host .mkt-coin-rail.is-hold-trade-embed {
    flex: 1 1 auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 100% !important;
    min-height: 0 !important;
    border-left: 0 !important;
    border-radius: 10px;
    overflow: hidden;
  }
  #tab-home.on .home-trade-unified-card .hold-desk-rail-host .mkt-coin-rail-body,
  body.fund-tab-home-on .home-trade-unified-card .hold-desk-rail-host .mkt-coin-rail-body {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }
  #tab-home.on .home-trade-unified-card .holding-hero-mark.is-mark-rail .holding-mark-hit,
  body.fund-tab-home-on .home-trade-unified-card .holding-hero-mark.is-mark-rail .holding-mark-hit {
    cursor: pointer;
    border: 0;
    padding: 0;
    background: transparent;
    font: inherit;
    color: inherit;
  }
  #tab-home.on .home-trade-unified-card .holding.is-hold-market-rail-on,
  body.fund-tab-home-on .home-trade-unified-card .holding.is-hold-market-rail-on {
    min-height: 0;
  }
  #tab-home.on .home-trade-unified-card:has(.holding.is-hold-market-rail-on) .home-trade-hold-col .holdings,
  body.fund-tab-home-on .home-trade-unified-card:has(.holding.is-hold-market-rail-on) .home-trade-hold-col .holdings {
    overflow: hidden;
    display: flex;
    flex-direction: column;
    min-height: 0;
  }
}
.acc-treasury-bar {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px 0;
}
.acc-treasury-btn {
  font-weight: 700;
  flex-shrink: 0;
}
.acc-treasury-sum {
  font-size: 12px;
  font-weight: 600;
  color: var(--muted);
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.acc-panel-yield {
  border-top: 1px solid var(--line);
  padding: 0 0 12px;
}
.acc-panel-yield-head {
  align-items: flex-start;
}
.acc-panel-yield-titles {
  min-width: 0;
}
.acc-panel-yield-hint {
  margin: 4px 0 0;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.4;
  color: var(--muted);
}
.acc-panel-yield .acc-yield-soon {
  margin: 0;
  padding: 8px 0 2px;
  font-size: 11px;
  font-weight: 600;
  color: var(--muted);
  line-height: 1.45;
}
/* 资产增值：电脑居中弹窗 · 手机全屏页 */

.fee-tip-modal.yield-sheet {
  z-index: 12100 !important;
  padding: 16px;
  align-items: center;
  justify-items: center;
}
.fee-tip-modal.yield-sheet .fee-sheet.yield-sheet-card {
  width: min(468px, calc(100vw - 32px));
  max-height: min(90vh, calc(100vh - 32px));
  overflow: hidden;
  display: flex;
  flex-direction: column;
  background: var(--panel);
  border-radius: 16px;
  box-shadow: 0 12px 40px rgba(21, 32, 43, 0.18);
}
.fee-tip-modal.yield-sheet .yield-sheet-head {
  display: grid;
  grid-template-columns: 40px 1fr auto;
  align-items: center;
  gap: 6px;
  padding: 8px 12px 2px;
  border-bottom: 0;
  flex-shrink: 0;
  background: var(--panel);
  position: relative;
}
.fee-tip-modal.yield-sheet .yield-sheet-back {
  appearance: none;
  border: 0;
  background: none;
  color: var(--ink);
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  cursor: pointer;
  flex-shrink: 0;
  grid-column: 1;
  padding: 0;
}
.fee-tip-modal.yield-sheet .yield-sheet-top-title {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  margin: 0;
  font-size: 17px;
  font-weight: 800;
  color: var(--ink);
  line-height: 1.2;
  text-align: center;
  max-width: calc(100% - 120px);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  pointer-events: none;
}
.fee-tip-modal.yield-sheet .yield-sheet-slot-mount {
  grid-column: 3;
  justify-self: end;
  min-width: 0;
  max-width: min(200px, 46vw);
}
.fee-tip-modal.yield-sheet .yx-select-head {
  width: 100%;
  max-width: 200px;
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 8px;
  padding: 6px 10px;
  font-size: 12px;
  font-weight: 700;
  color: var(--ink);
  line-height: 1.2;
  -webkit-appearance: none;
  appearance: none;
  background-image: none !important;
  text-align: right;
  text-overflow: ellipsis;
}
html[data-theme="dark"] .fee-tip-modal.yield-sheet .yx-select-head {
  background-color: var(--panel-2);
  border-color: var(--line);
  color: var(--ink);
}
.fee-tip-modal.yield-sheet .yield-sheet-body {
  flex: 1;
  min-height: 0;
  overflow: hidden;
  padding: 0;
  display: flex;
  flex-direction: column;
  -webkit-overflow-scrolling: touch;
}
.fee-tip-modal.yield-sheet .yield-okx {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  padding: 0 12px 14px;
  border: 0;
  background: transparent;
}
.fee-tip-modal.yield-sheet .yield-okx .yx-seg {
  flex-shrink: 0;
  margin: 0 0 6px;
  background: var(--panel);
}
.fee-tip-modal.yield-sheet .yield-okx .yx-scroll {
  flex: 1;
  min-height: 0;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.fee-tip-modal.yield-sheet .yield-okx .yx-scroll::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}
.yield-okx .yx-auto-card {
  margin: 0 0 8px;
  padding: 12px 12px 10px;
  border-radius: 14px;
  background: var(--panel);
  border: 1px solid var(--line);
  box-shadow: 0 1px 0 rgba(21, 32, 43, 0.04);
}
.yield-okx .yx-auto-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.yield-okx .yx-auto-meta {
  min-width: 0;
  flex: 1;
}
.yield-okx .yx-auto-title-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px 8px;
}
.yield-okx .yx-auto-title {
  font-size: 14px;
  font-weight: 800;
  color: var(--ink);
  letter-spacing: -0.01em;
}
.yield-okx .yx-auto-pill {
  font-size: 10px;
  font-weight: 800;
  padding: 2px 7px;
  border-radius: 999px;
  line-height: 1.35;
}
.yield-okx .yx-auto-pill.is-on {
  background: var(--chip-bg);
  color: var(--teal);
}
.yield-okx .yx-auto-pill.is-off {
  background: var(--chip-bg);
  color: var(--muted);
}
.yield-okx .yx-auto-pill.is-demo {
  background: color-mix(in srgb, #e11 10%, transparent);
  color: #c43;
}
.yield-okx .yx-auto-sub {
  margin-top: 4px;
  font-size: 11px;
  font-weight: 600;
  color: var(--muted);
  line-height: 1.4;
}
.yield-okx .yx-auto-toggle {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  margin-top: 2px;
}
.yield-okx .yx-auto-title-row .ui-help-wrap {
  margin-left: 0;
}
.yield-okx .yx-auto-title-row .help-ico-btn {
  min-width: 20px;
  min-height: 20px;
  color: var(--muted);
}
.yield-okx .yx-auto-title-row .help-ico-q svg {
  width: 13px;
  height: 13px;
}
.yield-okx .yx-auto-body {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
  align-items: end;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--line);
}
.yield-okx .yx-auto-field {
  display: grid;
  gap: 6px;
  min-width: 0;
}
.yield-okx .yx-auto-lab {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 11px;
  font-weight: 700;
  color: var(--muted);
}
.yield-okx .yx-auto-lab .ui-help-wrap {
  display: inline-flex;
  align-items: center;
  margin: 0;
}
.yield-okx .yx-auto-lab .help-ico-btn {
  min-width: 18px;
  min-height: 18px;
  color: var(--muted);
}
.yield-okx .yx-auto-lab .help-ico-q svg {
  width: 12px;
  height: 12px;
}
.yield-okx .yx-keep-apply {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 10px;
  padding: 6px 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--chip-bg);
  color: var(--teal);
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
}
.yield-okx .yx-keep-apply:hover {
  background: var(--chip-bg);
}
body > .ui-help-tip .yx-keep-apply {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 10px;
  padding: 6px 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--chip-bg);
  color: var(--teal);
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
}
.yield-okx .yx-auto-input-wrap {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  padding: 0 12px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--panel-2);
}
.yield-okx .yx-auto-input-wrap input {
  flex: 1;
  min-width: 0;
  border: 0;
  background: transparent;
  color: var(--ink);
  font-size: 16px;
  font-weight: 800;
  padding: 8px 0;
  outline: none;
}
.yield-okx .yx-auto-unit {
  font-size: 11px;
  font-weight: 800;
  color: var(--muted);
  flex-shrink: 0;
}
.yield-okx .yx-auto-save {
  min-width: 72px;
  height: 40px;
  padding: 0 16px;
  border-radius: 10px;
  font-size: 13px;
}
.yield-okx .yx-auto-save:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
.yield-okx .yx-auto-card.is-locked {
  opacity: 0.92;
}
.yield-okx .yx-auto-card.is-locked .yx-auto-input-wrap {
  background: var(--chip-bg);
}
.yield-okx .yx-auto-hint {
  margin: 10px 0 0;
  font-size: 11px;
  font-weight: 600;
  color: var(--muted);
  line-height: 1.45;
}
.yield-okx .yx-auto-card.is-enabled {
  border-color: var(--line);
}
html[data-theme="dark"] .yield-okx .yx-auto-card {
  background: var(--panel);
  box-shadow: none;
}
html[data-theme="dark"] .yield-okx .yx-auto-pill.is-demo {
  background: rgba(239, 68, 68, 0.16);
  color: #fca5a5;
}
@media (max-width: 720px) {
  .yield-okx .yx-auto-body {
    grid-template-columns: 1fr;
  }
  .yield-okx .yx-auto-save {
    width: 100%;
  }
}
body.yield-sheet-open {
  overflow: hidden;
}
body.yield-sheet-open .dock {
  visibility: hidden !important;
  pointer-events: none !important;
}
@media (max-width: 720px) {
  .fee-tip-modal.yield-sheet.is-page {
    padding: 0;
    place-items: stretch;
    align-items: stretch;
  }
  .fee-tip-modal.yield-sheet.is-page .fee-sheet.yield-sheet-card {
    width: 100%;
    max-width: none;
    height: 100%;
    max-height: none;
    min-height: 100dvh;
    border-radius: 0;
    box-shadow: none;
  }
  .fee-tip-modal.yield-sheet.is-page .yield-sheet-head {
    padding-top: max(14px, env(safe-area-inset-top));
  }
  .fee-tip-modal.yield-sheet.is-page .yield-sheet-body {
    padding-bottom: max(20px, env(safe-area-inset-bottom));
  }
}
html[data-theme="dark"] .fee-tip-modal.yield-sheet .fee-sheet.yield-sheet-card {
  background: var(--sheet);
}
html[data-theme="dark"] .fee-tip-modal.yield-sheet .yield-sheet-head,
html[data-theme="dark"] .fee-tip-modal.yield-sheet .fee-head.yield-sheet-head {
  background: var(--sheet) !important;
  border-bottom: 0;
  box-shadow: none;
}
html[data-theme="dark"] .fee-tip-modal.yield-sheet .yield-sheet-top-title {
  color: var(--ink);
}
/* fee-sheet 全局 input 规则会在内层再画一圈线框，yield 只保留外层容器描边 */
.fee-tip-modal.yield-sheet .yield-okx .yx-auto-input-wrap input,
.fee-tip-modal.yield-sheet .yield-okx .yx-amt-row input {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.yield-okx .yx-seg {
  display: flex;
  gap: 0;
  margin: 0 0 6px;
  border-bottom: 1px solid var(--line);
}
.yield-okx .yx-seg-btn {
  flex: 1;
  border: 0;
  background: transparent;
  color: var(--muted);
  font-size: 15px;
  font-weight: 700;
  padding: 6px 8px 8px;
  cursor: pointer;
  position: relative;
}
.yield-okx .yx-seg-btn.on {
  color: var(--ink);
}
.yield-okx .yx-seg-btn.on::after {
  content: "";
  position: absolute;
  left: 18%;
  right: 18%;
  bottom: 0;
  height: 2px;
  border-radius: 2px 2px 0 0;
  background: var(--teal);
}
.yield-okx .yx-slot-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
  font-size: 12px;
  font-weight: 600;
  color: var(--muted);
}
.yield-okx .yx-select {
  flex: 1;
  max-width: 70%;
  border: 1px solid var(--line);
  background: var(--panel);
  border-radius: 8px;
  padding: 8px 10px;
  font-size: 12px;
  font-weight: 700;
  color: var(--ink);
}
.yield-okx .yx-banner {
  margin: 0 0 6px;
  padding: 6px 10px;
  border-radius: 8px;
  background: var(--chip-bg);
  color: var(--teal);
  border: 1px solid transparent;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.4;
}
.yield-okx .yx-prod {
  background: var(--panel-2);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 14px 14px 12px;
  margin-bottom: 10px;
  box-shadow: none;
}
.yield-okx .yx-prod-head {
  display: flex;
  align-items: center;
  gap: 10px;
}
.yield-okx .yx-coin {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #12a98c;
  color: #fff;
  font-size: 18px;
  font-weight: 800;
  flex-shrink: 0;
}
.yield-okx .yx-coin-loan {
  background: #3d4a57;
  font-size: 14px;
}
.yield-okx .yx-prod-meta {
  min-width: 0;
  flex: 1;
}
.yield-okx .yx-prod-name {
  font-size: 15px;
  font-weight: 800;
  color: var(--ink);
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}
.yield-okx .yx-pill {
  font-size: 10px;
  font-weight: 700;
  padding: 2px 6px;
  border-radius: 4px;
  background: var(--chip-bg);
  color: var(--muted);
}
.yield-okx .yx-prod-sub {
  margin-top: 2px;
  font-size: 11px;
  font-weight: 600;
  color: var(--muted);
  line-height: 1.35;
}
.yield-okx .yx-apy {
  text-align: right;
  flex-shrink: 0;
}
.yield-okx .yx-apy b {
  display: block;
  font-size: 20px;
  font-weight: 800;
  color: var(--teal);
  line-height: 1.1;
}
.yield-okx .yx-apy small {
  font-size: 10px;
  font-weight: 700;
  color: var(--muted);
}
.yield-okx .yx-apy .ui-help-lab {
  display: inline-flex;
  align-items: center;
  gap: 1px;
  font-size: inherit;
  font-weight: inherit;
  color: inherit;
  line-height: 1;
}
.yield-okx .yx-apy .ui-help-wrap {
  display: inline-flex;
  vertical-align: middle;
}
.yield-okx .yx-apy .help-ico-btn {
  min-width: 22px;
  min-height: 22px;
  padding: 0;
  color: var(--muted);
  opacity: 0.9;
  cursor: help;
  position: relative;
  z-index: 2;
}
.yield-okx .yx-apy .help-ico-btn:hover,
.yield-okx .yx-apy .help-ico-btn.on {
  color: var(--teal);
  opacity: 1;
}
.yield-okx .yx-apy .help-ico-q svg {
  width: 12px;
  height: 12px;
}
.yield-okx .yx-loan-apr b {
  color: var(--ink);
}
.yield-okx .yx-stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid var(--line);
}
.yield-okx .yx-stats-3 {
  grid-template-columns: 1fr 1fr 1fr;
}
@media (max-width: 720px) {
  /* 手机：赚币 / 借贷三项上下排列，避免三列挤窄 */
  .yield-okx .yx-stats,
  .yield-okx .yx-stats-3 {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .yield-okx .yx-stats > div {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 10px;
  }
  .yield-okx .yx-stats span {
    margin-bottom: 0;
    flex-shrink: 0;
  }
  .yield-okx .yx-stats b {
    text-align: right;
  }
}
.yield-okx .yx-stats span {
  display: block;
  font-size: 11px;
  font-weight: 600;
  color: var(--muted);
  margin-bottom: 4px;
}
.yield-okx .yx-stats b {
  font-size: 13px;
  font-weight: 800;
  color: var(--ink);
  word-break: break-all;
}
.yield-okx .yx-avail {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin: 0 2px 10px;
  font-size: 12px;
  font-weight: 600;
  color: var(--muted);
}
.yield-okx .yx-avail b {
  color: var(--ink);
  font-weight: 800;
}
.yield-okx .yx-amt-box {
  background: var(--panel-2);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 12px 14px;
  margin-bottom: 12px;
  overflow: visible;
}
.yield-okx .yx-amt-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 12px;
  font-weight: 700;
  color: var(--muted);
  margin-bottom: 6px;
}
.yield-okx .yx-max {
  border: 0;
  background: transparent;
  color: var(--teal);
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
  padding: 0;
}
.yield-okx .yx-amt-row {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  overflow: visible;
}
.yield-okx .yx-amt-row input {
  flex: 1;
  border: 0;
  background: transparent;
  font-size: 16px;
  font-weight: 800;
  line-height: 1.35;
  min-height: 40px;
  color: var(--ink);
  padding: 8px 0;
  min-width: 0;
  outline: none;
  overflow: visible;
}
.yield-okx .yx-amt-row input::placeholder {
  color: #b7c4cc;
  opacity: 1;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}
.yield-okx .yx-amt-ccy {
  font-size: 11px;
  font-weight: 800;
  color: var(--muted);
}
.yield-okx .yx-cta {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 10px;
}
.yield-okx .yx-btn {
  border: 0;
  border-radius: 10px;
  padding: 12px 10px;
  font-size: 14px;
  font-weight: 800;
  cursor: pointer;
}
/* 主操作：工具青绿实心 + 白字（明暗主题都清晰） */

.yield-okx .yx-btn-main {
  background: var(--teal);
  color: #fff;
}
.yield-okx .yx-btn-main:active {
  opacity: 0.9;
}
/* 次操作：弱面 + 描边，与主钮拉开层次 */

.yield-okx .yx-btn-ghost {
  background: var(--panel-2);
  color: var(--ink);
  border: 1px solid var(--line);
}
.yield-okx .yx-refresh {
  display: block;
  width: 100%;
  margin-top: 10px;
  border: 0;
  background: transparent;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  padding: 4px;
  text-align: center;
}
html[data-theme="dark"] .yield-okx .yx-seg {
  border-bottom-color: var(--line);
}
html[data-theme="dark"] .yield-okx .yx-seg-btn.on {
  color: var(--ink);
}
html[data-theme="dark"] .yield-okx .yx-prod,
html[data-theme="dark"] .yield-okx .yx-amt-box {
  background: var(--panel-2);
  border-color: var(--line);
}
html[data-theme="dark"] .yield-okx .yx-prod-name,
html[data-theme="dark"] .yield-okx .yx-stats b,
html[data-theme="dark"] .yield-okx .yx-avail b,
html[data-theme="dark"] .yield-okx .yx-amt-row input {
  color: var(--ink);
}
html[data-theme="dark"] .yield-okx .yx-amt-ccy {
  color: var(--muted);
}
html[data-theme="dark"] .yield-okx .yx-amt-row input::placeholder {
  color: #6b7a86;
  opacity: 1;
}
html[data-theme="dark"] .yield-okx .yx-stats {
  border-top-color: var(--line);
}
html[data-theme="dark"] .yield-okx .yx-pill {
  background: var(--chip-bg);
  color: var(--muted);
}
html[data-theme="dark"] .yield-okx .yx-btn-main {
  background: var(--solid-bg);
  color: #fff;
}
/* 夜间次钮：欧易分层面，与主钮抬升拉开 */

html[data-theme="dark"] .yield-okx .yx-btn-ghost {
  background: var(--panel-2);
  color: var(--ink);
  border-color: transparent;
}
html[data-theme="dark"] .yield-okx .yx-banner {
  background: #1a3d34;
  color: #7ddec0;
  border-color: transparent;
}
html[data-theme="dark"] .yield-okx .yx-coin-loan {
  background: #4a5563;
  color: #fff;
}
.acc-panel-yield .acc-yield-tabs {
  display: flex;
  gap: 8px;
  margin: 8px 0 4px;
}
.acc-panel-yield .acc-yield-tab {
  flex: 1;
  border: 1px solid var(--line);
  background: var(--panel-2, #f3f6f8);
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  padding: 8px 10px;
  border-radius: 10px;
  cursor: pointer;
}
.acc-panel-yield .acc-yield-tab.on {
  background: var(--ink);
  color: #fff;
  border-color: var(--ink);
  opacity: 1;
}
.acc-panel-yield .acc-yield-tagrow {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 2px;
}
.acc-panel-yield .yield-field {
  margin-top: 8px;
}
.acc-panel-yield .yield-bal {
  margin: 8px 0 0;
  font-size: 11px;
  font-weight: 600;
  color: var(--muted);
  line-height: 1.45;
  word-break: break-word;
}
.acc-panel-yield .yield-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-top: 10px;
}
.acc-panel-yield .acc-yield-soon.yield-warn {
  color: #b45309;
  margin-top: 6px;
}
html[data-theme="dark"] .acc-panel-yield .acc-yield-soon.yield-warn {
  color: #fbbf24;
}
.acc-panel-trade-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  padding: 12px 16px 8px;
}
.acc-panel-trade-title {
  margin: 0;
  font-size: 13px;
  font-weight: 800;
  color: var(--ink);
}
.acc-panel-trade-meta {
  font-size: 12px;
  font-weight: 600;
  color: var(--muted);
}
.acc-panel .acc-list {
  padding: 10px 16px 0;
}
/* 空列表展开添加：收起=居中按钮；展开=隐藏列表区 */

.acc-panel-trade.acc-trade-empty-open .acc-list[hidden] {
  display: none !important;
}
.acc-panel-trade.acc-trade-empty-open .acc-add-row {
  border-top: 0;
}
.acc-panel .acc-item {
  padding: 10px 0;
}
.acc-panel .acc-empty {
  padding: 20px 16px 18px;
}
.acc-add-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  margin: 0;
  padding: 14px 16px;
  border: 0;
  border-top: 1px solid var(--line);
  background: #f7fafb;
  color: var(--teal);
  font: inherit;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  /* 折叠时作为卡片底边，需自带圆角 */
  border-radius: 0 0 16px 16px;
}
.acc-add-row[hidden] {
  display: none !important;
}
.acc-add-row:active {
  background: #eef5f3;
}
.acc-add-row-plus {
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
}
.acc-section {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.acc-toolbar {
  display: none;
}
.acc-add-btn {
  display: none;
}
.acc-add-panel {
  margin: 0;
  border-top: 1px solid var(--line);
  background: #f7fafb;
  border-left: 0;
  border-right: 0;
  border-bottom: 0;
  padding: 14px 16px 16px;
  /* 展开时作为卡片底边，补齐左右下圆角（避免直角） */
  border-radius: 0 0 16px 16px;
  overflow: hidden;
}
/* 展开后中间的「收起」行不再充当底边 */

.acc-panel:has(.acc-add-panel:not([hidden])) .acc-add-row {
  border-radius: 0;
}
.acc-add-panel[hidden] {
  display: none !important;
}
.acc-form-actions {
  display: flex;
  justify-content: stretch;
  gap: 8px;
}
.acc-form-actions .acc-save {
  width: 100%;
  min-width: 0;
}
/* 展开/折叠同一控件：底色不变，只改文案（+添加 ↔ 收起） */

.acc-box {
  display: grid;
  gap: 0;
  margin: 0;
  border-radius: 16px;
  background: #fff;
  border: 1px solid #e4ebf0;
  overflow: hidden;
}
.acc-sec-title {
  margin: 0 0 8px;
}
.acc-sec-hint {
  margin: 0 0 10px;
  font-size: 11px;
  font-weight: 600;
  color: var(--muted);
  line-height: 1.45;
}
.acc-field-lab {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 2px;
}
.acc-more-panel .ui-help-tip {
  left: 0;
  transform: none;
}
.acc-form .ui-help-tip {
  left: 0;
  transform: none;
}
/* 产品页配置引导：底部卡片 + 目标元素描边（不单独算坐标） */


body.pro-ops-tour-open #tab-strategy.panel.on {
  position: relative;
  z-index: 1201;
}
body.pro-ops-tour-open .pro-ops-box {
  overflow: visible;
}
body.fund-novice-tour-open #tab-accounts.panel.on,
body.fund-novice-tour-open #tab-home.panel.on,
body.fund-novice-tour-open #tab-market.panel.on {
  position: relative;
  z-index: 1201;
}
body.fund-novice-tour-open .pro-ops-tour-glow {
  position: relative;
  z-index: 1203;
}
.pro-ops-tour {
  position: fixed;
  inset: 0;
  z-index: 1202;
  pointer-events: none;
}
.pro-ops-tour-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, 0.42);
  pointer-events: auto;
}
.pro-ops-tour-sheet {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 18px 18px calc(18px + env(safe-area-inset-bottom, 0));
  border-radius: 20px 20px 0 0;
  background: #fff;
  box-shadow: 0 -10px 44px rgba(15, 23, 42, 0.18);
  pointer-events: auto;
}
.pro-ops-tour-progress {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-bottom: 14px;
}
.pro-ops-tour-progress span {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: #e2e8f0;
  transition: background 0.2s, transform 0.2s;
}
.pro-ops-tour-progress span.on {
  background: #12171e;
  transform: scale(1.15);
}
.pro-ops-tour-progress span.done {
  background: rgba(18, 23, 30, 0.28);
}
.pro-ops-tour-glow {
  position: relative;
  z-index: 2;
  outline: 3px solid rgba(0,0,0,0.2);
  outline-offset: 4px;
  border-radius: 14px;
  animation: pro-ops-tour-pulse 2s ease-in-out infinite;
}
#btn-apply-all.pro-ops-tour-glow {
  outline-offset: 3px;
  border-radius: 12px;
}
@keyframes pro-ops-tour-pulse {
  0%, 100% { outline-color: rgba(0,0,0,0.2); }
  50% { outline-color: rgba(0,0,0,0.2); }
}
.pro-ops-tour-step {
  margin: 0 0 6px;
  font-size: 11px;
  font-weight: 700;
  color: #12171e;
}
.pro-ops-tour-title {
  margin: 0 0 8px;
  font-size: 17px;
  font-weight: 800;
  color: #12171e;
}
.pro-ops-tour-body {
  margin: 0 0 16px;
  font-size: 14px;
  font-weight: 600;
  color: #5a6570;
  line-height: 1.55;
}
.pro-ops-tour-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}
.pro-ops-tour-actions .btn {
  min-width: 76px;
  font-size: 14px;
  padding: 10px 14px;
}
@media (min-width: 720px) {
  .pro-ops-tour-sheet {
    left: 50%;
    right: auto;
    bottom: 28px;
    width: min(400px, calc(100vw - 48px));
    transform: translateX(-50%);
    border-radius: 18px;
    padding: 20px 20px 18px;
  }
}

.acc-sec {
  padding: 14px 16px 10px;
}
.acc-sec-title {
  margin: 0 0 10px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: var(--muted);
}
.acc-list {
  display: grid;
  gap: 0;
}
.acc-empty {
  padding: 28px 16px;
  text-align: center;
  font-size: 13px;
  font-weight: 600;
  color: var(--muted);
  line-height: 1.5;
}
.acc-empty p {
  margin: 0 0 14px;
}
.acc-empty-cta {
  min-width: 132px;
}
.acc-item {
  padding: 4px 0 8px;
}
.acc-item + .acc-item {
  border-top: 1px solid var(--line);
  padding-top: 10px;
  margin-top: 2px;
}
.acc-item.off {
  opacity: 0.55;
}
.acc-main {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
}
.acc-ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  color: var(--muted);
}
.acc-item:not(.off) .acc-ico { color: var(--teal); }
.acc-ico svg {
  width: 20px;
  height: 20px;
  display: block;
}
.acc-body {
  min-width: 0;
  display: grid;
  gap: 2px;
}
.acc-name {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  min-width: 0;
}
.acc-name b {
  font-size: 14px;
  font-weight: 800;
  color: var(--ink);
}
.alloc-tag {
  display: none;
}
.acc-sub {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  font-size: 11px;
  font-weight: 600;
  color: var(--muted);
  line-height: 1.35;
}
.acc-sub.acc-sub-slot + .acc-sub.acc-sub-slot {
  margin-top: 5px;
}
.acc-sub > span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.acc-sub .acc-perms {
  flex-shrink: 0;
  flex-wrap: wrap;
}
.acc-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  flex-shrink: 0;
  background: #c5d0d8;
}
.acc-dot.ok { background: var(--teal); }
.acc-dot.err { background: var(--down); }
.acc-enable {
  display: inline-flex;
  align-items: center;
  margin: 0;
  cursor: pointer;
}
.acc-actions {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 6px 16px 0 54px;
}
.acc-link {
  border: 0;
  margin: 0;
  padding: 4px 0;
  background: transparent;
  color: var(--teal);
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}
.acc-link:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.acc-link.is-busy {
  opacity: 0.85;
  pointer-events: none;
}
.acc-link.is-busy::after {
  content: "";
  display: inline-block;
  width: 0.7em;
  height: 0.7em;
  margin-left: 6px;
  border: 1.5px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  vertical-align: -0.05em;
  animation: acc-link-spin 0.7s linear infinite;
}
@keyframes acc-link-spin {
  to {
    transform: rotate(360deg);
  }
}
.acc-check-msg {
  margin: 4px 0 0;
  font-size: 11px;
  line-height: 1.4;
  color: var(--down);
  word-break: break-word;
}
.admin-plat-list-msg:not(:empty) {
  margin: 4px 16px 10px;
}
.fpool-xfer-hint.is-warn {
  color: var(--down);
  margin: 0 0 8px;
}
.acc-link[aria-expanded="true"] {
  color: var(--ink);
}
.acc-more-panel {
  padding: 8px 16px 6px 54px;
}
.acc-more-panel[hidden] {
  display: none !important;
}
.acc-treasury-panel .acc-treasury-card {
  gap: 14px;
}
.acc-treasury-title-row {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
}
.acc-treasury-title {
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.02em;
  color: var(--ink);
}
.acc-treasury-panel .treasury-sheet-card {
  margin: 0;
}
/* 金库已绑定卡：整卡纵向堆叠，动作区只用 acc-link（与「检测｜金库｜更多」同款） */

.treasury-bound-card {
  display: block;
  padding: 10px 12px 8px;
  border-radius: 12px;
  background: var(--panel-2);
  border: 1px solid var(--line);
}
.treasury-bound-card .acc-main {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
}
.treasury-bound-card .acc-ico {
  color: var(--teal);
}
.treasury-bound-spacer {
  width: 0;
  height: 0;
  overflow: hidden;
}
.treasury-bound-card .acc-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 14px;
  padding: 6px 0 0 54px;
}
.treasury-bound-card .acc-actions .acc-link {
  border: 0;
  margin: 0;
  padding: 4px 0;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--teal);
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  min-height: 0;
  border-radius: 0;
}
.treasury-bound-card .acc-actions .acc-act-btn {
  /* 防旧缓存/误类名回退成白底按钮 */
  border: 0 !important;
  padding: 4px 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--teal) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  min-height: 0 !important;
  border-radius: 0 !important;
}
.acc-treasury-panel .fpool-tre-form,
.acc-treasury-sheet-modal .fpool-tre-form {
  display: grid;
  gap: 10px;
}
.acc-treasury-panel .fpool-tre-save,
.acc-treasury-sheet-modal .fpool-tre-save {
  justify-self: end;
}
.acc-treasury-panel .treasury-sheet-adv,
.acc-treasury-sheet-modal .treasury-sheet-adv {
  margin: 0;
}
.acc-treasury-panel .ui-help-tip,
.acc-treasury-sheet-modal .ui-help-tip {
  z-index: 40;
}
.fee-tip-modal.acc-treasury-sheet-modal {
  z-index: 12120;
}
.fee-tip-modal.acc-treasury-sheet-modal .acc-treasury-dialog.fee-sheet {
  width: min(420px, calc(100vw - 28px));
  height: auto;
  min-height: 0;
  max-height: min(86vh, 720px);
  padding: 16px 16px 18px;
  overflow: auto;
  touch-action: pan-y;
  border-radius: 16px;
}
.acc-treasury-dialog-body {
  display: grid;
  gap: 12px;
}
.fpool-detail:not(.is-collapsed) {
  display: grid;
  gap: 2px;
}
.fpool-live-note {
  margin: 4px 0 0;
}
.admin-treasury-hold {
  margin: 4px 0 8px;
  font-size: 13px;
  line-height: 1.5;
  color: var(--muted);
}
.acc-more-card {
  display: grid;
  gap: 12px;
  padding: 14px;
  border-radius: 12px;
  background: var(--panel-2);
  border: 1px solid var(--line);
  box-shadow: none;
}
.acc-more-block {
  display: grid;
  gap: 10px;
}
.acc-more-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 10px;
  background: var(--panel);
  border: 1px solid var(--line);
}
.acc-more-val {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 700;
  color: var(--ink);
}
.acc-more-note,
.acc-more-hint {
  margin: 0;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.5;
  color: var(--muted);
}
.acc-more-hint-muted {
  padding: 8px 10px;
  border-radius: 8px;
  background: var(--chip-bg);
  color: #5a7380;
}
.acc-more-field .acc-more-hint {
  font-size: 11px;
}
.acc-more-field {
  display: grid;
  gap: 6px;
  margin: 0;
}
.acc-more-lab {
  display: inline-flex;
  align-items: center;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--muted);
}
.acc-more-select,
.acc-more-input {
  width: 100%;
  box-sizing: border-box;
  margin: 0;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--panel);
  font: inherit;
  font-size: 14px;
  font-weight: 700;
  color: var(--ink);
  transition: border-color 0.15s, box-shadow 0.15s;
}
.acc-more-select {
  appearance: none;
  padding-right: 36px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%237a919c' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
}
.acc-more-select:focus,
.acc-more-input:focus {
  outline: none;
  border-color: var(--line);
  box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.08);
}
.acc-act-btn {
  border: 1px solid var(--line);
  margin: 0;
  padding: 10px 14px;
  min-height: 42px;
  border-radius: 10px;
  background: var(--panel);
  color: var(--ink);
  font: inherit;
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
}
.acc-act-btn:hover:not(:disabled) {
  background: var(--chip-bg);
  border-color: var(--line);
}
.acc-act-btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
.acc-act-btn.acc-act-role {
  width: 100%;
  color: var(--teal);
  border-color: var(--line);
  background: var(--chip-bg);
}
.acc-act-btn.acc-act-role:hover:not(:disabled) {
  background: var(--chip-bg);
}
.acc-more-foot {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: stretch;
  gap: 8px;
  padding-top: 8px;
  border-top: 0;
  width: 100%;
}
.acc-more-foot .acc-act-btn {
  flex: 1 1 0;
  min-width: 0;
  min-height: 40px;
  padding: 8px 6px;
  font-size: 12px;
  white-space: nowrap;
  text-align: center;
}
.acc-act-btn.acc-act-danger {
  color: #fff;
  background: var(--down, #d4535c);
  border-color: transparent;
}
.acc-act-btn.acc-act-danger:hover:not(:disabled) {
  color: #fff;
  background: #a93226;
  border-color: transparent;
}

/* 账户详情抽屉 · 交易所式 API / 余额 */
.acc-more-sheet-modal .acc-detail-sheet.acc-more-card {
  gap: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.acc-detail-hero {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 14px 16px;
  margin-bottom: 10px;
  border-radius: 14px;
  background: linear-gradient(145deg, color-mix(in srgb, var(--panel) 88%, #0b1220 12%), var(--panel-2));
  border: 1px solid var(--line);
}
.acc-detail-hero-mark {
  flex-shrink: 0;
  width: auto;
  max-width: min(148px, 42vw);
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  border-radius: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}
.acc-detail-hero-venues {
  display: flex;
  align-items: center;
  gap: 4px;
  height: 100%;
  min-width: 0;
}
.acc-detail-hero-venues[data-count="1"] {
  width: 48px;
}
.acc-detail-hero-venues[data-count="1"] .acc-detail-hero-venue-slot {
  width: 48px;
  height: 48px;
}
.acc-detail-hero-venues[data-count="2"] .acc-detail-hero-venue-slot,
.acc-detail-hero-venues[data-count="3"] .acc-detail-hero-venue-slot {
  width: 40px;
  height: 40px;
}
.acc-detail-hero-venues.is-scroll {
  width: 128px;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  scroll-snap-type: x proximity;
}
.acc-detail-hero-venues.is-scroll::-webkit-scrollbar {
  display: none;
}
.acc-detail-hero-venues.is-scroll .acc-detail-hero-venue-slot {
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  scroll-snap-align: start;
}
.acc-detail-hero-venue-slot {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  line-height: 0;
}
.acc-detail-hero-venue-fb {
  font-size: 18px;
  font-weight: 800;
  line-height: 1;
  color: #fff;
}
.acc-detail-sheet .acc-detail-hero-venue.tone-okx { background: #000000; }
.acc-detail-sheet .acc-detail-hero-venue.tone-binance { background: #f0b90b; }
.acc-detail-sheet .acc-detail-hero-venue.tone-bybit { background: #000000; }
.acc-detail-sheet .acc-detail-hero-venue.tone-bitget { background: #00f0ff; }
.acc-detail-sheet .acc-detail-hero-venue.tone-gate { background: #2354e6; }
.acc-detail-sheet .acc-detail-hero-venue.tone-weex { background: #e0c020; }
.acc-detail-sheet .acc-detail-hero-venue.tone-htx { background: #1a1a1a; }
.acc-detail-sheet .acc-detail-hero-venue.tone-coinex { background: #00d4cd; }
.acc-detail-sheet .acc-detail-hero-venue.tone-coinbase { background: #0052ff; }
.acc-detail-sheet .acc-detail-hero-venue.tone-kraken { background: #5741d9; }
.acc-detail-sheet .acc-detail-hero-venue.tone-kucoin { background: #23af91; }
.acc-detail-sheet .acc-detail-hero-venue.tone-mexc { background: #1a1d26; }
.acc-detail-sheet .acc-detail-hero-venue.tone-paper { background: #8fa3b8; }
.acc-detail-sheet .acc-detail-hero-venue.tone-simnow_ctp,
.acc-detail-sheet .acc-detail-hero-venue.tone-ctp,
.acc-detail-sheet .acc-detail-hero-venue.tone-ctp_sim {
  background: linear-gradient(145deg, #c41e3a, #8b0000);
}
.acc-detail-sheet .acc-detail-hero-venue.tone-binance .acc-detail-hero-venue-fb,
.acc-detail-sheet .acc-detail-hero-venue.tone-weex .acc-detail-hero-venue-fb {
  color: #1a1a1a;
}
.acc-detail-hero-text {
  min-width: 0;
  flex: 1;
}
.acc-detail-name {
  margin: 0 0 6px;
  font-size: 17px;
  font-weight: 800;
  line-height: 1.25;
  color: var(--ink);
  overflow: hidden;
  text-overflow: ellipsis;
}
.acc-detail-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 0;
  font-size: 12px;
  font-weight: 600;
  color: var(--muted);
}
.acc-detail-venue {
  font-weight: 700;
  color: var(--ink);
}
.acc-detail-pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 3px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  background: var(--chip-bg);
  color: var(--ink);
}
.acc-detail-pill.is-ok {
  background: color-mix(in srgb, var(--up, #16a34a) 14%, var(--chip-bg));
  color: var(--up, #16a34a);
}
.acc-detail-pill.is-err {
  background: color-mix(in srgb, var(--down, #d4535c) 14%, var(--chip-bg));
  color: var(--down, #d4535c);
}
/* 详情抽屉：连通/权限不用涨跌绿底，跟工具灰芯片一致 */
.acc-detail-sheet .acc-detail-pill {
  font-weight: 600;
  color: var(--muted);
  background: var(--chip-bg);
  box-shadow: inset 0 0 0 1px var(--line);
}
.acc-detail-sheet .acc-detail-pill.is-ok,
.acc-detail-sheet .acc-detail-pill.is-err,
.acc-detail-sheet .acc-detail-pill.is-muted {
  color: var(--muted);
  background: var(--chip-bg);
  box-shadow: inset 0 0 0 1px var(--line);
}
.acc-detail-sheet .acc-detail-pill .acc-dot.ok {
  background: color-mix(in srgb, var(--ink) 72%, var(--muted));
}
.acc-detail-sheet .acc-detail-pill .acc-dot.err {
  background: var(--down);
}
.acc-detail-sheet .acc-detail-pill .acc-dot.muted {
  background: color-mix(in srgb, var(--muted) 55%, var(--line));
}
.acc-detail-off-tag {
  padding: 2px 7px;
  border-radius: 6px;
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  background: color-mix(in srgb, var(--down) 12%, var(--chip-bg));
  color: var(--down);
}
.acc-detail-section {
  margin-bottom: 10px;
  padding: 12px 12px 10px;
  border-radius: 14px;
  background: var(--panel);
  border: 1px solid var(--line);
}
.acc-detail-sec-hd {
  margin: 0 0 10px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--muted);
}
.acc-detail-api-list {
  display: grid;
  gap: 10px;
}
.acc-detail-api-row {
  padding: 10px 12px;
  border-radius: 12px;
  background: var(--panel-2);
  border: 1px solid var(--line);
}
.acc-detail-api-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 6px;
}
.acc-detail-api-lab {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 800;
  color: var(--ink);
}
.acc-detail-api-key {
  display: block;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--ink);
  word-break: break-all;
}
.acc-detail-perm-empty {
  margin: 8px 0 0;
  font-size: 11px;
  font-weight: 600;
  color: var(--muted);
}
.acc-detail-perms {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}
.acc-detail-perm {
  padding: 3px 8px;
  border-radius: 6px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.02em;
  border: 1px solid var(--line);
  background: var(--panel);
  color: var(--muted);
}
.acc-detail-perm.is-on {
  border-color: color-mix(in srgb, var(--up) 35%, var(--line));
  background: color-mix(in srgb, var(--up) 10%, var(--panel));
  color: var(--up, #16a34a);
}
.acc-detail-perm.is-off {
  opacity: 0.55;
}
.acc-detail-sheet .acc-detail-perm {
  padding: 4px 9px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.01em;
  border: 1px solid var(--line);
  background: var(--chip-bg);
  color: var(--muted);
}
.acc-detail-sheet .acc-detail-perm.is-on {
  border-color: color-mix(in srgb, var(--ink) 14%, var(--line));
  background: var(--chip-bg);
  color: var(--ink);
  font-weight: 700;
}
.acc-detail-sheet .acc-detail-perm.is-off {
  opacity: 0.42;
  color: var(--muted);
  background: color-mix(in srgb, var(--panel-2) 65%, var(--chip-bg));
  border-color: color-mix(in srgb, var(--line) 85%, transparent);
}
.acc-detail-kv {
  display: grid;
  gap: 8px;
}
.acc-detail-kv-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 10px;
  background: var(--panel-2);
  border: 1px solid var(--line);
  font-size: 13px;
}
.acc-detail-kv-row span {
  color: var(--muted);
  font-weight: 600;
}
.acc-detail-kv-row b {
  font-weight: 800;
  color: var(--ink);
  text-align: right;
  word-break: break-all;
}
.acc-detail-section--bal .acc-spot-bal {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}
.acc-detail-section--bal .acc-spot-bal-hd {
  margin: 0 0 8px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--muted);
}
.acc-detail-section--iface .acc-iface-dist {
  margin: 0;
}
.acc-detail-remark {
  margin: 0;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.5;
  color: var(--ink);
}

@media (max-width: 720px) {
  /* 与总余额卡同宽：列表已有 16px，此处不再左右缩进 */
  .acc-panel .acc-more-panel {
    padding-left: 0;
    padding-right: 0;
  }
  .acc-panel .acc-treasury-panel {
    padding-left: 0;
    padding-right: 0;
  }
}
@media (max-width: 420px) {
  .acc-more-foot {
    gap: 6px;
  }
  .acc-more-foot .acc-act-btn {
    font-size: 11px;
    padding: 8px 4px;
  }
}
/* @deprecated acc-menu-btn — use acc-act-btn */

.acc-menu-btn {
  border: 0;
  margin: 0;
  padding: 7px 10px;
  border-radius: 8px;
  background: var(--chip-bg);
  color: var(--ink);
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}
.acc-menu-btn:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.acc-menu-btn.danger {
  color: var(--down);
  background: rgba(192, 57, 43, 0.08);
}
.acc-add {
  display: none;
}
.acc-form {
  display: grid;
  gap: 12px;
  padding: 0;
}
.acc-form-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}
/* 双 class 提高优先级；顶栏仅「账户名 | 接口组数」（交易所随市场自动） */

.acc-form-grid.acc-form-grid-top,
.acc-form-grid-top {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  align-items: center;
}
/* 仅隔离仍属全球加密的节点；研判/雷达中国环境已接公开行情 */

html[data-market-region="cn_futures"] [data-region-scope="global_crypto"] {
  display: none !important;
}
/* 旧顶栏多列：仅桌面居中弹窗；手机全屏抽屉用下方 body.acc-add-open / .acc-add-sheet 规则 */
@media (min-width: 900px) {
  .acc-form-grid.acc-form-grid-top:has(#acc-exch-mode-wrap:not([hidden])),
  .acc-form-grid-top:has(#acc-exch-mode-wrap:not([hidden])) {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .acc-form-grid.acc-form-grid-top:has(#acc-slot-custom-wrap:not([hidden])):not(:has(#acc-exch-mode-wrap:not([hidden]))),
  .acc-form-grid-top:has(#acc-slot-custom-wrap:not([hidden])):not(:has(#acc-exch-mode-wrap:not([hidden]))) {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .acc-form-grid.acc-form-grid-top:has(#acc-slot-custom-wrap:not([hidden])):has(#acc-exch-mode-wrap:not([hidden])),
  .acc-form-grid-top:has(#acc-slot-custom-wrap:not([hidden])):has(#acc-exch-mode-wrap:not([hidden])) {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
/* 已废弃：手选交易所下拉（随市场自动，勿再展示） */
#acc-exchange-wrap {
  display: none !important;
}
/* 顶栏输入同高 */

.acc-form-grid-top .acc-field {
  align-content: center;
}
.acc-form-grid-top .acc-field input,
.acc-form-grid-top .acc-field select {
  height: 40px;
  min-height: 40px;
  padding-top: 0;
  padding-bottom: 0;
  line-height: 40px;
}
.acc-slot-custom-wrap input {
  width: 100%;
}
/* 自定义组数：无步进箭头，仅数字 */

#acc-slot-custom-n {
  -moz-appearance: textfield;
  appearance: textfield;
}
#acc-slot-custom-n::-webkit-outer-spin-button,
#acc-slot-custom-n::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.acc-slot-venue-tag {
  display: inline-block;
  margin-left: 6px;
  padding: 1px 7px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 800;
  vertical-align: middle;
  background: var(--chip-bg);
  color: var(--muted);
  box-shadow: inset 0 0 0 1px var(--line);
}
.acc-slot-venue-tag.is-binance {
  background: color-mix(in srgb, #f0b90b 18%, transparent);
  color: color-mix(in srgb, #c99400 80%, var(--ink));
  box-shadow: inset 0 0 0 1px color-mix(in srgb, #f0b90b 40%, var(--line));
}
.acc-slot-venue-tag.is-okx {
  background: color-mix(in srgb, #4a8dff 16%, transparent);
  color: color-mix(in srgb, #3a74d8 85%, var(--ink));
  box-shadow: inset 0 0 0 1px color-mix(in srgb, #4a8dff 35%, var(--line));
}
.acc-slot-venue-tag.is-mixed {
  background: color-mix(in srgb, var(--ink) 8%, transparent);
  color: var(--muted);
  box-shadow: inset 0 0 0 1px var(--line);
}
/* 真实交易所 LOGO：无胶囊、无「欧易/币安」字 */

.acc-slot-venue-tag.is-logo {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  margin-left: 6px;
  padding: 0;
  border-radius: 0;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--ink);
  line-height: 0;
  vertical-align: middle;
}
.acc-slot-venue-ico {
  width: 16px;
  height: 16px;
  display: block;
  object-fit: contain;
  flex-shrink: 0;
}
#acc-exch-mode-wrap.acc-exch-mode-field {
  position: relative;
  display: block;
}
.acc-exch-mode-hit {
  appearance: none;
  width: 100%;
  height: 40px;
  min-height: 40px;
  margin: 0;
  padding: 0 12px;
  border: 0 !important;
  outline: none;
  border-radius: 10px;
  background-color: var(--panel);
  color: var(--ink);
  box-shadow: inset 0 0 0 1px var(--line);
  display: flex;
  align-items: center;
  justify-content: flex-start;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  font: inherit;
  text-align: left;
}
.acc-exch-mode-hit-body {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  flex: 1;
  pointer-events: none;
}
.acc-exch-mode-lab {
  flex: 1;
  min-width: 0;
  font-size: 14px;
  font-weight: 650;
  line-height: 1.25;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.acc-exch-mode-hit:hover {
  box-shadow: inset 0 0 0 1.5px color-mix(in srgb, var(--ink, #111) 28%, var(--line));
}
.acc-exch-mode-hit:active,
.acc-exch-mode-hit[aria-expanded="true"] {
  box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--ink, #111) 40%, var(--line));
}
.acc-exch-mode-hit:focus-visible {
  box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--ink, #111) 36%, var(--line));
}
#acc-exch-mode-logo,
.acc-exch-mode-logo {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  line-height: 0;
  color: var(--ink);
  pointer-events: none;
}
.acc-exch-mode-ico-wrap {
  width: var(--wenli-exch-wrap, 24px);
  height: var(--wenli-exch-wrap, 24px);
  border-radius: 50%;
  overflow: hidden;
  display: inline-grid;
  place-items: center;
  flex-shrink: 0;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--ink) 8%, transparent);
}
.acc-exch-mode-ico-wrap .acc-exch-mode-ico,
.acc-exch-mode-ico-wrap .acc-exch-mode-menu-ico,
.acc-exch-mode-ico-wrap .wenli-exch-ico-img,
.acc-exch-mode-ico-wrap .is-acc-exch-mark {
  width: var(--wenli-exch-mark, 17px);
  height: var(--wenli-exch-mark, 17px);
  display: block;
  object-fit: contain;
  object-position: center;
}
.acc-exch-mode-ico-wrap .acc-exch-mode-ico.is-acc-exch-mark,
.acc-exch-mode-ico-wrap .acc-exch-mode-menu-ico.is-acc-exch-mark {
  width: 18px;
  height: 18px;
}
.acc-exch-mode-ico-wrap.is-tool-brand {
  background: var(--chip-bg);
}
.acc-exch-mode-ico-wrap.is-tool-brand.is-tool-brand-on-dark {
  background: #000000;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, #fff 12%, transparent);
}
.acc-exch-mode-tool-logo {
  width: 15px;
  height: 15px;
  display: block;
  object-fit: contain;
}
/* 底色对齐市场榜 .mkt-ico.is-*，配合 SVG 透明标 */
.acc-exch-mode-ico-wrap.tone-okx { background: #000000; }
.acc-exch-mode-ico-wrap.tone-binance { background: #000000; }
.acc-exch-mode-ico-wrap.tone-bybit { background: #000000; }
.acc-exch-mode-ico-wrap.tone-bitget { background: #08f0f8; }
.acc-exch-mode-ico-wrap.tone-gate {
  background: #ffffff;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--ink) 10%, transparent);
}
/* Gate 官方 PNG 含六边形白底，铺满圆形容器避免 SVG 简图被裁切 */
.acc-exch-mode-ico-wrap.tone-gate .is-acc-exch-mark,
.acc-exch-mode-ico-wrap.tone-gate .wenli-exch-ico-img {
  width: calc(var(--wenli-exch-wrap, 24px) * 0.94);
  height: calc(var(--wenli-exch-wrap, 24px) * 0.94);
  max-width: none;
}
.acc-exch-mode-ico-wrap.tone-weex { background: #e0c020; }
.acc-exch-mode-ico-wrap.tone-htx { background: #1a1a1a; }
.acc-exch-mode-ico-wrap.tone-coinex { background: #00d4cd; }
.acc-exch-mode-ico-wrap.tone-coinbase { background: #0052ff; }
.acc-exch-mode-ico-wrap.tone-kraken { background: #5741d9; }
.acc-exch-mode-ico-wrap.tone-kucoin { background: #23af91; }
.acc-exch-mode-ico-wrap.tone-mexc { background: #1a1d26; }
.acc-exch-mode-ico-wrap.tone-paper { background: #8fa3b8; }
.acc-exch-mode-logo.is-mixed,
.acc-exch-mode-opt-ico.is-mixed {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.acc-exch-mode-fallback {
  display: grid;
  place-items: center;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  font-size: 8px;
  font-weight: 800;
  background: color-mix(in srgb, var(--ink) 10%, var(--panel-2));
  color: var(--ink);
}
.acc-exch-mode-menu {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 6px);
  z-index: 140;
  margin: 0;
  padding: 6px;
  border-radius: 12px;
  border: 1px solid var(--line);
  background: var(--sheet, var(--panel, #fff));
  box-shadow: var(--sheet-shadow, 0 12px 32px rgba(0, 0, 0, 0.18));
  max-height: min(280px, 52vh);
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}
.acc-exch-mode-opt {
  appearance: none;
  width: 100%;
  border: 0;
  background: transparent;
  color: var(--ink);
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 10px;
  border-radius: 10px;
  cursor: pointer;
  text-align: left;
  font: inherit;
}
.acc-exch-mode-opt:hover,
.acc-exch-mode-opt.on {
  background: color-mix(in srgb, var(--ink, #111) 6%, transparent);
}
.acc-exch-mode-opt-lab {
  font-size: 14px;
  font-weight: 650;
  line-height: 1.25;
}
html[data-theme="dark"] .app .acc-exch-mode-hit {
  background-color: var(--panel) !important;
  color: var(--ink) !important;
  box-shadow: inset 0 0 0 1px var(--line) !important;
}
html[data-theme="dark"] .app .acc-exch-mode-hit:hover {
  box-shadow: inset 0 0 0 1.5px color-mix(in srgb, var(--ink, #e8edf2) 42%, var(--line)) !important;
}
html[data-theme="dark"] .app .acc-exch-mode-hit:active,
html[data-theme="dark"] .app .acc-exch-mode-hit[aria-expanded="true"],
html[data-theme="dark"] .app .acc-exch-mode-hit:focus-visible {
  box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--ink, #e8edf2) 55%, var(--line)) !important;
}
html[data-theme="dark"] .acc-exch-mode-menu {
  background: var(--sheet, #121212);
  border-color: var(--card-line);
}
/* 「更多」展开面板里接口名后并排的交易所标签：抵消 lab 的大写/字距，保持原名原样 */

.acc-more-lab .acc-slot-venue-tag {
  text-transform: none;
  letter-spacing: 0;
}
.acc-slot-hint {
  margin: 0;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.45;
  color: var(--muted);
}
.acc-slots-mount {
  display: grid;
  gap: 12px;
  align-content: start;
}
.acc-add-sheet .acc-form {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
}
/* 顶栏下内部滚动：名/组数/交易所/API 卡同一滚动区；底栏保存钉住 */
.acc-add-sheet .acc-form-scroll {
  flex: 1 1 auto;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  scrollbar-width: none;
  -ms-overflow-style: none;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.acc-add-sheet .acc-form-scroll::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}
.acc-add-sheet .acc-form-grid-top,
.acc-add-sheet .acc-venue-hint,
.acc-add-sheet .acc-ctp-mount,
.acc-add-sheet .acc-form-actions,
.acc-add-sheet #acc-msg {
  flex-shrink: 0;
}
.acc-add-sheet .acc-slots-mount {
  flex: 0 0 auto;
  min-height: 0;
  overflow: visible;
}
.acc-add-sheet .acc-form-actions {
  flex-shrink: 0;
  padding-top: 8px;
  background: inherit;
}
.acc-slot-block {
  display: grid;
  gap: 10px;
  padding: 12px;
  border-radius: 12px;
  box-shadow: inset 0 0 0 1px var(--line);
  background: color-mix(in srgb, var(--panel) 88%, transparent);
}
.acc-slot-title {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 2px 0;
  font-size: 12px;
  font-weight: 800;
  color: var(--ink);
  opacity: 0.9;
}
.acc-slot-qr {
  display: grid;
  gap: 8px;
}
.acc-slot-qr-actions {
  display: grid;
  gap: 8px;
}
.acc-slot-qr-actions:has(.acc-slot-qr-cam) {
  grid-template-columns: 1fr 1fr;
}
.acc-slot-qr-btn {
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  cursor: pointer;
  border: 1px dashed color-mix(in srgb, var(--ink) 22%, var(--line));
  background: color-mix(in srgb, var(--panel) 70%, transparent);
  color: var(--ink);
}
.acc-slot-qr-btn.acc-slot-qr-cam {
  border-style: solid;
  border-color: var(--line);
  color: var(--teal, var(--up));
}
.acc-slot-qr-btn:hover {
  border-style: solid;
  border-color: color-mix(in srgb, var(--ink) 34%, var(--line));
}
.acc-slot-qr-ico {
  width: 16px;
  height: 16px;
  display: inline-flex;
  flex: 0 0 auto;
  opacity: 0.85;
}
.acc-slot-qr-ico svg {
  width: 16px;
  height: 16px;
  display: block;
}
.acc-slot-qr-hint {
  margin: 0;
  font-size: 11px;
  line-height: 1.45;
  color: var(--muted);
}
.acc-slot-qr-status {
  margin: 0;
  font-size: 11px;
  font-weight: 650;
  line-height: 1.4;
  color: var(--muted);
}
.acc-slot-qr-status.is-ok { color: var(--teal, var(--up)); }
.acc-slot-qr-status.is-err { color: var(--down, #f05a72); }
/* 工具端手机：整页摄像头扫码（须盖住添加账户 33100；勿被 --z-modal-above-drawer !important 压回 13120） */


.fee-tip-modal.acc-qr-cam-modal,
.fee-tip-modal.acc-qr-cam-modal.on {
  z-index: 34000 !important;
  display: block !important;
  place-items: stretch;
  align-items: stretch;
  justify-content: stretch;
  padding: 0 !important;
  background: #000 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
.fee-tip-modal.acc-qr-cam-modal .acc-qr-cam-sheet {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  height: 100dvh;
  min-width: 0;
  max-width: none;
  max-height: none;
  transform: none;
  margin: 0;
  border-radius: 0;
  padding: 0;
  background: #000;
  color: #fff;
  display: block;
  overflow: hidden;
  box-shadow: none;
}
.fee-tip-modal.acc-qr-cam-modal .acc-qr-cam-sheet video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  background: #000;
}
.acc-qr-cam-head {
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: calc(16px + env(safe-area-inset-top, 0px)) 20px 12px;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.55), transparent);
}
.acc-qr-cam-title {
  margin: 0;
  font-size: 17px;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.02em;
}
.acc-qr-cam-frame {
  pointer-events: none;
  position: absolute;
  z-index: 2;
  left: 50%;
  top: 46%;
  width: min(68vw, 280px);
  aspect-ratio: 1;
  transform: translate(-50%, -50%);
  box-shadow: 0 0 0 999px rgba(0, 0, 0, 0.42);
}
.acc-qr-cam-frame i {
  position: absolute;
  width: 28px;
  height: 28px;
  border: 3px solid #fff;
}
.acc-qr-cam-frame i:nth-child(1) { top: 0; left: 0; border-right: 0; border-bottom: 0; }
.acc-qr-cam-frame i:nth-child(2) { top: 0; right: 0; border-left: 0; border-bottom: 0; }
.acc-qr-cam-frame i:nth-child(3) { bottom: 0; left: 0; border-right: 0; border-top: 0; }
.acc-qr-cam-frame i:nth-child(4) { bottom: 0; right: 0; border-left: 0; border-top: 0; }
.acc-qr-cam-beam {
  position: absolute;
  left: 8%;
  right: 8%;
  height: 2px;
  background: linear-gradient(90deg, transparent, #3dff9a, transparent);
  animation: acc-qr-beam 2.2s ease-in-out infinite;
}
@keyframes acc-qr-beam {
  0% { top: 10%; opacity: 0.2; }
  15% { opacity: 1; }
  85% { opacity: 1; }
  100% { top: 88%; opacity: 0.2; }
}
@media (prefers-reduced-motion: reduce) {
  .acc-qr-cam-beam { animation: none; top: 48%; }
}
.acc-qr-cam-status {
  position: absolute;
  z-index: 2;
  left: 16px;
  right: 16px;
  bottom: calc(92px + env(safe-area-inset-bottom, 0px));
  margin: 0;
  font-size: 13px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.92);
  text-align: center;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.65);
}
.acc-qr-cam-status.is-err {
  color: #ffb4c0;
}
.acc-qr-cam-actions {
  position: absolute;
  z-index: 2;
  left: 24px;
  right: 24px;
  bottom: calc(18px + env(safe-area-inset-bottom, 0px));
  display: grid;
}
.fee-tip-modal.acc-qr-cam-modal .acc-qr-cam-cancel {
  width: 100%;
  min-height: 48px;
  font-size: 16px;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.28) !important;
  color: #fff !important;
  border: 1px solid rgba(255, 255, 255, 0.55) !important;
  box-shadow: none !important;
}
.acc-qr-cam-toast {
  position: absolute;
  z-index: 3;
  left: 50%;
  top: 18%;
  transform: translateX(-50%);
  max-width: min(80vw, 280px);
  padding: 10px 16px;
  border-radius: 10px;
  background: rgba(0, 0, 0, 0.82);
  color: #fff;
  font-size: 14px;
  font-weight: 650;
  text-align: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s ease;
}
.acc-qr-cam-toast.on { opacity: 1; }
html[data-theme="dark"] .fee-tip-modal.acc-qr-cam-modal .acc-qr-cam-sheet {
  background: #000;
  color: #fff;
}
@media (max-width: 520px) {
  .acc-slot-qr-actions:has(.acc-slot-qr-cam) {
    grid-template-columns: 1fr;
  }
  .acc-slot-qr-btn {
    font-size: 11.5px;
    padding: 0 10px;
  }
}
/* 高级手动填写：入口按钮；字段进底部抽屉，不再用 details 内联展开 */
.acc-slot-manual-hit {
  appearance: none;
  width: 100%;
  border: 0;
  border-radius: 10px;
  box-shadow: inset 0 0 0 1px var(--line);
  background: transparent;
  color: var(--muted);
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  text-align: left;
  padding: 12px 12px;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.acc-slot-manual-hit:active {
  color: var(--ink);
}
.acc-slot-manual-panel .acc-form-grid {
  display: grid;
  gap: 10px;
  padding: 0;
}
/* 高级手动填写：对齐账户「更多」底部抽屉（顶杠 + 仅顶边线 + sheet 底色） */
.fee-tip-modal.acc-slot-manual-modal,
.fee-tip-modal.acc-slot-manual-modal.on {
  z-index: 34010 !important;
  background: var(--modal-scrim, rgba(6, 10, 16, 0.55));
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
.fee-tip-modal.acc-slot-manual-modal.is-mobile-drawer {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: stretch !important;
  place-items: unset !important;
  padding: 0 !important;
}
.fee-tip-modal.acc-slot-manual-modal .acc-slot-manual-sheet.fee-sheet {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  border-radius: 18px 18px 0 0 !important;
  border: 0 !important;
  border-top: 1px solid rgba(21, 32, 43, 0.12) !important;
  box-shadow: 0 -12px 40px rgba(12, 20, 28, 0.22) !important;
  background: #f4f6f8 !important;
  color: var(--ink, #12202a);
  display: flex;
  flex-direction: column;
  max-height: min(82vh, calc(100vh - 40px));
  overflow: hidden;
  padding: 6px 14px 0;
  animation: me-drawer-up 0.3s cubic-bezier(0.22, 1, 0.36, 1);
  touch-action: auto;
}
.fee-tip-modal.acc-slot-manual-modal.is-mobile-drawer .acc-card-menu-grab {
  display: block;
}
.fee-tip-modal.acc-slot-manual-modal.is-mobile-drawer .acc-slot-manual-close {
  display: none !important;
}
.fee-tip-modal.acc-slot-manual-modal.is-desk-center {
  display: grid !important;
  place-items: center;
  padding: 24px 16px;
}
body .fee-tip-modal.acc-slot-manual-modal.is-desk-center .acc-slot-manual-sheet.fee-sheet,
body .fee-tip-modal.acc-slot-manual-modal.is-desk-center .fee-sheet {
  width: min(420px, 92vw) !important;
  max-width: min(420px, 92vw) !important;
  min-width: 0 !important;
  max-height: min(72vh, 560px);
  border-radius: 16px !important;
  border: 1px solid var(--line) !important;
  box-shadow: 0 20px 56px rgba(0, 0, 0, 0.35) !important;
  padding: 14px 16px 16px;
  animation: none;
}
body .fee-tip-modal.acc-slot-manual-modal.is-desk-center .acc-slot-manual-mount .acc-form-grid,
body .fee-tip-modal.acc-slot-manual-modal.is-desk-center .acc-slot-manual-mount .acc-form-grid-top {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 12px !important;
}
.fee-tip-modal.acc-slot-manual-modal.is-desk-center .acc-card-menu-grab {
  display: none;
}
.fee-tip-modal.acc-slot-manual-modal .acc-slot-manual-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-shrink: 0;
  margin: 0 0 10px;
  padding: 0;
  border: 0;
  cursor: default;
  touch-action: manipulation;
}
.fee-tip-modal.acc-slot-manual-modal .acc-slot-manual-head h3,
.fee-tip-modal.acc-slot-manual-modal .acc-more-sheet-title {
  margin: 0;
  font-size: 16px;
  font-weight: 800;
  letter-spacing: -0.01em;
}
.acc-slot-manual-mount {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  padding: 0 0 4px;
  scrollbar-width: none;
}
.acc-slot-manual-mount::-webkit-scrollbar {
  display: none;
}
/* 表单区：灰底卡片，对齐账户更多里的 API 块 */
.acc-slot-manual-mount .acc-slot-manual-panel {
  display: block;
  padding: 14px 14px 12px;
  border-radius: 14px;
  background: var(--panel, #fff);
  box-shadow: inset 0 0 0 1px var(--line, rgba(21, 32, 43, 0.08));
}
.acc-slot-manual-mount .acc-form-grid {
  display: grid;
  gap: 12px;
}
.acc-slot-manual-mount .acc-field {
  display: grid;
  gap: 6px;
  font-size: 12px;
  font-weight: 700;
  color: var(--muted);
}
.acc-slot-manual-mount .acc-field input,
.acc-slot-manual-mount .acc-field select {
  width: 100%;
  min-height: 44px;
  border-radius: 12px;
  border: 1px solid var(--line);
  background: var(--panel-2, #f5f5f5);
  color: var(--ink);
  padding: 0 12px;
  font: inherit;
  font-size: 14px;
  font-weight: 650;
  box-sizing: border-box;
}
.acc-slot-manual-foot {
  flex-shrink: 0;
  padding: 12px 0 calc(14px + env(safe-area-inset-bottom, 0px));
  border-top: 0;
  background: transparent;
}
.acc-slot-manual-foot .btn.main,
.acc-slot-manual-foot .acc-slot-manual-done {
  width: 100%;
  min-height: 46px;
  border-radius: 14px;
  font-size: 15px;
  font-weight: 800;
  border: 0;
  background: #111 !important;
  color: #fff !important;
}
html[data-theme="dark"] .fee-tip-modal.acc-slot-manual-modal .acc-slot-manual-sheet.fee-sheet,
html[data-theme="dark"] .fee-tip-modal.acc-slot-manual-modal.on .acc-slot-manual-sheet.fee-sheet {
  background: var(--sheet, #121212) !important;
  color: var(--ink, #f0f3f6);
  border: 0 !important;
  border-top: 1px solid rgba(255, 255, 255, 0.14) !important;
  border-left: 0 !important;
  border-right: 0 !important;
  border-bottom: 0 !important;
  outline: none !important;
  box-shadow: 0 -12px 40px rgba(0, 0, 0, 0.45) !important;
}
html[data-theme="dark"] .acc-slot-manual-mount .acc-slot-manual-panel {
  background: #1a1a1a !important;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.1) !important;
}
html[data-theme="dark"] .acc-slot-manual-mount .acc-field input,
html[data-theme="dark"] .acc-slot-manual-mount .acc-field select {
  background: #0e0e0e !important;
  border-color: rgba(255, 255, 255, 0.14) !important;
  color: var(--ink, #f0f3f6) !important;
}
html[data-theme="dark"] .acc-slot-manual-foot .btn.main,
html[data-theme="dark"] .acc-slot-manual-foot .acc-slot-manual-done {
  background: #fff !important;
  color: #111 !important;
}
/* 兼容旧 details（金库等未改路径） */
.acc-slot-manual {
  border-radius: 10px;
  box-shadow: inset 0 0 0 1px var(--line);
  background: transparent;
  padding: 0 10px;
}
.acc-slot-manual > summary {
  list-style: none;
  cursor: pointer;
  font-size: 11px;
  font-weight: 700;
  color: var(--muted);
  padding: 10px 0;
  user-select: none;
}
.acc-slot-manual > summary::-webkit-details-marker { display: none; }
.acc-slot-manual[open] > summary {
  color: var(--ink);
  opacity: 0.85;
}
.acc-slot-manual .acc-form-grid {
  padding-bottom: 10px;
}
.acc-pass-sheet .acc-pass-field {
  display: grid;
  gap: 6px;
  margin: 10px 0 0;
  text-align: left;
}
.acc-pass-sheet .acc-pass-field span {
  font-size: 12px;
  font-weight: 700;
  color: var(--ink);
}
.acc-pass-sheet .acc-pass-field input {
  width: 100%;
  min-height: 38px;
  border-radius: 10px;
  border: 1px solid var(--line);
  background: var(--panel);
  color: var(--ink);
  padding: 0 12px;
  font: inherit;
}
.acc-pass-sheet .acc-pass-field input.is-invalid {
  border-color: var(--down, #f05a72);
}
.acc-pass-sheet .acc-pass-key {
  margin: 4px 0 0;
  font-size: 12px;
}
/* —— API 密码短语：官方风安全验证（白天浅色 / 夜间深色） —— */

.fee-tip-modal.acc-pass-modal,
.fee-tip-modal.acc-pass-modal.on {
  z-index: 34020 !important;
  align-items: center;
  justify-content: center;
  background: var(--modal-scrim, rgba(6, 10, 16, 0.55));
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.fee-tip-modal.acc-pass-modal .acc-pass-sheet {
  width: min(392px, calc(100vw - 28px));
  margin: 0 auto;
  border-radius: 18px;
  border: 1px solid rgba(21, 32, 43, 0.08);
  background: #ffffff;
  box-shadow: 0 18px 48px rgba(15, 23, 32, 0.14), 0 1px 0 rgba(255, 255, 255, 0.8) inset;
  overflow: hidden;
  color: #15202b;
}
.acc-pass-auth {
  display: grid;
  justify-items: center;
  gap: 0;
  padding: 28px 22px 20px;
  text-align: center;
}
.acc-pass-badge {
  width: 52px;
  height: 52px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  margin-bottom: 14px;
  color: #111111;
  background: #f3f4f6;
  box-shadow: inset 0 0 0 1px rgba(17, 17, 17, 0.08);
}
.acc-pass-badge svg {
  width: 24px;
  height: 24px;
  display: block;
}
.acc-pass-title {
  margin: 0;
  font-size: 18px;
  font-weight: 800;
  letter-spacing: 0.02em;
  color: #15202b;
  line-height: 1.3;
}
.acc-pass-sub {
  margin: 8px 0 0;
  font-size: 12px;
  line-height: 1.55;
  color: #6b7785;
  max-width: 28em;
}
.acc-pass-verified {
  margin-top: 14px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  max-width: 100%;
  padding: 7px 12px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  color: #15202b;
  background: #f4f7f9;
  box-shadow: inset 0 0 0 1px rgba(21, 32, 43, 0.08);
}
.acc-pass-verified-dot {
  width: 7px;
  height: 7px;
  border-radius: 999px;
  flex: 0 0 auto;
  background: #111111;
  box-shadow: 0 0 0 3px rgba(17, 17, 17, 0.08);
}
.acc-pass-auth .acc-pass-field {
  width: 100%;
  margin-top: 16px;
  text-align: left;
  display: grid;
  gap: 7px;
}
.acc-pass-auth .acc-pass-field.is-secondary {
  margin-top: 12px;
}
.acc-pass-lab {
  font-size: 12px;
  font-weight: 700;
  color: #15202b;
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
}
.acc-pass-lab em {
  font-style: normal;
  font-weight: 600;
  font-size: 11px;
  color: #6b7785;
}
.acc-pass-input-wrap {
  position: relative;
  display: block;
}
.acc-pass-input-ico {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  color: #8a96a3;
  pointer-events: none;
  display: grid;
  place-items: center;
}
.acc-pass-input-ico svg {
  width: 16px;
  height: 16px;
  display: block;
}
.acc-pass-auth .acc-pass-input-wrap input,
.acc-pass-auth .acc-pass-field.is-secondary > input {
  width: 100%;
  box-sizing: border-box;
  min-height: 44px;
  border-radius: 12px;
  border: 1px solid rgba(21, 32, 43, 0.12);
  background: #f4f7f9;
  color: #15202b;
  padding: 0 14px;
  font: inherit;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.04em;
  outline: none;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.acc-pass-auth .acc-pass-input-wrap input {
  padding-left: 40px;
}
.acc-pass-auth .acc-pass-input-wrap input:focus,
.acc-pass-auth .acc-pass-field.is-secondary > input:focus {
  border-color: #111111;
  box-shadow: 0 0 0 3px rgba(17, 17, 17, 0.12);
  background: #ffffff;
}
.acc-pass-err {
  margin: 8px 0 0;
  font-size: 12px;
  line-height: 1.4;
  color: #e85d5d;
  text-align: left;
}
.acc-pass-err[hidden] { display: none !important; }
.acc-pass-btn:disabled {
  opacity: 0.65;
  cursor: wait;
}
.acc-pass-input-wrap.is-invalid input {
  border-color: #f05a72 !important;
  box-shadow: 0 0 0 3px rgba(229, 84, 109, 0.14) !important;
}
.acc-pass-actions {
  width: 100%;
  display: grid;
  gap: 8px;
  margin-top: 18px;
}
.acc-pass-btn {
  appearance: none;
  -webkit-appearance: none;
  font: inherit;
  font-size: 13px;
  font-weight: 800;
  min-height: 44px;
  border-radius: 12px;
  cursor: pointer;
  border: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.fee-tip-modal.acc-pass-modal .acc-pass-btn.is-primary,
.acc-pass-btn.is-primary {
  background: #111111 !important;
  color: #ffffff !important;
  border: 0 !important;
  box-shadow: none;
}
.fee-tip-modal.acc-pass-modal .acc-pass-btn.is-primary:hover,
.acc-pass-btn.is-primary:hover {
  filter: brightness(1.04);
  color: #ffffff !important;
}
.fee-tip-modal.acc-pass-modal .acc-pass-btn.is-outline,
.acc-pass-btn.is-outline {
  background: #ffffff !important;
  color: #15202b !important;
  border: 1px solid rgba(21, 32, 43, 0.16) !important;
  box-shadow: none !important;
}
.fee-tip-modal.acc-pass-modal .acc-pass-btn.is-outline:hover,
.acc-pass-btn.is-outline:hover {
  background: #f4f7f9 !important;
  border-color: rgba(21, 32, 43, 0.28) !important;
  color: #15202b !important;
}
/* 夜间：深色卡片，字和按钮都用浅色，避免黑底黑字 */
html[data-theme="dark"] .fee-tip-modal.acc-pass-modal {
  background: rgba(0, 0, 0, 0.62);
}
html[data-theme="dark"] .fee-tip-modal.acc-pass-modal .acc-pass-sheet {
  background: #1c222b !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.55) !important;
  color: #f4f7fb !important;
}
html[data-theme="dark"] .fee-tip-modal.acc-pass-modal .acc-pass-title,
html[data-theme="dark"] .fee-tip-modal.acc-pass-modal .acc-pass-lab {
  color: #f4f7fb !important;
}
html[data-theme="dark"] .fee-tip-modal.acc-pass-modal .acc-pass-sub,
html[data-theme="dark"] .fee-tip-modal.acc-pass-modal .acc-pass-lab em {
  color: #c5ced8 !important;
}
html[data-theme="dark"] .fee-tip-modal.acc-pass-modal .acc-pass-badge {
  color: #f4f7fb !important;
  background: #2a313c !important;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.12) !important;
}
html[data-theme="dark"] .fee-tip-modal.acc-pass-modal .acc-pass-verified {
  color: #f4f7fb !important;
  background: #2a313c !important;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.12) !important;
}
html[data-theme="dark"] .fee-tip-modal.acc-pass-modal .acc-pass-verified-dot {
  background: #f4f7fb !important;
  box-shadow: 0 0 0 3px rgba(244, 247, 251, 0.16) !important;
}
html[data-theme="dark"] .fee-tip-modal.acc-pass-modal .acc-pass-input-ico {
  color: #c5ced8 !important;
}
html[data-theme="dark"] .fee-tip-modal.acc-pass-modal input {
  background: #12171e !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  color: #f4f7fb !important;
  -webkit-text-fill-color: #f4f7fb !important;
  box-shadow: none !important;
}
html[data-theme="dark"] .fee-tip-modal.acc-pass-modal input::placeholder {
  color: #9aa6b2 !important;
  -webkit-text-fill-color: #9aa6b2 !important;
  opacity: 1;
}
html[data-theme="dark"] .fee-tip-modal.acc-pass-modal input:focus {
  border-color: #f4f7fb !important;
  box-shadow: 0 0 0 3px rgba(244, 247, 251, 0.16) !important;
  background: #12171e !important;
}
html[data-theme="dark"] .fee-tip-modal.acc-pass-modal .acc-pass-btn.is-primary {
  background: #f4f7fb !important;
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
}
html[data-theme="dark"] .fee-tip-modal.acc-pass-modal .acc-pass-btn.is-outline {
  background: transparent !important;
  color: #f4f7fb !important;
  -webkit-text-fill-color: #f4f7fb !important;
  border: 1px solid rgba(255, 255, 255, 0.28) !important;
}
html[data-theme="dark"] .fee-tip-modal.acc-pass-modal .acc-pass-btn.is-outline:hover {
  background: rgba(255, 255, 255, 0.06) !important;
  color: #f4f7fb !important;
}
html[data-theme="dark"] .acc-slot-qr-btn {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(255, 255, 255, 0.2);
  color: #f4f7fb;
}
html[data-theme="dark"] .acc-slot-qr-btn:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.32);
}
.acc-slot-badge {
  display: inline-block;
  margin-left: 8px;
  padding: 1px 7px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  vertical-align: middle;
  background: #12171e;
  color: #fff;
}
html[data-theme="dark"] .acc-slot-badge {
  background: #fff;
  color: #12171e;
}
@media (max-width: 720px) {
  /* 窄屏顶栏栅格：勿在此写三列（会与添加/编辑全屏抽屉冲突，见 max-width:899px） */
  /* 手机端：添加/编辑账户表单收紧，避免双接口块过高 */
  .acc-add-panel:not(.acc-add-sheet-card) {
    padding: 10px 12px 12px;
  }
  .acc-form {
    gap: 8px;
  }
  .acc-form-grid,
  .acc-form-grid-top {
    gap: 8px;
  }
  .acc-slots-mount {
    gap: 8px;
  }
  .acc-slot-block {
    gap: 6px;
    padding: 8px 10px;
    border-radius: 10px;
  }
  .acc-slot-title {
    font-size: 11px;
    font-weight: 700;
  }
  .acc-field {
    gap: 3px;
    font-size: 11px;
  }
  .acc-field input,
  .acc-field select {
    padding: 9px 10px;
    border-radius: 8px;
    /* 字号仍由全局 ≥16px 规则管，防 iOS 放大 */
  }
  .acc-form-grid-top .acc-field input,
  .acc-form-grid-top .acc-field select {
    height: 40px;
    min-height: 40px;
    padding-top: 0;
    padding-bottom: 0;
    line-height: 40px;
  }
  body.acc-add-open .acc-form-grid-top #acc-slot-count,
  .acc-add-sheet .acc-form-grid-top #acc-slot-count {
    padding-right: 10px !important;
    background-image: none !important;
  }
  body.acc-add-open .acc-form-grid-top .acc-field select:not(#acc-slot-count),
  .acc-add-sheet .acc-form-grid-top .acc-field select:not(#acc-slot-count) {
    padding-right: 32px;
    background-position: right 10px center;
    background-size: 14px;
  }
  .acc-slot-hint,
  .acc-sec-hint {
    font-size: 10px;
    margin-bottom: 0;
  }
  .acc-slot-cap-hint {
    margin: 0 0 10px;
    padding: 8px 10px;
    border-radius: 8px;
    font-size: 12px;
    line-height: 1.45;
    color: var(--muted, #6b7280);
    background: color-mix(in srgb, var(--teal, #14c8be) 8%, var(--panel-2, #f5f5f5));
  }
  html[data-theme="dark"] .acc-slot-cap-hint {
    background: rgba(255, 255, 255, 0.06);
    color: #b8c0c8;
  }
  .acc-form-actions {
    gap: 6px;
    margin-top: 2px;
  }
  .acc-save {
    min-height: 40px;
    border-radius: 10px;
    font-size: 14px;
  }
  .acc-add-row {
    padding: 12px 14px;
    font-size: 13px;
  }
}
/* —— 添加账户手机抽屉 acc-add-mobile-sheet-1 —— */
@media (max-width: 899px) {
  body.acc-add-open #acc-add-toggle,
  body.acc-add-open .acc-add-row#acc-add-toggle {
    display: none !important;
  }
  body.acc-add-open #acc-venue-hint:not(.is-warn) {
    display: none !important;
  }
  .acc-add-sheet .acc-add-sheet-head {
    margin: 0 0 14px;
    padding: 4px 0 2px;
  }
  .acc-add-sheet .acc-add-sheet-head h3 {
    font-size: 17px;
    font-weight: 750;
    letter-spacing: 0.01em;
  }
  .acc-add-sheet .acc-form {
    gap: 12px;
  }
  /* 手机抽屉：账户名独占一行；接口组数 | 交易所 左右并排（添加与编辑同一壳） */
  body.acc-add-open .acc-form-grid.acc-form-grid-top,
  body.acc-add-open .acc-form-grid-top,
  body.acc-add-open .acc-form-grid.acc-form-grid-top:has(#acc-exch-mode-wrap:not([hidden])),
  body.acc-add-open .acc-form-grid-top:has(#acc-exch-mode-wrap:not([hidden])),
  body.acc-add-open .acc-form-grid.acc-form-grid-top:has(#acc-slot-custom-wrap:not([hidden])):not(:has(#acc-exch-mode-wrap:not([hidden]))),
  body.acc-add-open .acc-form-grid-top:has(#acc-slot-custom-wrap:not([hidden])):not(:has(#acc-exch-mode-wrap:not([hidden]))),
  body.acc-add-open .acc-form-grid.acc-form-grid-top:has(#acc-slot-custom-wrap:not([hidden])):has(#acc-exch-mode-wrap:not([hidden])),
  body.acc-add-open .acc-form-grid-top:has(#acc-slot-custom-wrap:not([hidden])):has(#acc-exch-mode-wrap:not([hidden])),
  .acc-add-sheet .acc-form-grid.acc-form-grid-top,
  .acc-add-sheet .acc-form-grid-top,
  .acc-add-sheet .acc-form-grid.acc-form-grid-top:has(#acc-exch-mode-wrap:not([hidden])),
  .acc-add-sheet .acc-form-grid-top:has(#acc-exch-mode-wrap:not([hidden])),
  .acc-add-sheet .acc-form-grid.acc-form-grid-top:has(#acc-slot-custom-wrap:not([hidden])):not(:has(#acc-exch-mode-wrap:not([hidden]))),
  .acc-add-sheet .acc-form-grid-top:has(#acc-slot-custom-wrap:not([hidden])):not(:has(#acc-exch-mode-wrap:not([hidden]))),
  .acc-add-sheet .acc-form-grid.acc-form-grid-top:has(#acc-slot-custom-wrap:not([hidden])):has(#acc-exch-mode-wrap:not([hidden])),
  .acc-add-sheet .acc-form-grid-top:has(#acc-slot-custom-wrap:not([hidden])):has(#acc-exch-mode-wrap:not([hidden])) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px;
  }
  body.acc-add-open .acc-form-grid-top > .acc-field:has(#acc-name),
  .acc-add-sheet .acc-form-grid-top > .acc-field:has(#acc-name) {
    grid-column: 1 / -1;
  }
  body.acc-add-open .acc-form-grid-top:has(#acc-slot-custom-wrap:not([hidden])),
  .acc-add-sheet .acc-form-grid-top:has(#acc-slot-custom-wrap:not([hidden])) {
    grid-template-columns: minmax(0, 1fr) 72px minmax(0, 1fr) !important;
  }
  body.acc-add-open .acc-form-grid-top:has(#acc-slot-custom-wrap:not([hidden])) > .acc-field:has(#acc-name),
  .acc-add-sheet .acc-form-grid-top:has(#acc-slot-custom-wrap:not([hidden])) > .acc-field:has(#acc-name) {
    grid-column: 1 / -1;
  }
  body.acc-add-open .acc-form-grid-top:has(#acc-slot-custom-wrap:not([hidden])) #acc-exch-mode-wrap:not([hidden]),
  .acc-add-sheet .acc-form-grid-top:has(#acc-slot-custom-wrap:not([hidden])) #acc-exch-mode-wrap:not([hidden]) {
    grid-column: auto;
  }
  body.acc-add-open .acc-form-grid-top #acc-slot-count,
  .acc-add-sheet .acc-form-grid-top #acc-slot-count {
    background-image: none;
    padding-right: 10px;
  }
  body.acc-add-open .acc-form-grid-top .acc-field input,
  body.acc-add-open .acc-form-grid-top .acc-field select,
  body.acc-add-open .acc-exch-mode-hit,
  .acc-add-sheet .acc-form-grid-top .acc-field input,
  .acc-add-sheet .acc-form-grid-top .acc-field select,
  .acc-add-sheet .acc-exch-mode-hit {
    height: 44px;
    min-height: 44px;
    line-height: 44px;
    font-size: 15px;
    border-radius: 10px;
  }
  body.acc-add-open .acc-exch-mode-hit,
  .acc-add-sheet .acc-exch-mode-hit {
    width: 100%;
    padding: 0 12px;
    box-sizing: border-box;
    justify-content: center;
  }
  body.acc-add-open .acc-exch-mode-hit-body,
  .acc-add-sheet .acc-exch-mode-hit-body {
    justify-content: center;
    flex: 0 1 auto;
  }
  body.acc-add-open .acc-exch-mode-lab,
  .acc-add-sheet .acc-exch-mode-lab {
    flex: 0 1 auto;
    text-align: center;
  }
  /* 触屏：实线边框比 inset 阴影更稳（iOS 点按后线框不消失） */
  body.acc-add-open .acc-form-grid-top .acc-field input,
  body.acc-add-open .acc-form-grid-top .acc-field select,
  .acc-add-sheet .acc-form-grid-top .acc-field input,
  .acc-add-sheet .acc-form-grid-top .acc-field select,
  body.acc-add-open .acc-exch-mode-hit,
  .acc-add-sheet .acc-exch-mode-hit {
    border: 1px solid color-mix(in srgb, var(--ink, #111) 20%, var(--line)) !important;
    box-shadow: none !important;
  }
  body.acc-add-open .acc-form-grid-top .acc-field input:active,
  body.acc-add-open .acc-form-grid-top .acc-field select:active,
  body.acc-add-open .acc-form-grid-top .acc-field input:focus,
  body.acc-add-open .acc-form-grid-top .acc-field select:focus,
  .acc-add-sheet .acc-form-grid-top .acc-field input:active,
  .acc-add-sheet .acc-form-grid-top .acc-field select:active,
  .acc-add-sheet .acc-form-grid-top .acc-field input:focus,
  .acc-add-sheet .acc-form-grid-top .acc-field select:focus,
  body.acc-add-open .acc-exch-mode-hit:active,
  body.acc-add-open .acc-exch-mode-hit:focus,
  body.acc-add-open .acc-exch-mode-hit[aria-expanded="true"],
  .acc-add-sheet .acc-exch-mode-hit:active,
  .acc-add-sheet .acc-exch-mode-hit:focus,
  .acc-add-sheet .acc-exch-mode-hit[aria-expanded="true"] {
    border-width: 2px !important;
    border-color: color-mix(in srgb, var(--ink, #111) 44%, var(--line)) !important;
    box-shadow: none !important;
  }
  body.acc-add-open .acc-exch-mode-hit:active,
  body.acc-add-open .acc-exch-mode-hit:focus,
  body.acc-add-open .acc-exch-mode-hit[aria-expanded="true"],
  .acc-add-sheet .acc-exch-mode-hit:active,
  .acc-add-sheet .acc-exch-mode-hit:focus,
  .acc-add-sheet .acc-exch-mode-hit[aria-expanded="true"] {
    padding: 0 11px !important;
  }
  html[data-theme="dark"] body.acc-add-open .acc-form-grid-top .acc-field input,
  html[data-theme="dark"] body.acc-add-open .acc-form-grid-top .acc-field select,
  html[data-theme="dark"] .acc-add-sheet .acc-form-grid-top .acc-field input,
  html[data-theme="dark"] .acc-add-sheet .acc-form-grid-top .acc-field select,
  html[data-theme="dark"] body.acc-add-open .acc-exch-mode-hit,
  html[data-theme="dark"] .acc-add-sheet .acc-exch-mode-hit {
    border-color: color-mix(in srgb, var(--ink, #e8edf2) 28%, var(--line)) !important;
  }
  html[data-theme="dark"] body.acc-add-open .acc-exch-mode-hit:active,
  html[data-theme="dark"] body.acc-add-open .acc-exch-mode-hit:focus,
  html[data-theme="dark"] body.acc-add-open .acc-exch-mode-hit[aria-expanded="true"],
  html[data-theme="dark"] .acc-add-sheet .acc-exch-mode-hit:active,
  html[data-theme="dark"] .acc-add-sheet .acc-exch-mode-hit:focus,
  html[data-theme="dark"] .acc-add-sheet .acc-exch-mode-hit[aria-expanded="true"] {
    border-color: color-mix(in srgb, var(--ink, #e8edf2) 58%, var(--line)) !important;
  }
  body.acc-add-open .acc-slots-mount,
  .acc-add-sheet .acc-slots-mount {
    gap: 12px;
    padding-bottom: 4px;
  }
  body.acc-add-open .acc-slot-block,
  .acc-add-sheet .acc-slot-block {
    padding: 14px 12px;
    border-radius: 12px;
    gap: 10px;
  }
  body.acc-add-open .acc-slot-title,
  .acc-add-sheet .acc-slot-title {
    font-size: 13px;
    font-weight: 750;
    opacity: 1;
  }
  .acc-add-sheet .acc-slot-qr-btn {
    min-height: 48px;
    font-size: 13px;
    border-radius: 10px;
  }
  .acc-add-sheet .acc-slot-manual-hit {
    font-size: 12px;
    padding: 12px;
    border-radius: 10px;
  }
  .acc-add-sheet .acc-form-actions {
    margin-top: 0;
    padding-top: 12px;
    flex-shrink: 0;
  }
  .acc-add-sheet .acc-form {
    gap: 0;
  }
  /* 暗色：页底纯黑；内容块/输入/按钮用灰（与交易页层次一致） */
  html[data-theme="dark"] .acc-add-sheet .acc-slot-block {
    background: #121212 !important;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.12) !important;
  }
  html[data-theme="dark"] .acc-add-sheet .acc-form-grid-top .acc-field input,
  html[data-theme="dark"] .acc-add-sheet .acc-form-grid-top .acc-field select,
  html[data-theme="dark"] .acc-add-sheet .acc-exch-mode-hit {
    background: #121212 !important;
    border-color: rgba(255, 255, 255, 0.16) !important;
    color: var(--ink, #f0f3f6) !important;
  }
  html[data-theme="dark"] .acc-add-sheet .acc-slot-qr-btn {
    background: #1a1a1a !important;
    border: 1px dashed rgba(255, 255, 255, 0.22) !important;
    color: var(--ink, #f0f3f6) !important;
  }
  html[data-theme="dark"] .acc-add-sheet .acc-slot-qr-btn.acc-slot-qr-cam {
    background: #1a1a1a !important;
    border-style: solid !important;
    border-color: rgba(255, 255, 255, 0.18) !important;
  }
  html[data-theme="dark"] .acc-add-sheet .acc-slot-manual-hit {
    background: #121212 !important;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.12) !important;
    color: #8c8c8c !important;
  }
  html[data-theme="dark"] .acc-add-sheet .acc-form-grid-top .acc-field select:invalid,
  html[data-theme="dark"] .acc-add-sheet #acc-slot-count option[value=""] {
    color: #8c8c8c;
  }
}
.acc-field {
  display: grid;
  gap: 5px;
  font-size: 12px;
  font-weight: 700;
  color: var(--muted);
  min-width: 0;
}
.acc-field#acc-role-wrap[hidden],
.acc-field.acc-slot-custom-wrap[hidden],
#acc-slot-custom-wrap[hidden],
#acc-exchange-wrap[hidden],
.acc-field[hidden],
.acc-ctp-mount[hidden],
.acc-ctp-simple .acc-field[hidden] {
  display: none !important;
}
.acc-form.is-ctp .acc-form-grid.acc-form-grid-top,
.acc-form.is-ctp .acc-form-grid-top {
  /* 期货：仅账户名（接口组数已藏） */
  grid-template-columns: 1fr;
}
.acc-ctp-hero {
  margin: 0 0 12px;
  padding: 12px;
  border-radius: 12px;
  box-shadow: inset 0 0 0 1px var(--line);
  background: color-mix(in srgb, var(--panel) 90%, transparent);
}
.acc-ctp-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.acc-ctp-hero-btn {
  flex: 1 1 9rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 0;
  border-radius: 10px;
  padding: 12px 14px;
  font: inherit;
  font-size: 13px;
  font-weight: 800;
  color: var(--ink);
  background: color-mix(in srgb, var(--panel) 70%, transparent);
  box-shadow: inset 0 0 0 1px var(--line);
  cursor: pointer;
}
.acc-ctp-hero-btn:hover {
  box-shadow: inset 0 0 0 1px rgba(0,0,0,0.08);
}
.acc-ctp-hero-ico {
  font-size: 16px;
  color: var(--teal, var(--up));
}
.acc-ctp-hero-note,
.acc-ctp-why {
  margin: 8px 0 0;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.45;
  color: var(--muted);
}
.acc-ctp-paste {
  display: grid;
  gap: 8px;
  margin: 0 0 10px;
}
.acc-ctp-paste[hidden] {
  display: none !important;
}
.acc-ctp-paste-box {
  position: relative !important;
  isolation: isolate;
  border-radius: 12px;
  /* 与连接方式模式钮同底同描边 */
  background: color-mix(in srgb, var(--panel) 88%, transparent) !important;
  background-color: color-mix(in srgb, var(--panel) 88%, transparent) !important;
  box-shadow: inset 0 0 0 1px var(--line) !important;
  overflow: hidden;
  min-height: 128px;
}
.acc-ctp-paste-ta {
  display: block;
  width: 100%;
  min-height: 128px;
  resize: vertical;
  border: 0 !important;
  border-radius: 12px;
  padding: 12px 14px 48px !important;
  font: inherit;
  font-size: 13px;
  font-weight: 600;
  color: var(--ink);
  background: transparent !important;
  box-shadow: none !important;
  box-sizing: border-box;
}
.acc-ctp-paste-ta:focus {
  outline: none;
}
html[data-theme="dark"] .app .acc-ctp-paste-box {
  /* 与连接方式模式钮同色 */
  background: color-mix(in srgb, var(--panel) 88%, transparent) !important;
  background-color: color-mix(in srgb, var(--panel) 88%, transparent) !important;
  box-shadow: inset 0 0 0 1px var(--line) !important;
}
html[data-theme="dark"] .app .acc-ctp-paste-box:focus-within {
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.18) !important;
}
.acc-ctp-paste-bar {
  position: absolute !important;
  right: 10px !important;
  bottom: 10px !important;
  left: auto !important;
  top: auto !important;
  z-index: 5;
  display: flex !important;
  justify-content: flex-end;
  align-items: center;
  margin: 0 !important;
  padding: 0 !important;
  pointer-events: none;
}
.acc-ctp-paste-apply,
#acc-ctp-paste-apply.acc-ctp-paste-apply {
  position: static !important;
  pointer-events: auto;
  flex: 0 0 auto;
  width: auto !important;
  min-width: 64px;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 9px !important;
  padding: 8px 16px !important;
  font: inherit;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: 0.04em;
  line-height: 1.2;
  color: #12171e !important;
  background: #fff !important;
  background-color: #fff !important;
  cursor: pointer;
  box-shadow: inset 0 0 0 1px rgba(18, 23, 30, 0.08) !important;
  -webkit-appearance: none;
  appearance: none;
}
.acc-ctp-paste-apply:hover,
#acc-ctp-paste-apply.acc-ctp-paste-apply:hover {
  background: #f4f6f9 !important;
  background-color: #f4f6f9 !important;
}
.acc-ctp-paste-apply:active,
#acc-ctp-paste-apply.acc-ctp-paste-apply:active {
  background: #e8ecf2 !important;
  background-color: #e8ecf2 !important;
}
html[data-theme="dark"] .app .acc-ctp-paste-apply,
html[data-theme="dark"] .app #acc-ctp-paste-apply.acc-ctp-paste-apply {
  color: var(--solid-fg, #12171e) !important;
  background: var(--solid-bg, #d5dde6) !important;
  background-color: var(--solid-bg, #d5dde6) !important;
  box-shadow: none !important;
}
html[data-theme="dark"] .app .acc-ctp-paste-apply:hover,
html[data-theme="dark"] .app #acc-ctp-paste-apply.acc-ctp-paste-apply:hover {
  filter: brightness(1.06);
}
.acc-ctp-paste-actions {
  display: none !important;
}
.acc-ctp-paste-status {
  font-size: 12px;
  font-weight: 700;
}
.acc-ctp-paste-status.is-ok {
  color: var(--teal, var(--up));
}
.acc-ctp-paste-status.is-err {
  color: #f05a72;
}
.acc-ctp-mode {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 8px;
}
.acc-ctp-mode-btn {
  flex: 1 1 auto;
  min-width: 5.5rem;
  border: 0;
  border-radius: 10px;
  padding: 10px 12px;
  font: inherit;
  font-size: 12px;
  font-weight: 800;
  color: var(--muted);
  background: color-mix(in srgb, var(--panel) 88%, transparent);
  box-shadow: inset 0 0 0 1px var(--line);
  cursor: pointer;
}
.acc-ctp-mode-btn.is-on {
  color: var(--teal, var(--up));
  background: var(--chip-bg);
  box-shadow: inset 0 0 0 1px rgba(0,0,0,0.08);
}
.acc-ctp-mode-hint,
.acc-ctp-adv-note {
  margin: 0 0 10px;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.45;
  color: var(--muted);
}
.acc-ctp-simple {
  display: grid;
  gap: 8px;
  margin: 0 0 8px;
}
.acc-ctp-advanced {
  margin: 4px 0 12px;
  border-radius: 12px;
  padding: 0 12px;
  box-shadow: inset 0 0 0 1px var(--line);
  background: color-mix(in srgb, var(--panel) 92%, transparent);
}
.acc-ctp-advanced > summary {
  cursor: pointer;
  list-style: none;
  padding: 12px 0;
  font-size: 12px;
  font-weight: 800;
  color: var(--ink);
}
.acc-ctp-advanced > summary::-webkit-details-marker {
  display: none;
}
.acc-ctp-adv-grid {
  display: grid;
  gap: 8px;
  padding: 0 0 12px;
}
.acc-field input,
.acc-field select {
  border: 0 !important;
  outline: none;
  background-color: var(--panel);
  border-radius: 10px;
  padding: 11px 12px;
  font: inherit;
  font-size: 14px;
  font-weight: 700;
  color: var(--ink);
  width: 100%;
  box-sizing: border-box;
  -webkit-appearance: none;
  appearance: none;
  box-shadow: inset 0 0 0 1px var(--line);
}
.acc-field select:not(#acc-slot-count) {
  padding-right: 36px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24'%3E%3Cpath fill='%23667788' d='M7.4 9.5 12 14.1l4.6-4.6 1.4 1.4-6 6-6-6z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 16px;
  cursor: pointer;
}
/* 顶栏「单组/双组 API」：无右侧下拉箭头，与交易所并排更干净 */
.acc-form-grid-top #acc-slot-count,
body.acc-add-open #acc-slot-count,
.acc-add-sheet #acc-slot-count {
  background-image: none !important;
  padding-right: 12px !important;
  text-align: center;
  text-align-last: center;
}
.acc-field select:has(option[value=""]:checked) {
  color: var(--muted);
  font-weight: 600;
}
.acc-field input:hover,
.acc-field select:hover {
  box-shadow: inset 0 0 0 1.5px color-mix(in srgb, var(--ink, #111) 28%, var(--line));
}
.acc-field input:active,
.acc-field select:active {
  box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--ink, #111) 40%, var(--line));
}
.acc-field input:focus,
.acc-field select:focus,
.acc-field input:focus-visible,
.acc-field select:focus-visible {
  box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--ink, #111) 36%, var(--line));
}
.acc-save {
  width: 100%;
  min-height: 44px;
  border-radius: 12px;
  font-weight: 800;
}
@media (min-width: 720px) {
  /* 仅普通两列表格；顶栏名|组数 */
  .acc-form-grid:not(.acc-form-grid-top) {
    grid-template-columns: 1fr 1fr;
  }
  .acc-form-grid.acc-form-grid-top {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .acc-form.is-ctp .acc-form-grid.acc-form-grid-top {
    grid-template-columns: 1fr;
  }
  .acc-save {
    width: auto;
    min-width: 140px;
    justify-self: end;
  }
}

.bind {
  margin-top: 12px;
  background: var(--panel);
  border-radius: 16px;
  padding: 14px;
  display: grid;
  gap: 10px;
}
.bind-head {
  display: flex; align-items: center; gap: 8px;
}
.bind-head svg { width: 18px; height: 18px; color: var(--teal); }
.bind h3 { margin: 0; font-size: 14px; }
.bind label {
  display: grid; gap: 5px; font-size: 12px; color: var(--muted); font-weight: 600;
}
.bind label#acc-role-wrap[hidden] {
  display: none !important;
}
.bind input,
.bind select {
  border: 0 !important;
  outline: none;
  background-color: var(--panel-2);
  border-radius: 10px;
  padding: 11px 12px;
  font: inherit;
  font-size: 14px;
  color: var(--ink);
  width: 100%;
  box-sizing: border-box;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  box-shadow: none;
}
.bind select {
  padding-right: 36px;
  background-color: var(--panel-2);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24'%3E%3Cpath fill='%23667788' d='M7.4 9.5 12 14.1l4.6-4.6 1.4 1.4-6 6-6-6z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 16px;
  cursor: pointer;
  color-scheme: light;
}
.bind select::-ms-expand { display: none; }
.bind input:focus,
.bind select:focus {
  box-shadow: inset 0 0 0 1.5px rgba(0,0,0,0.08);
}

.help-box {
  display: grid;
  gap: 0;
  margin: 0;
  border-radius: 16px;
  background: var(--panel);
  border: 1px solid var(--line);
  overflow: hidden;
}
.help-sec {
  padding: 14px 16px 16px;
  border-bottom: 1px solid var(--line);
}
.help-sec:last-child { border-bottom: 0; }
.help-sec-title {
  margin: 0 0 8px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: color-mix(in srgb, var(--muted) 82%, transparent);
}
.help-steps {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0;
}
.help-step {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  gap: 8px;
  align-items: start;
  padding: 10px 0;
}
.help-step + .help-step {
  border-top: 1px solid var(--line);
}
.help-num {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  /* 白天：黑底白字；夜间覆写为白底深字 */
  background: var(--ink);
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  flex-shrink: 0;
  box-shadow: none;
}
html[data-theme="dark"] .help-num {
  background: #fff;
  color: #0a0e13;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.12);
}
html[data-theme="dark"] .help-sec,
html[data-theme="dark"] .help-step + .help-step,
html[data-theme="dark"] .help-step:nth-child(n + 3),
html[data-theme="dark"] .help-faq-item {
  border-color: var(--line);
}
.help-step b {
  display: block;
  font-size: 14px;
  font-weight: 800;
  color: var(--ink);
  line-height: 1.3;
}
.help-step p {
  margin: 3px 0 0;
  font-size: 12px;
  font-weight: 600;
  color: var(--muted);
  line-height: 1.45;
}
.help-faq {
  display: grid;
  gap: 0;
}
.help-faq-fold {
  margin: 0;
}
.help-faq-fold-sum {
  list-style: none;
  cursor: pointer;
  user-select: none;
  display: flex;
  align-items: baseline;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 8px 10px;
  padding: 0 0 4px;
  -webkit-tap-highlight-color: transparent;
}
.help-faq-sub {
  margin: 0;
  font-size: 11px;
  font-weight: 600;
  color: var(--muted);
  letter-spacing: 0.01em;
  flex: 1;
  min-width: 0;
}
.help-faq-fold-sum::-webkit-details-marker { display: none; }
.help-faq-fold-title {
  margin: 0;
  flex: 0 0 auto;
}
.help-faq-fold-sum::after {
  content: "";
  width: 7px;
  height: 7px;
  margin-left: auto;
  flex-shrink: 0;
  border-right: 2px solid var(--muted);
  border-bottom: 2px solid var(--muted);
  /* 与雷达卡一致：收起 > ，展开 v */
  transform: rotate(-45deg);
  margin-top: 2px;
  transition: transform 0.15s ease;
}
.help-faq-fold[open] > .help-faq-fold-sum::after {
  transform: rotate(45deg);
  margin-top: -2px;
}
.help-faq-fold > .help-faq {
  margin-top: 4px;
}
.help-faq-item {
  border-top: 1px solid var(--line);
}
.help-faq-item:first-child { border-top: 0; }
.help-faq-item summary {
  list-style: none;
  cursor: pointer;
  user-select: none;
  padding: 12px 0;
  font-size: 13px;
  font-weight: 800;
  color: var(--ink);
  position: relative;
  padding-right: 22px;
}
.help-faq-item summary::-webkit-details-marker { display: none; }
.help-faq-item summary::after {
  content: "";
  position: absolute;
  right: 4px;
  top: 50%;
  width: 7px;
  height: 7px;
  margin-top: -5px;
  border-right: 1.5px solid var(--muted);
  border-bottom: 1.5px solid var(--muted);
  transform: rotate(-45deg);
  opacity: 0.7;
}
.help-faq-item[open] summary::after {
  transform: rotate(45deg);
  margin-top: -2px;
}
.help-faq-item p {
  margin: 0 0 12px;
  font-size: 12px;
  font-weight: 600;
  color: var(--muted);
  line-height: 1.5;
}
.help-links {
  display: grid;
  gap: 8px;
}
.help-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
  margin: 0;
  padding: 12px 12px;
  border: 0;
  border-radius: 10px;
  background: color-mix(in srgb, var(--bg) 75%, var(--panel));
  color: inherit;
  font: inherit;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.help-link span {
  font-size: 13px;
  font-weight: 800;
  color: var(--ink);
}
.help-link small {
  font-size: 11px;
  font-weight: 600;
  color: var(--muted);
  white-space: nowrap;
}
.help-link:active { opacity: 0.85; }
@media (min-width: 720px) {
  .help-steps {
    grid-template-columns: 1fr 1fr;
    column-gap: 20px;
  }
  .help-step {
    padding: 8px 0 12px;
  }
  .help-step + .help-step {
    border-top: 0;
  }
  .help-step:nth-child(n + 3) {
    border-top: 1px solid var(--line);
    padding-top: 12px;
  }
  .help-links {
    grid-template-columns: repeat(3, 1fr);
  }
  .help-link {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
  }
}

.foot { text-align: center; margin-top: 16px; }
.foot a { color: var(--muted); font-size: 13px; }

.dock {
  position: fixed;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: 100%;
  max-width: min(460px, 100%);
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  align-items: end;
  padding: 6px 6px calc(8px + var(--safe-b));
  background: #ffffff;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  border-top: 1px solid var(--line);
  z-index: 200;
  pointer-events: auto;
  box-sizing: border-box;
  overflow: visible;
}
.dock-trade-orb {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
}
.dock-trade-orb svg {
  width: 22px;
  height: 22px;
  display: block;
  flex: 0 0 auto;
  margin: 0;
}
/* 默认（含手机）：细箭头；电脑加粗版隐藏 */

.dock-ico-swap-d {
  display: none !important;
}
.dock-ico-swap-m {
  display: block;
}
/* 交易页：左右箭头转到上下；离开再转回 */

.dock-trade-orb .dock-ico-swap {
  transform-origin: 50% 50%;
  transform-box: view-box;
  transform: rotate(0deg);
  transition: transform 0.48s cubic-bezier(0.22, 1.15, 0.36, 1);
}
.dock button.dock-trade.on .dock-trade-orb .dock-ico-swap {
  transform: rotate(90deg);
}
/* 手机：隐藏右上角蜘蛛雷达；盈亏行旁三图标 + 展开搜索 */

@media (max-width: 899px) {
  .hero-top {
    width: 100%;
  }
}
/* 电脑端（≥900）：切换到加粗箭头；手机不受影响 */

@media (min-width: 900px) {
  .dock .dock-ico-swap-m,
  .brand-rail .dock .dock-ico-swap-m,
  .dock-trade-orb .dock-ico-swap-m {
    display: none !important;
  }
  .dock .dock-ico-swap-d,
  .brand-rail .dock .dock-ico-swap-d,
  .dock-trade-orb .dock-ico-swap-d {
    display: block !important;
  }
  .brand-rail .dock .dock-trade-orb .dock-ico-swap-d {
    width: 46px;
    height: 46px;
  }
  .dock .dock-ico-picker-close-d,
  .brand-rail .dock .dock-ico-picker-close-d,
  .dock-trade-orb .dock-ico-picker-close-d {
    display: none !important;
  }
}
/* 手机：中间交易圆钮抬起；五键不带字，避免圆钮压字 */

@media (max-width: 899px) {
  :root {
    --dock-h: 64px;
  }
  .dock {
    background: #ffffff !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    padding: 8px 6px calc(10px + var(--safe-b));
    min-height: calc(54px + var(--safe-b));
    overflow: visible;
    align-items: center;
    isolation: isolate;
    border-top: 0.5px solid rgba(0, 0, 0, 0.06) !important;
    box-shadow: 0 -2px 6px rgba(0, 0, 0, 0.04);
  }
  html[data-theme="dark"] .dock {
    background: #000000 !important;
    border-top: 0.5px solid rgba(255, 255, 255, 0.08) !important;
    box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.28);
  }
  .dock button {
    padding: 6px 0;
    gap: 0;
    font-size: 0;
    line-height: 0;
    -webkit-appearance: none;
    appearance: none;
    -webkit-tap-highlight-color: transparent;
    background: transparent !important;
    box-shadow: none;
  }
  .dock button:hover,
  .dock button:active,
  .dock button:focus,
  .dock button:focus-visible {
    background: transparent !important;
    outline: none;
    box-shadow: none;
  }
  .dock button:not(.dock-trade) svg {
    transform-origin: 50% 50%;
    transition: transform 0.18s cubic-bezier(0.22, 1.2, 0.36, 1);
    will-change: transform;
  }
  .dock button:not(.dock-trade):active svg,
  .dock button:not(.dock-trade).is-press svg {
    transform: scale(1.22);
  }
  @media (prefers-reduced-motion: reduce) {
    .dock button:not(.dock-trade) svg {
      transition: none;
    }
    .dock button:not(.dock-trade):active svg,
    .dock button:not(.dock-trade).is-press svg {
      transform: none;
    }
  }
  .dock button span:not(.dock-trade-orb):not(.admin-dock-evo-ring) {
    display: none !important;
  }
  .dock svg {
    width: 28px;
    height: 28px;
  }
  .dock .dock-trade {
    z-index: 2;
    color: var(--muted);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
  }
  .dock .dock-trade-orb {
    width: 52px;
    height: 52px;
    margin: -14px 0 0;
    border-radius: 50%;
    background: #111;
    color: #fff;
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.14);
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .dock .dock-trade-orb svg {
    width: 26px;
    height: 26px;
    color: #fff;
  }
  /* 手机圆钮：箭头单独微加粗，电脑侧栏仍用原实心粗细 */
  .dock .dock-trade-orb svg path {
    stroke: currentColor;
    stroke-width: 1.35;
    stroke-linejoin: round;
    stroke-linecap: round;
  }
  .dock .dock-trade-orb .dock-ico-picker-close-d path {
    stroke: none;
    fill: currentColor;
  }
  html[data-theme="dark"] .dock .dock-trade-orb {
    background: #f4f6f8;
    color: #111;
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.22);
  }
  html[data-theme="dark"] .dock .dock-trade-orb svg {
    color: #111;
  }
  /* 选中高亮不得把圆钮里的图标反成白底白标 */
  .dock .dock-trade.on .dock-trade-orb,
  .dock .dock-trade.on .dock-trade-orb svg {
    color: #fff !important;
    stroke: none;
  }
  html[data-theme="dark"] .dock .dock-trade.on .dock-trade-orb,
  html[data-theme="dark"] .dock .dock-trade.on .dock-trade-orb svg {
    color: #111 !important;
    stroke: none;
  }
  /* 弹层打开：圆钮仍走常态 .dock-trade-orb 样式（× 显隐在 07-callout-unify.css） */
  /* 弹层未开：圆钮内绝不出现 × */
  .dock .dock-trade-orb .dock-ico-picker-close-d {
    display: none !important;
  }
}
.dock button {
  border: 0; background: transparent; color: #8c8c8c; /* OKX 白天未选中 */
  font: inherit; font-size: 11px; font-weight: 700;
  padding: 8px 0; cursor: pointer;
  display: grid; justify-items: center; gap: 2px;
  min-width: 0;
  -webkit-tap-highlight-color: transparent;
}
.dock button span {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  line-height: 1.15;
}
.dock svg { width: 20px; height: 20px; }
/* 底栏四灰标：实心填色（星球除外——环依赖 stroke，mask 依赖黑白）
   后台侧栏是描边图标：三横线/文档被这条 fill 吃掉会「消失」或变成色块，勿套 page-admin */

body:not(.page-admin) .dock button:not(.dock-trade) svg:not(.dock-ico-planet) path,
body:not(.page-admin) .dock button:not(.dock-trade) svg:not(.dock-ico-planet) rect {
  fill: currentColor;
  stroke: none;
}
/* 后台「产品 / 进化」改为实心标，显式填色，避免跟描边人像抢同一条 path 规则 */

.page-admin .dock button[data-admin-tab="products"] svg path,
.page-admin .dock button[data-admin-tab="evolve"] svg path {
  fill: currentColor;
  stroke: none;
}
/* 资产星球：正圆实心球 + 斜描边环 + 前环挖缝（禁止被上面 fill 规则污染；图标可挂在 data 键上） */

.dock button svg.dock-ico-planet {
  overflow: visible;
}
.dock button svg.dock-ico-planet .dock-planet-ring {
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2.4 !important;
  stroke-linecap: round !important;
}
.dock button svg.dock-ico-planet .dock-planet-body {
  fill: currentColor !important;
  stroke: none !important;
}
.dock button svg.dock-ico-planet mask rect {
  fill: #fff !important;
  stroke: none !important;
}
.dock button svg.dock-ico-planet mask path {
  fill: none !important;
  stroke: #000 !important;
  stroke-width: 4.5 !important;
  stroke-linecap: round !important;
}
/* 产品鹅卵石：比同栏图标略大、更醒目 */

.dock button[data-tab="strategy"] svg.dock-ico-compass {
  width: 24px;
  height: 24px;
}
.dock button.on { color: #000000; background: transparent; }
html:not([data-theme="dark"]) .dock button {
  color: #8c8c8c;
}
html:not([data-theme="dark"]) .dock button.on {
  color: #000000;
}
html:not([data-theme="dark"]) .dock button svg {
  color: inherit;
  stroke: currentColor;
}
html[data-theme="dark"] .dock button { color: #8c8c8c; }
html[data-theme="dark"] .dock button.on { color: #ffffff; }

@media (min-width: 900px) {
  .shell {
    width: min(1280px, calc(100vw - 48px));
    max-width: min(1280px, calc(100vw - 48px));
    margin: 0 auto;
    min-height: 100vh;
    /* sticky 在 flex + 居中布局下易失效，改 fixed 钉死左侧 */
    justify-content: flex-start;
    --rail-w: 240px;
    --fund-shell-half: min(640px, calc(50vw - 24px));
    /* 侧栏右缘 → 主内容左缘，与交易页 .app 水平 padding 一致 */
    --fund-content-gap: 36px;
  }
  /* fixed 侧栏脱离文档流，用伪元素占住宽度，避免主栏左移重叠 */
  .shell::before {
    content: "";
    flex: 0 0 var(--rail-w);
    width: var(--rail-w);
    pointer-events: none;
    transition: width 0.22s ease, flex-basis 0.22s ease;
  }
  .brand-rail {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    width: var(--rail-w);
    flex-shrink: 0;
    padding: 0;
    background: #111111;
    color: #eef4f7;
    position: fixed;
    top: 16px;
    bottom: 16px;
    /* 与 .shell 居中盒左缘对齐：50vw − 半宽 */
    left: max(0px, calc(50vw - var(--fund-shell-half, 540px)));
    height: auto;
    min-height: 0;
    z-index: 6;
    box-sizing: border-box;
    border-radius: 28px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    overflow: hidden;
  }
  .brand-rail:has(> .dock) {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: stretch;
    gap: 0;
    padding: 0 !important;
    top: 16px;
    bottom: 16px;
    height: auto !important;
    min-height: 0 !important;
  }
  .brand-rail-identity {
    display: none !important;
  }
  .brand-rail-tagline {
    display: none !important;
  }
  .logo-mark {
    /* 侧栏深底：白天/夜间都用浅青，保证对比度 */
    color: #c8c8c8;
    margin: 0 0 14px;
    width: auto;
    height: auto;
    display: flex;
    justify-content: center;
    filter: none;
  }
  .logo-mark .logo-mc {
    width: 40px;
    height: 40px;
    object-fit: contain;
    display: block;
    overflow: visible;
  }
  .logo-mark .logo-mc-pop .logo-mc-extrude,
  .logo-mark .logo-mc-pop .logo-mc-extrude use,
  .logo-mark .logo-mc-pop .logo-mc-extrude g {
    fill: #0a322c !important;
  }
  .logo-mark .logo-mc-pop .logo-mc-face {
    stroke: #031510;
  }
  .brand-mark { font-size: 40px; font-weight: 800; letter-spacing: -0.04em; line-height: 1.05; }
  .brand-rail p,
  .brand-rail .brand-rail-tagline {
    margin: 0;
    opacity: 0.78;
    font-size: 13px;
    line-height: 1.35;
    letter-spacing: 0.02em;
    white-space: nowrap;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .app {
    max-width: none;
    flex: 1;
    padding: 22px var(--fund-content-gap, 36px) 40px;
    background: rgba(255,255,255,0.35);
  }
  /* 电脑：交易 / 资产整页略下移；手机不改 */
  #tab-home.on .app,
  html:has(#tab-accounts.on) .app {
    --desk-page-sink: 36px;
    padding-top: calc(22px + var(--desk-page-sink));
  }
  #tab-home.on #hero-kline-spark.hero-kline-spark,
  #tab-home.on #hero-eth-deco.hero-kline {
    top: calc(var(--desk-page-sink) + clamp(-5px, -0.7cqi, -2px));
  }
  html:has(#tab-accounts.on) #pnl-hero-hit.hero-kline-pnl:not([hidden]) {
    top: calc(var(--desk-page-sink, 0px) + clamp(-10px, -1cqi, 0px));
  }
  /* 主导航：贴在品牌正下方，整组靠侧栏底 */
  .brand-rail .dock {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    top: auto !important;
    transform: none !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 10px 0 8px !important;
    border: 0 !important;
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    box-shadow: none !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: stretch !important;
    gap: 0 !important;
    z-index: 1;
    order: 1;
    flex: 1 1 auto !important;
    height: 100% !important;
  }
  .brand-rail .dock button,
  .brand-rail .dock button:hover,
  .brand-rail .dock button.on {
    position: relative;
    display: inline-flex;
    flex: 1 1 0;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 0;
    width: 100% !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0;
    margin: 0;
    padding: 0;
    border: 0 !important;
    border-radius: 0 !important;
    font-size: 0;
    font-weight: 700;
    color: #9a9a9a;
    background: transparent !important;
    box-shadow: none !important;
    cursor: pointer;
  }
  .brand-rail .dock button.on {
    color: #ffffff;
  }
  .brand-rail .dock button.on svg {
    color: #ffffff;
  }
  .brand-rail .dock button:focus,
  .brand-rail .dock button:focus-visible {
    outline: none;
  }
  .brand-rail .dock svg {
    width: 46px;
    height: 46px;
    flex-shrink: 0;
  }
  .brand-rail .dock button[data-tab="strategy"] svg.dock-ico-compass {
    width: 52px;
    height: 52px;
  }
  .brand-rail .dock .dock-trade-orb {
    width: auto;
    height: auto;
    margin: 0;
    padding: 0;
    border-radius: 0;
    background: none !important;
    box-shadow: none !important;
    color: inherit;
  }
  .brand-rail .dock .dock-trade-orb svg {
    width: 46px;
    height: 46px;
    color: inherit;
  }
  .brand-rail .dock button span:not(.dock-trade-orb):not(.admin-dock-evo-ring) {
    display: none;
  }
  /* 凹槽分割：右贴边、左留白。用灰黑，不用青绿描边 */
  .brand-rail .dock button + button::before {
    content: "";
    position: absolute;
    top: 0;
    left: 56px;
    right: 0;
    height: 6px;
    background: linear-gradient(180deg, #05080a 0%, #05080a 40%, #8b98a3 48%, #1a242c 100%);
    pointer-events: none;
  }

  .products:not(.acc-list) { grid-template-columns: 1fr 1fr; }
  .hero {
    max-width: none;
    width: 100%;
  }
}
/* 桌面宽屏：持仓多账户两列（单账户仍单列满宽） */


@media (min-width: 1200px) {
  .home-stack > .holdings:has(> .holding:nth-child(2)),
  .home-stack > .holdings:has(> .holding-skeleton:nth-child(2)) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 14px;
  }
  #tab-home.on .app > .hero {
    max-width: none;
  }
  #tab-home.on .hero-cta,
  html:has(#tab-strategy.on) .hero-cta,
  html:has(#tab-accounts.on) .hero-cta,
  html:has(#tab-guide.on) .hero-cta {
    max-width: min(640px, 100%);
  }
}
/* —— 雷达右上：参数齿轮 / 长跑看板（同尺寸、加粗线；默认灰，悬停/点击青绿） —— */


.bias-top-trail {
  gap: 2px;
}
.bias-trail-ico {
  position: relative;
  box-sizing: border-box;
  width: 30px;
  height: 30px;
  min-width: 30px;
  min-height: 30px;
  aspect-ratio: 1;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: var(--muted);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  padding: 0;
  opacity: 0.9;
  flex: 0 0 30px;
  transition: color 0.15s ease, opacity 0.15s ease;
}
.bias-trail-ico svg {
  width: 18px;
  height: 18px;
  min-width: 18px;
  min-height: 18px;
  flex-shrink: 0;
  display: block;
  aspect-ratio: 1;
  overflow: visible;
  stroke-width: 2.15;
}
.bias-trail-ico:hover,
.bias-trail-ico:focus-visible,
.bias-trail-ico:active {
  background: transparent;
  color: var(--teal);
  opacity: 1;
  outline: none;
}
/* —— 参数设置弹窗 —— */

#app-params-settings .params-sheet-grab {
  display: none;
}
/* 手机：底抽屉（与 hold-more / pro-ops 一致） */
#app-params-settings.fee-tip-modal.params-sheet.is-mobile-drawer:not(.is-desk-pop) {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: stretch !important;
  place-items: unset !important;
  padding: 0 !important;
}
#app-params-settings.fee-tip-modal.params-sheet.is-mobile-drawer .params-sheet-card.confirm-sheet {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: min(88dvh, calc(100dvh - env(safe-area-inset-top, 0px) - 12px)) !important;
  margin: 0 !important;
  align-self: flex-end !important;
  border-radius: 18px 18px 0 0 !important;
  border: 0 !important;
  border-top: 1px solid var(--card-line, var(--line)) !important;
  box-shadow: none !important;
  animation: me-drawer-up 0.3s cubic-bezier(0.22, 1, 0.36, 1);
  display: flex !important;
  flex-direction: column !important;
  padding-bottom: env(safe-area-inset-bottom, 0px);
}
#app-params-settings.fee-tip-modal.params-sheet.is-mobile-drawer .params-sheet-grab {
  display: block;
}
#app-params-settings.fee-tip-modal.params-sheet.is-desk-pop {
  display: grid !important;
  place-items: center !important;
  padding: 16px !important;
}

.params-sheet-head {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
}
.params-scope-meta {
  margin: 0;
  padding: 0;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 6px;
  font-size: 12px;
  line-height: 1.35;
  font-weight: 500;
  color: var(--muted);
}
.params-scope-acct {
  font-weight: 650;
  color: var(--ink);
}
.params-scope-brief {
  color: var(--muted);
}
.params-scope-dot {
  opacity: 0.45;
  user-select: none;
}
.params-scope-badge {
  margin-left: 2px;
  padding: 2px 8px;
  border-radius: 6px;
  font-size: 11px;
  font-weight: 650;
  letter-spacing: 0.01em;
  color: var(--ink-soft, var(--muted));
  background: rgba(21, 32, 43, 0.06);
  border: 1px solid rgba(21, 32, 43, 0.08);
}
html[data-theme="dark"] .params-scope-badge {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.1);
  color: #a8b4c0;
}
.params-title-row {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  flex: 1;
}
.params-title-row h3 {
  margin: 0;
}
.params-title-row .ui-help-wrap {
  flex-shrink: 0;
  margin-left: 0;
}
.params-title-row .ui-help-tip {
  top: calc(100% + 8px);
  left: 0;
  right: auto;
  transform: none;
  z-index: 90;
  width: min(320px, calc(100vw - 32px));
}
.params-title-row .ui-help-tip strong {
  display: block;
  font-size: 12px;
  font-weight: 800;
  color: #e8eef2;
  margin-bottom: 2px;
}
.params-title-row .ui-help-tip-sub b {
  color: #a8b4c0;
  font-weight: 750;
}
.params-title-row .ui-help-tip::before {
  top: -6px;
  bottom: auto;
  left: 14px;
  right: auto;
  margin-left: 0;
  transform: none;

  border-width: 0 6px 6px 6px;
  border-color: transparent transparent #000 transparent;
}
.params-sec {
  margin: 0 0 16px;
  padding: 0;
}
.params-sec:last-child { margin-bottom: 4px; }
.params-sec.is-locked {
  opacity: 1;
}
/* 锁定态数字框保持可读；勿波及 .pro-toggle（否则开态被刷成白底） */

.params-sec.is-locked input:disabled:not(.pro-toggle):not([type="range"]):not([type="checkbox"]) {
  cursor: not-allowed;
  background: #fff;
  color: var(--ink);
  opacity: 1;
  -webkit-text-fill-color: var(--ink);
}
.params-sec.is-locked .pro-toggle:disabled {
  cursor: not-allowed;
  opacity: 0.88;
}
.params-sec.is-locked .pro-toggle:disabled:not(:checked) {
  background: color-mix(in srgb, #8c8c8c 26%, #fff);
}
.params-sec.is-locked .pro-toggle:disabled:checked {
  background: var(--teal);
}
.params-fields {
  display: grid;
  gap: 12px;
}
.params-fields-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
@media (max-width: 420px) {
  .params-fields-3 {
    grid-template-columns: 1fr;
  }
}
.params-fields-leg {
  margin-bottom: 12px;
}
.params-leg-flat-switch {
  margin-top: 4px;
}
.params-leg-edge-target {
  margin-top: 10px;
}
.params-leg-edge-target[hidden] {
  display: none !important;
}
.params-leg-edge-target .size-slider-sec {
  margin: 0;
}
.params-base-edge-range {
  margin-bottom: 12px;
}
.params-field {
  display: grid;
  gap: 6px;
  min-width: 0;
  position: relative;
  z-index: 1;
}
.params-field:hover,
.params-field:focus-within {
  z-index: 8;
}
.params-field-lab {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
  font-weight: 700;
  color: var(--muted);
}
.params-field-lab .ui-help-wrap {
  flex-shrink: 0;
}
.params-field-lab .ui-help-q.help-ico-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.params-field-q {
  position: relative;
  cursor: help;
  user-select: none;
}
.params-field-tip {
  position: absolute;
  left: 0;
  top: calc(100% + 7px);
  bottom: auto;
  transform: none;
  z-index: 60;
  width: min(220px, 64vw);
  padding: 8px 10px;
  border-radius: 8px;
  background: #111827;
  color: #e8eef2;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.45;
  text-align: left;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.25);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.12s ease;
}
.params-field-tip::after {
  content: "";
  position: absolute;
  top: -6px;
  bottom: auto;
  left: 8px;
  width: 0;
  height: 0;
  background: none;
  border-style: solid;
  border-width: 0 5px 5px 5px;
  border-color: transparent transparent #111827 transparent;
  border-radius: 0;
  transform: none;
  pointer-events: none;
}
.params-field-q:hover .params-field-tip,
.params-field-q:focus-visible .params-field-tip {
  opacity: 1;
  visibility: visible;
}
/* 右侧字段避免气泡再往右挤出弹窗 */

.params-fields-3 .params-field:nth-child(3n) .params-field-tip {
  left: auto;
  right: 0;
}
.params-fields-3 .params-field:nth-child(3n) .params-field-tip::after {
  left: auto;
  right: 4px;
}
.params-field-ctrl {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  border: 1px solid #e2e8ee;
  border-radius: 10px;
  padding: 0 12px;
  background: #fff;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.params-field-ctrl:focus-within {
  border-color: var(--line);
  box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.08);
}
.params-sec.is-locked .params-field-ctrl {
  background: #fff;
}
.params-field-ctrl input {
  flex: 1;
  min-width: 0;
  width: 100%;
  border: 0;
  outline: none;
  padding: 10px 0;
  font-size: 14px;
  font-weight: 700;
  color: var(--ink);
  background: transparent;
  -moz-appearance: textfield;
  appearance: textfield;
}
.params-field-ctrl input:focus,
.params-field-ctrl input:focus-visible {
  outline: none;
  box-shadow: none;
}
.params-field-ctrl input::-webkit-outer-spin-button,
.params-field-ctrl input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.params-field-unit {
  flex-shrink: 0;
  font-style: normal;
  font-size: 12px;
  font-weight: 700;
  color: var(--muted);
}
.params-adv-grid {
  margin-top: 8px;
}
.params-emerg {
  margin-top: 4px;
  padding-top: 14px;
  border-top: 1px solid var(--line);
  opacity: 1 !important;
}

.params-lh-base-only {
  display: grid;
  gap: 10px;
}
.params-lh-base-hint {
  margin: 0 0 4px;
  font-size: 12px;
  line-height: 1.45;
  color: var(--muted);
  font-weight: 600;
}
.params-lh-proj {
  margin: 4px 0 0;
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid var(--line);
  background: var(--solid-bg);
}
.params-lh-proj.is-warn {
  border-color: color-mix(in srgb, #c9a227 55%, var(--line));
  background: color-mix(in srgb, #c9a227 12%, var(--panel));
}
.params-lh-proj-lead {
  margin: 0 0 6px;
  font-size: 12px;
  font-weight: 700;
  color: var(--text);
}
.params-lh-proj-code {
  margin: 0;
  white-space: pre-wrap;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 11.5px;
  line-height: 1.5;
  color: var(--text);
}
.params-lh-proj-fund {
  margin: 8px 0 0;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.4;
  color: var(--muted);
}
.params-lh-proj.is-warn .params-lh-proj-fund {
  color: #a67c00;
}
html[data-theme="dark"] .params-lh-proj.is-warn .params-lh-proj-fund {
  color: #e6c35c;
}

.params-emerg-note {
  margin: -4px 0 12px;
  font-size: 12px;
  font-weight: 600;
  color: var(--muted);
  line-height: 1.45;
}
.params-emerg-rows {
  display: grid;
  gap: 2px;
}
.params-emerg-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 48px;
  padding: 8px 0;
  margin: 0;
  cursor: pointer;
}
.params-emerg-row + .params-emerg-row {
  border-top: none;
  box-shadow: none;
}
.params-emerg-row > span {
  display: grid;
  gap: 2px;
  min-width: 0;
}
.params-emerg-row b {
  font-size: 14px;
  font-weight: 700;
  color: var(--ink);
}
.params-emerg-row .ui-help-lab {
  font-weight: 700;
  color: inherit;
}
.params-emerg-row .ui-help-tip {
  width: min(300px, calc(100vw - 48px));
}
.params-emerg-row small {
  font-size: 11px;
  font-weight: 600;
  color: var(--muted);
  line-height: 1.35;
}
.params-emerg-row select.pro-select,
.params-emerg-row #params-risk-circuit-trip {
  min-width: 7.5rem;
  max-width: 11rem;
  height: 34px;
  border-radius: 8px;
  border: 1px solid var(--line);
  background: var(--panel, #fff);
  color: var(--ink);
  font-size: 12px;
  font-weight: 600;
  padding: 0 10px;
  -webkit-appearance: none;
  appearance: none;
  background-image: none !important;
  text-align: right;
}
html[data-theme="dark"] .params-emerg-row select.pro-select,
html[data-theme="dark"] .params-emerg-row #params-risk-circuit-trip {
  background-color: #000 !important;
  background-image: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}
.params-book-maint {
  margin: 0.55rem 0 0.15rem;
  padding: 0.45rem 0 0.1rem;
  border-top: 1px solid color-mix(in srgb, var(--line, #c8d0da) 70%, transparent);
}
[data-params-panel="book"] .params-book-maint {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}
.params-book-maint-title {
  margin: 0 0 0.35rem;
  font-size: 0.78rem;
  font-weight: 650;
  color: var(--muted, #6b7785);
}
.params-emerg-row .pro-num {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 6px;
}
.params-sec-title {
  margin: 0 0 10px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.04em;
  color: var(--muted);
}
.params-adv {
  margin-top: 10px;
}
.params-adv summary {
  list-style: none;
  cursor: pointer;
  font-size: 12px;
  font-weight: 700;
  color: var(--muted);
  padding: 4px 0;
  user-select: none;
}
.params-adv summary::-webkit-details-marker { display: none; }
.params-adv summary::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-right: 6px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(-45deg);
  vertical-align: 1px;
  opacity: 0.7;
}
.params-adv[open] summary::before {
  transform: rotate(45deg);
  vertical-align: 3px;
}
.params-adv-grid {
  margin-top: 8px;
}
.fee-tip-modal .params-sheet-card .params-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  justify-content: stretch;
  align-items: stretch;
  gap: 10px;
  width: 100%;
  box-sizing: border-box;
  margin: 0;
  padding: 12px 16px 16px;
}
.fee-tip-modal .params-sheet-card .params-actions .confirm-btn-cancel,
.fee-tip-modal .params-sheet-card .params-actions .params-save,
.fee-tip-modal .params-sheet-card .params-actions .btn.main.params-save {
  width: 100%;
  max-width: none;
  min-width: 0;
  flex: 1 1 0;
  height: 44px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
}
.fee-tip-modal .params-sheet-card .params-save {
  border-radius: 12px;
  padding: 0 12px;
  font-size: 14px;
  font-weight: 800;
}
.fee-tip-modal .params-sheet-card .params-save:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
/* —— 长跑看板：雷达折叠左侧线稿图标 + 黑气泡 —— */


.run-stats-wrap {
  position: relative;
  display: inline-flex;
  align-items: center;
}
.run-stats-btn.on {
  background: transparent;
  color: var(--teal);
  opacity: 1;
}
.run-stats-btn.warn {
  color: #e11d48;
  opacity: 1;
}
.run-stats-btn.warn:hover,
.run-stats-btn.warn:focus-visible {
  background: transparent;
  color: #e11d48;
}
/* 持仓卡内覆盖：预警图标与其它工具同色，红点保留告警 */

.holding-info .run-stats-btn.warn,
.holding-info .run-stats-btn.warn:hover,
.holding-info .run-stats-btn.warn:focus-visible {
  color: var(--ink);
}
.run-stats-dot {
  position: absolute;
  top: 3px;
  right: 3px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #f43f5e;
  border: 0;
}
.run-stats-pop {
  position: absolute;
  top: calc(100% + 8px);
  /* 整体右移，箭头在框上位置不变，对准柱状图标 */
  right: -8px;
  left: auto;
  z-index: var(--z-tip-fixed);
  width: min(280px, calc(100vw - 32px));
  padding: 12px;
  border-radius: 12px;
  background: #000;
  color: #e8eef2;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.45);
  isolation: isolate;
  overflow: visible;
}
.run-stats-pop.run-stats-pop-portal {
  position: fixed !important;
  z-index: 32100 !important;
  display: block !important;
  right: auto !important;
  opacity: 1 !important;
  visibility: visible !important;
}
.run-stats-pop.run-stats-pop-portal::before {
  right: var(--arrow-right, 14px);
}
.run-stats-pop[hidden],
.run-stats-pop.run-stats-pop-portal[hidden] {
  display: none !important;
}
/* 朝上尖：菱形上半露出，下半埋进黑底；描边由外壳 filter 统一，接缝无横线 */

.run-stats-pop::before {
  content: "";
  position: absolute;
  top: -5px;
  right: 14px;
  left: auto;
  width: 10px;
  height: 10px;
  margin: 0;
  background: #000;
  border: 0;
  border-radius: 1px;
  box-shadow: none;
  filter: none;
  transform: translateX(50%) rotate(45deg);
  z-index: -1;
  pointer-events: none;
}
.run-stats-pop-head {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin-bottom: 10px;
  font-size: 12px;
  font-weight: 800;
  color: #fff;
}
.run-stats-pop-head:empty {
  display: none;
}
.run-stats-train-note {
  margin: -4px 0 10px;
  font-size: 11px;
  line-height: 1.4;
  font-weight: 600;
  color: rgba(143, 217, 203, 0.88);
}
.run-stats-wrap.is-train .run-stats-pill {
  color: #c8c8c8;
}
.run-stats-pill {
  font-size: 10px;
  font-weight: 700;
  color: #c8c8c8;
  background: rgba(143, 217, 203, 0.14);
  padding: 2px 7px;
  border-radius: 999px;
}
.run-stats-pill.warn {
  color: #ffb4a8;
  background: rgba(255, 120, 100, 0.16);
}
.run-stats-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px 10px;
}
.run-stats-quality {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}
.run-stats-quality-h {
  font-size: 11px;
  font-weight: 750;
  color: rgba(232, 238, 242, 0.72);
  margin-bottom: 8px;
}
.run-stats-grid-q b.is-ok {
  color: #7ddea8;
}
.run-stats-grid-q b.is-warn {
  color: #f0c674;
}
.run-stats-grid-q b.is-bad {
  color: #ff8e7a;
}
.run-stats-quality-note {
  margin: 8px 0 0;
  font-size: 10px;
  line-height: 1.35;
  color: rgba(240, 198, 116, 0.9);
}
/* —— P2 residual heal —— */


.holding-status-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0;
  width: 100%;
  min-width: 0;
  margin-top: 4px;
}
.holding-status-row .holding-status {
  margin-top: 0;
  gap: 6px;
  max-width: 100%;
}
.holding-status.has-heal {
  overflow: visible;
}
.holding-status.has-heal .holding-status-lab {
  max-width: min(42vw, 12em);
}
.hold-heal-alert {
  position: relative;
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  z-index: 6;
}
.hold-heal-bang {
  appearance: none;
  border: 0;
  background: transparent;
  padding: 1px;
  margin: 0;
  color: var(--down);
  cursor: pointer;
  display: grid;
  place-items: center;
  animation: posHealFlash 1.1s ease-in-out infinite;
}
.hold-heal-bang-ico {
  display: block;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  object-fit: cover;
  pointer-events: none;
}
.hold-heal-bang svg {
  width: 18px;
  height: 18px;
  display: block;
}
.hold-heal-bang:hover,
.hold-heal-bang[aria-expanded="true"] {
  color: #a3281c;
  filter: brightness(0.92);
}
.hold-heal-pop {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  width: min(300px, 78vw);
  z-index: 40;
  pointer-events: auto;
}
.hold-heal-pop[hidden] { display: none !important; }
.hold-heal-pop.hold-heal-pop-portal {
  position: fixed !important;
  /* 高于手机抽屉 12080 与杠杆/账单 13120 */
  z-index: var(--z-tip-fixed, 13250) !important;
  top: auto;
  left: auto;
  width: min(300px, 78vw);
}
.hold-heal-pop-card {
  position: relative;
  background: #000;
  color: #e8eef2;
  border-radius: 12px;
  padding: 12px 13px 13px;
  border: 1px solid rgba(255, 255, 255, 0.24);
  box-shadow: none;
  filter: none;
}
.hold-heal-pop-arrow {
  position: absolute;
  top: -6px;
  left: 11px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 6px 6px 6px;
  border-color: transparent transparent #000 transparent;
  pointer-events: none;
}
.hold-heal-pop-above .hold-heal-pop-arrow {
  top: auto;
  bottom: -6px;
  border-width: 6px 6px 0 6px;
  border-color: #000 transparent transparent transparent;
}
.hold-heal-pop-kicker {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.04em;
  color: rgba(232, 238, 242, 0.55);
  margin-bottom: 6px;
}
.hold-heal-pop-txt {
  margin: 0 0 10px;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.45;
  color: #f3f6f8;
}
.hold-heal-pop-acts {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.hold-heal-pop-acts button {
  appearance: none;
  border: 0;
  border-radius: 8px;
  padding: 7px 12px;
  font-size: 12px;
  font-weight: 750;
  cursor: pointer;
  background: var(--teal);
  color: #fff;
}
html[data-theme="dark"] .hold-heal-bang {
  color: #f07178;
}
html[data-theme="dark"] .hold-heal-bang:hover,
html[data-theme="dark"] .hold-heal-bang[aria-expanded="true"] {
  color: #ff8e7a;
}
html[data-theme="dark"] .hold-heal-pop-acts button {
  background: var(--solid-bg);
  color: #fff;
}
html[data-theme="dark"] .hold-heal-pop-card,
html[data-theme="dark"] body > .hold-heal-pop .hold-heal-pop-card {
  background: #000 !important;
  border: 1px solid rgba(255, 255, 255, 0.24) !important;
  box-shadow: none !important;
  filter: none !important;
}

.pos-heal-banner,
.pos-heal-banner[hidden] { display: none !important; }
.pos-heal-banner p {
  margin: 0;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.35;
  color: #b42318;
}
.pos-heal-banner.tone-warn p { color: #8a5200; }
.pos-heal-banner .pos-heal-acts {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.pos-heal-banner button {
  appearance: none;
  border: 0;
  background: var(--teal);
  color: #fff;
  font-size: 11px;
  font-weight: 750;
  padding: 4px 10px;
  border-radius: 8px;
  cursor: pointer;
}
html[data-theme="dark"] .pos-heal-banner {
  border-color: rgba(255, 142, 122, 0.45);
  background: rgba(255, 100, 80, 0.14);
}
html[data-theme="dark"] .pos-heal-banner.tone-warn {
  border-color: rgba(240, 198, 116, 0.45);
  background: rgba(240, 198, 116, 0.14);
}
html[data-theme="dark"] .pos-heal-banner p {
  color: #ff9a88;
}
html[data-theme="dark"] .pos-heal-banner.tone-warn p {
  color: #f0c674;
}
html[data-theme="dark"] .pos-heal-banner button {
  background: var(--solid-bg);
  color: #fff;
}
@keyframes posHealIn {
  from { opacity: 0; transform: translateY(-4px); }
  to { opacity: 1; transform: translateY(0); }
}
.run-stats-heal {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}
.run-stats-heal-h {
  font-size: 11px;
  font-weight: 750;
  color: rgba(232, 238, 242, 0.72);
  margin-bottom: 8px;
}
.run-stats-heal-note {
  margin: 8px 0 0;
  font-size: 10px;
  line-height: 1.35;
  color: rgba(240, 198, 116, 0.9);
}
.run-stats-heal-acts {
  margin-top: 8px;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.run-stats-heal-acts button {
  appearance: none;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(0,0,0,0.22);
  color: #e8eef2;
  font-size: 10px;
  font-weight: 700;
  padding: 4px 8px;
  border-radius: 7px;
  cursor: pointer;
}
.run-stats-heal-acts button.primary {
  border-color: rgba(143, 217, 203, 0.45);
  background: rgba(143, 217, 203, 0.16);
  color: #c8c8c8;
}

.run-stats-grid div {
  display: grid;
  gap: 2px;
}
.run-stats-grid span {
  font-size: 10px;
  font-weight: 600;
  color: rgba(232, 238, 242, 0.55);
}
.run-stats-grid b {
  font-size: 13px;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  color: #fff;
}
.run-stats-note {
  margin: 10px 0 0;
  font-size: 11px;
  color: rgba(232, 238, 242, 0.55);
  line-height: 1.4;
}
/* —— 专业运维：分段设置卡 —— */


.run-stats-card {
  display: none;
}
.pro-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.pro-ops-box {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  border-radius: 16px;
  background: var(--panel);
  border: 1px solid var(--line);
  overflow: visible;
}
.pro-ops-sec {
  padding: 14px 16px 16px;
  border-bottom: 1px solid var(--line);
}
.pro-ops-sec-title {
  margin: 0 0 12px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: var(--muted);
}
.pro-ops-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}
.pro-field {
  display: grid;
  gap: 6px;
  font-size: 12px;
  font-weight: 700;
  color: var(--muted);
  min-width: 0;
}
.pro-field-lab {
  font-size: 12px;
  font-weight: 700;
  color: var(--muted);
}
.pro-field select {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 11px 12px;
  font-size: 14px;
  font-weight: 700;
  color: var(--ink);
  background-color: var(--panel);
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%238aa0b0' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  padding-right: 32px;
}
/* 交易品种：自定义下拉（风格对齐分段控件，便于扩展币种） */

.pro-dd {
  position: relative;
  width: 100%;
  min-width: 0;
}
.pro-dd-btn {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin: 0;
  padding: 10px 12px;
  border: 0;
  border-radius: 10px;
  background: var(--chip-bg);
  color: var(--ink);
  font: inherit;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  text-align: left;
  -webkit-tap-highlight-color: transparent;
  transition: background 0.15s ease, box-shadow 0.15s ease;
}
.pro-dd-btn:hover,
.pro-dd-btn:focus-visible {
  background: var(--chip-hover);
  outline: none;
}
.pro-dd.open .pro-dd-btn {
  background: #fff;
  box-shadow: 0 0 0 2px rgba(0,0,0,0.08);
}
.pro-dd-val {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.pro-dd-chev {
  flex-shrink: 0;
  font-size: 11px;
  line-height: 1;
  font-weight: 400;
  color: var(--muted);
  transform: translateY(-1px);
  transition: transform 0.15s ease, color 0.15s ease;
}
.pro-dd-chev:empty::before {
  content: "▾";
}
.pro-dd.open .pro-dd-chev {
  transform: translateY(1px) rotate(180deg);
  color: var(--teal);
}
.pro-dd-menu {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  z-index: 30;
  margin: 0;
  padding: 6px;
  list-style: none;
  border-radius: 12px;
  background: #fff;
  border: 1px solid #e4ebf0;
  box-shadow: 0 10px 28px rgba(21, 32, 43, 0.12);
  max-height: min(280px, 50vh);
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}
.pro-dd-menu[hidden] {
  display: none !important;
}
.pro-dd-opt {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
  margin: 0;
  padding: 11px 12px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--ink);
  font: inherit;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  text-align: left;
}
.pro-dd-opt:hover,
.pro-dd-opt:focus-visible {
  background: var(--chip-bg);
  color: var(--teal);
  outline: none;
}
.pro-dd-opt.on {
  background: var(--chip-bg);
  color: var(--teal);
}
.pro-dd-opt.on::after {
  content: "";
  width: 7px;
  height: 12px;
  flex-shrink: 0;
  border-right: 2.2px solid var(--teal);
  border-bottom: 2.2px solid var(--teal);
  transform: rotate(45deg);
  margin-top: -3px;
}
.pro-seg {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  padding: 3px;
  border-radius: 10px;
  background: var(--chip-bg);
}
.pro-seg-btn {
  border: 0;
  margin: 0;
  padding: 9px 6px;
  border-radius: 8px;
  background: transparent;
  color: var(--muted);
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.pro-seg-btn.on {
  background: var(--panel);
  color: var(--ink);
  box-shadow: 0 1px 2px rgba(21, 32, 43, 0.1);
}
.pro-ops-rows {
  display: grid;
  gap: 2px;
}
.pro-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 48px;
  padding: 8px 0;
  margin: 0;
  cursor: pointer;
}
.pro-row + .pro-row {
  border-top: 1px solid var(--line);
}
.pro-row-text {
  display: flex;
  align-items: center;
  gap: 4px;
  min-width: 0;
}
.pro-row-text b {
  font-size: 14px;
  font-weight: 700;
  color: var(--ink);
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.pro-row-text b .ui-help-wrap {
  margin-left: 4px;
  flex-shrink: 0;
}
.pro-row-text b .ui-help-tip {
  top: calc(100% + 8px);
  left: 0;
  transform: none;
  z-index: 100;
}
.pro-row-text b .ui-help-tip strong {
  display: block;
  font-size: 12px;
  font-weight: 800;
  color: #e8eef2 !important;
  margin-bottom: 2px;
}
.pro-row-text b .ui-help-tip b {
  color: #e8eef2 !important;
  font-weight: 700;
}
.pro-row-text b .ui-help-tip::before {
  top: -6px;
  bottom: auto;
  left: 14px;
  margin-left: 0;
  transform: none;
  border-width: 0 6px 6px 6px;
  border-color: transparent transparent #000 transparent;
}
.pro-row-text small {
  font-size: 11px;
  font-weight: 600;
  color: var(--muted);
  line-height: 1.35;
}
.pro-toggle {
  appearance: none;
  -webkit-appearance: none;
  width: 44px;
  height: 26px;
  margin: 0;
  flex-shrink: 0;
  border-radius: 999px;
  background: color-mix(in srgb, #8c8c8c 26%, #fff);
  position: relative;
  cursor: pointer;
  transition: background 0.15s ease;
}
.pro-toggle::after {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 3px rgba(21, 32, 43, 0.18);
  transition: transform 0.15s ease;
}
.pro-toggle:checked {
  background: var(--up);
}
.pro-toggle:checked::after {
  transform: translateX(18px);
}
.pro-num {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 6px 10px;
  background: var(--panel);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.pro-num:focus-within {
  border-color: var(--line);
  box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.08);
}
.pro-num input {
  width: 64px;
  border: 0;
  outline: none;
  padding: 2px 0;
  font-size: 16px;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  color: var(--ink);
  background: transparent;
  text-align: right;
  -moz-appearance: textfield;
  appearance: textfield;
}
.pro-num input:focus,
.pro-num input:focus-visible {
  outline: none;
  box-shadow: none;
}
.pro-num input::-webkit-outer-spin-button,
.pro-num input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.pro-num em {
  font-style: normal;
  font-size: 12px;
  font-weight: 700;
  color: var(--muted);
}
.pro-ops-foot {
  display: grid;
  gap: 12px;
  padding: 14px 16px 16px;
  background: var(--panel);
  border-top: 1px solid var(--line);
  border-radius: 0 0 16px 16px;
}
.pro-ops-toast {
  display: none !important;
}
.pro-ops-recover {
  margin: 0;
  padding: 2px 0 0;
}
.save-tour-target {
  width: 100%;
  display: block;
}
.save-tour-target .pro-ops-primary {
  width: 100%;
  display: block;
  box-sizing: border-box;
}
.pro-ops-primary {
  width: 100%;
  min-height: 46px;
  border-radius: 12px;
  font-size: 15px;
  font-weight: 800;
}
/* 工具端产品页：App 壳（全高滚动 + 底栏保存） */
html:has(#tab-strategy.on) #tab-strategy.panel.on {
  display: flex;
  flex-direction: column;
}
html:has(#tab-strategy.on) .pro-ops-shell {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  border: 0;
  background: transparent;
  border-radius: 0;
}
html:has(#tab-strategy.on) .pro-ops-scroll {
  flex: 1 1 auto;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-y;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
html:has(#tab-strategy.on) .pro-ops-scroll::-webkit-scrollbar {
  display: none;
}
@media (max-width: 899px) {
  html:has(#tab-strategy.on) .pro-ops-desk-mid,
  html:has(#tab-strategy.on) .pro-ops-split-x {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
    height: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }
  html:has(#tab-strategy.on) .pro-ops-desk {
    flex: 1 1 auto;
    min-height: 0;
    height: auto;
    display: flex;
    flex-direction: column;
    overflow: hidden;
  }
  html:has(#tab-strategy.on) .pro-ops-topbar,
  html:has(#tab-strategy.on) .pro-ops-symbol-row {
    position: relative;
    z-index: 24;
  }
  html:has(#tab-strategy.on) .pro-ops-desk-side {
    flex: 1 1 auto;
    min-height: 0;
    width: auto;
    max-width: none;
    min-width: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
  }
}
html:has(#tab-strategy.on) .pro-ops-sec {
  border-bottom: 0;
  padding-bottom: 12px;
}
html:has(#tab-strategy.on) .pro-ops-dock {
  flex: 0 0 auto;
  display: grid;
  gap: 10px;
  padding: 16px 0 8px;
  margin: 0;
  background: transparent;
  border-top: 0;
  box-shadow: none;
}
.pro-ops-extra {
  padding: 2px 16px 18px;
}
.pro-ops-edit-row {
  width: 100%;
  min-height: 42px;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 700;
}
.pro-ops-status {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin: 0 0 12px;
  min-height: 0;
}
.pro-ops-status-chip {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
  background: var(--panel-2);
  color: var(--muted);
  box-shadow: inset 0 0 0 1px var(--card-line, var(--line));
}
.pro-ops-status-chip.is-dirty {
  color: #b45309;
  box-shadow: inset 0 0 0 1px rgba(180, 83, 9, 0.35);
}
html[data-theme="dark"] .pro-ops-status-chip.is-dirty {
  color: #fbbf24;
}
.pro-ops-status-chip.is-run {
  color: var(--teal);
}
.pro-ops-status-chip.is-idle {
  color: var(--muted);
}
.pro-ops-status-chip.is-meta {
  color: var(--ink);
}
.pro-ops-dock-hint {
  margin: 0;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.4;
  text-align: center;
  color: var(--muted);
}
/* P4：对照交易所策略创建页（顶栏标题▾ / 品种+标记价 / 分段 / 灰底表单 / 底栏胶囊） */
html:has(#tab-strategy.on) .pro-ops-scroll {
  padding: 6px 16px calc(var(--dock-h, 56px) + var(--safe-b, 0px) + 12px);
}
/* 手机：与交易页一致，只靠 .app --fund-mobile-pad-x，勿再叠水平 padding */
@media (max-width: 899px) {
  html:has(#tab-strategy.on) .pro-ops-scroll {
    padding-left: 0;
    padding-right: 0;
  }
  html:has(#tab-strategy.on) .pro-ops-dock {
    padding-left: 0;
    padding-right: 0;
  }
}
html:has(#tab-strategy.on) .pro-ops-sec {
  padding: 8px 0 4px;
}
/* 自动/手动分段与账户表单之间不要通栏分割线 */
html:has(#tab-strategy.on) .pro-ops-mode-seg + #orch-root {
  border-top: 0 !important;
  padding-top: 0;
  margin-top: 0;
}
html:has(#tab-strategy.on) #orch-root > .orch-tour-target {
  display: none !important;
}
html:has(#tab-strategy.on) .pro-ops-shell .sleeve-list,
html:has(#tab-strategy.on) .pro-ops-shell .sleeve-unit-card,
html:has(#tab-strategy.on) .pro-ops-shell .sleeve-unit-card:first-child {
  border-top: 0 !important;
}
html:has(#tab-strategy.on) .pro-ops-dock {
  border-top: 0;
  box-shadow: none;
  padding: 12px 0 6px;
  margin-top: 4px;
  background: transparent;
}
html:has(#tab-strategy.on) .pro-ops-dock .pro-ops-primary {
  min-height: 40px;
  border-radius: 20px;
  font-size: 14px;
}
html:has(#tab-strategy.on) .pro-ops-topbar,
html:has(#tab-strategy.on) .pro-ops-symbol-row {
  position: relative;
  z-index: 24;
}
html:has(#tab-strategy.on) .pro-ops-desk-side {
  position: relative;
  z-index: 12;
}
html:has(#tab-strategy.on) .pro-ops-strategy-hit,
html:has(#tab-strategy.on) .pro-ops-symbol-hit {
  position: relative;
  z-index: 13;
  pointer-events: auto !important;
}
.pro-ops-topbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  min-height: 40px;
  padding: 2px 0 10px;
  position: relative;
  z-index: 3;
}
.pro-ops-topbar-spacer {
  display: none;
}
.pro-ops-strategy-hit {
  grid-area: 1 / 1;
  justify-self: center;
  max-width: calc(100% - 48px);
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--ink);
  font: inherit;
  text-align: center;
  cursor: pointer;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}
.pro-ops-strategy-main {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-width: 0;
  max-width: 100%;
}
.pro-ops-more-hit {
  grid-area: 1 / 1;
  justify-self: end;
  align-self: center;
  z-index: 1;
}
.pro-ops-strategy-lab {
  font-size: 18px;
  font-weight: 800;
  line-height: 1.2;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.pro-ops-strategy-sub {
  display: none !important;
}
/* 产品页更多：无底卡，三点图标贴内容区最右（与表单右缘对齐） */
.pro-ops-more-hit.hold-more-btn {
  box-sizing: border-box;
  display: inline-grid;
  place-items: center;
  width: 40px;
  height: 40px;
  min-width: 40px;
  min-height: 40px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--ink);
  font-size: 0;
  line-height: 0;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.pro-ops-more-hit.hold-more-btn .hold-tool-svg {
  display: block;
  width: 26px;
  height: 26px;
  pointer-events: none;
}
.pro-ops-more-hit.hold-more-btn:hover,
.pro-ops-more-hit.hold-more-btn:focus-visible {
  color: var(--ink);
}
.pro-ops-chev {
  flex-shrink: 0;
  font-size: 11px;
  line-height: 1;
  font-weight: 400;
  color: var(--muted);
  transform: translateY(-1px);
}
@media (max-width: 899px) {
  body.strategy-tab-on .pro-ops-chev {
    font-size: 15px;
    font-weight: 500;
    transform: translateY(0);
  }
  body.strategy-tab-on #pro-ops-box.pro-ops-shell .pro-field:has(> select)::after {
    font-size: 15px;
    font-weight: 500;
    right: 12px;
    bottom: 10px;
  }
  body.strategy-tab-on #pro-ops-box.pro-ops-shell .sleeve-account,
  body.strategy-tab-on #pro-ops-box.pro-ops-shell .binding-grid .pro-field select {
    padding-right: 32px;
  }
}
.pro-ops-symbol-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
  position: relative;
  z-index: 3;
}
.pro-ops-symbol-hit {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--ink);
  font-size: 15px;
  font-weight: 800;
  cursor: pointer;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}
.pro-ops-sym-kind {
  font-size: 11px;
  font-weight: 700;
  color: var(--muted);
  padding: 1px 6px;
  border-radius: 4px;
  background: var(--chip-bg, var(--panel-2));
}
.pro-ops-symbol-mark {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 15px;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  color: var(--ink);
}
.pro-ops-symbol-mark.is-up {
  color: var(--up, #16a34a);
}
.pro-ops-symbol-mark.is-down {
  color: var(--down, #ef4444);
}
.pro-ops-mark-arrow {
  width: 0;
  height: 0;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  display: none;
}
.pro-ops-symbol-mark.is-up .pro-ops-mark-arrow {
  display: inline-block;
  border-bottom: 6px solid currentColor;
}
.pro-ops-symbol-mark.is-down .pro-ops-mark-arrow {
  display: inline-block;
  border-top: 6px solid currentColor;
}
.pro-ops-mode-seg {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  margin-bottom: 10px;
  padding: 0;
  border-radius: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  isolation: isolate;
}
.pro-ops-mode-seg-thumb {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 50%;
  border-radius: 999px;
  background: var(--panel, #fff);
  border: 0;
  box-shadow: none;
  transition: transform 0.24s cubic-bezier(0.22, 1, 0.36, 1);
  z-index: 0;
  pointer-events: none;
  will-change: transform;
}
.pro-ops-mode-seg[data-pro-mode-seg="manual"] .pro-ops-mode-seg-thumb {
  /* 仅平移自身宽度；+padding 会挤出轨道右侧 */
  transform: translateX(100%);
}
.pro-ops-mode-btn {
  position: relative;
  z-index: 1;
  margin: 0;
  padding: 6px 6px;
  min-height: 34px;
  border: 0;
  border-radius: 999px;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--muted);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.01em;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: color 0.18s ease;
}
.pro-ops-mode-btn.on {
  color: var(--ink);
  font-weight: 800;
}
.pro-ops-mode-btn:not(.on):hover {
  color: color-mix(in srgb, var(--ink) 72%, var(--muted));
}
html[data-theme="dark"] .pro-ops-mode-seg {
  background: transparent;
  border: 0;
  box-shadow: none;
}
html[data-theme="dark"] .pro-ops-mode-seg-thumb {
  background: var(--solid-bg, #1c1c1c);
  border: 0;
  box-shadow: none;
}
/* 白天：外露滑道 + 白底线框滑块；夜间见上方 dark 规则，不改 */
html:not([data-theme="dark"]) .pro-ops-mode-seg {
  padding: 3px;
  border-radius: 999px;
  background: var(--chip-bg, var(--panel-2));
  border: 0;
  box-shadow: none;
  overflow: hidden;
}
html:not([data-theme="dark"]) .pro-ops-mode-seg-thumb {
  top: 3px;
  bottom: 3px;
  left: 3px;
  width: calc(50% - 3px);
  box-sizing: border-box;
  background: #fff;
  border: 1px solid var(--line, rgba(21, 32, 43, 0.14));
  box-shadow: none;
  transform: none;
}
html:not([data-theme="dark"]) .pro-ops-mode-seg[data-pro-mode-seg="manual"] .pro-ops-mode-seg-thumb {
  left: 50%;
  transform: none;
}
html[data-theme="dark"] .pro-ops-mode-btn.on {
  color: var(--ink);
  font-weight: 800;
}
/* 夜间未选中：淡字、常规字重（勿与选中同粗） */
html[data-theme="dark"] .pro-ops-mode-btn:not(.on) {
  color: var(--muted);
  font-weight: 500;
}
html[data-theme="dark"] .pro-ops-mode-btn:not(.on):hover {
  color: color-mix(in srgb, var(--ink) 55%, var(--muted));
}
html:has(#tab-strategy.on) .pro-ops-sec-bar {
  display: none;
}
.pro-ops-shell .binding-field-strat,
.pro-ops-shell .binding-field-sym {
  display: none !important;
}
.pro-ops-shell[data-pro-mode="auto"] .binding-custom-name,
.pro-ops-shell[data-pro-mode="auto"] .pro-ops-status,
.pro-ops-shell[data-pro-mode="auto"] .sleeve-unit-toggle,
.pro-ops-shell[data-pro-mode="auto"] .sleeve-unit-lock,
.pro-ops-shell[data-pro-mode="auto"] .sleeve-custom-actions {
  display: none !important;
}
.pro-ops-shell[data-pro-mode="auto"] .sleeve-unit-body,
.pro-ops-shell[data-pro-mode="auto"] .sleeve-unit-body[hidden] {
  display: block !important;
}
.pro-ops-shell .sleeve-unit-card,
.pro-ops-shell .sleeve-unit-card.is-focus {
  padding: 0 0 10px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.pro-ops-shell[data-pro-mode="auto"] .sleeve-unit-head-row,
html:has(#tab-strategy.on) .sleeve-unit-head-row,
html:has(#tab-strategy.on) .sleeve-inst-swipe,
html:has(#tab-strategy.on) #pro-ops-status {
  display: none !important;
}
.pro-ops-shell[data-pro-mode="auto"] .sleeve-list:has(.sleeve-unit-card ~ .sleeve-unit-card) .sleeve-unit-head-row {
  display: none !important;
}
.pro-ops-shell .sleeve-unit-card .sleeve-acc-main-lab {
  display: none !important;
}
.pro-ops-round-est-hit {
  flex-shrink: 0;
  margin: 0 0 0 auto;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--muted);
  font: inherit;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.3;
  text-decoration: underline;
  text-decoration-style: dashed;
  text-underline-offset: 3px;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.pro-ops-flat-edge-row .pro-ops-invest-lab-row {
  width: 100%;
}
.pro-ops-round-est-hit:hover,
.pro-ops-round-est-hit:focus-visible {
  color: var(--ink);
}
.fee-tip-modal.pro-ops-sheet.pro-ops-round-sheet.is-center-pop:not([hidden]) {
  display: grid !important;
  place-items: center !important;
  padding: 16px !important;
  align-items: center !important;
  justify-content: center !important;
}
.fee-tip-modal.pro-ops-round-sheet.is-center-pop .pro-ops-round-card {
  width: min(420px, calc(100vw - 32px)) !important;
  max-height: min(86dvh, calc(100vh - 32px)) !important;
  margin: 0 !important;
  border-radius: 18px !important;
  padding: 0 0 12px !important;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.fee-tip-modal.pro-ops-round-sheet.is-mobile-drawer .pro-ops-round-card {
  width: 100% !important;
  max-width: none !important;
  max-height: min(88dvh, calc(100dvh - env(safe-area-inset-top, 0px) - 12px)) !important;
  margin: 0 !important;
  border-radius: 18px 18px 0 0 !important;
  padding: 0 0 calc(8px + env(safe-area-inset-bottom, 0px)) !important;
}
.fee-tip-modal.pro-ops-round-sheet.is-mobile-drawer .hold-more-grab {
  display: block;
}
.fee-tip-modal.pro-ops-round-sheet.is-desk-pop .hold-more-grab {
  display: none;
}
/* 电脑居中弹窗：右上角 × 即可，勿重复底栏「关闭」 */
.fee-tip-modal.pro-ops-round-sheet.is-desk-pop .pro-ops-round-foot,
.fee-tip-modal.pro-ops-round-sheet.is-center-pop .pro-ops-round-foot {
  display: none;
}
.pro-ops-round-sub {
  margin: 2px 0 0;
  font-size: 12px;
  font-weight: 600;
  color: var(--muted);
}
.pro-ops-round-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  padding: 4px 16px 8px;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.pro-ops-round-body::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}
.pro-ops-round-foot {
  flex: 0 0 auto;
  padding: 8px 16px calc(8px + env(safe-area-inset-bottom, 0px));
}
.pro-ops-round-close-btn {
  width: 100%;
  min-height: 42px;
  border-radius: 21px;
  font-weight: 700;
}
.pro-ops-round-panel {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.pro-ops-round-lead {
  margin: 0;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
  color: var(--muted);
}
.pro-ops-round-block {
  padding: 0;
  border-top: 1px solid var(--line);
}
.pro-ops-round-block:first-of-type {
  border-top: 0;
  padding-top: 0;
}
.pro-ops-round-block-t {
  margin: 10px 0 6px;
  font-size: 11px;
  font-weight: 700;
  color: var(--muted);
}
.pro-ops-round-block-total {
  padding-top: 4px;
  border-top: 1px solid var(--line);
}
.pro-ops-round-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  font-size: 13px;
  line-height: 1.35;
}
.pro-ops-round-v.is-hero {
  font-size: 16px;
  font-weight: 800;
}
.pro-ops-round-k {
  color: var(--muted);
  font-weight: 650;
  flex: 1 1 auto;
  min-width: 0;
}
.pro-ops-round-v {
  color: var(--ink);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  text-align: right;
  flex-shrink: 0;
}
.pro-ops-round-v.tone-up {
  color: var(--up, #16a34a);
}
.pro-ops-round-v.tone-dn {
  color: var(--down, #ef4444);
}
.pro-ops-round-formula {
  margin: 8px 0 0;
  font-size: 11px;
  line-height: 1.45;
  color: var(--muted);
  font-weight: 600;
}
.pro-ops-round-fund {
  margin: 0;
  padding: 10px 12px;
  border-radius: 10px;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.45;
  color: var(--muted);
  background: var(--solid-bg, var(--panel-2));
}
.pro-ops-round-fund.is-warn {
  color: #a67c00;
}
html[data-theme="dark"] .pro-ops-round-fund.is-warn {
  color: #e6c35c;
}
.pro-ops-round-sync-hint {
  margin: 6px 0 0;
  font-size: 11px;
  line-height: 1.45;
  color: var(--muted);
  font-weight: 600;
}
.pro-ops-round-subhint {
  margin: 4px 0 0;
  font-size: 11px;
  line-height: 1.4;
  color: var(--muted);
  font-weight: 600;
}
.pro-ops-round-subhint.is-warn {
  color: #a67c00;
}
html[data-theme="dark"] .pro-ops-round-subhint.is-warn {
  color: #e6c35c;
}
.pro-ops-round-note {
  margin: 0;
  font-size: 11px;
  line-height: 1.45;
  color: var(--muted);
  font-weight: 600;
}
.pro-ops-round-empty {
  margin: 0;
  padding: 12px 0;
  font-size: 13px;
  color: var(--muted);
  text-align: center;
}
.pro-ops-round-loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 120px;
  padding: 24px 8px;
}
.pro-ops-round-loading-txt {
  margin: 0;
  font-size: 13px;
  font-weight: 600;
  color: var(--muted);
  text-align: center;
}
.pro-ops-round-loading-spin {
  width: 28px;
  height: 28px;
  border: 2.5px solid color-mix(in srgb, var(--muted) 28%, transparent);
  border-top-color: color-mix(in srgb, var(--muted) 72%, var(--text, #64748b));
  border-radius: 50%;
  animation: pro-ops-round-spin 0.75s linear infinite;
}
@keyframes pro-ops-round-spin {
  to {
    transform: rotate(360deg);
  }
}
.pro-ops-shell .pro-field {
  gap: 4px;
}
.pro-ops-shell .binding-grid {
  gap: 8px;
}
/* 顶栏已藏策略/品种下拉，勿沿用编队三列网格，否则「保守」等只占约 1/3 宽 */
.pro-ops-shell .pro-ops-grid.binding-grid,
.pro-ops-shell .sleeve-unit-card .binding-grid,
.pro-ops-shell .sleeve-unit-card .binding-grid.is-custom-product {
  grid-template-columns: 1fr;
}
@container fund-app (min-width: 720px) {
  .pro-ops-shell .pro-ops-grid {
    grid-template-columns: 1fr;
    gap: 8px;
    align-items: stretch;
  }
}
.pro-ops-shell .sleeve-account,
.pro-ops-shell .binding-grid .pro-field select,
.pro-ops-shell .binding-grid .pro-field input[type="text"] {
  width: 100%;
  min-height: 38px;
  border: 0;
  border-radius: 10px;
  padding: 7px 11px;
  background: var(--chip-bg, var(--panel-2));
  color: var(--ink);
  font-size: 14px;
  font-weight: 700;
  box-shadow: none;
}
.pro-ops-shell .sleeve-account,
.pro-ops-shell .binding-grid .pro-field select {
  appearance: none;
  -webkit-appearance: none;
  background-image: none;
  padding-right: 28px;
}
.pro-ops-shell .pro-field:has(> select) {
  position: relative;
}
.pro-ops-shell .pro-field:has(> select)::after {
  content: "▾";
  position: absolute;
  right: 11px;
  bottom: 12px;
  pointer-events: none;
  font-size: 11px;
  line-height: 1;
  font-weight: 400;
  color: var(--muted);
}
.pro-ops-input-wrap {
  display: flex;
  align-items: center;
  gap: 6px;
  min-height: 38px;
  padding-right: 11px;
  border-radius: 10px;
  background: var(--chip-bg, var(--panel-2));
  overflow: hidden;
}
/* 夜间 .app input 通铺会盖灰条圆角，内层须透明 */
html[data-theme="dark"] #pro-ops-box.pro-ops-shell .pro-ops-input-wrap input,
html[data-theme="dark"] #pro-ops-box.pro-ops-shell .pro-ops-input-wrap .sleeve-invest,
html[data-theme="dark"] #pro-ops-box.pro-ops-shell .pro-ops-input-wrap .sleeve-base-notional,
html[data-theme="dark"] #pro-ops-box.pro-ops-shell .pro-ops-input-wrap .sleeve-open-edge,
html[data-theme="dark"] #pro-ops-box.pro-ops-shell .pro-ops-input-wrap .sleeve-flat-edge {
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
.pro-ops-input-wrap .sleeve-invest,
.pro-ops-input-wrap .sleeve-base-notional,
.pro-ops-input-wrap .sleeve-open-edge,
.pro-ops-input-wrap .sleeve-flat-edge {
  flex: 1;
  min-width: 0;
  min-height: 36px;
  padding: 7px 6px 7px 11px;
  font-size: 14px;
  font-weight: 700;
  border: 0;
  outline: none;
  background: transparent;
  color: var(--ink);
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: textfield;
  box-shadow: none;
  border-radius: 0;
}
.pro-ops-input-wrap .sleeve-invest:focus,
.pro-ops-input-wrap .sleeve-invest:focus-visible,
.pro-ops-input-wrap .sleeve-base-notional:focus,
.pro-ops-input-wrap .sleeve-base-notional:focus-visible,
.pro-ops-input-wrap .sleeve-open-edge:focus,
.pro-ops-input-wrap .sleeve-open-edge:focus-visible,
.pro-ops-input-wrap .sleeve-flat-edge:focus,
.pro-ops-input-wrap .sleeve-flat-edge:focus-visible,
.pro-ops-input-wrap:focus-within {
  outline: none;
  border-color: transparent;
  box-shadow: none;
  background: transparent;
}
.pro-ops-input-wrap:focus-within {
  background: var(--chip-bg, var(--panel-2));
}
.pro-ops-input-wrap .sleeve-invest::-webkit-outer-spin-button,
.pro-ops-input-wrap .sleeve-invest::-webkit-inner-spin-button,
.pro-ops-input-wrap .sleeve-base-notional::-webkit-outer-spin-button,
.pro-ops-input-wrap .sleeve-base-notional::-webkit-inner-spin-button,
.pro-ops-input-wrap .sleeve-flat-edge::-webkit-outer-spin-button,
.pro-ops-input-wrap .sleeve-flat-edge::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.pro-ops-input-wrap em {
  font-style: normal;
  font-size: 12px;
  font-weight: 700;
  color: var(--muted);
}
.pro-ops-input-wrap .pro-ops-fiat-unit-btn {
  flex-shrink: 0;
  margin: 0 2px 0 0;
  padding: 2px 0 2px 4px;
  font-size: 12px;
  font-weight: 700;
  color: var(--muted);
  border-radius: 6px;
}
.pro-ops-input-wrap .pro-ops-fiat-unit-btn:hover {
  color: var(--ink);
  background: color-mix(in srgb, var(--ink) 6%, transparent);
}
.pro-ops-input-wrap .pro-ops-fiat-unit-btn .pro-ops-chev {
  font-size: 11px;
  margin-left: 1px;
}
.pro-ops-invest-row {
  margin-top: 10px;
}
.pro-ops-shell .binding-field-invest.pro-ops-invest-row {
  margin-bottom: 2px;
}
.pro-ops-shell .binding-field-invest + .pro-ops-dual-iface-hint[hidden] + .pro-ops-manual-fields,
.pro-ops-shell .binding-field-invest + .pro-ops-manual-fields {
  margin-top: 12px;
}
.pro-ops-invest-lab-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
  margin-bottom: 5px;
}
.pro-ops-invest-lab-txt {
  min-width: 0;
}
.pro-ops-invest-lab-row--auto {
  align-items: center;
}
.pro-ops-invest-lab-start {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  flex: 1 1 auto;
}
.pro-ops-invest-lab-row--auto .pro-ops-edge-hit {
  flex-shrink: 0;
  margin-left: 8px;
}
.pro-ops-lev-hit {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  gap: 2px;
  margin: 0;
  padding: 2px 0;
  border: 0;
  background: transparent;
  color: var(--ink);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.pro-ops-lev-hit .pro-ops-chev {
  font-size: 11px;
  color: var(--muted);
}
/* 产品页 · 调整杠杆抽屉（对齐交易所式信息层级） */
#pro-ops-lev-sheet.fee-tip-modal.pro-ops-sheet.is-mobile-drawer .pro-ops-lev-card,
#pro-ops-edge-sheet.fee-tip-modal.pro-ops-sheet.is-mobile-drawer .pro-ops-lev-card {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  border-radius: 18px 18px 0 0 !important;
  padding: 6px 20px calc(16px + env(safe-area-inset-bottom, 0px)) !important;
  box-sizing: border-box;
}
#pro-ops-lev-sheet.fee-tip-modal.pro-ops-sheet.is-desk-pop .pro-ops-lev-card,
#pro-ops-edge-sheet.fee-tip-modal.pro-ops-sheet.is-desk-pop .pro-ops-lev-card {
  width: min(400px, calc(100vw - 32px)) !important;
  border-radius: 16px !important;
  padding: 16px 20px 20px !important;
}
.pro-ops-lev-card {
  display: flex;
  flex-direction: column;
  gap: 0;
  background: var(--panel, #fff);
  color: var(--ink);
  border: 0;
  box-shadow: none;
}
.pro-ops-lev-head {
  position: relative;
  padding: 4px 36px 14px 0;
  margin-bottom: 4px;
  border-bottom: 1px solid var(--line);
}
.pro-ops-lev-head h4 {
  margin: 0;
  font-size: 17px;
  font-weight: 800;
  line-height: 1.25;
  letter-spacing: -0.01em;
}
.pro-ops-lev-sub {
  margin: 6px 0 0;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.3;
  color: var(--muted);
}
.pro-ops-lev-head .pro-ops-lev-close,
.pro-ops-lev-head .fee-x {
  position: absolute;
  top: 0;
  right: -4px;
  width: 36px;
  height: 36px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--muted);
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
}
@media (max-width: 899px) {
  .pro-ops-lev-head .pro-ops-lev-close,
  .pro-ops-lev-head .fee-x {
    display: none !important;
  }
  .pro-ops-lev-head {
    padding-right: 0;
  }
}
.pro-ops-lev-stage {
  padding: 18px 0 20px;
}
.pro-ops-lev-cur {
  margin: 0 0 16px;
  text-align: center;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.3;
  color: var(--muted);
  font-variant-numeric: tabular-nums;
}
.pro-ops-lev-stepper {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
}
.pro-ops-lev-step {
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  border: 1px solid var(--card-line, var(--line));
  border-radius: 50%;
  background: var(--panel, #fff);
  color: var(--ink);
  font-size: 20px;
  font-weight: 500;
  line-height: 1;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.pro-ops-lev-step:active {
  background: var(--chip-bg, var(--panel-2));
}
.pro-ops-lev-input-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 2px;
  min-width: 112px;
}
/* 无框数字 + 大号 ×（覆盖 fee-sheet 全局 input 线框与手机 14px 字号） */
#pro-ops-lev-sheet.fee-tip-modal .fee-sheet input.pro-ops-lev-input,
#pro-ops-edge-sheet.fee-tip-modal .fee-sheet input.pro-ops-edge-input,
.pro-ops-lev-input,
.pro-ops-edge-input {
  width: auto;
  min-width: 1.1em;
  max-width: 148px;
  margin: 0;
  padding: 0;
  border: 0 !important;
  outline: none !important;
  box-shadow: none !important;
  background: transparent !important;
  color: var(--ink);
  font-size: 52px !important;
  font-weight: 800;
  line-height: 1;
  text-align: center;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.03em;
  -moz-appearance: textfield;
  appearance: textfield;
  -webkit-text-fill-color: var(--ink);
  caret-color: var(--ink);
}
#pro-ops-lev-sheet.fee-tip-modal .fee-sheet input.pro-ops-lev-input:focus,
#pro-ops-lev-sheet.fee-tip-modal .fee-sheet input.pro-ops-lev-input:focus-visible,
#pro-ops-edge-sheet.fee-tip-modal .fee-sheet input.pro-ops-edge-input:focus,
#pro-ops-edge-sheet.fee-tip-modal .fee-sheet input.pro-ops-edge-input:focus-visible,
.pro-ops-lev-input:focus,
.pro-ops-lev-input:focus-visible,
.pro-ops-edge-input:focus,
.pro-ops-edge-input:focus-visible {
  border: 0 !important;
  outline: none !important;
  box-shadow: none !important;
  background: transparent !important;
}
.pro-ops-lev-input::-webkit-outer-spin-button,
.pro-ops-lev-input::-webkit-inner-spin-button,
.pro-ops-edge-input::-webkit-outer-spin-button,
.pro-ops-edge-input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
#pro-ops-edge-sheet.fee-tip-modal .fee-sheet input.pro-ops-edge-input,
.pro-ops-edge-input {
  font-size: 44px !important;
  max-width: 120px;
}
#pro-ops-edge-sheet .pro-ops-edge-unit {
  font-size: 28px;
  font-weight: 800;
  line-height: 1;
  color: var(--ink);
}
.pro-ops-lev-x {
  flex-shrink: 0;
  font-size: 38px;
  font-weight: 800;
  line-height: 1;
  color: var(--ink);
  letter-spacing: -0.02em;
  transform: none;
}
html[data-theme="dark"] #pro-ops-lev-sheet.fee-tip-modal .fee-sheet input.pro-ops-lev-input,
html[data-theme="dark"] #pro-ops-lev-sheet.fee-tip-modal:not(.radar-sheet) .fee-sheet input.pro-ops-lev-input,
html[data-theme="dark"] #pro-ops-edge-sheet.fee-tip-modal .fee-sheet input.pro-ops-edge-input,
html[data-theme="dark"] #pro-ops-edge-sheet.fee-tip-modal:not(.radar-sheet) .fee-sheet input.pro-ops-edge-input {
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  color: var(--ink) !important;
  -webkit-text-fill-color: var(--ink) !important;
}
.pro-ops-lev-pills {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
  margin: 0 0 16px;
}
.pro-ops-edge-slider {
  margin: 0 0 16px;
  padding: 4px 0 0;
}
.pro-ops-edge-slider .size-slider-wrap {
  margin: 0;
}
.pro-ops-edge-slider .size-slider-track {
  margin: 8px 0 6px;
}
.pro-ops-edge-marks {
  display: flex;
  justify-content: space-between;
  font-size: 11px;
  font-weight: 600;
  color: var(--muted);
  font-variant-numeric: tabular-nums;
}
.pro-ops-lev-pill {
  min-width: 0;
  padding: 10px 4px;
  border-radius: 999px;
  border: 1px solid var(--card-line, var(--line));
  background: var(--panel, #fff);
  color: var(--ink);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.pro-ops-lev-pill.on {
  border-color: var(--ink);
  background: var(--ink);
  color: var(--panel, #fff);
}
html[data-theme="dark"] .pro-ops-lev-step {
  background: var(--panel-2);
}
html[data-theme="dark"] .pro-ops-lev-pill {
  background: var(--panel-2);
}
html[data-theme="dark"] .pro-ops-lev-pill.on {
  background: #fff;
  color: #111;
  border-color: #fff;
}
.pro-ops-lev-hint {
  margin: 0 0 16px;
  padding: 12px 14px;
  border-radius: 12px;
  background: var(--chip-bg, var(--panel-2));
  font-size: 12px;
  font-weight: 500;
  line-height: 1.5;
  color: color-mix(in srgb, var(--ink) 55%, var(--muted));
}
.pro-ops-lev-foot {
  margin-top: auto;
  padding-top: 4px;
}
.pro-ops-lev-sheet .pro-ops-lev-confirm {
  width: 100%;
  min-height: 48px;
  border-radius: 24px;
  font-size: 16px;
  font-weight: 800;
}
.pro-ops-margin-force-row {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-top: 12px;
  font-size: 13px;
  line-height: 1.4;
  color: var(--muted);
}
.pro-ops-margin-force-row input {
  margin-top: 3px;
  flex-shrink: 0;
}
.pro-ops-dual-iface-hint {
  margin: 6px 0 0;
  font-size: 12px;
  line-height: 1.45;
  color: var(--muted);
}
.pro-ops-dual-iface-hint.is-warn {
  color: #b45309;
}
.pro-ops-dual-iface-hint.is-err {
  color: #dc2626;
}
.pro-ops-dual-leg-list {
  margin: 10px 0;
  padding-left: 18px;
  font-size: 13px;
  line-height: 1.5;
}
.pro-ops-dual-skew-block {
  color: #dc2626;
  font-weight: 600;
}
.pro-ops-shell[data-pro-mode="auto"] .pro-ops-manual-fields {
  display: none !important;
}
.pro-ops-shell[data-pro-mode="auto"] .pro-ops-invest-lab-row--manual {
  display: none !important;
}
.pro-ops-shell[data-pro-mode="manual"] .pro-ops-invest-lab-row--auto {
  display: none !important;
}
.pro-ops-manual-fields {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 12px;
}
.pro-ops-manual-fields .pro-ops-invest-row {
  margin-top: 0;
}
.pro-ops-edge-ctrl-row .pro-ops-invest-lab-row {
  margin-bottom: 0;
}
.pro-ops-edge-hit-val {
  font-variant-numeric: tabular-nums;
}
.pro-ops-edge-input-wrap .pro-ops-edge-unit {
  font-size: 14px;
  font-weight: 700;
  color: var(--muted);
}
.pro-ops-manual-row .pro-field-lab {
  margin-bottom: 5px;
  font-size: 12px;
  font-weight: 700;
  color: var(--muted);
}
.pro-ops-manual-fields .sleeve-lev {
  width: 100%;
  min-height: 36px;
  border: 0;
  border-radius: 10px;
  padding: 7px 10px;
  background: transparent;
  color: var(--ink);
  font-size: 14px;
  font-weight: 700;
  appearance: none;
}
/* 产品页模式切换：≥900px 仅调分段条；表单保持默认紧凑（三栏右栏 ~400px，勿放大触控尺寸） */
@media (min-width: 900px) {
  .pro-ops-mode-seg {
    margin-bottom: 12px;
    padding: 0;
  }
  .pro-ops-mode-seg-thumb {
    top: 0;
    bottom: 0;
    left: 0;
    width: 50%;
  }
  .pro-ops-mode-seg[data-pro-mode-seg="manual"] .pro-ops-mode-seg-thumb {
    transform: translateX(100%);
  }
  html:not([data-theme="dark"]) .pro-ops-mode-seg {
    padding: 4px;
    overflow: hidden;
  }
  html:not([data-theme="dark"]) .pro-ops-mode-seg-thumb {
    top: 4px;
    bottom: 4px;
    left: 4px;
    width: calc(50% - 4px);
    box-sizing: border-box;
    background: #fff;
    border: 1px solid var(--line, rgba(21, 32, 43, 0.14));
    transform: none;
  }
  html:not([data-theme="dark"]) .pro-ops-mode-seg[data-pro-mode-seg="manual"] .pro-ops-mode-seg-thumb {
    left: 50%;
    transform: none;
  }
  /* 电脑三栏：右栏配置区专用紧凑密度（压过 .pro-ops-primary 全宽默认） */
  html:has(#tab-strategy.on) .pro-ops-desk-side .pro-ops-shell .sleeve-unit-card,
  html:has(#tab-strategy.on) .pro-ops-desk-side .pro-ops-shell .sleeve-unit-card.is-focus {
    padding-bottom: 10px;
  }
  html:has(#tab-strategy.on) .pro-ops-desk-side .pro-ops-shell .binding-grid {
    gap: 8px;
  }
  html:has(#tab-strategy.on) .pro-ops-desk-side .pro-ops-manual-fields {
    gap: 8px;
    margin-top: 10px;
  }
  html:has(#tab-strategy.on) .pro-ops-desk-side .pro-ops-invest-row {
    margin-top: 8px;
  }
  html:has(#tab-strategy.on) .pro-ops-desk-side .pro-ops-dock .pro-ops-primary {
    min-height: 40px;
    border-radius: 20px;
    font-size: 14px;
  }
}
.pro-ops-shell .sleeve-actions {
  display: none !important;
}
.pro-ops-shell .sleeve-add-btn {
  width: 100%;
  min-height: 44px;
  margin-top: 4px;
  border: 0;
  border-radius: 12px;
  background: transparent;
  color: var(--muted);
  font-size: 14px;
  font-weight: 700;
  box-shadow: inset 0 0 0 1px var(--card-line, var(--line));
}
.pro-ops-shell[data-pro-mode="auto"] .btn.sleeve-rm {
  background: transparent;
  color: var(--muted);
  box-shadow: none;
  padding: 4px 0;
  font-size: 12px;
  font-weight: 700;
}
.pro-ops-sheet {
  z-index: var(--z-modal-above-drawer, 13120);
  pointer-events: none;
}
.fee-tip.pro-ops-sheet.open,
.fee-tip-modal.pro-ops-sheet.open,
.fee-tip.pro-ops-sheet.on,
.fee-tip-modal.pro-ops-sheet.on {
  z-index: var(--z-modal-above-drawer, 13120) !important;
}
.fee-tip.pro-ops-sheet.open,
.fee-tip-modal.pro-ops-sheet.open {
  opacity: 1;
}
.pro-ops-sheet.open {
  pointer-events: auto;
}
.fee-tip-modal.pro-ops-sheet.is-desk-pop,
.fee-tip-modal.pro-ops-sheet.is-mobile-drawer {
  background: var(--modal-scrim, rgba(6, 10, 16, 0.55));
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
.fee-tip-modal.pro-ops-sheet.is-desk-pop:not([hidden]) {
  display: grid;
  place-items: center;
  padding: 16px;
}
.fee-tip-modal.pro-ops-sheet.is-mobile-drawer:not([hidden]) {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: stretch !important;
  place-items: unset !important;
  /* 与持仓 hold-more 一致：外壳贴底，安全区由 .fee-sheet 内边距 + 白底填充 */
  padding: 0 !important;
  box-sizing: border-box;
}
/* 贴底抽屉：高度随内容，禁止 stretch 拉高后底部露出遮罩灰带 */
.fee-tip-modal.pro-ops-sheet.is-mobile-drawer:not([hidden]) > .fee-sheet {
  align-self: flex-end !important;
  flex: 0 0 auto !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
  background: var(--sheet, var(--panel, #fff)) !important;
}
.fee-tip-modal.pro-ops-sheet[hidden],
.fee-tip.pro-ops-sheet[hidden] {
  display: none !important;
  pointer-events: none !important;
  visibility: hidden !important;
}
.fee-tip-modal.pro-ops-sheet:not(.open):not(.on) {
  pointer-events: none !important;
}
.fee-tip-modal.pro-ops-sheet.is-mobile-drawer .pro-ops-sheet-card.hold-more-card {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  max-height: min(86dvh, calc(100dvh - env(safe-area-inset-top, 0px) - 12px)) !important;
  border-radius: 18px 18px 0 0 !important;
  padding: 6px 0 calc(12px + env(safe-area-inset-bottom, 0px)) !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  touch-action: auto !important;
  animation: me-drawer-up 0.3s cubic-bezier(0.22, 1, 0.36, 1);
  box-shadow: 0 -12px 40px rgba(12, 20, 28, 0.2);
  box-sizing: border-box;
}
.fee-tip-modal.pro-ops-sheet.is-mobile-drawer .hold-more-grab {
  display: block;
}
.pro-ops-sheet-card {
  margin: auto auto 0;
  max-height: min(78vh, 640px);
  border-radius: 16px 16px 0 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  background: var(--sheet, var(--panel, #fff));
}
.pro-ops-sheet-card.hold-more-card {
  width: min(420px, calc(100vw - 32px));
}
.sleeve-unit-card .sleeve-inst-swipe {
  margin: 0 0 8px;
}
.sleeve-unit-card .sleeve-inst-swipe .cp-swipe-panel {
  background: var(--panel, #fff);
}
html[data-theme="dark"] .sleeve-unit-card .sleeve-inst-swipe .cp-swipe-panel,
html[data-theme="dark"] .sleeve-unit-card .sleeve-inst-swipe .cp-swipe-track {
  background: var(--panel-2, #151c24);
}
html[data-theme="dark"] .sleeve-unit-card .sleeve-inst-swipe .cp-swipe-track {
  border-color: rgba(255, 255, 255, 0.1);
}
.fee-tip-modal.pro-ops-sheet.is-desk-pop .pro-ops-sheet-card {
  margin: 0 !important;
  max-height: min(86vh, calc(100vh - 32px)) !important;
  animation: none !important;
  box-shadow: 0 16px 48px rgba(12, 20, 28, 0.22);
}
.fee-tip-modal.pro-ops-sheet.is-desk-pop .pro-ops-sheet-card.hold-more-card {
  border-radius: 18px !important;
  padding: 8px 0 14px !important;
  margin-bottom: 0 !important;
  width: min(400px, calc(100vw - 32px)) !important;
}
.fee-tip-modal.pro-ops-sheet.is-desk-pop .pro-ops-sheet-card.hold-more-card.is-pro-ops-product {
  padding: 6px 0 calc(14px + env(safe-area-inset-bottom, 0px)) !important;
}
.fee-tip-modal.pro-ops-sheet.is-desk-pop .hold-more-grab,
.fee-tip-modal.pro-ops-sheet.is-desk-pop .mkt-pick-grab {
  display: none;
}
.pro-ops-sheet-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 8px 16px 10px;
  flex-shrink: 0;
}
.pro-ops-sheet-head h3 {
  margin: 0;
  font-size: 16px;
  font-weight: 800;
}
.pro-ops-sym-sheet-tools {
  flex-shrink: 0;
  padding: 0 16px 10px;
}
/* 品种抽屉 = 市场页 mkt-pick-sheet（现货/合约分段 + 图标行 + 右侧 ✓） */
.fund-symbol-pick-sheet .pro-ops-sheet-card.mkt-pick-sheet {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  background: var(--panel, #fff);
  color: var(--ink);
  border: 1px solid var(--line, color-mix(in srgb, var(--ink, #111) 16%, transparent));
  border-bottom: 0;
  border-radius: 16px 16px 0 0 !important;
  padding: 6px 16px calc(22px + env(safe-area-inset-bottom, 0px)) !important;
  box-shadow: 0 -8px 28px rgba(0, 0, 0, 0.18);
  box-sizing: border-box;
  touch-action: auto !important;
}
html[data-theme="dark"] .fund-symbol-pick-sheet .pro-ops-sheet-card.mkt-pick-sheet {
  box-shadow: 0 -10px 32px rgba(0, 0, 0, 0.45);
}
.fund-symbol-pick-sheet .pro-ops-sym-sheet-tools {
  padding: 0;
}
.fund-symbol-pick-sheet .pro-ops-symbol-list.mkt-pick-list {
  flex: 1 1 auto;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  padding: 0;
  margin: 0;
}
.fund-symbol-pick-sheet.fee-tip-modal.pro-ops-sheet.is-mobile-drawer .pro-ops-sheet-card.mkt-pick-sheet {
  max-height: min(86dvh, calc(100dvh - env(safe-area-inset-top, 0px) - 12px)) !important;
  height: auto !important;
}
.fund-symbol-pick-sheet.fee-tip-modal.pro-ops-sheet.is-desk-pop .mkt-pick-sheet.is-venues {
  width: min(360px, calc(100vw - 32px)) !important;
  max-width: min(360px, calc(100vw - 32px)) !important;
  border-radius: 16px !important;
  border-bottom: 1px solid var(--line, color-mix(in srgb, var(--ink, #111) 16%, transparent));
  padding: 8px 12px 14px !important;
  margin: 0 !important;
  box-shadow: 0 16px 48px rgba(12, 20, 28, 0.22);
}
/* 产品页 ⋯：与持仓卡 hold-more-sheet 同款（分段 + 4 列图标 + 教学页签） */
#pro-ops-more-sheet.fee-tip-modal.hold-more-sheet.is-mobile-drawer .hold-more-card.fee-sheet {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  max-height: min(78dvh, calc(100dvh - env(safe-area-inset-top, 0px) - 12px)) !important;
  border-radius: 18px 18px 0 0 !important;
  padding: 6px 14px calc(18px + env(safe-area-inset-bottom, 0px)) !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  box-sizing: border-box;
  touch-action: auto !important;
}
#pro-ops-more-sheet.fee-tip-modal.hold-more-sheet.is-desk-pop {
  display: grid !important;
  place-items: center;
  padding: 16px !important;
}
#pro-ops-more-sheet.fee-tip-modal.hold-more-sheet.is-desk-pop .hold-more-card.fee-sheet {
  width: min(400px, calc(100vw - 32px)) !important;
  max-height: min(86vh, calc(100vh - 32px)) !important;
  border-radius: 18px !important;
  margin: 0 !important;
}
#pro-ops-more-sheet .hold-more-pane {
  flex: 0 0 auto;
  min-height: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
#pro-ops-more-sheet .hold-more-pane[data-pro-more-pane="teach"] {
  flex: 1 1 auto;
  min-height: 0;
  max-height: min(52dvh, calc(100dvh - 220px));
}
.pro-ops-sym-kind-seg {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  padding: 3px;
  border-radius: 999px;
  background: var(--chip-bg, var(--panel-2));
}
.pro-ops-sym-kind-btn {
  margin: 0;
  padding: 9px 10px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--muted);
  font: inherit;
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.pro-ops-sym-kind-btn.on {
  background: var(--panel, #fff);
  color: var(--ink);
  box-shadow: 0 1px 4px rgba(15, 23, 42, 0.08);
}
.pro-ops-product-list,
.pro-ops-symbol-list {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  padding: 0;
  -webkit-overflow-scrolling: touch;
}
.pro-ops-pick-cards {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 0 0 calc(12px + env(safe-area-inset-bottom, 0px));
  background: var(--panel, #fff);
}
.pro-ops-product-list.pro-ops-pick-cards {
  gap: 10px;
  padding: 6px 16px 12px;
}
.fee-tip-modal.pro-ops-sheet.is-mobile-drawer .pro-ops-product-list.pro-ops-pick-cards,
.fee-tip-modal.pro-ops-sheet.is-mobile-drawer .pro-ops-symbol-list.pro-ops-pick-cards {
  flex: 1 1 auto;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  scroll-padding-bottom: 20px;
  padding: 6px 16px 22px;
  touch-action: pan-y;
}
.fee-tip-modal.pro-ops-sheet.is-mobile-drawer .pro-ops-symbol-list.pro-ops-pick-cards {
  padding-bottom: calc(22px + env(safe-area-inset-bottom, 0px));
}
html:not([data-theme="dark"]) .fee-tip-modal.pro-ops-sheet .pro-ops-sheet-card.hold-more-card,
html:not([data-theme="dark"]) .pro-ops-pick-cards {
  background: #fff;
}
html[data-theme="dark"] .pro-ops-pick-cards {
  background: var(--panel, #121820);
}
/* 产品页底抽屉 · 夜间：仅顶线（覆盖 04-shell 对 .fee-sheet 的四边 border） */
html[data-theme="dark"] .fee-tip-modal.pro-ops-sheet.is-mobile-drawer:not(.is-desk-pop) > .fee-sheet,
html[data-theme="dark"] #pro-ops-product-sheet.fee-tip-modal.pro-ops-sheet.is-mobile-drawer > .fee-sheet,
html[data-theme="dark"] #pro-ops-symbol-sheet.fee-tip-modal.pro-ops-sheet.is-mobile-drawer > .fee-sheet,
html[data-theme="dark"] #pro-ops-more-sheet.fee-tip-modal.pro-ops-sheet.is-mobile-drawer > .fee-sheet,
html[data-theme="dark"] #pro-ops-lev-sheet.fee-tip-modal.pro-ops-sheet.is-mobile-drawer > .fee-sheet,
html[data-theme="dark"] #pro-ops-edge-sheet.fee-tip-modal.pro-ops-sheet.is-mobile-drawer > .fee-sheet,
html[data-theme="dark"] #pro-ops-instances-sheet.fee-tip-modal.pro-ops-sheet.is-mobile-drawer > .fee-sheet,
html[data-theme="dark"] #pro-ops-round-sheet.fee-tip-modal.pro-ops-sheet.is-mobile-drawer > .fee-sheet {
  border: 0 !important;
  border-top: 1px solid var(--card-line, rgba(255, 255, 255, 0.14)) !important;
  border-bottom: 0 !important;
  box-shadow: 0 -18px 48px rgba(0, 0, 0, 0.55) !important;
}
/* 持仓/产品「更多」宫格抽屉 · 手机贴底仅顶线（详终局规则见 05-products.css 文件末） */
html[data-theme="dark"] .fee-tip-modal.pro-ops-sheet.hold-more-sheet.is-mobile-drawer:not(.is-desk-pop) > .fee-sheet.hold-more-card,
.fee-tip-modal.hold-more-sheet.is-mobile-drawer:not(.is-desk-pop) > .fee-sheet.hold-more-card {
  border-width: 0 !important;
  border-top-width: 1px !important;
  border-top-color: var(--card-line, var(--line)) !important;
  border-left-width: 0 !important;
  border-right-width: 0 !important;
  border-bottom-width: 0 !important;
  box-shadow: none !important;
}
/* 预估整轮收益抽屉 · 手机贴底：仅顶线（覆盖 fee-sheet 四边 border） */
.fee-tip-modal.pro-ops-round-sheet.is-mobile-drawer:not(.is-desk-pop) > .fee-sheet.pro-ops-round-card {
  border: 0 !important;
  border-top: 1px solid var(--card-line, var(--line)) !important;
  border-left: 0 !important;
  border-right: 0 !important;
  border-bottom: 0 !important;
}
.pro-ops-strat-card {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  margin: 0;
  padding: 14px 16px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--ink);
  font: inherit;
  text-align: left;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  box-sizing: border-box;
  box-shadow: none;
  border-bottom: 1px solid var(--line);
}
.pro-ops-strat-card:last-child {
  border-bottom: 0;
}
/* 产品抽屉：独立线框卡须保留四边描边（勿被 :last-child 去掉底边） */
.pro-ops-product-list.pro-ops-pick-cards > .pro-ops-strat-card--prod:last-child,
.pro-ops-symbol-list.pro-ops-pick-cards > .pro-ops-strat-card--sym:last-child {
  border-bottom: 1px solid var(--card-line, var(--line));
}
.pro-ops-product-list.pro-ops-pick-cards > .pro-ops-strat-card--prod.is-on:last-child,
.pro-ops-symbol-list.pro-ops-pick-cards > .pro-ops-strat-card--sym.is-on:last-child {
  border: 2px solid var(--ink);
}
.pro-ops-strat-card:active {
  background: color-mix(in srgb, var(--ink) 4%, transparent);
}
.pro-ops-strat-card--prod {
  border: 1px solid var(--card-line, var(--line));
  border-radius: 14px;
  border-bottom: 1px solid var(--card-line, var(--line));
  padding: 14px 14px;
  background: var(--panel, #fff);
}
html:not([data-theme="dark"]) .pro-ops-strat-card--prod {
  background: #fff;
}
.pro-ops-strat-card--prod:active {
  background: color-mix(in srgb, var(--ink) 3%, #fff);
}
.pro-ops-strat-card--prod.is-on {
  border: 2px solid var(--ink);
  padding: 13px 13px;
  background: var(--panel, #fff);
}
.pro-ops-strat-card--prod.is-sym-locked {
  opacity: 0.42;
}
html:not([data-theme="dark"]) .pro-ops-strat-card--prod.is-on {
  background: #fff;
}
.pro-ops-strat-card-ico {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pro-ops-strat-ico-plain {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--ink);
}
.pro-ops-strat-ico-svg {
  width: 28px;
  height: 28px;
  display: block;
}
.pro-ops-strat-logo {
  width: 28px;
  height: 28px;
  display: block;
  object-fit: contain;
}
/* 自己创建的产品：管理端产品头像同款粗环，单色跟文字色，不要红 */
.pro-ops-own-avatar {
  width: 22px;
  height: 22px;
  box-sizing: border-box;
  border-radius: 50%;
  background: transparent;
  border: 5px solid currentColor;
  color: inherit;
}
.pro-ops-strat-card--prod .pro-ops-pick-body {
  gap: 0;
  min-width: 0;
}
.pro-ops-strat-card--prod .pro-ops-pick-title {
  font-size: 16px;
  font-weight: 800;
}
.pro-ops-pick-row--drawer {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.pro-ops-strat-card .pro-ops-pick-row--drawer {
  align-items: flex-start;
}
.pro-ops-pick-leading {
  flex: 0 0 auto;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pro-ops-pick-ico-img,
.pro-ops-pick-ico-ph {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  object-fit: cover;
}
.pro-ops-pick-prod-glyph {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  font-size: 15px;
  font-weight: 800;
  color: var(--ink);
  background: var(--chip-bg, var(--panel-2));
  box-shadow: inset 0 0 0 1px var(--card-line, var(--line));
}
.pro-ops-pick-body {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.pro-ops-pick-title-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}
.pro-ops-pick-title {
  font-size: 16px;
  font-weight: 800;
  line-height: 1.25;
}
.pro-ops-pick-pill {
  display: inline-flex;
  align-items: center;
  padding: 1px 6px;
  border-radius: 4px;
  font-size: 10px;
  font-weight: 800;
  line-height: 1.35;
  color: #3d8b2a;
  background: #e8f5e3;
}
html[data-theme="dark"] .pro-ops-pick-pill {
  color: #86efac;
  background: rgba(34, 197, 94, 0.18);
}
.pro-ops-pick-sub {
  margin-top: 6px;
  font-size: 12px;
  font-weight: 500;
  color: var(--muted);
  line-height: 1.45;
}
.pro-ops-pick-check {
  display: none;
}
.pro-ops-pick-empty {
  margin: 0;
  padding: 32px 20px;
  text-align: center;
  font-size: 14px;
  font-weight: 600;
  color: var(--muted);
  background: transparent;
  border: 0;
}
.pro-ops-sheet.is-empty .hold-more-grab,
.pro-ops-sheet.is-empty .pro-ops-sheet-head,
.pro-ops-sheet.is-empty .pro-ops-sym-sheet-tools {
  display: none !important;
}
.pro-ops-sheet.is-empty .pro-ops-sheet-card {
  background: var(--panel, #fff);
  min-height: min(36vh, 240px);
}
.pro-ops-sheet.is-empty .pro-ops-pick-cards {
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  padding: 0;
  background: var(--panel, #fff);
  min-height: min(36vh, 240px);
}
.fee-tip-modal.pro-ops-sheet.is-empty.is-mobile-drawer .pro-ops-sheet-card.hold-more-card {
  max-height: min(42vh, 280px) !important;
}
body.pro-ops-sheet-open {
  overflow: hidden;
}
html:has(#tab-strategy.on) body.pro-ops-sheet-open #tab-strategy.panel.on {
  padding-bottom: 0 !important;
}
/* 策略弹窗：背后主界面不可点（侧栏图标仍可见）；仅弹层内可操作 */
body.pro-ops-sheet-open .app,
body.pro-ops-sheet-open .brand-rail,
body.pro-ops-sheet-open .shell {
  pointer-events: none !important;
}
body.pro-ops-sheet-open .fee-tip.pro-ops-sheet.open,
body.pro-ops-sheet-open .fee-tip.pro-ops-sheet.on,
body.pro-ops-sheet-open .fee-tip-modal.pro-ops-sheet.open,
body.pro-ops-sheet-open .fee-tip-modal.pro-ops-sheet.on {
  pointer-events: auto !important;
}
@media (max-width: 899px) {
  body.pro-ops-sheet-open .dock,
  body.pro-ops-sheet-open .brand-rail > .dock,
  body.pro-ops-sheet-open .pro-ops-dock {
    visibility: hidden !important;
  }
}
@media (min-width: 900px) {
  body.pro-ops-sheet-open .brand-rail > .dock {
    visibility: visible !important;
  }
}
/* P6 电脑：中栏 K 线 + 运行列表 | 右栏配置（跟皮肤，不跟研判暗层） */
.pro-ops-desk-mid,
.pro-ops-split-x {
  display: none;
}
@media (min-width: 900px) {
  body.strategy-tab-on #tab-strategy.panel.on {
    padding-bottom: 0;
  }
  /* 与左侧 brand-rail（top/bottom 16px）同高；右栏贴齐视口右缘 */
  html:has(#tab-strategy.on) .app {
    --pro-desk-rail-pad: 16px;
    --pro-desk-edge-r: max(16px, env(safe-area-inset-right, 0px));
    /* 大卡左右外扩：吃一点内容沟槽 + 贴齐视口右安全区（仍保留侧栏 36px 级左距） */
    --pro-desk-outset-l: 12px;
    --pro-desk-outset-r: 8px;
    --pro-desk-card-w: calc(
      100vw - var(--pro-shell-inset) - var(--rail-w, 240px) - var(--fund-content-gap, 36px)
      + var(--pro-desk-outset-l) + var(--pro-desk-outset-r)
      - var(--pro-desk-edge-r)
    );
    padding-top: var(--pro-desk-rail-pad);
    padding-bottom: var(--pro-desk-rail-pad);
    padding-left: var(--fund-content-gap, 36px);
    padding-right: 0;
    min-height: 100vh;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    overflow-x: visible !important;
    overflow-y: hidden;
  }
  /* 左缘=交易页居中壳左缘；右缘铺到视口（产品页比交易页多占右侧） */
  html:has(#tab-strategy.on) .shell {
    --pro-shell-inset: calc((100vw - min(1280px, 100vw - 48px)) / 2);
    margin-left: var(--pro-shell-inset) !important;
    margin-right: 0 !important;
    /* 用 % 对齐 body 右缘，避免 100vw 含滚动条导致整页右裁 */
    width: calc(100% - var(--pro-shell-inset)) !important;
    max-width: none !important;
    justify-content: flex-start;
    overflow-x: visible;
    box-sizing: border-box;
  }
  html:has(#tab-strategy.on) .app > .main {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: visible !important;
  }
  html:has(#tab-strategy.on) #tab-strategy.panel.on {
    flex: 1 1 auto;
    min-height: 0;
    min-width: 0;
    width: 100%;
    box-sizing: border-box;
    padding-bottom: 0 !important;
    padding-right: 0;
    overflow: visible !important;
  }
  html:has(#tab-strategy.on) .pro-ops-desk {
    display: grid;
    /* 右栏固定宽；中栏承担压缩，避免 grid 最小内容宽度把右栏挤出裁切 */
    grid-template-columns: minmax(0, 1fr) 1px var(--pro-side-w, 400px);
    grid-template-rows: minmax(0, 1fr);
    align-items: stretch;
    flex: 1 1 auto;
    min-height: 0;
    min-width: 0;
    height: 100%;
    gap: 0;
    position: relative;
    box-sizing: border-box;
    width: min(100%, var(--pro-desk-card-w));
    max-width: var(--pro-desk-card-w);
    margin-left: calc(-1 * var(--pro-desk-outset-l, 0px));
    margin-right: calc(-1 * var(--pro-desk-outset-r, 0px));
    padding-right: var(--pro-desk-edge-r, 16px);
    border: 1px solid var(--line);
    border-radius: 16px;
    background: var(--bg);
    overflow: hidden;
    box-shadow: var(--shadow);
  }
  html:has(#tab-strategy.on) .pro-ops-desk > .pro-ops-desk-mid {
    grid-column: 1;
    grid-row: 1;
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 0;
    width: auto;
    max-width: none;
    padding-right: 0;
  }
  html:has(#tab-strategy.on) .pro-ops-desk > .pro-ops-split-x {
    grid-column: 2;
    grid-row: 1;
    position: relative;
    top: auto;
    bottom: auto;
    right: auto;
    width: 1px;
    min-height: 0;
    align-self: stretch;
    z-index: 4;
    display: block !important;
  }
  html:has(#tab-strategy.on) .pro-ops-desk > .pro-ops-desk-side {
    grid-column: 3;
    grid-row: 1;
    position: relative;
    top: auto;
    bottom: auto;
    right: auto;
    width: auto;
    min-width: 0;
    max-width: none;
    margin-right: 0 !important;
    padding-right: 0;
    z-index: 1;
    box-sizing: border-box;
    border-radius: 0;
    background: var(--bg);
    border-left: 0;
    box-shadow: none;
    min-height: 0;
    align-self: stretch;
  }
  .pro-ops-desk {
    display: flex;
    flex-direction: row;
    flex: 1 1 auto;
    min-height: 0;
    height: 100%;
    gap: 0;
    position: relative;
  }
  .pro-ops-desk-mid {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-width: 0;
    min-height: 0;
    align-self: stretch;
  }
  .pro-ops-desk-chart {
    flex: 1 1 0;
    min-height: 0;
    display: flex;
    flex-direction: column;
    position: relative;
    background: var(--bg);
    overflow: hidden;
  }
  .pro-ops-kline-host {
    flex: 1 1 0;
    min-height: 0;
    position: relative;
    overflow: hidden;
    background: var(--bg);
    isolation: isolate;
  }
  /* 嵌入 K 线须限制在中栏宿主内；勿用全屏 fixed（会盖住右侧顶栏/product 选择） */
  #pro-ops-kline-host > #mkt-coin-sheet.mkt-coin-sheet.is-pro-embed,
  #pro-ops-kline-host > .mkt-coin-sheet.is-pro-embed,
  #pro-ops-kline-host > [data-pro-embed-kline].mkt-coin-sheet.is-pro-embed {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    z-index: 1 !important;
  }
  .pro-ops-kline-shell.is-pro-embed-skeleton {
    pointer-events: none;
    z-index: 0;
  }
  .pro-ops-kline-host.is-embed-live .pro-ops-kline-shell,
  .pro-ops-kline-shell[hidden] {
    display: none !important;
  }
  .is-pro-embed-skeleton .mkt-coin-venue,
  .is-pro-embed-skeleton .mkt-coin-tabs button,
  .is-pro-embed-skeleton .mkt-coin-bars button,
  .is-pro-embed-skeleton .mkt-coin-ind-row button,
  .is-pro-embed-skeleton .mkt-coin-rail-tabs button {
    cursor: default;
  }
  .is-pro-embed-skeleton .pro-ops-kline-skel-leg {
    color: var(--muted);
    font-size: 11px;
    font-weight: 650;
  }
  .is-pro-embed-skeleton .mkt-coin-ob-skel {
    flex: 1 1 0;
    min-height: 0;
    display: flex;
    flex-direction: column;
    padding: 0 8px 8px;
    box-sizing: border-box;
  }
  .is-pro-embed-skeleton .mkt-coin-ob-row.is-skel .mkt-coin-ob-px,
  .is-pro-embed-skeleton .mkt-coin-ob-row.is-skel .mkt-coin-ob-sz,
  .is-pro-embed-skeleton .mkt-coin-ob-row.is-skel .mkt-coin-ob-sum {
    color: transparent;
    user-select: none;
  }
  .is-pro-embed-skeleton .mkt-coin-ob-row.is-skel .mkt-coin-ob-barbg {
    opacity: 0.22;
  }
  .is-pro-embed-skeleton .mkt-coin-ob-last b {
    visibility: hidden;
  }
  .pro-ops-kline-shell-chart-ph {
    flex: 1 1 auto;
    min-height: 0;
    background: var(--bg);
  }
  @media (max-width: 899px) {
    .pro-ops-kline-shell {
      display: none !important;
    }
  }
  .pro-ops-desk-chart-empty {
    position: absolute;
    inset: 0;
    z-index: 3;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 600;
    color: var(--muted);
    pointer-events: none;
  }
  .pro-ops-desk-chart-empty[hidden] {
    display: none !important;
  }
  .pro-ops-desk-chart.is-kline-pending .pro-ops-kline-shell-chart-ph {
    animation: pro-ops-kline-shimmer 1.2s ease-in-out infinite;
    background-size: 220% 100%, auto, auto;
    background-image: linear-gradient(
        105deg,
        transparent 40%,
        color-mix(in srgb, var(--ink) 5%, transparent) 50%,
        transparent 60%
      ),
      repeating-linear-gradient(
        90deg,
        color-mix(in srgb, var(--line) 70%, transparent) 0,
        color-mix(in srgb, var(--line) 70%, transparent) 1px,
        transparent 1px,
        transparent 48px
      ),
      repeating-linear-gradient(
        0deg,
        color-mix(in srgb, var(--line) 45%, transparent) 0,
        color-mix(in srgb, var(--line) 45%, transparent) 1px,
        transparent 1px,
        transparent 32px
      );
  }
  @keyframes pro-ops-kline-shimmer {
    0% {
      background-position: 120% 0, 0 0, 0 0;
    }
    100% {
      background-position: -120% 0, 0 0, 0 0;
    }
  }
  .pro-ops-split-y,
  .pro-ops-split-x {
    flex: 0 0 1px;
    background: var(--line);
    cursor: row-resize;
    position: relative;
    z-index: 4;
    touch-action: none;
  }
  .pro-ops-split-y::before,
  .pro-ops-split-x::before {
    content: "";
    position: absolute;
    cursor: inherit;
  }
  .pro-ops-split-y::before {
    inset: -4px 0;
  }
  .pro-ops-split-x {
    display: block;
    cursor: col-resize;
  }
  .pro-ops-split-x::before {
    inset: 0 -4px;
  }
  .pro-ops-split-y:hover,
  .pro-ops-split-y.is-drag,
  .pro-ops-split-x:hover,
  .pro-ops-split-x.is-drag {
    background: color-mix(in srgb, var(--line) 55%, var(--ink) 45%);
  }
  html:has(#tab-strategy.on) .pro-ops-desk-mid {
    --pro-run-h: 168px;
  }
  .pro-ops-desk-run {
    flex: 0 0 var(--pro-run-h, 168px);
    min-height: 120px;
    max-height: none;
    display: flex;
    flex-direction: column;
    background: var(--bg);
    border-top: 0;
    margin-top: 0;
    min-width: 0;
  }
  /* 与 embed 行情/概况/交易数据页签同款：底边线 + 选中下划线 */
  .pro-ops-run-top {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
    padding-right: 10px;
    border-bottom: 1px solid var(--line);
    background: var(--bg);
    min-width: 0;
  }
  .pro-ops-run-tabs {
    display: flex;
    gap: 16px;
    padding: 0 12px;
    flex: 0 0 auto;
    border-bottom: 0;
    background: transparent;
  }
  .pro-ops-run-toolbar {
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 6px 10px;
    min-width: 0;
    padding: 4px 0;
  }
  .pro-ops-run-done {
    margin: 0;
    padding: 4px 10px;
    border: 0;
    border-radius: 999px;
    background: var(--chip-bg, var(--panel-2));
    color: var(--ink);
    font: inherit;
    font-size: 11px;
    font-weight: 800;
    cursor: pointer;
    box-shadow: inset 0 0 0 1px var(--ink);
  }
  .pro-ops-run-pills-row {
    display: flex;
    align-items: center;
    gap: 6px;
    flex: 0 0 auto;
    padding: 6px 10px 4px;
    min-width: 0;
  }
  .pro-ops-run-pills-lead {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    align-self: center;
  }
  .pro-ops-run-select-entry {
    margin: 0;
    padding: 3px 10px;
    border: 0;
    border-radius: 999px;
    background: var(--chip-bg, var(--panel-2));
    color: var(--ink);
    font: inherit;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.25;
    cursor: pointer;
    vertical-align: middle;
  }
  .pro-ops-run-master-check {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 0;
    padding: 3px 10px;
    border-radius: 999px;
    background: var(--chip-bg, var(--panel-2));
    font-size: 11px;
    font-weight: 700;
    line-height: 1.25;
    color: var(--ink);
    cursor: pointer;
    user-select: none;
  }
  .pro-ops-run-master-check-input {
    width: 16px;
    height: 16px;
    margin: 0;
    accent-color: var(--ink);
    cursor: pointer;
  }
  .pro-ops-run-tab {
    appearance: none;
    margin: 0;
    padding: 8px 0 6px;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--muted);
    font: inherit;
    font-weight: 750;
    cursor: pointer;
  }
  .pro-ops-run-tab.on {
    background: transparent;
    color: var(--ink);
    box-shadow: inset 0 -2px 0 var(--ink);
  }
  .pro-ops-run-pills {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    flex: 1 1 auto;
    min-width: 0;
    padding: 0;
  }
  .pro-ops-run-select-n {
    font-size: 11px;
    font-weight: 700;
    color: var(--muted);
  }
  .pro-ops-run-kbd-hint {
    font-size: 10px;
    font-weight: 600;
    color: var(--muted);
    opacity: 0.85;
    max-width: 220px;
    line-height: 1.25;
  }
  .pro-ops-run-batch-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-left: 4px;
  }
  .pro-ops-run-batch-btn {
    margin: 0;
    padding: 4px 10px;
    border: 0;
    border-radius: 999px;
    font: inherit;
    font-size: 11px;
    font-weight: 800;
    color: #fff;
    cursor: pointer;
  }
  .pro-ops-run-batch-btn:disabled {
    opacity: 0.45;
    cursor: not-allowed;
  }
  .pro-ops-run-batch-btn.is-warn {
    background: #d97706;
  }
  .pro-ops-run-batch-btn.is-ver {
    background: #1f9d63;
  }
  .pro-ops-run-batch-btn.is-del {
    background: #e5484d;
  }
  .pro-ops-run-list.is-select-mode .pro-ops-run-swipe.is-selected .pro-ops-run-card {
    box-shadow: inset 0 0 0 1.5px var(--ink);
  }
  .pro-ops-run-check {
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    padding: 0 4px 0 8px;
    cursor: pointer;
  }
  .pro-ops-run-check-input {
    width: 16px;
    height: 16px;
    margin: 0;
    accent-color: var(--ink);
    cursor: pointer;
  }
  .pro-ops-run-swipe .cp-swipe-panel {
    display: flex;
    align-items: stretch;
  }
  .pro-ops-run-swipe .pro-ops-run-card {
    flex: 1 1 auto;
    min-width: 0;
    background: transparent;
  }
  .pro-ops-run-pill {
    margin: 0;
    padding: 3px 10px;
    border: 0;
    border-radius: 999px;
    background: var(--chip-bg, var(--panel-2));
    color: var(--muted);
    font-size: 11px;
    font-weight: 700;
    cursor: pointer;
  }
  .pro-ops-run-pill.on {
    color: var(--ink);
    box-shadow: inset 0 0 0 1px var(--ink);
  }
  .pro-ops-run-list {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    padding: 4px 10px 10px;
  }
  .pro-ops-run-list.is-hold-cards {
    padding: 4px 8px 10px;
  }
  .pro-ops-run-list.is-hold-cards .pro-ops-run-holding {
    margin-bottom: 8px;
  }
  .pro-ops-run-list.is-hold-cards .pro-ops-run-holding .holding {
    margin: 0;
    max-width: none;
  }
  .pro-ops-run-empty {
    margin: 18px 8px;
    text-align: center;
    color: var(--muted);
  }
  .pro-ops-run-empty b {
    display: block;
    font-size: 15px;
    font-weight: 800;
    color: var(--ink);
  }
  .pro-ops-run-empty span {
    display: block;
    margin-top: 6px;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.45;
  }
  .pro-ops-run-swipe {
    margin: 0 0 6px;
    overflow: hidden;
    border-radius: 12px;
  }
  .pro-ops-run-swipe .cp-swipe-track {
    border-radius: 12px;
    border: 0;
    background: var(--panel-2);
  }
  /* 面板必须铺满轨道，否则左滑后左侧会露出空白、卡片像「往右漂」 */
  .pro-ops-run-swipe .cp-swipe-panel {
    width: 100%;
    max-width: 100%;
    min-width: 100%;
    box-sizing: border-box;
    background: var(--panel-2);
    border-radius: 12px;
    transition: none !important;
    will-change: transform;
    touch-action: pan-y;
  }
  .pro-ops-run-list.is-select-mode .pro-ops-run-swipe .cp-swipe-panel {
    transform: none !important;
    transition: none;
  }
  .pro-ops-run-list.is-select-mode .pro-ops-run-swipe .cp-swipe-actions {
    visibility: hidden;
    pointer-events: none;
  }
  .pro-ops-run-swipe .cp-swipe-act {
    min-width: 76px;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.15;
    padding: 0 10px;
  }
  .pro-ops-run-swipe .cp-swipe-act.is-warn {
    background: #d97706;
  }
  .pro-ops-run-swipe .cp-swipe-act.is-disabled,
  .pro-ops-run-swipe .cp-swipe-act:disabled {
    opacity: 0.42;
    cursor: not-allowed;
    pointer-events: none;
  }
  html[data-theme="dark"] .pro-ops-run-swipe .cp-swipe-track,
  html[data-theme="dark"] .pro-ops-run-swipe .cp-swipe-panel {
    background: var(--panel-2);
  }
  .pro-ops-run-swipe .pro-ops-run-card {
    background: transparent;
  }
  .pro-ops-run-card {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
    margin: 0;
    padding: 10px 12px;
    border: 0;
    border-radius: 12px;
    background: var(--panel-2);
    color: var(--ink);
    font: inherit;
    text-align: left;
    cursor: pointer;
  }
  .pro-ops-run-card-main {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .pro-ops-run-card-bars {
    flex: 0 0 min(46%, 176px);
    max-width: 176px;
    display: flex;
    flex-direction: column;
    gap: 7px;
    justify-content: center;
    min-width: 108px;
  }
  .pro-run-bar {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 6px;
    min-width: 0;
  }
  .pro-run-end {
    font-size: 10px;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    line-height: 1.1;
    color: var(--muted);
    white-space: nowrap;
  }
  .pro-run-end.is-long {
    color: var(--up, #0f7a6a);
  }
  .pro-run-end.is-short {
    color: var(--down, #c43d52);
  }
  .pro-run-pocket.tone-neg .pro-run-end-l {
    color: var(--down, #c43d52);
  }
  .pro-run-pocket.tone-pos .pro-run-end-r,
  .pro-run-pocket.tone-done .pro-run-end-r {
    color: var(--up, #0f7a6a);
  }
  .pro-run-track {
    position: relative;
    height: 6px;
    border-radius: 999px;
    overflow: hidden;
    background: color-mix(in srgb, var(--line) 72%, var(--panel, #fff) 28%);
    display: flex;
    min-width: 0;
  }
  .pro-run-tug-long,
  .pro-run-tug-short {
    display: block;
    height: 100%;
    min-width: 0;
  }
  .pro-run-tug-long {
    background: var(--up, #2ecf9a);
  }
  .pro-run-tug-short {
    background: var(--down, #f05a72);
  }
  .pro-run-track-bidir {
    display: block;
  }
  .pro-run-zero {
    position: absolute;
    left: 50%;
    top: 0;
    bottom: 0;
    width: 1px;
    margin-left: -0.5px;
    background: color-mix(in srgb, var(--ink) 28%, transparent);
    z-index: 2;
    pointer-events: none;
  }
  .pro-run-fill-neg,
  .pro-run-fill-pos {
    position: absolute;
    top: 0;
    bottom: 0;
    pointer-events: none;
  }
  .pro-run-fill-neg {
    right: 50%;
    background: var(--down, #f05a72);
  }
  .pro-run-fill-pos {
    left: 50%;
    background: var(--up, #2ecf9a);
  }
  .pro-ops-run-card b {
    display: block;
    font-size: 13px;
  }
  .pro-ops-run-card-main > span {
    font-size: 11px;
    font-weight: 600;
    color: var(--muted);
  }
  .pro-ops-desk-side {
    flex: 0 0 var(--pro-side-w, 400px);
    width: var(--pro-side-w, 400px);
    min-width: 260px;
    max-width: 560px;
    min-height: 0;
    align-self: stretch;
    display: flex;
    flex-direction: column;
    border-left: 1px solid var(--line);
    background: var(--bg);
  }
  .pro-ops-desk-side .pro-ops-shell {
    flex: 1 1 auto;
    min-height: 0;
  }
  html:has(#tab-strategy.on) .pro-ops-dock {
    padding-right: 16px;
    box-sizing: border-box;
  }
  html:has(#tab-strategy.on) .pro-ops-desk-side .pro-ops-scroll {
    padding-right: 16px;
    box-sizing: border-box;
    overflow-x: visible;
  }
  html:has(#tab-strategy.on) .pro-ops-desk-side .pro-ops-shell,
  html:has(#tab-strategy.on) .pro-ops-desk-side {
    min-width: 0;
    max-width: 100%;
  }
}
/* 策略 embed · 夜间：分割线/栅格须略高于全站 --line(8%)，否则纯黑底几乎看不见 */
html[data-theme="dark"] #pro-ops-kline-host {
  --line: rgba(255, 255, 255, 0.14);
  --card-line: rgba(255, 255, 255, 0.18);
}
/* 产品页嵌入币种详情 K 线：跟工具皮肤，不沿用市场钻入页固定深色 */
#pro-ops-kline-host > [data-pro-embed-kline].mkt-coin-sheet.is-pro-embed,
#pro-ops-kline-host > [data-pro-embed-kline].mkt-coin-sheet.is-pro-embed.on,
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].mkt-coin-sheet.is-pro-embed,
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].mkt-coin-sheet.is-pro-embed.on {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  display: flex !important;
  background: var(--bg) !important;
  color: var(--ink) !important;
  color-scheme: inherit !important;
  /* 勿用钻入页 .mkt-coin-sheet 深色令牌，跟 #pro-ops-kline-host → :root 工具皮肤 */
  --bg: inherit;
  --panel: inherit;
  --panel-2: inherit;
  --ink: inherit;
  --muted: inherit;
  --line: inherit;
  --teal: inherit;
  --teal-bg: inherit;
  --warn: inherit;
  --chip-bg: inherit;
  --chip-hover: inherit;
  --up: inherit;
  --down: inherit;
}
/* 与币种详情同结构：币名/自选 + 行情·概况·交易数据（嵌入无返回，跟工具皮肤） */
#pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-head {
  flex: 0 0 auto;
  display: flex !important;
  align-items: center;
  gap: 8px;
  padding: 6px 10px 4px;
  padding-top: 6px;
}
#pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-back,
#pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-ico,
#pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-ident,
#pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-star,
/* 顶栏已有 #mkt-coin-venue，概况/交易数据内勿再显示一套 */
#pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed #mkt-coin-venue-ov,
#pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed #mkt-coin-venue-trade {
  display: none !important;
}
#pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-head.is-venue-only {
  padding: 0;
  gap: 0;
  border-bottom: 0;
}
#pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-head.is-venue-only .mkt-coin-venue {
  flex: 1 1 auto;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 8px 12px 4px;
  font-size: 13px;
  font-weight: 650;
  color: var(--ink) !important;
  box-sizing: border-box;
}
#pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-head.is-venue-only .mkt-coin-venue::after {
  color: var(--muted);
}
#pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-tabs {
  flex: 0 0 auto;
  display: flex !important;
  gap: 16px;
  padding: 0 12px;
  border-bottom: 1px solid var(--line);
}
#pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-tabs button {
  color: var(--muted);
  font-weight: 750;
  padding: 8px 0 6px;
}
#pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-tabs button.on {
  color: var(--ink) !important;
  box-shadow: inset 0 -2px 0 var(--ink);
}
#pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-ident em {
  color: var(--muted) !important;
}
#pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-subs {
  background: var(--bg) !important;
  border-bottom: 1px solid var(--line) !important;
}
#pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-subs button {
  color: var(--muted) !important;
}
#pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-subs button.on {
  color: var(--ink) !important;
  box-shadow: inset 0 -2px 0 var(--ink) !important;
}
#pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-dialog,
#pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-split,
#pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-main,
#pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-quote,
#pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-rail,
#pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-chart-wrap {
  background: var(--bg) !important;
  color: var(--ink) !important;
}
#pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-dialog {
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  max-height: none !important;
  min-height: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
#pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-bar-chip.on,
#pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-last,
#pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-ident b,
#pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-tick-stats dd {
  color: var(--ink) !important;
}
#pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-bar-chip,
#pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-tick-lab,
#pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-tick-stats dt {
  color: var(--muted) !important;
}
/* 产品页嵌入：周期条右侧「图表设置」入口不展示（全屏钻入页保留） */
#pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-bar-set {
  display: none !important;
}

/* 产品页概况说明弹层：挂 body 全屏遮罩（含右侧策略栏），白天白卡 */
.mkt-coin-venue-sheet.is-pro-embed-pop {
  z-index: 33500 !important;
}
.mkt-coin-venue-sheet.is-pro-embed-pop.is-embed-light-pop {
  background: rgba(15, 23, 42, 0.35) !important;
}
.mkt-coin-venue-sheet.is-pro-embed-pop.is-embed-light-pop .mkt-spec-help-card,
.mkt-coin-venue-sheet.is-pro-embed-pop.is-embed-light-pop .mkt-idx-rule-card {
  background: var(--embed-pop-panel, #fff) !important;
  color: var(--embed-pop-ink, var(--ink, #111827)) !important;
  border: 1px solid var(--embed-pop-line, rgba(0, 0, 0, 0.1)) !important;
  box-shadow: 0 20px 56px rgba(15, 23, 42, 0.14) !important;
}
.mkt-coin-venue-sheet.is-pro-embed-pop.is-embed-light-pop .mkt-spec-help-body h4,
.mkt-coin-venue-sheet.is-pro-embed-pop.is-embed-light-pop .mkt-spec-help-num {
  color: var(--embed-pop-ink, var(--ink, #111827)) !important;
}
.mkt-coin-venue-sheet.is-pro-embed-pop.is-embed-light-pop .mkt-spec-help-body p,
.mkt-coin-venue-sheet.is-pro-embed-pop.is-embed-light-pop .mkt-spec-help-body li {
  color: var(--embed-pop-muted, var(--muted, #6b7280)) !important;
}
.mkt-coin-venue-sheet.is-pro-embed-pop.is-embed-light-pop .mkt-spec-help-card #mkt-spec-help-ok {
  background: var(--embed-pop-ink, #111827) !important;
  color: var(--embed-pop-panel, #fff) !important;
}
.mkt-coin-venue-sheet.is-pro-embed-pop.is-embed-light-pop .mkt-idx-rule-head {
  background: var(--embed-pop-panel, #fff) !important;
}
.mkt-coin-venue-sheet.is-pro-embed-pop.is-embed-light-pop .mkt-idx-rule-head h3,
.mkt-coin-venue-sheet.is-pro-embed-pop.is-embed-light-pop .mkt-idx-rule-body h4 {
  color: var(--embed-pop-ink, var(--ink, #111827)) !important;
}
.mkt-coin-venue-sheet.is-pro-embed-pop.is-embed-light-pop .mkt-idx-rule-body p,
.mkt-coin-venue-sheet.is-pro-embed-pop.is-embed-light-pop .mkt-idx-rule-body li {
  color: var(--embed-pop-muted, var(--muted, #6b7280)) !important;
}
.mkt-coin-venue-sheet.is-pro-embed-pop.is-embed-light-pop .mkt-idx-rule-head .mkt-coin-back {
  color: var(--embed-pop-ink, var(--ink, #111827)) !important;
}
/* 策略 embed：换所/合约抽屉跟工具白天皮肤（勿固定 #151a21 夜卡） */
.mkt-coin-venue-sheet.is-pro-embed-pop.is-embed-light-pop .mkt-coin-venue-card {
  --ink: var(--embed-pop-ink, var(--ink, #111827));
  --muted: var(--embed-pop-muted, var(--muted, #6b7280));
  --line: var(--embed-pop-line, rgba(0, 0, 0, 0.1));
  --mkt-search-bg: var(--embed-pop-chip-bg, rgba(0, 0, 0, 0.04));
  background: var(--embed-pop-panel, var(--panel, #fff)) !important;
  color: var(--embed-pop-ink, var(--ink, #111827)) !important;
  border: 1px solid var(--embed-pop-line, rgba(0, 0, 0, 0.1)) !important;
  box-shadow: 0 20px 56px rgba(15, 23, 42, 0.14) !important;
}
.mkt-coin-venue-sheet.is-pro-embed-pop.is-embed-light-pop .mkt-coin-venue-grab {
  background: color-mix(in srgb, var(--embed-pop-ink, #111827) 18%, transparent);
}
.mkt-coin-venue-sheet.is-pro-embed-pop.is-embed-light-pop .mkt-coin-venue-card .mkt-search-wrap,
html[data-theme="light"] .mkt-coin-venue-sheet.is-pro-embed-pop.is-embed-light-pop .mkt-coin-venue-card .mkt-search-wrap,
html[data-theme="dark"] .mkt-coin-venue-sheet.is-pro-embed-pop.is-embed-light-pop .mkt-coin-venue-card .mkt-search-wrap {
  background: var(--embed-pop-chip-bg, rgba(0, 0, 0, 0.04)) !important;
  border: 1px solid var(--embed-pop-line, rgba(0, 0, 0, 0.12)) !important;
  color: var(--embed-pop-muted, #6b7280) !important;
}
.mkt-coin-venue-sheet.is-pro-embed-pop.is-embed-light-pop .mkt-coin-venue-card input.mkt-search,
html[data-theme="light"] .mkt-coin-venue-sheet.is-pro-embed-pop.is-embed-light-pop .mkt-coin-venue-card input.mkt-search,
html[data-theme="dark"] .mkt-coin-venue-sheet.is-pro-embed-pop.is-embed-light-pop .mkt-coin-venue-card input.mkt-search,
html[data-theme="light"] .app .mkt-coin-venue-sheet.is-pro-embed-pop.is-embed-light-pop .mkt-coin-venue-card input.mkt-search,
html[data-theme="dark"] .app .mkt-coin-venue-sheet.is-pro-embed-pop.is-embed-light-pop .mkt-coin-venue-card input.mkt-search {
  color: var(--embed-pop-ink, #111827) !important;
  caret-color: var(--embed-pop-ink, #111827);
  background: transparent !important;
}
.mkt-coin-venue-sheet.is-pro-embed-pop.is-embed-light-pop .mkt-coin-venue-card input.mkt-search::placeholder {
  color: var(--embed-pop-muted, #6b7280) !important;
}
.mkt-coin-venue-sheet.is-pro-embed-pop.is-embed-light-pop .mkt-coin-venue-search .mkt-search-ico {
  color: var(--embed-pop-muted, #6b7280);
}
.mkt-coin-venue-sheet.is-pro-embed-pop.is-embed-light-pop .mkt-coin-kind {
  background: var(--embed-pop-chip-bg, rgba(0, 0, 0, 0.06)) !important;
}
.mkt-coin-venue-sheet.is-pro-embed-pop.is-embed-light-pop .mkt-coin-kind button {
  color: var(--embed-pop-muted, #6b7280) !important;
}
.mkt-coin-venue-sheet.is-pro-embed-pop.is-embed-light-pop .mkt-coin-kind button.on,
html[data-theme="dark"] .mkt-coin-venue-sheet.is-pro-embed-pop.is-embed-light-pop .mkt-coin-kind button.on {
  background: var(--embed-pop-ink, #111827) !important;
  color: var(--embed-pop-panel, #fff) !important;
  border-color: transparent !important;
}
.mkt-coin-venue-sheet.is-pro-embed-pop.is-embed-light-pop .mkt-coin-venue-cols {
  color: var(--embed-pop-muted, #6b7280) !important;
}
.mkt-coin-venue-sheet.is-pro-embed-pop.is-embed-light-pop .mkt-coin-venue-row {
  color: var(--embed-pop-ink, #111827) !important;
}
.mkt-coin-venue-sheet.is-pro-embed-pop.is-embed-light-pop .mkt-coin-venue-row .mkt-names em {
  color: var(--embed-pop-muted, #6b7280) !important;
}
.mkt-coin-venue-sheet.is-pro-embed-pop.is-embed-light-pop .mkt-coin-venue-cols {
  color: var(--embed-pop-muted, #6b7280) !important;
}
.mkt-coin-venue-sheet.is-pro-embed-pop.is-embed-light-pop .mkt-coin-venue-row .mkt-vol {
  color: color-mix(in srgb, var(--embed-pop-ink, #111827) 58%, var(--embed-pop-muted, #6b7280)) !important;
}
.mkt-coin-venue-sheet.is-pro-embed-pop.is-embed-light-pop .mkt-coin-venue-row .mkt-rank {
  color: var(--embed-pop-muted, #6b7280) !important;
}
.mkt-coin-venue-sheet.is-pro-embed-pop:not(.is-embed-light-pop) .mkt-coin-venue-row .mkt-vol {
  color: color-mix(in srgb, var(--embed-pop-ink, #e8eef4) 70%, transparent) !important;
}
.mkt-coin-venue-sheet.is-pro-embed-pop:not(.is-embed-light-pop) .mkt-coin-venue-card {
  --ink: var(--embed-pop-ink, #e8eef4);
  --muted: var(--embed-pop-muted, #8a97a3);
  --line: var(--embed-pop-line, rgba(255, 255, 255, 0.16));
  --mkt-search-bg: var(--embed-pop-chip-bg, rgba(255, 255, 255, 0.06));
  background: var(--embed-pop-panel, #0b0e11) !important;
  color: var(--embed-pop-ink, #e8eef4) !important;
  border: 1px solid var(--embed-pop-line, rgba(255, 255, 255, 0.16)) !important;
  box-shadow: 0 20px 56px rgba(0, 0, 0, 0.42) !important;
}
.mkt-coin-venue-sheet.is-pro-embed-pop:not(.is-embed-light-pop) .mkt-coin-venue-card .mkt-search-wrap,
html[data-theme="light"] .mkt-coin-venue-sheet.is-pro-embed-pop:not(.is-embed-light-pop) .mkt-coin-venue-card .mkt-search-wrap,
html[data-theme="dark"] .mkt-coin-venue-sheet.is-pro-embed-pop:not(.is-embed-light-pop) .mkt-coin-venue-card .mkt-search-wrap {
  background: var(--embed-pop-chip-bg, rgba(255, 255, 255, 0.06)) !important;
  border: 1px solid var(--embed-pop-line, rgba(255, 255, 255, 0.16)) !important;
}
.mkt-coin-venue-sheet.is-pro-embed-pop:not(.is-embed-light-pop) .mkt-coin-venue-card input.mkt-search,
html[data-theme="light"] .mkt-coin-venue-sheet.is-pro-embed-pop:not(.is-embed-light-pop) .mkt-coin-venue-card input.mkt-search,
html[data-theme="dark"] .mkt-coin-venue-sheet.is-pro-embed-pop:not(.is-embed-light-pop) .mkt-coin-venue-card input.mkt-search {
  color: var(--embed-pop-ink, #e8eef4) !important;
  caret-color: var(--embed-pop-ink, #e8eef4);
}
.mkt-coin-venue-sheet.is-pro-embed-pop:not(.is-embed-light-pop) .mkt-coin-kind {
  background: var(--embed-pop-chip-bg, rgba(255, 255, 255, 0.08)) !important;
}
body.mkt-pro-embed-dialog-open {
  overflow: hidden;
}

/* 策略 embed：周期等 mkt-sheet-pop 挂 body，跟工具昼夜皮肤（非固定 #0b0e11） */
.mkt-sheet-pop.is-pro-embed-pop {
  z-index: 33500 !important;
}
.mkt-sheet-pop.is-pro-embed-pop.on:not(.is-full):not(.is-set) {
  display: flex !important;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.48) !important;
}
.mkt-sheet-pop.is-pro-embed-pop.is-embed-light-pop.on:not(.is-full):not(.is-set) {
  background: rgba(15, 23, 42, 0.35) !important;
}
.mkt-sheet-pop.is-pro-embed-pop .mkt-sheet-mask {
  display: block !important;
  position: fixed;
  inset: 0;
  z-index: 0;
  background: transparent;
  cursor: default;
}
.mkt-sheet-pop.is-pro-embed-pop .mkt-sheet-card {
  position: relative !important;
  z-index: 1;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  width: min(520px, 92vw);
  max-height: min(82vh, 720px);
  border-radius: 16px;
  padding: 16px 18px 20px;
  background: var(--embed-pop-panel, var(--panel, #0b0e11)) !important;
  color: var(--embed-pop-ink, var(--ink, #e8eef4)) !important;
  border: 1px solid var(--embed-pop-line, rgba(255, 255, 255, 0.16)) !important;
  box-shadow: 0 20px 56px rgba(0, 0, 0, 0.42) !important;
}
.mkt-sheet-pop.is-pro-embed-pop.is-embed-light-pop .mkt-sheet-card {
  box-shadow: 0 20px 56px rgba(15, 23, 42, 0.14) !important;
}
.mkt-sheet-pop.is-pro-embed-pop .mkt-sheet-handle {
  background: var(--embed-pop-line, rgba(255, 255, 255, 0.2));
}
.mkt-sheet-pop.is-pro-embed-pop .mkt-sheet-card h3,
.mkt-sheet-pop.is-pro-embed-pop .mkt-sheet-hint,
.mkt-sheet-pop.is-pro-embed-pop .mkt-period-sec-title {
  color: var(--embed-pop-muted, var(--muted)) !important;
}
.mkt-sheet-pop.is-pro-embed-pop .mkt-sheet-card h3 {
  color: var(--embed-pop-ink, var(--ink)) !important;
}
.mkt-sheet-pop.is-pro-embed-pop .mkt-period-btn {
  color: var(--embed-pop-ink, var(--ink)) !important;
  border-color: var(--embed-pop-line, var(--line)) !important;
  background: var(--embed-pop-chip-bg, rgba(255, 255, 255, 0.06)) !important;
}
.mkt-sheet-pop.is-pro-embed-pop .mkt-period-btn.on,
.mkt-sheet-pop.is-pro-embed-pop .mkt-period-btn.is-drop {
  color: var(--embed-pop-ink, var(--ink)) !important;
  border-color: var(--embed-pop-ink, var(--ink)) !important;
  background: var(--embed-pop-chip-hover, rgba(255, 255, 255, 0.1)) !important;
}

@media (min-width: 900px) {
  #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-dialog,
  #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-split {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
    min-width: 0 !important;
    width: 100% !important;
    height: 100% !important;
  }
  #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-split {
    flex-direction: row !important;
  }
  #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-main {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 0 !important;
    min-height: 0 !important;
    min-width: 0 !important;
    width: auto !important;
    max-width: none !important;
    height: 100% !important;
  }
  #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed #mkt-coin-quote[hidden] {
    display: none !important;
  }
  #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed #mkt-coin-quote:not([hidden]) {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
  }
  #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed #mkt-coin-overview[hidden],
  #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed #mkt-coin-trade[hidden] {
    display: none !important;
  }
  /* 桌面详情页已藏 quote 内 subbody；嵌入时勿留空列（市值在 canvas-host，不可藏 #mkt-coin-mcap-pane） */
  #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-quote > .mkt-coin-side {
    display: none !important;
  }
  #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-quote.is-canvas-fill {
    overflow: hidden !important;
  }
  #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed #mkt-coin-canvas-host.is-liq,
  #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed #mkt-coin-canvas-host.is-mcap {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: auto !important;
    display: flex !important;
    flex-direction: column !important;
  }
  #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed #mkt-coin-canvas-host.is-mcap #mkt-coin-mcap-pane:not([hidden]),
  #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed #mkt-coin-canvas-host.is-mcap .mkt-coin-mcap-plot {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
  }
  #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed #mkt-coin-canvas-host.is-mcap .mkt-coin-mcap {
    flex: 1 1 auto !important;
    min-height: 120px !important;
    height: auto !important;
  }
  #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-main {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    overflow: hidden;
  }
  #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-overview:not([hidden]),
  #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-trade:not([hidden]) {
    display: flex !important;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    min-width: 0;
    overflow: auto;
  }
  #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-chart-wrap {
    flex: 1 1 auto !important;
    min-height: 0 !important;
  }
  /* 与币种详情页一致：--mkt-rail-w + #mkt-coin-gutter 拖拽（coin-sheet applyRailWidth） */
  #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-rail {
    flex: 0 0 var(--mkt-rail-w, 300px) !important;
    width: var(--mkt-rail-w, 300px) !important;
    min-width: 0 !important;
    max-width: none !important;
    background: var(--bg) !important;
    container-type: inline-size;
    container-name: pro-mkt-rail;
  }
  #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-rail-tabs {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: stretch;
    gap: 6px !important;
    padding: 6px 8px 0 !important;
    min-width: 0;
    overflow: hidden;
  }
  #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-rail-tabs button {
    flex: 1 1 0;
    min-width: 0;
    min-height: 40px;
    white-space: nowrap !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: -0.01em;
    line-height: 1.2;
    padding: 10px 4px 10px !important;
    text-align: center;
    box-sizing: border-box;
    -webkit-tap-highlight-color: transparent;
  }
  #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-rail-more {
    flex: 0 0 32px !important;
    min-width: 32px !important;
    min-height: 40px !important;
    margin-left: 0 !important;
  }
  #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-gutter {
    display: block !important;
    flex: 0 0 1px !important;
    cursor: col-resize;
    position: relative;
    z-index: 5;
    background: var(--line);
    touch-action: none;
  }
  #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-gutter::before {
    content: "";
    position: absolute;
    inset: 0 -4px;
    cursor: col-resize;
  }
  #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-gutter:hover,
  #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-gutter.is-drag {
    background: color-mix(in srgb, var(--line) 55%, var(--ink) 45%);
  }
  #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-gutter[hidden] {
    display: none !important;
  }
}
/* 白天皮肤：覆盖市场钻入页 #0b0e11 / 浅色字等 !important（仅产品页 embed） */
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-head,
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-tabs,
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-main,
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-quote,
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-dialog,
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-chart-wrap,
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-chart,
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-rail {
  background: var(--bg) !important;
  color: var(--ink) !important;
}
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-ob-last {
  background: var(--bg) !important;
}
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-tabs {
  border-bottom-color: var(--line) !important;
}
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-ident b,
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-star {
  color: var(--ink) !important;
}
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-lv-tag.is-outline {
  background: var(--bg) !important;
  border-color: currentColor !important;
}
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-bars {
  border-bottom-color: var(--line) !important;
  background: var(--bg) !important;
}
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-bar-track {
  background: var(--chip-bg) !important;
  border-color: var(--line) !important;
}
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-bar-chip.on,
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-bars .mkt-coin-bar-chip.on {
  color: var(--ink) !important;
  border-color: var(--ink) !important;
  background: transparent !important;
  box-shadow: none !important;
}
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-ind-row {
  background: var(--bg) !important;
  border-top: 1px solid rgba(17, 24, 39, 0.22) !important;
}
html[data-theme="dark"] #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-ind-row {
  border-top: 1px solid rgba(255, 255, 255, 0.16) !important;
}
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-kline-foot-rule,
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-kline-axis-xext,
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-kline-axis-yext {
  background: rgba(17, 24, 39, 0.22) !important;
}
html[data-theme="dark"] #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-kline-foot-rule,
html[data-theme="dark"] #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-kline-axis-xext,
html[data-theme="dark"] #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-kline-axis-yext {
  background: rgba(255, 255, 255, 0.3) !important;
}
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-kline-xlab-clip {
  background: var(--bg) !important;
}
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-ind-row button.on,
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-ind-row button.on {
  color: var(--ink) !important;
  box-shadow: inset 0 -2px 0 var(--ink) !important;
}
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .kline-legend,
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .kline-sub-legend {
  color: var(--ink) !important;
  text-shadow: none !important;
}
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .kline-leg-tog {
  color: var(--muted) !important;
}
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-tick-lab,
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-venue {
  color: var(--muted) !important;
}
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-rail-tabs {
  border-bottom-color: var(--line) !important;
  background: var(--bg) !important;
}
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-rail-tabs button {
  color: var(--muted) !important;
}
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-rail-tabs [data-mkt-rail].on {
  color: var(--ink) !important;
  box-shadow: inset 0 -2px 0 var(--ink) !important;
}
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-rail-more {
  color: var(--muted) !important;
}
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-rail-more:hover,
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-rail-more:active,
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-rail-more[aria-expanded="true"] {
  color: var(--ink) !important;
  background: transparent !important;
  box-shadow: none !important;
}
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-ob-head,
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-tape-head,
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-ob-last small,
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-ob-back {
  color: var(--muted) !important;
}
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-ob-row,
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-tape-row {
  color: var(--ink) !important;
}
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-ob-tick b {
  color: var(--ink) !important;
}
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-ob-tick button {
  border-color: var(--line) !important;
  color: var(--ink) !important;
}
/* 订单表布局切换：白天无按钮线框，选中仅靠图标内红/绿块 */
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-ob-modes button,
#pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed.is-embed-light .mkt-coin-ob-modes button,
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-ob-modes button.on,
#pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed.is-embed-light .mkt-coin-ob-modes button.on {
  border: 0 !important;
  border-radius: 4px !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: none !important;
}
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-tabs button.on {
  color: var(--ink) !important;
  box-shadow: inset 0 -2px 0 var(--ink) !important;
}
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-tabs button {
  color: var(--muted) !important;
}
/* 白天皮肤：概况 / 交易数据（钻入页 #0b0e11 硬编码） */
@media (min-width: 900px) {
  html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].mkt-coin-sheet.is-pro-embed.on {
    background: var(--bg) !important;
    color: var(--ink) !important;
  }
}
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-overview,
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-trade,
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-ov-body,
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-intel,
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-hub-card {
  background: var(--bg) !important;
  color: var(--ink) !important;
}
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-ov-subs button {
  color: var(--muted) !important;
}
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-ov-subs button.on {
  color: var(--ink) !important;
  box-shadow: inset 0 -2px 0 var(--ink) !important;
}
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-spec-title,
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-spec-dl dd,
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-spec-dl .mkt-spec-head dt,
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-spec-fund-kpi b,
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-spec-fund-title,
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-spec-fund-bar h3,
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-spec-fund-detail h3,
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-spec-table td,
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-ov-head b {
  color: var(--ink) !important;
}
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-spec-dl dt,
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-spec-empty,
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-spec-fund-kpi em,
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-spec-foot,
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-ov-head em,
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-stats.is-ov em {
  color: var(--muted) !important;
}
/* 概况指标值：覆盖 .mkt-coin-sheet 全局 #e6ebf0，白天 embed 须深色字 */
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-stats.is-ov > div,
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-stats.is-ov b:not(.is-up):not(.is-down),
#pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed.is-embed-light .mkt-coin-stats.is-ov > div,
#pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed.is-embed-light .mkt-coin-stats.is-ov b:not(.is-up):not(.is-down) {
  color: var(--ink) !important;
}
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-about h3,
#pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed.is-embed-light .mkt-coin-about h3 {
  color: var(--ink) !important;
}
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-about p,
#pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed.is-embed-light .mkt-coin-about p {
  color: var(--muted) !important;
}
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-sectors-lab,
#pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed.is-embed-light .mkt-coin-sectors-lab {
  color: var(--muted) !important;
}
/* 所属板块（Crypto-Backed Tokens / 跨链）：产品页纯文字标签，无线框 */
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-sector-chip,
#pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed.is-embed-light .mkt-coin-sector-chip {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  color: var(--ink) !important;
  padding: 2px 4px !important;
  font-weight: 650;
}
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-sector-chip:hover,
#pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed.is-embed-light .mkt-coin-sector-chip:hover {
  background: var(--chip-hover, rgba(0, 0, 0, 0.05)) !important;
}
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-spec-table th {
  color: var(--muted) !important;
  border-color: var(--line) !important;
}
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-spec-table td,
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-spec-dl > div {
  border-color: var(--line) !important;
}
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-spec-more,
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-spec-link,
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-about-more {
  color: var(--ink) !important;
}
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-ov-links button {
  background: var(--chip-bg, var(--panel-2)) !important;
  color: var(--ink) !important;
}
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-spec-range button {
  color: var(--muted) !important;
}
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-spec-range button.on {
  color: var(--ink) !important;
}
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-td-card h3,
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-td-flow-side {
  color: var(--ink) !important;
}
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-td-flow-range,
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-td-periods button {
  color: var(--muted) !important;
}
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-td-periods button.on {
  border-color: var(--ink) !important;
  color: var(--ink) !important;
}
/* 交易数据 · 每个图表区域独立线框（跟工具 --line，无底卡阴影） */
#pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-td-chart-box,
#pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-td-flow-body {
  border: 1px solid var(--line) !important;
  border-radius: 12px !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: hidden;
}
#pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-td-flow-body {
  padding: 4px 12px 10px !important;
  overflow: visible;
}
/* 资金流向：圆环区不再套内层线框，只保留整块 flow-body 外框 */
#pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-td-card[data-td-card="flowdist"] .mkt-td-chart-box {
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}
html[data-theme="dark"] #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-td-chart-box,
html[data-theme="dark"] #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-td-flow-body {
  border-color: rgba(255, 255, 255, 0.16) !important;
}
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-td-flow-lab {
  color: var(--muted) !important;
}
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-td-help {
  border-color: var(--line) !important;
  color: var(--muted) !important;
}
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-td-help.is-on {
  color: var(--ink) !important;
  border-color: var(--ink) !important;
}
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .kline-legend,
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .kline-sub-legend,
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-chart-hud,
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .mkt-coin-hud-fold {
  color: var(--ink) !important;
  text-shadow: 0 1px 1px rgba(255, 255, 255, 0.65) !important;
}
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .kline-leg-tog,
html:not([data-theme="dark"]) #pro-ops-kline-host > [data-pro-embed-kline].is-pro-embed .kline-sub-legend .kline-leg-tog {
  color: var(--muted) !important;
}
.pro-ops-adv {
  margin: 2px 0 0;
  padding-top: 4px;
  border-top: 1px solid rgba(0, 0, 0, 0.04);
}
.pro-ops-adv summary {
  list-style: none;
  cursor: pointer;
  font-size: 11px;
  font-weight: 600;
  color: #9aaeb8;
  user-select: none;
  padding: 6px 0 2px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  letter-spacing: 0.02em;
}
.pro-ops-adv summary:hover {
  color: #7a919e;
}
.pro-ops-adv summary::-webkit-details-marker { display: none; }
.pro-ops-adv summary::before {
  content: "";
  display: inline-block;
  width: 5px;
  height: 5px;
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  transform: rotate(-45deg);
  vertical-align: 1px;
  opacity: 0.55;
  flex-shrink: 0;
}
.pro-ops-adv[open] summary::before {
  transform: rotate(45deg);
  vertical-align: 2px;
}
.pro-ops-adv-actions {
  display: flex;
  flex-wrap: nowrap;
  gap: 8px;
  padding-top: 8px;
}
.pro-ops-adv .btn.soft {
  margin: 0;
  flex: 1 1 0;
  min-width: 0;
  background: var(--panel);
  color: var(--ink);
  border: 0;
  padding: 10px 8px;
  border-radius: 10px;
  font-weight: 700;
  font-size: 12px;
  white-space: nowrap;
  box-shadow: inset 0 0 0 1px var(--line);
}
.pro-ops-strat {
  padding-bottom: 8px;
}
.pro-ops-sec-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 12px;
}
.pro-ops-sec-head .pro-ops-sec-title {
  margin: 0;
}
.pro-link {
  border: 0;
  margin: 0;
  padding: 4px 2px;
  background: transparent;
  color: var(--teal);
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  white-space: nowrap;
}
.pro-link:active { opacity: 0.7; }
.strat-list {
  display: grid;
  gap: 0;
}
.strat-empty {
  padding: 10px 4px;
  font-size: 12px;
  font-weight: 600;
  color: var(--muted);
}
.strat-item {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) auto 18px;
  align-items: center;
  gap: 10px;
  width: 100%;
  margin: 0;
  padding: 12px 10px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  position: relative;
}
.strat-list.is-open .strat-item + .strat-item {
  border-top: 1px solid var(--line);
  border-radius: 0;
}
.strat-list.is-open .strat-item:first-child { border-radius: 10px 10px 0 0; }
.strat-list.is-open .strat-item:last-child { border-radius: 0 0 10px 10px; }
.strat-list.is-open .strat-item:only-child { border-radius: 10px; }
.strat-item:hover { background: rgba(21, 32, 43, 0.025); }
.strat-item.summary {
  background: #f4f7f9;
}
.strat-ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  color: var(--muted);
}
.strat-ico svg {
  width: 20px;
  height: 20px;
  display: block;
}
.strat-body {
  display: grid;
  gap: 2px;
  min-width: 0;
}
.strat-item .pname {
  margin: 0;
  font-size: 14px;
  font-weight: 800;
  color: var(--ink);
  line-height: 1.25;
}
.strat-item .psub {
  margin: 0;
  font-size: 11px;
  font-weight: 600;
  color: var(--muted);
  line-height: 1.35;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.strat-item .prisk {
  font-size: 10px;
  font-weight: 700;
  padding: 3px 7px;
  border-radius: 999px;
  white-space: nowrap;
  flex-shrink: 0;
}
.strat-check {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  border: 1.5px solid #d5dee6;
  flex-shrink: 0;
  position: relative;
}
.strat-item.on .strat-check {
  border-color: var(--teal);
  background: var(--teal);
}
.strat-item.on .strat-check::after {
  content: "";
  position: absolute;
  left: 4px;
  top: 2px;
  width: 5px;
  height: 8px;
  border: solid #fff;
  border-width: 0 1.5px 1.5px 0;
  transform: rotate(45deg);
}
@container fund-app (min-width: 720px) {
  /* pro-ops-grid 仅用于产品 binding；策略/品种已隐藏，勿两列 */
  #pro-ops-box .pro-ops-grid.binding-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
    align-items: stretch;
  }
}
/* —— 今日净盈亏展示（不可点击） —— */


.earn-block {
  cursor: default;
  border-radius: 14px;
}
.run-stats-daybook-btn {
  margin-top: 10px;
  width: 100%;
  border: 0;
  border-radius: 10px;
  padding: 8px 10px;
  font: inherit;
  font-size: 12px;
  font-weight: 650;
  color: #0f3d36;
  background: linear-gradient(180deg, #dff7f1, #c9efe6);
  cursor: pointer;
}
.run-stats-daybook-btn:hover {
  filter: brightness(0.98);
}
.daybook-sheet .daybook-card {
  width: min(420px, calc(100vw - 28px));
  max-height: min(82vh, 720px);
}
.daybook-body {
  display: flex;
  flex-direction: column;
  gap: 12px;
  max-height: min(58vh, 520px);
  overflow: auto;
}
.daybook-lead {
  margin: 0;
  font-size: 13px;
  color: #5a7380;
}
.daybook-kpi {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}
.daybook-kpi > div {
  background: #f3f7f8;
  border-radius: 12px;
  padding: 10px 10px 8px;
}
.daybook-kpi span {
  display: block;
  font-size: 11px;
  color: #6a8290;
  margin-bottom: 4px;
}
.daybook-kpi b {
  font-size: 15px;
  font-weight: 750;
}
.daybook-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.daybook-toolbar b {
  font-size: 13px;
}
.daybook-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: flex-end;
}
.daybook-btn {
  border: 0;
  border-radius: 8px;
  padding: 6px 9px;
  font: inherit;
  font-size: 12px;
  font-weight: 650;
  background: var(--chip-bg);
  color: #234;
  cursor: pointer;
}
.daybook-btn.ghost {
  background: transparent;
  color: var(--teal);
}
.daybook-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.daybook-row {
  display: grid;
  grid-template-columns: 88px 64px 1fr auto auto;
  gap: 6px;
  align-items: center;
  padding: 8px 10px;
  border-radius: 10px;
  background: #f7fafb;
  font-size: 12px;
}
.daybook-row .d { font-weight: 700; color: #1f333c; }
.daybook-row .e { color: #6a8290; }
.daybook-row .f,
.daybook-row .c { color: #6a8290; }
.daybook-empty {
  padding: 16px;
  text-align: center;
  color: #6a8290;
  font-size: 13px;
  background: #f7fafb;
  border-radius: 12px;
}
@media (max-width: 420px) {
  .daybook-row {
    grid-template-columns: 78px 1fr auto;
  }
  .daybook-row .e,
  .daybook-row .c { display: none; }
}
/* —— 账本 Tab（官方账单风） —— */


.book-page {
  padding: 10px 14px 24px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  max-width: 720px;
}
.book-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
  padding-bottom: 0;
  border-bottom: 0;
}
.book-head h2 {
  margin: 0;
  font-size: 20px;
  font-weight: 750;
  letter-spacing: -0.02em;
  color: var(--ink);
}
.book-head p {
  margin: 4px 0 0;
  font-size: 12px;
  color: var(--muted);
  font-weight: 500;
}
.book-head-actions { display: flex; flex-wrap: wrap; gap: 6px; }
.book-page .daybook-btn {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--ink);
  font-weight: 600;
  padding: 6px 10px;
}
.book-page .daybook-btn.ghost {
  background: transparent;
  border-color: transparent;
  color: var(--teal);
}
.book-page .daybook-btn:hover { border-color: var(--line); }
.book-sec-label {
  margin: 0 0 10px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: none;
  color: var(--muted);
}
.book-sec-head {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 8px;
}
.book-sec-head .book-sec-label { margin: 0; }
.book-month-nav {
  display: flex;
  align-items: center;
  gap: 4px;
}
.book-month-nav b {
  min-width: 88px;
  text-align: center;
  font-size: 13px;
  font-weight: 700;
  color: var(--ink);
}
.book-month-nav .daybook-btn.ghost {
  font-size: 18px;
  line-height: 1;
  padding: 2px 8px;
}
/* 今日：主数字 + 右侧明细，不再六宫格 */


.book-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  gap: 0;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
  overflow: hidden;
}
.book-hero-main {
  padding: 18px 16px 16px;
  border-right: 1px solid var(--line);
  display: flex;
  flex-direction: column;
  gap: 6px;
  justify-content: center;
}
.book-hero-lab {
  font-size: 12px;
  font-weight: 600;
  color: var(--muted);
}
.book-hero-num {
  font-size: 32px;
  font-weight: 800;
  letter-spacing: -0.03em;
  font-variant-numeric: tabular-nums;
  line-height: 1.1;
}
.book-hero-num.up { color: var(--up); }
.book-hero-num.down { color: var(--down); }
.book-hero-meta {
  font-size: 12px;
  color: var(--muted);
  font-weight: 500;
}
.book-hero-stats {
  margin: 0;
  padding: 8px 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.book-hero-stats > div {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 8px;
  padding: 8px 14px;
  border-bottom: 1px solid var(--line);
}
.book-hero-stats > div:nth-last-child(-n + 2) { border-bottom: 0; }
.book-hero-stats dt {
  margin: 0;
  font-size: 12px;
  color: var(--muted);
  font-weight: 500;
}
.book-hero-stats dd {
  margin: 0;
  font-size: 13px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  color: var(--ink);
}
/* 月历：细线格子，少灰块 */


.book-cal {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 10px 8px 8px;
}
.book-cal-week {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 0;
  margin-bottom: 4px;
}
.book-cal-week span {
  text-align: center;
  font-size: 11px;
  font-weight: 600;
  color: var(--muted);
  padding: 4px 0;
}
.book-cal-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 0;
}
.book-cal-cell {
  min-height: 48px;
  border: 0;
  border-radius: 0;
  background: transparent;
  border-top: 0;
  padding: 6px 2px 4px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 2px;
  font: inherit;
  cursor: pointer;
}
.book-cal-cell.empty {
  background: transparent;
  pointer-events: none;
  cursor: default;
}
.book-cal-cell .num {
  font-size: 12px;
  font-weight: 650;
  color: var(--ink);
  width: 22px;
  height: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  line-height: 1;
  transition: background 0.12s ease, color 0.12s ease;
}
.book-cal-cell .val {
  font-size: 10px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  line-height: 1.2;
  min-height: 12px;
}
.book-cal-cell.up .val { color: var(--up); }
.book-cal-cell.down .val { color: var(--down); }
.book-cal-cell.idle .val { color: transparent; }
/* 默认：今天黑圆 */

.book-cal-cell.is-today .num {
  background: var(--ink);
  color: #fff;
  font-size: 11px;
}
/* 非今天：悬停出现黑圆 */

.book-cal-cell:not(.empty):not(.is-today):hover .num {
  background: var(--ink);
  color: #fff;
  font-size: 11px;
}
/* 点选其他日：黑圆移过去；今天暂时去掉黑圆 */

.book-cal-cell.is-selected .num {
  background: var(--ink);
  color: #fff;
  font-size: 11px;
}
.book-cal:has(.book-cal-cell.is-selected) .book-cal-cell.is-today:not(.is-selected) .num {
  background: transparent;
  color: var(--ink);
  font-size: 12px;
}
/* 盈亏弹窗内账本：字号随弹窗宽度自适应 */


.pnl-hub-card .pnl-book-head .book-month-nav b {
  min-width: clamp(88px, 18vw, 140px);
  font-size: clamp(14px, 2.6vw, 18px);
  font-weight: 750;
}
.pnl-hub-card .book-cal {
  padding: clamp(8px, 1.5vw, 14px) clamp(6px, 1.2vw, 12px);
  background: transparent;
  border: 0;
  box-shadow: none;
}
.pnl-hub-card .book-cal-week span {
  font-size: clamp(11px, 2.2vw, 14px);
  font-weight: 700;
  padding: clamp(4px, 1vw, 10px) 0;
}
.pnl-hub-card .book-cal-cell {
  min-height: clamp(48px, 10vw, 76px);
  padding: clamp(6px, 1.2vw, 10px) 2px clamp(4px, 1vw, 8px);
  gap: 3px;
}
.pnl-hub-card .book-cal-cell .num {
  font-size: clamp(13px, 3.2vw, 18px);
  font-weight: 750;
  width: clamp(24px, 6vw, 34px);
  height: clamp(24px, 6vw, 34px);
}
.pnl-hub-card .book-cal-cell .val {
  font-size: clamp(10px, 2.2vw, 13px);
  min-height: 1.2em;
}
.pnl-hub-card .book-cal-cell.is-today .num,
.pnl-hub-card .book-cal-cell:not(.empty):not(.is-today):hover .num,
.pnl-hub-card .book-cal-cell.is-selected .num {
  font-size: clamp(12px, 3vw, 17px);
}
.pnl-hub-card .book-cal:has(.book-cal-cell.is-selected) .book-cal-cell.is-today:not(.is-selected) .num {
  font-size: clamp(13px, 3.2vw, 18px);
}
.book-day-detail {
  margin-top: 8px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
  padding: 10px 12px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 10px;
  font-size: 12px;
  color: var(--muted);
}
.book-day-detail-d { font-weight: 700; color: var(--ink); }
.book-day-detail .up { color: var(--up); }
.book-day-detail .down { color: var(--down); }
/* 每日明细：表头 + 行 */


.book-table-wrap {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
  overflow: hidden;
}
.book-table-head,
.book-page .daybook-row {
  display: grid;
  grid-template-columns: 96px 72px 1fr 72px 48px;
  gap: 8px;
  align-items: center;
  padding: 10px 12px;
  font-size: 12px;
}
.book-table-head {
  background: var(--panel-2);
  color: var(--muted);
  font-weight: 650;
  border-bottom: 1px solid var(--line);
}
.book-table-head .num,
.book-page .daybook-row .num { text-align: right; font-variant-numeric: tabular-nums; }
.book-page .daybook-list { gap: 0; }
.book-page .daybook-row {
  background: transparent;
  border-radius: 0;
  border-bottom: 1px solid var(--line);
  margin: 0;
}
.book-page .daybook-row:last-child { border-bottom: 0; }
.book-page .daybook-row .d { font-weight: 650; color: var(--ink); }
.book-page .daybook-row .e { color: var(--muted); }
.book-page .daybook-row .f,
.book-page .daybook-row .c { color: var(--muted); }
.book-page .daybook-row b.up { color: var(--up); }
.book-page .daybook-row b.down { color: var(--down); }
.book-page .daybook-empty {
  background: transparent;
  border: 0;
  border-radius: 0;
}

@media (max-width: 560px) {
  .book-hero { grid-template-columns: 1fr; }
  .book-hero-main { border-right: 0; border-bottom: 1px solid var(--line); }
  .book-hero-stats { grid-template-columns: 1fr 1fr; }
  .book-hero-stats > div:nth-child(odd) { border-right: 1px solid var(--line); }
  .book-hero-num { font-size: 28px; }
  .book-table-head,
  .book-page .daybook-row {
    grid-template-columns: 84px 1fr 56px 40px;
  }
  .book-table-head span:nth-child(2),
  .book-page .daybook-row .e { display: none; }
}
.book-filters { display: flex; flex-wrap: wrap; gap: 6px; }
.book-chip {
  border: 0;
  border-radius: 999px;
  padding: 5px 10px;
  font: inherit;
  font-size: 12px;
  background: var(--chip-bg);
  color: #345;
  cursor: pointer;
}
.book-chip.on { background: var(--teal); color: #fff; }
.book-corpus-actions { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 10px; }
.book-corpus { display: flex; flex-direction: column; gap: 8px; }
.book-corpus-card {
  border-radius: 12px;
  background: #f7fafb;
  padding: 10px 12px;
}
.book-corpus-card header {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  margin-bottom: 6px;
}
.book-corpus-card .when { margin-left: auto; font-size: 11px; color: #6a8290; }
.book-corpus-card .feat { margin: 0 0 8px; font-size: 12px; color: #4a6570; }
.book-corpus-card .lab-actions { display: flex; flex-wrap: wrap; gap: 6px; }
.book-corpus-card .lab-actions button {
  border: 0;
  border-radius: 8px;
  padding: 5px 8px;
  font: inherit;
  font-size: 11px;
  font-weight: 650;
  background: var(--chip-bg);
  cursor: pointer;
}
@media (max-width: 720px) {
  .dock button span:not(.dock-trade-orb):not(.admin-dock-evo-ring) { display: none !important; }
}
/* —— 学习笔记（通俗版） —— */


.book-corpus-card header {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: flex-start;
}
.book-corpus-title {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.book-corpus-title b {
  font-size: 15px;
  font-weight: 800;
  color: #1c3038;
}
.book-corpus-tip {
  font-size: 12px;
  color: #6a8290;
  font-weight: 500;
}
.book-corpus-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 6px 0 4px;
}
.book-corpus-card .tag.lab-ok { background: #d8f3ea; color: #0f6a58; }
.book-corpus-card .tag.lab-bad { background: #fde8ec; color: #b42318; }
.book-corpus-card .tag.lab-mute { background: var(--chip-bg); color: #5a7380; }
.book-corpus-card .tag.lab-wait { background: #fff4d6; color: #8a6a10; }
.book-corpus-card .lab-actions button.lab-ok { background: #dff7f1; color: #0f5c4c; }
.book-corpus-card .lab-actions button.lab-bad { background: #fde8ec; color: #9f1239; }
.book-corpus-card .lab-actions button.lab-mute { background: var(--chip-bg); color: #456; }
.book-corpus-card .lab-actions button.lab-clear {
  background: transparent;
  color: #6a8290;
  text-decoration: underline;
  padding-left: 4px;
  padding-right: 4px;
}
/* —— 进化 Tab（旧嵌入，保留兼容） —— */


.evolve-page { padding: 12px 14px 28px; display: flex; flex-direction: column; gap: 16px; }
.evolve-summary {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(96px, 1fr));
  gap: 8px;
  margin-bottom: 10px;
}
.evolve-kpi {
  background: #f3f7f9;
  border-radius: 10px;
  padding: 10px 12px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.evolve-kpi span { font-size: 11px; color: #6a8290; font-weight: 600; }
.evolve-kpi b { font-size: 15px; color: #1c3038; font-weight: 800; word-break: break-all; }
.evolve-filters-row {
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 10px;
}
/* —— 独立进化页 —— */


.page-evolve .app-evolve {
  --dock-h: 0px;
  --dock-gap: 0px;
  max-width: 720px;
}
.rail-link {
  display: inline-block;
  margin-top: 28px;
  color: #c8c8c8;
  text-decoration: none;
  font-size: 14px;
  font-weight: 650;
}
.rail-link:hover { text-decoration: underline; }
.brand-rail .rail-link { margin-top: auto; padding-top: 24px; }
.brand-rail .rail-logout-btn {
  margin-top: auto;
  padding: 0;
  align-self: flex-start;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(143, 217, 203, 0.22);
  border-radius: 11px;
  background: rgba(255, 255, 255, 0.04);
  color: rgba(168, 184, 194, 0.95);
  cursor: pointer;
  transition:
    background 0.15s ease,
    border-color 0.15s ease,
    color 0.15s ease,
    transform 0.1s ease;
}
.brand-rail .rail-logout-btn:hover {
  background: rgba(255, 255, 255, 0.09);
  border-color: rgba(143, 217, 203, 0.48);
  color: #eef4f7;
}
.brand-rail .rail-logout-btn:active {
  transform: translateY(1px);
}
.brand-rail .rail-logout-btn:focus-visible {
  outline: 2px solid rgba(143, 217, 203, 0.65);
  outline-offset: 2px;
}
.admin-logout-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  padding: 0;
  border-radius: 11px;
  cursor: pointer;
  transition:
    background 0.15s ease,
    border-color 0.15s ease,
    color 0.15s ease,
    transform 0.1s ease;
}
.admin-logout-icon svg {
  width: 20px;
  height: 20px;
  display: block;
}
.admin-logout-icon:active {
  transform: translateY(1px);
}
.admin-logout-icon:focus-visible {
  outline: 2px solid rgba(0,0,0,0.2);
  outline-offset: 2px;
}
.brand-rail .rail-logout-btn svg {
  width: 20px;
  height: 20px;
  display: block;
}
.evo-back-mobile {
  display: inline-flex;
  align-items: center;
  margin-bottom: 12px;
  color: var(--teal);
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
}
@media (min-width: 900px) {
  .evo-back-mobile { display: none; }
}
.evo-hero {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 18px;
}
.evo-hero-icon {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  color: var(--teal);
  background: none;
  border-radius: 0;
}
.evo-hero-icon svg { width: 28px; height: 28px; display: block; }
.evo-hero-text { flex: 1; min-width: 0; }
.evo-hero-text h1 {
  margin: 0;
  font-size: 26px;
  font-weight: 800;
  letter-spacing: -0.03em;
}
.evo-hero-text p {
  margin: 6px 0 0;
  font-size: 13px;
  color: var(--muted);
  line-height: 1.45;
}
.evo-icon-btn {
  border: 1px solid var(--line);
  background: var(--panel);
  border-radius: 10px;
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  cursor: pointer;
  color: var(--muted);
  flex-shrink: 0;
}
.evo-icon-btn:hover { color: var(--teal); border-color: var(--line); }

.evo-progress {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 14px;
  align-items: center;
  background: var(--panel-2);
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 14px;
  margin-bottom: 14px;
}
.evo-prog-main {
  border: 0;
  background: transparent;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  padding: 4px;
  font: inherit;
  color: inherit;
}
.evo-prog-ring {
  --pct: 0;
  width: 76px;
  height: 76px;
  border-radius: 50%;
  background: conic-gradient(var(--teal) calc(var(--pct) * 1%), color-mix(in srgb, var(--muted) 28%, transparent) 0);
  display: grid;
  place-items: center;
}
.evo-prog-ring::before {
  content: "";
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: var(--panel);
  grid-area: 1 / 1;
}
.evo-prog-ring b {
  grid-area: 1 / 1;
  position: relative;
  font-size: 22px;
  font-weight: 800;
  color: var(--ink);
}
.evo-prog-stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.evo-stat {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 8px 10px;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.evo-stat span { font-size: 11px; color: var(--muted); font-weight: 600; }
.evo-stat b { font-size: 15px; font-weight: 800; word-break: break-all; color: var(--ink); }
.evo-stat.ok b { color: var(--up); }
.evo-stat.bad b { color: var(--down); }

.evo-actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  margin-bottom: 20px;
}
@media (min-width: 640px) {
  .evo-actions { grid-template-columns: 1fr 1fr 1.15fr; }
}
.evo-act {
  display: flex;
  align-items: center;
  gap: 12px;
  text-align: left;
  border: 1px solid var(--line);
  background: var(--panel);
  border-radius: 14px;
  padding: 12px 14px;
  cursor: pointer;
  font: inherit;
  color: var(--ink);
  transition: border-color 0.15s ease, background 0.15s ease;
}
.evo-act:hover { border-color: var(--line); }
.evo-act-primary {
  background: var(--teal);
  border-color: var(--teal);
  color: #fff;
}
.evo-act-primary:hover { filter: brightness(1.05); }
.evo-act-primary .evo-act-t small { color: rgba(255,255,255,0.78); }
.evo-act-ico {
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  color: var(--teal);
  background: none;
  border-radius: 0;
}
.evo-act-primary .evo-act-ico {
  background: none;
  color: #fff;
}
.evo-act-ico svg { width: 22px; height: 22px; display: block; }
.evo-act-t { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.evo-act-t b { font-size: 14px; font-weight: 750; }
.evo-act-t small { font-size: 11px; color: var(--muted); }

.evo-list-sec { margin-bottom: 16px; }
.evo-list-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}
.evo-list-head h2 {
  margin: 0;
  font-size: 16px;
  font-weight: 800;
}
.evo-noise-toggle {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 600;
  color: var(--muted);
  cursor: pointer;
  user-select: none;
}
.evo-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 8px;
}
.evo-chip {
  border: 1px solid var(--line);
  background: var(--panel);
  border-radius: 999px;
  padding: 6px 12px;
  font: inherit;
  font-size: 12px;
  font-weight: 650;
  color: var(--muted);
  cursor: pointer;
}
.evo-chip.on {
  background: var(--chip-bg);
  color: var(--ink);
  border-color: var(--line);
}
.evo-kbd-hint {
  margin: 0 0 10px;
  font-size: 11px;
  color: var(--muted);
}
.evo-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
  outline: none;
}
.evo-card {
  display: flex;
  gap: 12px;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 12px;
  color: var(--ink);
  transition: border-color 0.15s ease, background 0.15s ease;
}
.evo-card.is-focus {
  border-color: rgba(0, 0, 0, 0.22);
  background: var(--chip-bg);
}
html[data-theme="dark"] .evo-card.is-focus {
  border-color: rgba(255, 255, 255, 0.22);
}
.evo-card-ico {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: var(--chip-bg);
  color: var(--teal);
  display: grid;
  place-items: center;
  flex-shrink: 0;
}
.evo-card-ico svg { width: 20px; height: 20px; }
.evo-card-body { flex: 1; min-width: 0; }
.evo-card-body header {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: flex-start;
}
.evo-card-body header b { font-size: 14px; font-weight: 750; color: var(--ink); }
.evo-card-tip {
  display: block;
  font-size: 11px;
  color: var(--muted);
  font-weight: 500;
  margin-top: 2px;
}
.evo-card-body time {
  font-size: 11px;
  color: var(--muted);
  white-space: nowrap;
}
.evo-card-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}
.evo-card-feat {
  margin: 8px 0 0;
  font-size: 13px;
  line-height: 1.45;
  color: var(--ink);
}
.evo-card-detail {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 10px;
}
.evo-det-chip {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  padding: 4px 9px;
  border-radius: 8px;
  border: 1px solid var(--line);
  background: var(--chip-bg);
  font-size: 12px;
  line-height: 1.35;
  font-weight: 600;
  color: var(--ink);
  word-break: break-word;
}
.evo-det-chip.is-sym {
  font-weight: 750;
  letter-spacing: -0.01em;
}
.evo-det-chip.is-slot {
  font-weight: 700;
  border-color: color-mix(in srgb, var(--teal) 28%, var(--line));
}
.evo-det-chip.is-long {
  color: var(--up);
  border-color: color-mix(in srgb, var(--up) 35%, transparent);
  background: color-mix(in srgb, var(--up) 10%, var(--chip-bg));
}
.evo-det-chip.is-short {
  color: var(--down);
  border-color: color-mix(in srgb, var(--down) 35%, transparent);
  background: color-mix(in srgb, var(--down) 10%, var(--chip-bg));
}
.evo-det-chip.is-muted {
  color: var(--muted);
  font-weight: 600;
}
.evo-det-chip.is-act {
  flex: 1 1 100%;
  border-style: dashed;
  color: var(--ink);
}
.evo-det-chip.is-warn {
  color: var(--warn);
  border-color: color-mix(in srgb, var(--warn) 35%, transparent);
}
.evo-card-auto {
  margin: 8px 0 0;
  font-size: 12px;
  line-height: 1.45;
  color: var(--muted);
}
.evo-label-bar {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--line);
}
.evo-label-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.evo-label-pills {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 6px;
  flex: 1 1 auto;
  min-width: 0;
}
.evo-label-btn {
  flex: 0 0 auto;
  min-height: 32px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: var(--panel-2);
  color: var(--muted);
  font: inherit;
  font-size: 13px;
  font-weight: 650;
  line-height: 1.2;
  cursor: pointer;
  transition: background 0.14s ease, border-color 0.14s ease, color 0.14s ease, transform 0.1s ease;
}
.evo-label-btn:hover:not(:disabled) {
  border-color: color-mix(in srgb, var(--ink) 20%, transparent);
  color: var(--ink);
  background: var(--chip-bg);
}
.evo-label-btn:active:not(:disabled) {
  transform: scale(0.98);
}
.evo-label-btn.is-on.is-real {
  background: color-mix(in srgb, var(--up) 16%, var(--panel));
  border-color: color-mix(in srgb, var(--up) 42%, transparent);
  color: var(--up);
  font-weight: 750;
}
.evo-label-btn.is-on.is-bad {
  background: var(--danger-soft, color-mix(in srgb, var(--down) 14%, var(--panel)));
  border-color: color-mix(in srgb, var(--down) 38%, transparent);
  color: var(--down);
  font-weight: 750;
}
.evo-label-btn.is-on.is-skip {
  background: var(--chip-bg);
  border-color: color-mix(in srgb, var(--muted) 35%, transparent);
  color: var(--ink);
  font-weight: 700;
}
.evo-label-clear {
  flex: 0 0 auto;
  min-height: 32px;
  padding: 0 12px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: transparent;
  color: var(--muted);
  font: inherit;
  font-size: 12px;
  font-weight: 650;
  cursor: pointer;
  transition: border-color 0.14s ease, color 0.14s ease, background 0.14s ease;
}
.evo-label-clear:hover:not(:disabled) {
  color: var(--ink);
  border-color: color-mix(in srgb, var(--muted) 50%, transparent);
  background: var(--panel-2);
}
.evo-card.is-label-busy .evo-label-btn,
.evo-card.is-label-busy .evo-label-clear {
  opacity: 0.55;
  pointer-events: none;
  cursor: wait;
}
@media (max-width: 520px) {
  .evo-label-row {
    flex-direction: column;
    align-items: stretch;
  }
  .evo-label-pills {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: 2px;
  }
  .evo-label-pills::-webkit-scrollbar {
    display: none;
  }
  .evo-label-clear {
    align-self: flex-start;
  }
}
.evo-empty {
  text-align: center;
  padding: 28px 16px;
  background: var(--panel-2);
  border: 1px solid var(--line);
  border-radius: 14px;
  color: var(--ink);
}
.evo-empty-art { margin-bottom: 8px; }
.evo-empty-art svg { width: 120px; height: 80px; }
.evo-empty b { display: block; font-size: 15px; margin-bottom: 6px; }
.evo-empty p { margin: 0 0 14px; font-size: 13px; color: var(--muted); }
.evo-empty-btn {
  display: inline-block;
  padding: 10px 16px;
  border-radius: 10px;
  background: var(--teal);
  color: #fff;
  font-weight: 700;
  font-size: 13px;
  text-decoration: none;
}
.evo-help {
  margin-top: 8px;
  margin-bottom: 24px;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 4px 14px;
  background: #fff;
}
.evo-help summary {
  cursor: pointer;
  font-weight: 700;
  font-size: 13px;
  padding: 10px 0;
  color: var(--muted);
}
.evo-help ol {
  margin: 0 0 12px;
  padding-left: 1.2em;
  font-size: 13px;
  line-height: 1.55;
  color: var(--ink);
}
.evo-help a { color: var(--teal); font-weight: 650; }

@media (max-width: 720px) {
  .evo-progress { grid-template-columns: 1fr; justify-items: center; }
  .evo-prog-stats { width: 100%; }
  .dock {
    position: fixed !important;
    left: 50% !important;
    right: auto !important;
    bottom: 0 !important;
    transform: translateX(-50%) !important;
    width: 100% !important;
    max-width: min(460px, 100%) !important;
    grid-template-columns: repeat(5, 1fr);
    z-index: 200 !important;
  }
  .dock button { padding: 6px 0; font-size: 0; }
  .dock svg { width: 28px; height: 28px; }
  .dock button[data-tab="strategy"] svg.dock-ico-compass {
    width: 32px;
    height: 32px;
  }
  .dock .dock-trade-orb svg { width: 26px; height: 26px; }
  .dock button span:not(.dock-trade-orb):not(.admin-dock-evo-ring) { display: none !important; }

  /* 手机：隐藏滚动条外观，但绝不用 display:none（会打断 WebKit 内层滑动） */
  html,
  body,
  .shell,
  .app,
  .panel,
  .main,
  .pos-scroll,
  .ai-float-scroll {
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  html::-webkit-scrollbar,
  body::-webkit-scrollbar,
  .shell::-webkit-scrollbar,
  .app::-webkit-scrollbar,
  .panel::-webkit-scrollbar,
  .main::-webkit-scrollbar,
  .pos-scroll::-webkit-scrollbar,
  .ai-float-scroll::-webkit-scrollbar {
    width: 0;
    height: 0;
    background: transparent;
  }

  /* 研判：手机独立全屏页（非弹窗）；底栏隐藏；层级高于 dock */
  body.radar-page-open {
    overflow: hidden;
  }
  body.radar-page-open .dock {
    visibility: hidden !important;
    pointer-events: none !important;
  }
  .fee-tip-modal.radar-sheet.is-page {
    padding: 0 !important;
    align-items: stretch !important;
    justify-items: stretch !important;
    /* 研判永远暗色铺底（不跟工具皮肤） */
    background: #000000 !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    z-index: 12050 !important;
    pointer-events: auto !important;
  }
  .fee-tip-modal.radar-sheet.is-page .radar-card.radar-pro {
    width: 100% !important;
    max-width: none !important;
    max-height: none !important;
    height: 100vh !important;
    height: 100dvh !important;
    min-height: 100dvh !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    margin: 0 !important;
  }

  /* 研判弹窗：整页可滑；顶栏单行；因子区手机不挤压 */
  .fee-tip-modal.radar-sheet {
    padding: 0;
    align-items: stretch;
  }
  .fee-tip-modal.radar-sheet .radar-card.radar-pro {
    width: 100%;
    max-width: 100%;
    max-height: 100dvh;
    height: 100dvh;
    border-radius: 0;
  }
  .fee-tip-modal.radar-sheet:not(.is-desk-shell) .radar-head {
    gap: 6px;
    padding: 10px 12px 10px;
    align-items: center;
  }
  .fee-tip-modal.radar-sheet:not(.is-desk-shell) .radar-head-main,
  .fee-tip-modal.radar-sheet:not(.is-desk-shell) .radar-head-tools {
    flex-wrap: nowrap !important;
    gap: 6px;
    align-items: center;
  }
  .fee-tip-modal.radar-sheet:not(.is-desk-shell) .radar-head-main {
    flex: 1 1 auto;
    min-width: 0;
  }
  .fee-tip-modal.radar-sheet:not(.is-desk-shell) .radar-head-tools {
    flex: 1 1 auto;
    justify-content: flex-start;
  }
  .fee-tip-modal.radar-sheet:not(.is-desk-shell) .radar-title-logo,
  .fee-tip-modal.radar-sheet:not(.is-desk-shell) .radar-title-logo .logo-mc {
    width: 44px;
    height: 44px;
  }
  .fee-tip-modal.radar-sheet:not(.is-desk-shell) .radar-head h3.radar-head-logo {
    flex-shrink: 0;
  }
  .fee-tip-modal.radar-sheet:not(.is-desk-shell) .radar-symbol-sel,
  .fee-tip-modal.radar-sheet:not(.is-desk-shell) .radar-venue-sel,
  .fee-tip-modal.radar-sheet:not(.is-desk-shell) .radar-head .radar-win-sel,
  .fee-tip-modal.radar-sheet:not(.is-desk-shell) .radar-head .radar-regime-sel {
    height: 30px;
    max-width: none;
    min-width: 0;
    flex: 1 1 0;
    padding: 0 20px 0 8px;
    font-size: 11px;
    font-weight: 650;
    border-radius: 8px;
  }
  .fee-tip-modal.radar-sheet:not(.is-desk-shell) .radar-venue-sel {
    flex: 0.75 1 0;
    max-width: 92px;
  }
  .fee-tip-modal.radar-sheet:not(.is-desk-shell) .radar-head .radar-regime-sel {
    display: block;
    flex: 1.2 1 0;
    max-width: 148px;
  }
  .fee-tip-modal.radar-sheet:not(.is-desk-shell) .radar-head .radar-regime-row-head {
    display: none !important;
  }
  .fee-tip-modal.radar-sheet:not(.is-desk-shell) .radar-head .radar-copy-brief {
    height: 30px;
    padding: 0 10px;
    font-size: 11px;
    line-height: 28px;
    flex: 0 0 auto;
    border-radius: 8px;
    white-space: nowrap;
  }
  .fee-tip-modal.radar-sheet:not(.is-desk-shell) .radar-copy-lab-full {
    display: none;
  }
  .fee-tip-modal.radar-sheet:not(.is-desk-shell) .radar-copy-lab-short {
    display: inline;
  }
  .fee-tip-modal.radar-sheet:not(.is-desk-shell) .radar-x {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    margin-left: 2px;
  }
  /* 研判合约图：与电脑端一致 — 占满剩余高度，内部滚动（无滚动条） */
  .fee-tip-modal.radar-sheet .radar-body,
  .fee-tip-modal.radar-sheet .radar-pro .radar-body {
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    flex: 1 1 auto;
    min-height: 0;
  }
  .fee-tip-modal.radar-sheet .radar-body > .radar-verdict,
  .fee-tip-modal.radar-sheet .radar-body > .radar-verdict-diff,
  .fee-tip-modal.radar-sheet .radar-body > .radar-kpi-strip,
  .fee-tip-modal.radar-sheet .radar-body > .radar-flow-link-strip,
  .fee-tip-modal.radar-sheet .radar-body > .radar-cn-desk {
    flex: 0 0 auto;
  }
  .fee-tip-modal.radar-sheet .radar-okx-host {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    margin: 0 !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    /* 手机全屏：去掉内层圆角卡片，贴边铺满 */
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: #000000 !important;
  }
  .fee-tip-modal.radar-sheet .radar-body,
  .fee-tip-modal.radar-sheet .radar-pro .radar-body {
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-bottom: 0 !important;
  }
  /* 结论条等仍保留左右内边距，图表区贴边 */
  .fee-tip-modal.radar-sheet .radar-body > .radar-verdict,
  .fee-tip-modal.radar-sheet .radar-body > .radar-verdict-diff,
  .fee-tip-modal.radar-sheet .radar-body > .radar-kpi-strip,
  .fee-tip-modal.radar-sheet .radar-body > .radar-flow-link-strip {
    margin-left: 12px;
    margin-right: 12px;
  }
  .fee-tip-modal.radar-sheet .radar-okx-host .okx-data-inline {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    overflow: hidden !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    display: flex !important;
    flex-direction: column !important;
    box-sizing: border-box !important;
  }
  .fee-tip-modal.radar-sheet .radar-okx-host .okx-data-body-scroll {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
  }
  .fee-tip-modal.radar-sheet .radar-okx-host .okx-data-body-scroll::-webkit-scrollbar {
    width: 0 !important;
    height: 0 !important;
    display: none !important;
  }
  /* 手机：页签单行横滑（研判 / OKX 全屏同），不换行、不裁切 */
  .fee-tip-modal.radar-sheet .okx-data-tabs,
  .fee-tip-modal.radar-sheet .radar-okx-host .okx-data-tabs,
  .okx-data-sheet .okx-data-tabs,
  .okx-data-sheet .radar-okx-host .okx-data-tabs {
    position: relative !important;
    top: auto !important;
    z-index: 6 !important;
    flex: 0 0 auto !important;
    align-self: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 6px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior-x: contain;
    scrollbar-width: none !important;
    padding: 8px 10px 6px !important;
    touch-action: pan-x !important;
    pointer-events: auto !important;
  }
  .fee-tip-modal.radar-sheet .okx-data-tabs::-webkit-scrollbar,
  .okx-data-sheet .okx-data-tabs::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
  }
  .fee-tip-modal.radar-sheet .okx-data-tab,
  .okx-data-sheet .okx-data-tab {
    flex: 0 0 auto !important;
    max-width: none !important;
    padding: 5px 9px !important;
    font-size: 11px !important;
    white-space: nowrap !important;
  }
  .okx-data-sheet .radar-okx-host,
  .okx-data-sheet .radar-okx-host .okx-data-inline {
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  .fee-tip-modal.radar-sheet .radar-kpi-strip {
    overflow-x: auto;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }
  .fee-tip-modal.radar-sheet .radar-kpi-strip::-webkit-scrollbar {
    display: none;
  }

  /* 综合分卡：竖排，仪表与文案都不挤 */
  .fee-tip-modal.radar-sheet .okx-factor-composite-main {
    grid-template-columns: 1fr;
    justify-items: center;
    gap: 10px 0;
  }
  .fee-tip-modal.radar-sheet .okx-factor-composite-gauge-wrap {
    width: min(100%, 210px);
    min-height: 128px;
    padding: 0 2px 2px;
  }
  .fee-tip-modal.radar-sheet .okx-factor-gauge-stage {
    max-width: 196px;
  }
  .fee-tip-modal.radar-sheet .okx-factor-gauge-svg {
    max-width: 196px;
  }
  .fee-tip-modal.radar-sheet .okx-factor-composite-score {
    top: 60%;
    font-size: 18px;
    font-weight: 750;
    letter-spacing: -0.015em;
  }
  .fee-tip-modal.radar-sheet .okx-factor-gauge-end-lab {
    top: auto;
    bottom: 2px;
  }
  .fee-tip-modal.radar-sheet .okx-factor-gauge-end-lab.is-bear {
    left: 12px;
    transform: none;
  }
  .fee-tip-modal.radar-sheet .okx-factor-gauge-end-lab.is-bull {
    right: 12px;
    transform: none;
  }
  .fee-tip-modal.radar-sheet .okx-factor-composite-tag {
    margin-top: 2px;
    min-height: 22px;
  }
  .fee-tip-modal.radar-sheet .okx-factor-composite-body {
    width: 100%;
    padding: 0 2px 2px;
    gap: 8px;
  }
  .fee-tip-modal.radar-sheet .okx-data-factors.is-inst-model .okx-factor-composite {
    padding: 12px 12px 12px;
  }
  .fee-tip-modal.radar-sheet .okx-data-factors.is-inst-model .okx-factor-composite.has-flags {
    padding-top: 38px;
  }
  .fee-tip-modal.radar-sheet .okx-factor-composite-headline strong {
    font-size: 15px;
  }
  .fee-tip-modal.radar-sheet .okx-factor-verdict-flags {
    max-width: calc(100% - 8px);
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 4px;
  }

  /* 因子图头：手机两排 — 上：logo+图例；下：周期/展望/区间烛/幽灵烛/情景靠左 */
  .fee-tip-modal.radar-sheet .okx-factor-compare {
    padding: 10px 12px 12px;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }
  .fee-tip-modal.radar-sheet .okx-data-inline.is-factors-tab .okx-data-factors-wrap {
    padding: 10px 12px 40px;
  }
  .fee-tip-modal.radar-sheet .okx-data-inline.is-factors-tab .okx-data-tabs {
    padding-left: 12px;
    padding-right: 12px;
  }
  .fee-tip-modal.radar-sheet .okx-data-inline.is-factors-tab .okx-data-factors.is-inst-model .okx-factor-composite {
    padding-left: 14px;
    padding-right: 14px;
  }
  .fee-tip-modal.radar-sheet .okx-data-inline.is-factors-tab .okx-data-factors-comp.inst {
    gap: 8px;
    padding: 0 2px;
    box-sizing: border-box;
  }
  .fee-tip-modal.radar-sheet .okx-factor-compare-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
      "brand end"
      "ctrls ctrls";
    align-items: center;
    column-gap: 4px;
    row-gap: 6px;
    margin-bottom: 8px;
  }
  .fee-tip-modal.radar-sheet .okx-factor-compare-head > .okx-factor-title-logo {
    grid-area: brand;
  }
  .fee-tip-modal.radar-sheet .okx-factor-compare-head-left {
    display: contents;
  }
  .fee-tip-modal.radar-sheet .okx-factor-compare-head-ctrls {
    grid-area: ctrls;
    width: 100%;
    display: flex;
    align-items: stretch;
    gap: 4px;
    overflow: visible;
    box-sizing: border-box;
  }
  /* 非全屏内嵌：Safari 不用 contents；周期区 2 份 + 开关区 3 份铺满 */
  .fee-tip-modal.radar-sheet .okx-factor-compare-sels,
  .fee-tip-modal.radar-sheet .okx-factor-compare-title-row {
    display: flex !important;
    flex: 2 1 0 !important;
    min-width: 0 !important;
    width: auto !important;
    max-width: none !important;
    align-items: stretch;
    gap: 4px;
  }
  .fee-tip-modal.radar-sheet .okx-factor-compare-legend,
  .fee-tip-modal.radar-sheet .okx-factor-compare.is-fs .okx-factor-compare-legend {
    display: flex !important;
    flex: 3 1 0 !important;
    min-width: 0 !important;
    width: auto !important;
    max-width: none !important;
    align-items: stretch;
    gap: 4px;
    overflow: visible !important;
  }
  .fee-tip-modal.radar-sheet .okx-factor-title-logo,
  .fee-tip-modal.radar-sheet .okx-factor-title-logo .logo-mc {
    width: 44px;
    height: 44px;
  }
  .fee-tip-modal.radar-sheet .okx-factor-compare-sels > .radar-win-sel.okx-factor-sel,
  .fee-tip-modal.radar-sheet .okx-factor-compare-legend > .okx-factor-adv-tog,
  .fee-tip-modal.radar-sheet .okx-factor-compare .radar-win-sel.okx-factor-sel,
  .fee-tip-modal.radar-sheet .okx-factor-compare .okx-factor-adv-tog {
    flex: 1 1 0 !important;
    flex-shrink: 1 !important;
    min-width: 0 !important;
    max-width: none !important;
    width: auto !important;
    height: 24px !important;
    line-height: 1 !important;
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    padding-left: 2px !important;
    padding-right: 2px !important;
    font-size: 10px !important;
    border-radius: 6px !important;
    white-space: nowrap !important;
    margin-left: 0 !important;
  }
  .fee-tip-modal.radar-sheet .okx-factor-compare-sels > .radar-win-sel.okx-factor-sel,
  .fee-tip-modal.radar-sheet .okx-factor-compare .radar-win-sel.okx-factor-sel {
    padding-right: 14px !important;
    background-position: right 4px center !important;
  }
  .fee-tip-modal.radar-sheet .okx-factor-compare-legend > .okx-factor-div-badge {
    display: none !important;
  }
  .fee-tip-modal.radar-sheet .okx-factor-compare-title-row em[data-factor-compare-range],
  .fee-tip-modal.radar-sheet .okx-factor-compare-sels em[data-factor-compare-range] {
    display: none;
  }
  .fee-tip-modal.radar-sheet .okx-factor-compare-head-right {
    display: contents;
  }
  .fee-tip-modal.radar-sheet .okx-factor-leg-item,
  .fee-tip-modal.radar-sheet .okx-factor-adv-tog {
    font-size: 10px;
    line-height: 1.2;
    white-space: nowrap;
  }
  .fee-tip-modal.radar-sheet .okx-factor-adv-tog {
    margin-left: 0;
  }
  .fee-tip-modal.radar-sheet .okx-factor-compare-fs {
    margin-left: 0;
    flex-shrink: 0;
  }
  .fee-tip-modal.radar-sheet .okx-factor-compare-leg-end {
    grid-area: end;
    margin-left: 0;
    flex-shrink: 0;
    gap: 4px;
    justify-self: end;
  }
  .fee-tip-modal.radar-sheet .okx-factor-div-badge {
    display: none;
  }
  /* 手机：图例不再弹说明气泡；仅 tip-on 显示命中率 */
  .fee-tip-modal.radar-sheet .okx-factor-adv-tog:hover .okx-factor-adv-tip,
  .fee-tip-modal.radar-sheet .okx-factor-adv-tog:focus-visible .okx-factor-adv-tip {
    display: none !important;
  }
  .fee-tip-modal.radar-sheet .okx-factor-compare-head {
    overflow: visible;
    position: relative;
    z-index: 30;
  }
  .fee-tip-modal.radar-sheet .okx-factor-compare-legend {
    overflow: visible;
  }
  .fee-tip-modal.radar-sheet .okx-factor-leg-item {
    position: relative;
  }
  .fee-tip-modal.radar-sheet .okx-factor-hit-tip,
  .fee-tip-modal.radar-sheet .okx-factor-adv-tip {
    display: none;
  }
  /* 浮层对准图例三角箭头，勿全宽占位顶开 K 线 */
  .fee-tip-modal.radar-sheet .okx-factor-leg-item.tip-on .okx-factor-hit-tip {
    display: block;
    position: absolute;
    left: auto;
    right: 0;
    top: calc(100% + 10px);
    width: min(200px, 72vw) !important;
    max-width: min(200px, 72vw) !important;
    box-sizing: border-box;
    z-index: 60;
    margin: 0;
    padding: 10px 12px;
    border-radius: 10px;
    white-space: normal;
    pointer-events: none;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35), inset 0 0 0 1px rgba(255, 255, 255, 0.1);
  }
  .fee-tip-modal.radar-sheet .okx-factor-leg-item.tip-on .okx-factor-hit-tip::after {
    display: block;
    content: "";
    position: absolute;
    right: 14px;
    left: auto;
    top: -6px;
    width: 10px;
    height: 10px;
    background: rgba(14, 20, 27, 0.96);
    border-left: 1px solid rgba(255, 255, 255, 0.1);
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    transform: rotate(45deg);
  }
  .fee-tip-modal.radar-sheet .okx-factor-hit-tip-inner {
    gap: 6px;
  }
  .fee-tip-modal.radar-sheet .okx-factor-hit-tip-inner b {
    font-size: 20px;
  }
  .fee-tip-modal.radar-sheet .okx-factor-hit-tip-inner em {
    font-size: 11px;
    line-height: 1.45;
  }
  .fee-tip-modal.radar-sheet .okx-factor-hit-tip-side {
    grid-template-columns: 1fr 1fr;
    gap: 8px 12px;
    align-items: start;
  }
  .fee-tip-modal.radar-sheet .okx-factor-hit-tip-side span {
    flex-wrap: wrap;
    row-gap: 2px;
  }
  .fee-tip-modal.radar-sheet .okx-factor-compare-head:has(.tip-on) {
    margin-bottom: 0;
    z-index: 40;
  }
  .fee-tip-modal.radar-sheet .okx-factor-compare-chart-wrap {
    min-height: 220px;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
  }
  .fee-tip-modal.radar-sheet .okx-factor-compare-loading {
    min-height: 180px;
    display: grid;
    place-items: center;
    font-size: 13px;
    color: #8b9aab;
  }

  /* 全屏页手机：同样两排（勿再压回单行） */
  .fee-tip-modal.radar-sheet .okx-factor-compare.is-fs .okx-factor-compare-head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
      "brand end"
      "ctrls ctrls";
    align-items: center;
    column-gap: 4px;
    row-gap: 6px;
    flex-wrap: unset;
  }
  .fee-tip-modal.radar-sheet .okx-factor-compare.is-fs .okx-factor-compare-head-left,
  .fee-tip-modal.radar-sheet .okx-factor-compare.is-fs .okx-factor-compare-head-right {
    display: contents;
  }
  .fee-tip-modal.radar-sheet .okx-factor-compare.is-fs .okx-factor-compare-head-ctrls {
    grid-area: ctrls;
    width: 100%;
  }
  .fee-tip-modal.radar-sheet .okx-factor-compare.is-fs .okx-factor-compare-leg-end {
    grid-area: end;
    margin-left: 0;
    margin-bottom: 0 !important;
  }
  .fee-tip-modal.radar-sheet .okx-factor-compare.is-fs .okx-factor-compare-legend {
    display: flex !important;
    flex: 3 1 0 !important;
  }
  .fee-tip-modal.radar-sheet .okx-factor-compare.is-fs .radar-win-sel.okx-factor-sel,
  .fee-tip-modal.radar-sheet .okx-factor-compare.is-fs .okx-factor-adv-tog {
    height: 24px !important;
    max-width: none !important;
    flex: 1 1 0 !important;
  }
}
/* 月历点日期 → 当日账单弹窗（官方风） */


.book-cal-hint {
  margin: 0 0 8px;
  font-size: 12px;
  color: var(--muted);
  font-weight: 500;
}
.book-day-sheet {
  background: rgba(6, 10, 16, 0.55);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.fee-tip-modal.book-day-sheet {
  z-index: 28120 !important;
  pointer-events: auto !important;
  opacity: 1;
  transition: none;
}
.fee-tip-modal.flow-detail-sheet {
  z-index: 28140 !important;
  pointer-events: auto !important;
}
@media (min-width: 720px) {
  #app-flow-detail.fee-tip-modal.flow-detail-sheet.is-desk-center {
    display: grid !important;
    place-items: center !important;
    padding: 16px !important;
    align-items: center !important;
    justify-items: center !important;
  }
  #app-flow-detail.fee-tip-modal.flow-detail-sheet.is-desk-center .fee-sheet.flow-detail-card {
    margin: 0 auto;
  }
}
@media (max-width: 719px) {
  #app-flow-detail.fee-tip-modal.flow-detail-sheet {
    display: flex;
    align-items: stretch;
    justify-content: stretch;
    padding: 0;
    background: var(--bg, #ffffff);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
  #app-flow-detail.fee-tip-modal.flow-detail-sheet .fee-sheet.flow-detail-card,
  #app-flow-detail.fee-tip-modal.flow-detail-sheet.is-empty .fee-sheet.flow-detail-card {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    height: 100%;
    max-height: none !important;
    min-height: 100%;
    min-height: 100dvh;
    margin: 0;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    transform: none;
    box-sizing: border-box;
    padding-top: env(safe-area-inset-top, 0px);
    background: var(--bg, #ffffff) !important;
  }
  #app-flow-detail .flow-detail-head {
    padding-top: 10px;
  }
  #app-flow-detail .flow-detail-body {
    padding-bottom: calc(14px + env(safe-area-inset-bottom, 0px));
  }
}

.book-day-sheet .book-day-card {
  width: min(360px, calc(100vw - 32px));
  margin: 0 auto;
  border-radius: 14px;
  border: 1px solid rgba(255, 255, 255, 0.55);
  box-shadow: 0 18px 48px rgba(21, 32, 43, 0.18);
  background: #fff;
  overflow: hidden;
  padding: 0;
}
html[data-theme="dark"] .book-day-sheet .book-day-card:not(.book-day-card--callout) {
  background: var(--panel-2, #1a222c);
  border-color: var(--line, #2a3542);
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.45);
}
.book-day-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 18px 12px;
  border-bottom: 0;
}
.book-day-head-text {
  flex: 1 1 auto;
  min-width: 0;
}
.book-day-title-sr {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.book-day-head h3:not(.book-day-title-sr) {
  margin: 0;
  font-size: 18px;
  font-weight: 750;
  letter-spacing: -0.02em;
  color: var(--ink);
}
.book-day-env {
  display: inline-block;
  margin-top: 8px;
  padding: 3px 8px;
  border-radius: 6px;
  background: var(--panel-2);
  color: var(--muted);
  font-size: 11px;
  font-weight: 650;
}
.book-day-x {
  width: auto;
  height: auto;
  min-width: 28px;
  min-height: 28px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #111;
  font-size: 22px;
  font-weight: 500;
  line-height: 1;
  cursor: pointer;
  flex-shrink: 0;
  box-shadow: none;
}
.book-day-x:hover {
  background: transparent;
  color: #000;
  opacity: 0.7;
}
.book-day-body {
  padding: 16px 18px 18px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.book-day-card--lite .book-day-body {
  padding-top: 18px;
}
.book-day-pop-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 14px 14px 12px;
  border-radius: 10px;
  background: #fff;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.book-day-pop-hero > * {
  position: relative;
  z-index: 1;
}
/* 马赛克慢慢溶进弹窗白底，底部与页面同色 */

.book-day-pop-hero.up {
  background: linear-gradient(180deg, #eef8f5 0%, #f4faf8 22%, #fafcfc 55%, #fff 100%);
}
.book-day-pop-hero.down {
  background: linear-gradient(180deg, #faf0f0 0%, #faf5f5 22%, #fcfafa 55%, #fff 100%);
}
.book-day-pop-hero.up::before,
.book-day-pop-hero.down::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  border-radius: inherit;
  background-repeat: repeat;
  background-size: 3.6px 3.6px;
  -webkit-mask-image: linear-gradient(180deg, #000 0%, rgba(0, 0, 0, 0.5) 28%, rgba(0, 0, 0, 0.18) 58%, transparent 88%);
  mask-image: linear-gradient(180deg, #000 0%, rgba(0, 0, 0, 0.5) 28%, rgba(0, 0, 0, 0.18) 58%, transparent 88%);
}
.book-day-pop-hero.up::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='3.6' height='3.6'%3E%3Crect width='2.02' height='2.02' fill='%23178f7a' fill-opacity='0.4'/%3E%3C/svg%3E");
}
.book-day-pop-hero.down::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='3.6' height='3.6'%3E%3Crect width='2.02' height='2.02' fill='%23d4535c' fill-opacity='0.4'/%3E%3C/svg%3E");
}
.book-day-pop-unit {
  font-size: 12px;
  font-weight: 600;
  color: var(--muted);
}
.book-day-pop-num {
  font-size: 30px;
  font-weight: 800;
  letter-spacing: -0.03em;
  font-variant-numeric: tabular-nums;
  line-height: 1.1;
  color: var(--ink);
}
.book-day-pop-hero.up .book-day-pop-num { color: var(--up); }
.book-day-pop-hero.down .book-day-pop-num { color: var(--down); }
.book-day-pop-stats {
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.book-day-pop-stats > div {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  padding: 8px 0;
  border-bottom: 0;
  font-size: 13px;
}
.book-day-pop-stats dt {
  margin: 0;
  color: var(--muted);
  font-weight: 500;
}
.book-day-foot {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding: 12px 16px 14px;
  border-top: 1px solid rgba(15, 40, 50, 0.08);
}
.book-day-pop-stats dd {
  margin: 0;
  padding-right: 8px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  color: var(--ink);
}
/* —— 账户页：盈亏迷你走势 + 大弹窗 —— */


.pnl-mini-card {
  margin: 0 0 18px;
  padding: 14px 14px 12px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
}
.pnl-mini-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 10px;
}
.pnl-mini-title {
  margin: 0;
  font-size: 15px;
  font-weight: 750;
  color: var(--ink);
}
.pnl-mini-sub {
  margin: 4px 0 0;
  font-size: 12px;
  color: var(--muted);
}
.pnl-account-select {
  max-width: 148px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 6px 8px;
  font: inherit;
  font-size: 12px;
  font-weight: 600;
  color: var(--ink);
  background-color: transparent;
}
.pnl-hub-filters {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 0 1 auto;
  min-width: 0;
}
.pnl-range-select {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 6px 28px 6px 10px;
  font: inherit;
  font-size: 12px;
  font-weight: 600;
  color: var(--ink);
  -webkit-appearance: none;
  appearance: none;
  min-width: 64px;
  cursor: pointer;
}
.pnl-range-select:focus,
.pnl-account-select:focus {
  outline: none;
  border-color: var(--line);
  box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.08);
}
.pnl-range {
  display: flex;
  gap: 6px;
  margin-bottom: 10px;
}
.pnl-range-btn {
  border: 0;
  border-radius: 8px;
  padding: 5px 10px;
  font: inherit;
  font-size: 12px;
  font-weight: 650;
  background: var(--panel-2);
  color: var(--muted);
  cursor: pointer;
}
.pnl-range-btn.on {
  background: var(--ink);
  color: #fff;
}
.pnl-mini-chart {
  width: 100%;
  border: 0;
  padding: 0;
  background: transparent;
  text-align: left;
  cursor: pointer;
  font: inherit;
}
.pnl-spark {
  display: block;
  width: 100%;
  height: 88px;
  border-radius: 10px;
  background: var(--panel-2);
}
.pnl-spark-lg {
  height: clamp(280px, 52vh, 520px);
  min-height: 280px;
  margin-top: 0;
}
.pnl-mini-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 8px;
  font-size: 12px;
  font-weight: 650;
}
.pnl-mini-meta .up { color: var(--up); }
.pnl-mini-meta .down { color: var(--down); }
.pnl-mini-cta {
  color: var(--teal);
  font-weight: 700;
}
.pnl-hub-sheet {
  background: var(--modal-scrim, rgba(6, 10, 16, 0.55));
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.pnl-hub-card {
  width: min(800px, calc(100vw - 2 * clamp(6px, 1.2vw, 12px)));
  max-width: min(800px, calc(100vw - 2 * clamp(6px, 1.2vw, 12px)));
  max-height: min(94vh, calc(100vh - 2 * clamp(6px, 1.2vw, 12px)));
  overflow: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
  border-radius: clamp(12px, 2vw, 16px);
  background: #fff;
  border: 1px solid rgba(255,255,255,0.5);
  box-shadow: 0 18px 48px rgba(21, 32, 43, 0.2);
  padding: 0;
  display: flex;
  flex-direction: column;
}
.pnl-hub-card::-webkit-scrollbar {
  width: 0 !important;
  height: 0 !important;
  display: none !important;
  background: transparent;
}
.pnl-hub-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: clamp(12px, 2vw, 16px) clamp(12px, 2vw, 16px) 10px;
  flex-shrink: 0;
}
.pnl-hub-head-left {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  flex: 1 1 auto;
  flex-wrap: nowrap;
  position: relative;
}
.pnl-custom-date-btn {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 6px 10px;
  font: inherit;
  font-size: 12px;
  font-weight: 650;
  color: var(--ink);
  background: #fff;
  cursor: pointer;
  white-space: nowrap;
}
.pnl-custom-date-btn:hover {
  border-color: var(--line);
  color: var(--teal);
}
.pnl-custom-cal-layer {
  position: fixed;
  inset: 0;
  z-index: 13080;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: max(12px, env(safe-area-inset-top, 0px)) 16px max(12px, env(safe-area-inset-bottom, 0px));
  box-sizing: border-box;
}
.pnl-custom-cal-layer[hidden] {
  display: none !important;
}
.pnl-custom-cal-backdrop {
  position: absolute;
  inset: 0;
  border: 0;
  padding: 0;
  margin: 0;
  background: rgba(14, 20, 27, 0.45);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.pnl-custom-cal-card {
  position: relative;
  z-index: 1;
  width: min(352px, calc(100vw - 32px));
  max-height: min(520px, calc(100vh - 48px));
  overflow: auto;
  padding: 14px 14px 12px;
  border-radius: 16px;
  border: 1px solid var(--line);
  background: var(--panel);
  box-shadow: 0 18px 48px rgba(21, 32, 43, 0.22);
  color: var(--ink);
  -webkit-overflow-scrolling: touch;
}
.pnl-custom-cal-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
}
.pnl-custom-cal-head b {
  font-size: 15px;
  font-weight: 750;
  color: var(--ink);
}
.pnl-custom-cal-head .daybook-btn.ghost {
  color: var(--teal);
  background: transparent;
  border: 0;
  min-width: 36px;
  height: 36px;
  font-size: 22px;
  line-height: 1;
}
.pnl-custom-cal-week {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 4px;
  margin-bottom: 6px;
  font-size: 11px;
  color: var(--muted);
  text-align: center;
  font-weight: 650;
}
.pnl-custom-cal-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 4px;
}
.pnl-custom-cal-cell {
  border: 0;
  border-radius: 999px;
  aspect-ratio: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  font: inherit;
  font-size: 14px;
  font-weight: 650;
  color: var(--ink);
  background: transparent;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.pnl-custom-cal-cell.empty {
  pointer-events: none;
}
.pnl-custom-cal-cell .num {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 999px;
}
.pnl-custom-cal-cell.is-in-range .num {
  background: var(--chip-bg);
  color: var(--teal);
}
.pnl-custom-cal-cell.is-picked .num {
  background: var(--ink);
  color: #fff;
}
.pnl-custom-cal-cell.is-start .num,
.pnl-custom-cal-cell.is-end .num,
.pnl-custom-cal-cell.is-single .num {
  background: var(--teal);
  color: #fff;
}
.pnl-custom-cal-cell:hover:not(.empty):not(.is-picked):not(.is-in-range) .num {
  background: var(--panel-2);
}
.pnl-custom-cal-hint {
  display: none !important;
}
.pnl-custom-cal-foot {
  display: flex;
  justify-content: stretch;
  margin-top: 12px;
  border-top: 0;
  padding-top: 0;
}
.pnl-custom-cal-foot[hidden] {
  display: none !important;
}
.pnl-custom-cal-ok {
  width: 100%;
  height: 42px;
  border-radius: 10px !important;
  font-size: 15px !important;
  font-weight: 750 !important;
  background: var(--ink) !important;
  color: var(--panel) !important;
  border: 0 !important;
}
.pnl-custom-cal-ok:active {
  opacity: 0.88;
}
@media (max-width: 720px) {
  .pnl-custom-cal-layer {
    padding: 20px 14px;
    align-items: center;
    justify-content: center;
  }
  .pnl-custom-cal-card {
    width: min(360px, calc(100vw - 28px));
    padding: 16px 14px 14px;
    border-radius: 18px;
  }
  .pnl-custom-cal-cell {
    font-size: 15px;
  }
  .pnl-custom-cal-cell .num {
    width: 34px;
    height: 34px;
  }
}
/* 自定义日历：夜间专业深色面板（跟工具皮肤） */

html[data-theme="dark"] .pnl-custom-cal-backdrop {
  background: rgba(4, 8, 12, 0.62);
}
html[data-theme="dark"] .pnl-custom-cal-card {
  background: var(--panel) !important;
  border-color: var(--line) !important;
  color: var(--ink) !important;
  box-shadow: 0 20px 52px rgba(0, 0, 0, 0.55);
}
html[data-theme="dark"] .pnl-custom-cal-head b {
  color: var(--ink) !important;
}
html[data-theme="dark"] .pnl-custom-cal-head .daybook-btn.ghost {
  color: #fff !important;
  background: transparent !important;
}
html[data-theme="dark"] .pnl-custom-cal-week {
  color: var(--muted) !important;
}
html[data-theme="dark"] .pnl-custom-cal-cell {
  color: var(--ink) !important;
}
html[data-theme="dark"] .pnl-custom-cal-cell.is-in-range .num {
  background: rgba(255, 255, 255, 0.1) !important;
  color: var(--teal) !important;
}
html[data-theme="dark"] .pnl-custom-cal-cell.is-picked .num {
  background: var(--chip-hover, #2f3745) !important;
  color: #fff !important;
}
html[data-theme="dark"] .pnl-custom-cal-cell.is-start .num,
html[data-theme="dark"] .pnl-custom-cal-cell.is-end .num,
html[data-theme="dark"] .pnl-custom-cal-cell.is-single .num {
  background: var(--teal) !important;
  color: #0a1210 !important;
}
html[data-theme="dark"] .pnl-custom-cal-cell:hover:not(.empty):not(.is-picked):not(.is-in-range) .num {
  background: var(--panel-2) !important;
}
html[data-theme="dark"] .pnl-custom-cal-ok {
  background: var(--solid-bg, #d5dde6) !important;
  color: var(--solid-fg, #12171e) !important;
}
/* 兼容旧类名（若残留） */

.pnl-custom-cal-pop {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  z-index: 30;
  width: min(320px, calc(100vw - 32px));
  padding: 12px;
  border-radius: 12px;
  border: 1px solid var(--line);
  background: var(--panel);
  box-shadow: 0 14px 36px rgba(21, 32, 43, 0.16);
}
.pnl-pop-chart-wrap.pnl-chart-interactive.is-x-scale {
  cursor: ew-resize;
}
.pnl-hub-head-right {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 0 0 auto;
}
.pnl-hub-head h3 {
  margin: 0;
  font-size: clamp(16px, 3.5vw, 20px);
  font-weight: 750;
  flex: 0 0 auto;
  white-space: nowrap;
}
.pnl-hub-head h3.pnl-hub-logo {
  display: flex;
  align-items: center;
  line-height: 0;
  font-size: 0;
  margin: 0;
  flex: 0 0 auto;
}
.pnl-hub-title-logo {
  width: 32px;
  height: 32px;
  color: var(--teal);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.pnl-hub-title-logo .logo-mc {
  width: 32px;
  height: 32px;
  object-fit: contain;
}
.pnl-hub-head-left .pnl-account-select,
.pnl-hub-head-left .pnl-range-select,
.pnl-hub-head-left .pnl-custom-date-btn,
.pnl-hub-head-left .pnl-export-btn {
  flex: 0 1 auto;
  height: 32px;
  box-sizing: border-box;
  max-width: min(148px, 28vw);
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  font: inherit;
  font-size: 12px;
  font-weight: 650;
  line-height: 1;
  color: var(--ink);
}
.pnl-hub-head-left .pnl-account-select {
  min-width: 84px;
  padding: 0 8px;
}
.pnl-hub-head-left .pnl-range-select {
  /* 桌面也按短文案收；勿与账户同用 84px min，否则 24h 会被撑宽 */
  width: auto;
  min-width: 64px;
  max-width: 96px;
  padding: 0 26px 0 10px;
  -webkit-appearance: none;
  appearance: none;
}
.pnl-hub-head-left .pnl-custom-date-btn,
.pnl-hub-head-left .pnl-export-btn {
  padding: 0 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  cursor: pointer;
  min-width: 0;
}
.pnl-hub-head-left .pnl-export-btn {
  flex: 0 0 auto;
  font-weight: 700;
}
.pnl-hub-head-left .pnl-range-select[hidden],
.pnl-hub-head-left .pnl-export-btn[hidden] {
  display: none !important;
}
.pnl-hub-head-right .book-day-x {
  margin: 0;
}
.pnl-hub-sub {
  margin: 4px 0 0;
  font-size: clamp(11px, 2.4vw, 13px);
  color: var(--muted);
}
.pnl-hub-chart-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 6px clamp(12px, 2vw, 16px) 2px;
  flex-wrap: wrap;
}
.pnl-hub-chart-bar[hidden] {
  display: none !important;
}
.pnl-hub-periods {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  align-items: center;
}
.pnl-hub-periods button {
  appearance: none;
  border: 0;
  background: transparent;
  color: var(--muted);
  font: inherit;
  font-size: 12px;
  font-weight: 650;
  padding: 5px 9px;
  border-radius: 7px;
  cursor: pointer;
  line-height: 1.2;
}
.pnl-hub-periods button:hover {
  color: var(--ink);
  background: rgba(15, 23, 42, 0.05);
}
.pnl-hub-periods button.on {
  color: var(--ink);
  background: var(--panel-2, #eef2f5);
}
html[data-theme="dark"] .pnl-hub-periods button:hover {
  background: rgba(255, 255, 255, 0.06);
}
html[data-theme="dark"] .pnl-hub-periods button.on {
  background: rgba(255, 255, 255, 0.1);
  color: #e8eef2;
}
.pnl-hub-sync {
  font-size: 11px;
  font-weight: 700;
  color: var(--muted);
  white-space: nowrap;
}
.pnl-hub-sync.is-ok {
  color: var(--up, var(--up));
}
.pnl-hub-sync.is-err {
  color: var(--down, #d4535c);
}
.pnl-hub-overview {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}
.pnl-live-badge.is-left {
  display: none !important;
}
.pnl-hub-sheet .pnl-hub-body,
.pnl-hub-sheet .pnl-hub-pane,
.pnl-hub-sheet .pnl-pop-chart-wrap {
  overflow-x: hidden;
}
/* 管理员分佣走势：桌面端也保证图区高度，避免空白白块 */

#admin-rebate-trend.pnl-hub-pane:not([hidden]) {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
}
#admin-rebate-trend .pnl-pop-chart-wrap {
  flex: 1 1 auto;
  min-height: 260px;
  display: flex;
  flex-direction: column;
}
#admin-rebate-trend .pnl-pop-chart-wrap .pnl-spark-lg,
#admin-rebate-svg.pnl-spark-lg {
  flex: 1 1 auto;
  width: 100%;
  min-height: 260px;
  height: clamp(260px, 42vh, 480px);
  display: block;
}
.pnl-hub-overview-svg {
  display: block;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.pnl-hub-overview-brush {
  position: absolute;
  top: 0;
  bottom: 0;
  min-width: 18px;
  box-sizing: border-box;
  border: 1.5px solid var(--teal, var(--up));
  background: var(--chip-bg);
  border-radius: 4px;
  cursor: grab;
  touch-action: none;
}
.pnl-hub-overview-brush:active {
  cursor: grabbing;
}
.pnl-hub-overview-handle {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 10px;
  margin: 0;
  background: var(--chip-bg);
  cursor: ew-resize;
}
.pnl-hub-overview-handle.is-l {
  left: 0;
  border-radius: 3px 0 0 3px;
}
.pnl-hub-overview-handle.is-r {
  right: 0;
  border-radius: 0 3px 3px 0;
}
html[data-theme="dark"] .pnl-hub-overview {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(255, 255, 255, 0.12);
}
html[data-theme="dark"] .pnl-hub-overview-brush {
  border-color: #2dd4bf;
  background: rgba(255, 255, 255, 0.08);
}
html[data-theme="dark"] .pnl-hub-overview-handle {
  background: rgba(255, 255, 255, 0.22);
}
.pnl-chart-tip-fee {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-top: 4px;
  font-size: 11px;
  color: var(--muted);
}
.pnl-chart-tip-fee[hidden] {
  display: none !important;
}
.pnl-chart-tip-fee em {
  font-style: normal;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  color: #d97706;
}
.pnl-chart-tip-gross {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-top: 4px;
  font-size: 11px;
  color: var(--muted);
}
.pnl-chart-tip-gross[hidden] {
  display: none !important;
}
.pnl-chart-tip-gross em {
  font-style: normal;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  color: #64748b;
}
.pnl-chart-tip-share {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-top: 4px;
  font-size: 11px;
  color: var(--muted);
}
.pnl-chart-tip-share[hidden] {
  display: none !important;
}
.pnl-chart-tip-share em {
  font-style: normal;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  color: #b45309;
}
.pnl-chart-tip-delta {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-top: 4px;
  font-size: 11px;
  color: var(--muted);
}
.pnl-chart-tip-delta em {
  font-style: normal;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}
.pnl-chart-tip-delta em.up { color: var(--up); }
.pnl-chart-tip-delta em.down { color: var(--down); }
.pnl-hub-tabs {
  display: flex;
  gap: 0;
  background: var(--panel-2);
  padding: 3px;
  border-radius: 10px;
}
.pnl-hub-tab {
  border: 0;
  border-radius: 8px;
  padding: 0 12px;
  height: 26px;
  box-sizing: border-box;
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  background: transparent;
  color: var(--muted);
  cursor: pointer;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.pnl-hub-tab.pnl-hub-tab-ico {
  width: 30px;
  min-width: 30px;
  padding: 0;
}
.pnl-hub-tab.pnl-hub-tab-ico svg {
  width: 15px;
  height: 15px;
  display: block;
}
.pnl-hub-tab-char {
  font-size: 14px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.02em;
}
.pnl-hub-tab.on {
  background: #fff;
  color: var(--ink);
  border-color: transparent;
  box-shadow: 0 1px 2px rgba(21, 32, 43, 0.06);
}
/* —— 收益率页：少字多图 APP 风 —— */

.pnl-rates-body.is-lite {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 4px clamp(12px, 2vw, 16px) 8px;
  min-height: 0;
}
.pnl-rates-hero {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
  padding: 4px 2px 0;
}
.pnl-rates-hero-main {
  display: flex;
  align-items: baseline;
  gap: 10px;
  min-width: 0;
}
.pnl-rates-hero-pct {
  font-size: clamp(28px, 7vw, 36px);
  font-weight: 800;
  letter-spacing: -0.04em;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.pnl-rates-hero-main.tone-up .pnl-rates-hero-pct { color: var(--up); }
.pnl-rates-hero-main.tone-dn .pnl-rates-hero-pct { color: #d4535c; }
.pnl-rates-hero-u {
  font-size: 14px;
  font-weight: 700;
  color: var(--muted);
  font-variant-numeric: tabular-nums;
}
.pnl-rates-hero-meta {
  flex: 0 0 auto;
  font-size: 12px;
  font-weight: 650;
  color: var(--muted);
  font-variant-numeric: tabular-nums;
  padding-bottom: 4px;
}
.pnl-rates-kpi-board {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 0;
  border-radius: 0;
  border: 0;
  background: transparent;
}
.pnl-rates-kpi-hero {
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-rows: auto auto;
  column-gap: 16px;
  row-gap: 2px;
  align-items: end;
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid var(--card-line);
  background: transparent;
}
.pnl-rates-kpi-hero-lab {
  grid-column: 1;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
}
.pnl-rates-kpi-hero-val {
  grid-column: 1;
  font-size: clamp(26px, 5.5vw, 36px);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1;
  font-family: "IBM Plex Mono", "SF Mono", ui-monospace, Menlo, Consolas, monospace;
}
.pnl-rates-kpi-hero.tone-up .pnl-rates-kpi-hero-val { color: #00a878; }
.pnl-rates-kpi-hero.tone-dn .pnl-rates-kpi-hero-val { color: #e11d48; }
.pnl-rates-kpi-hero.tone-na .pnl-rates-kpi-hero-val { color: var(--muted); }
.pnl-rates-kpi-hero-sub {
  grid-column: 2;
  grid-row: 1 / span 2;
  align-self: center;
  text-align: right;
  font-size: 11px;
  font-weight: 600;
  color: var(--muted);
  line-height: 1.45;
  max-width: 16rem;
}
.pnl-rates-kpi-hero-sub[hidden] {
  display: none !important;
}
.pnl-rates-kpis5 {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0;
  border: 1px solid var(--card-line);
  border-radius: 12px;
  overflow: hidden;
  background: transparent;
}
.pnl-rates-kpi5 {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
  padding: 10px 10px 9px;
  border-radius: 0;
  border: 0;
  border-right: 1px solid var(--card-line);
  background: transparent;
}
.pnl-rates-kpi5:first-child {
  border-radius: 0;
}
.pnl-rates-kpi5:last-child {
  border-right: 0;
  border-radius: 0;
}
.pnl-rates-kpi5:hover,
.pnl-rates-kpi5:focus-visible {
  background: var(--solid-bg);
}
.pnl-rates-kpi5.tone-up,
.pnl-rates-kpi5.tone-dn,
.pnl-rates-kpi5.tone-na { border-left: 0; }
.pnl-rates-kpi5-lab {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.pnl-rates-kpi5-val {
  font-size: clamp(13px, 1.8vw, 16px);
  font-weight: 700;
  letter-spacing: -0.02em;
  font-family: "IBM Plex Mono", "SF Mono", ui-monospace, Menlo, Consolas, monospace;
  line-height: 1.1;
}
.pnl-rates-kpi5.tone-up .pnl-rates-kpi5-val { color: #00a878; }
.pnl-rates-kpi5.tone-dn .pnl-rates-kpi5-val { color: #e11d48; }
.pnl-rates-kpi5.tone-na .pnl-rates-kpi5-val { color: var(--muted); font-weight: 650; }
.pnl-rates-kpis6 {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
}
.pnl-rates-kpi6 {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
  padding: 10px 10px 8px;
  border-radius: 0;
  border: 0;
  background: transparent;
}
.pnl-rates-kpi6-lab {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 11px;
  font-weight: 650;
  color: var(--muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.pnl-rates-kpi6-ico {
  display: inline-flex;
  width: 12px;
  height: 12px;
  flex: 0 0 auto;
  opacity: 0.7;
}
.pnl-rates-kpi6-ico svg { width: 12px; height: 12px; }
.pnl-rates-kpi6-val {
  font-size: clamp(15px, 2.1vw, 22px);
  font-weight: 800;
  letter-spacing: -0.03em;
  font-variant-numeric: tabular-nums;
  line-height: 1.15;
}
.pnl-rates-kpi6.tone-up .pnl-rates-kpi6-val { color: var(--up); }
.pnl-rates-kpi6.tone-dn .pnl-rates-kpi6-val { color: #d4535c; }
.pnl-rates-kpi6.tone-na .pnl-rates-kpi6-val { color: var(--muted); font-weight: 700; }
.pnl-rates-chart-sec {
  display: flex;
  flex-direction: column;
  gap: 0;
  min-height: 0;
  flex: 1;
  border: 0;
  border-radius: 0;
  background: transparent;
  overflow: hidden;
}
.pnl-rates-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
  padding: 0 10px 0 0;
  border-bottom: 0;
  min-height: 40px;
  position: relative;
  z-index: 6;
  overflow: hidden;
  border-radius: 0;
}
.pnl-rates-modes {
  display: inline-flex;
  align-self: stretch;
  gap: 0;
  padding: 0;
  border-radius: 0;
  background: transparent;
}
.pnl-rates-cost-subs {
  display: inline-flex;
  align-self: center;
  gap: 0;
  padding: 0;
  border-radius: 0;
  border: 0;
  background: transparent;
}
.pnl-rates-cost-subs[hidden] { display: none !important; }
.pnl-rates-cost-sub {
  border: 0;
  background: transparent;
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 5px 10px;
  border-radius: 0;
  cursor: pointer;
  line-height: 1;
  border-right: 1px solid color-mix(in srgb, var(--line) 80%, transparent);
}
.pnl-rates-cost-sub:last-child { border-right: 0; }
.pnl-rates-cost-sub.on {
  background: rgba(18, 23, 30, 0.08);
  color: #12171e;
  box-shadow: none;
}
.pnl-rates-mode {
  border: 0;
  background: transparent;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 11px 14px 10px;
  border-radius: 0;
  cursor: pointer;
  line-height: 1;
  position: relative;
}
.pnl-rates-mode:first-child {
  padding-left: 14px;
  border-top-left-radius: 11px;
}
.pnl-rates-mode.on {
  background: rgba(18, 23, 30, 0.08);
  color: #12171e;
  box-shadow: none;
}
.pnl-rates-mode.on::after {
  content: "";
  position: absolute;
  left: 10px;
  right: 10px;
  bottom: 0;
  height: 2px;
  border-radius: 2px 2px 0 0;
  background: #6b7682;
  opacity: 1;
}
.pnl-rates-mode-hint {
  margin: 0 0 0 auto;
  align-self: center;
  font-size: 11px;
  font-weight: 600;
  color: var(--muted);
  line-height: 1.3;
  max-width: min(100%, 28rem);
  text-align: right;
}
.pnl-rates-mode-hint[hidden] { display: none !important; }
.pnl-rates-legend {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 14px;
  margin: 0 0 0 auto;
  font-size: 11px;
  font-weight: 650;
  color: var(--muted);
}
.pnl-rates-legend[hidden] { display: none !important; }
.pnl-rates-leg {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}
.pnl-rates-leg.has-tip {
  position: relative;
  z-index: 7;
  cursor: help;
}
.pnl-rates-leg-bubble {
  display: none;
  position: absolute;
  z-index: 30;
  left: 50%;
  top: calc(100% + 10px);
  bottom: auto;
  transform: translateX(-50%);
  width: max-content;
  max-width: min(240px, 70vw);
  padding: 8px 10px;
  border-radius: 8px;
  border: 1px solid color-mix(in srgb, var(--line) 80%, transparent);
  background: #12171e;
  color: #e2e8f0;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.45;
  white-space: normal;
  text-align: left;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
  pointer-events: none;
}
.pnl-rates-leg-bubble::after {
  content: "";
  position: absolute;
  left: 50%;
  top: auto;
  bottom: 100%;
  transform: translateX(-50%);
  border: 6px solid transparent;
  border-top-color: transparent;
  border-bottom-color: #12171e;
}
.pnl-rates-leg.has-tip:hover .pnl-rates-leg-bubble,
.pnl-rates-leg.has-tip:focus-within .pnl-rates-leg-bubble {
  display: block;
}
html:not([data-theme="dark"]) .pnl-rates-leg-bubble {
  background: #fff;
  color: #0f172a;
  border-color: color-mix(in srgb, var(--line) 90%, transparent);
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.12);
}
html:not([data-theme="dark"]) .pnl-rates-leg-bubble::after {
  border-top-color: transparent;
  border-bottom-color: #fff;
}
.pnl-rates-leg .swatch {
  width: 10px;
  height: 10px;
  flex: 0 0 auto;
}
.pnl-rates-leg .swatch.gross { background: #00a878; }
.pnl-rates-leg .swatch.net { background: #047857; }
.pnl-rates-leg .swatch.fee { background: #e11d48; }
.pnl-rates-leg .swatch.ret { background: #00a878; }
.pnl-rates-leg .swatch.prin { background: var(--muted); }
.pnl-rates-leg em {
  font-style: normal;
  font-size: 9px;
  font-weight: 750;
  letter-spacing: 0.04em;
  padding: 1px 5px;
  border: 1px solid color-mix(in srgb, #00a878 45%, transparent);
  color: #00a878;
}
.pnl-rates-leg b {
  font-weight: 700;
  color: var(--text);
  font-variant-numeric: tabular-nums;
}
.pnl-rates-chips {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 6px;
}
.pnl-rates-chip {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  min-width: 0;
  padding: 10px 4px 8px;
  border-radius: 12px;
  background: color-mix(in srgb, var(--panel-2, #f3f5f7) 92%, transparent);
  border: 1px solid color-mix(in srgb, var(--line) 55%, transparent);
}
.pnl-rates-chip-ico {
  font-size: 12px;
  line-height: 1;
  opacity: 0.55;
  color: var(--muted);
}
.pnl-rates-chip-val {
  font-size: 14px;
  font-weight: 800;
  line-height: 1.1;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.02em;
  color: var(--ink);
}
.pnl-rates-chip.tone-up .pnl-rates-chip-val { color: var(--up); }
.pnl-rates-chip.tone-dn .pnl-rates-chip-val { color: #d4535c; }
.pnl-rates-chip-lab {
  font-size: 10px;
  font-weight: 650;
  color: var(--muted);
  letter-spacing: 0.02em;
}
.pnl-rates-chart-wrap {
  position: relative;
  z-index: 1;
  touch-action: pan-y;
  width: 100%;
  height: clamp(250px, 42vh, 340px);
  border-radius: 0 0 12px 12px;
  border: 0;
  background: transparent;
  overflow: hidden;
}
.pnl-rates-chart-wrap.is-share {
  height: auto;
  min-height: 260px;
}
.pnl-rates-svg {
  display: block;
  width: 100%;
  height: 100%;
}
.pnl-rates-svg[hidden] { display: none !important; }
.pnl-rates-share {
  display: grid;
  /* 桌面：左环主宽，右侧金额列收窄 */
  grid-template-columns: minmax(0, 1fr) minmax(148px, 188px);
  gap: 0;
  align-items: stretch;
  min-height: 260px;
  height: 100%;
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
.pnl-rates-share[hidden] { display: none !important; }
.pnl-rates-share-ring {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 18px 12px 16px;
  border-right: 1px solid color-mix(in srgb, var(--line) 80%, transparent);
}
.pnl-rates-share-svg {
  display: block;
  width: 180px;
  height: 180px;
  flex: 0 0 auto;
  overflow: visible;
}
.pnl-rates-share-dial {
  position: relative;
  width: 180px;
  height: 180px;
  flex: 0 0 auto;
}
.pnl-rates-share-arc {
  pointer-events: none;
  transition: stroke-width 0.18s ease, filter 0.18s ease, opacity 0.18s ease;
}
.pnl-rates-share-hitpad {
  pointer-events: all;
  cursor: default;
  touch-action: none;
}
.pnl-rates-share-dial.is-hot .pnl-rates-share-arc:not(.is-hot) {
  opacity: 0.38;
}
.pnl-rates-share-arc.is-hot {
  stroke-width: 28;
  filter: brightness(1.18);
}
.pnl-rates-share-center {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  gap: 2px;
  padding: 0 28px;
  text-align: center;
}
.pnl-rates-share-center-lab {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
}
.pnl-rates-share-center-val {
  font-size: 26px;
  font-weight: 700;
  font-family: "IBM Plex Mono", "SF Mono", ui-monospace, Menlo, Consolas, monospace;
  letter-spacing: -0.03em;
  color: var(--text);
  line-height: 1.1;
}
.pnl-rates-share-center-sub {
  font-size: 10px;
  font-weight: 650;
  color: var(--muted);
  line-height: 1.2;
  max-width: 9em;
}
.pnl-rates-share-legend {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 10px;
  font-size: 11px;
  font-weight: 650;
  color: var(--muted);
}
.pnl-rates-share-leg {
  appearance: none;
  border: 0;
  background: color-mix(in srgb, var(--panel) 70%, transparent);
  color: inherit;
  font: inherit;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 5px 8px;
  border-radius: 8px;
  cursor: pointer;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--line) 85%, transparent);
  transition: background 0.15s ease, box-shadow 0.15s ease, color 0.15s ease;
}
.pnl-rates-share-leg:hover,
.pnl-rates-share-leg.is-hot,
.pnl-rates-share-leg:focus-visible {
  background: color-mix(in srgb, var(--panel) 92%, transparent);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--text) 22%, transparent);
  color: var(--text);
  outline: none;
}
.pnl-rates-share-leg em {
  font-style: normal;
  font-weight: 700;
  color: var(--text);
}
.pnl-rates-share-leg b {
  font-weight: 750;
  font-family: "IBM Plex Mono", "SF Mono", ui-monospace, Menlo, Consolas, monospace;
  letter-spacing: -0.02em;
  color: var(--text);
}
.pnl-rates-share-leg[data-seg="net"].is-hot b,
.pnl-rates-share-leg[data-seg="net"]:hover b { color: #047857; }
.pnl-rates-share-leg[data-seg="fee"].is-hot b,
.pnl-rates-share-leg[data-seg="fee"]:hover b { color: #e11d48; }
.pnl-rates-share-legend .dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  margin-right: 2px;
  vertical-align: middle;
  border-radius: 2px;
}
.pnl-rates-share-legend .dot.net { background: #047857; }
.pnl-rates-share-legend .dot.fee { background: #e11d48; }
.pnl-rates-share-stats {
  display: flex;
  flex-direction: column;
  justify-content: stretch;
  min-width: 0;
  max-width: 188px;
}
.pnl-rates-share-row {
  flex: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: auto auto;
  gap: 2px 8px;
  align-content: center;
  padding: 12px 10px 12px 12px;
  border-bottom: 1px solid color-mix(in srgb, var(--line) 75%, transparent);
  border-left: 3px solid transparent;
  cursor: default;
  transition: background 0.15s ease;
}
.pnl-rates-share-row:last-child { border-bottom: 0; }
.pnl-rates-share-row:hover,
.pnl-rates-share-row.is-hot {
  background: color-mix(in srgb, var(--panel) 55%, transparent);
}
.pnl-rates-share-row.tone-up { border-left-color: #047857; }
.pnl-rates-share-row.tone-gross { border-left-color: #00a878; }
.pnl-rates-share-row.tone-dn { border-left-color: #e11d48; }
.pnl-rates-share-row.tone-gross .v { color: #00a878; }
.pnl-rates-share-row.tone-up .v { color: #047857; }
.pnl-rates-share-row.tone-dn .v { color: #e11d48; }
.pnl-rates-share-row .k {
  grid-column: 1;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--muted);
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.pnl-rates-share-row .k em {
  font-style: normal;
  font-size: 9px;
  letter-spacing: 0.04em;
  padding: 2px 6px;
  border: 1px solid color-mix(in srgb, #00a878 45%, transparent);
  color: #00a878;
  font-weight: 750;
}
.pnl-rates-share-row .v {
  grid-column: 2;
  grid-row: 1 / span 2;
  align-self: center;
  font-size: 18px;
  font-weight: 700;
  font-family: "IBM Plex Mono", "SF Mono", ui-monospace, Menlo, Consolas, monospace;
  letter-spacing: -0.03em;
  white-space: nowrap;
}
.pnl-rates-share-row.tone-up .v { color: #047857; }
.pnl-rates-share-row.tone-dn .v { color: #e11d48; }
.pnl-rates-share-row .u {
  grid-column: 1;
  font-size: 12px;
  font-weight: 650;
  color: var(--muted);
}
.pnl-rates-share-empty {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--muted);
  font-size: 13px;
  min-height: 220px;
}
.pnl-rates-tip {
  position: absolute;
  z-index: 3;
  left: 8%;
  top: 12px;
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 7px 9px;
  border-radius: 10px;
  background: rgba(14, 20, 27, 0.94);
  color: #e8eef1;
  font-size: 11px;
  font-weight: 650;
  line-height: 1.25;
  pointer-events: none;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.22);
  white-space: nowrap;
}
.pnl-rates-tip[hidden] { display: none !important; }
.pnl-rates-tip b { font-weight: 750; color: #fff; }
html:not([data-theme="dark"]) .pnl-rates-tip {
  background: rgba(255, 255, 255, 0.96);
  color: #334155;
  border: 1px solid rgba(21, 32, 43, 0.08);
}
html:not([data-theme="dark"]) .pnl-rates-tip b { color: #0f172a; }
.pnl-rates-viz {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 10px;
}
.pnl-rates-viz-col {
  min-width: 0;
  padding: 10px 10px 8px;
  border-radius: 14px;
  border: 1px solid color-mix(in srgb, var(--line) 60%, transparent);
  background: var(--panel);
}
.pnl-rates-viz-lab {
  font-size: 11px;
  font-weight: 750;
  color: var(--muted);
  margin: 0 0 6px 2px;
  letter-spacing: 0.02em;
}
.pnl-rates-yearly-bars,
.pnl-rates-scen-bars {
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  gap: 12px;
  min-height: 96px;
  padding: 4px 2px 0;
}
.pnl-rates-year-col,
.pnl-rates-scen-col {
  flex: 0 0 48px;
  max-width: 56px;
  min-width: 40px;
  height: 96px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  gap: 5px;
}
.pnl-rates-scen-bars .pnl-rates-scen-col {
  flex: 1 1 0;
  max-width: none;
}
.pnl-rates-year-val {
  font-size: 11px;
  font-weight: 750;
  font-variant-numeric: tabular-nums;
  line-height: 1;
  color: var(--ink);
}
.pnl-rates-year-col.tone-up .pnl-rates-year-val,
.pnl-rates-scen-col.tone-up .pnl-rates-year-val { color: var(--up); }
.pnl-rates-year-col.tone-dn .pnl-rates-year-val,
.pnl-rates-scen-col.tone-dn .pnl-rates-year-val { color: #d4535c; }
.pnl-rates-year-bar {
  width: 22px;
  border-radius: 7px 7px 3px 3px;
  background: linear-gradient(180deg, #1db88a 0%, var(--up) 100%);
  min-height: 6px;
}
.pnl-rates-scen-col .pnl-rates-year-bar {
  width: min(100%, 36px);
}
.pnl-rates-year-col.tone-dn .pnl-rates-year-bar,
.pnl-rates-scen-col.tone-dn .pnl-rates-year-bar {
  background: linear-gradient(180deg, #e06b6b 0%, #d4535c 100%);
}
.pnl-rates-scen-col.is-live .pnl-rates-year-bar {
  box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.14);
}
.pnl-rates-year-lab {
  font-size: 10px;
  font-weight: 700;
  color: var(--muted);
  white-space: nowrap;
}
.pnl-rates-viz-empty {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 96px;
  color: var(--muted);
  font-weight: 700;
}
/* 旧结构隐藏，避免残留 */

.pnl-rates-board,
.pnl-rates-meta,
.pnl-rates-foot,
.pnl-rates-scen-note,
.pnl-rates-placeholder,
.pnl-rates-sec-head,
.pnl-rates-scen-grid,
.pnl-rates-bottom .pnl-rates-scen-badge {
  display: none !important;
}
@media (max-width: 720px) {
  .pnl-rates-body.is-lite {
    gap: 8px;
    margin: 2px 8px 6px;
  }
  .pnl-rates-kpis5,
  .pnl-rates-kpis6,
  .pnl-rates-chips {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
  }
  .pnl-rates-kpi5 {
    border-right: 1px solid var(--card-line);
    border-bottom: 1px solid var(--card-line);
  }
  .pnl-rates-kpi5:nth-child(3n) { border-right: 0; }
  .pnl-rates-kpi5:nth-child(n+4) { border-bottom: 0; }
  .pnl-rates-kpi5-val,
  .pnl-rates-kpi6-val { font-size: 15px; }
  .pnl-rates-kpi-hero {
    grid-template-columns: 1fr;
    padding: 12px 14px;
    border-radius: 12px;
  }
  .pnl-rates-kpi-hero-sub {
    grid-column: 1;
    grid-row: auto;
    text-align: left;
    max-width: none;
  }
  .pnl-rates-kpi-hero-val { font-size: 30px; }
  .pnl-rates-toolbar {
    padding: 0;
    min-height: 36px;
    /* 图例在工具条末行时，底部分割线会压在「毛收益/实盘净/手续费」下，手机端去掉 */
    border-bottom: 0;
  }
  .pnl-rates-modes {
    display: flex;
    align-self: stretch;
    justify-content: stretch;
    flex: 1 1 100%;
    width: 100%;
    min-width: 100%;
    border-bottom: 1px solid color-mix(in srgb, var(--line) 80%, transparent);
  }
  .pnl-rates-toolbar:has(.pnl-rates-cost-subs:not([hidden])) .pnl-rates-modes {
    border-bottom: 0;
  }
  .pnl-rates-mode { flex: 1 1 0; text-align: center; padding: 10px 6px; min-width: 0; }
  .pnl-rates-mode:first-child { border-top-left-radius: 11px; }
  .pnl-rates-mode:last-child { border-top-right-radius: 11px; }
  .pnl-rates-cost-subs {
    align-self: stretch;
    justify-content: stretch;
    width: 100%;
    flex: 1 1 100%;
    border-bottom: 1px solid color-mix(in srgb, var(--line) 80%, transparent);
  }
  .pnl-rates-cost-sub { flex: 1; text-align: center; }
  .pnl-rates-legend {
    margin: 0;
    width: 100%;
    flex: 1 1 100%;
    justify-content: flex-end;
    padding: 6px 10px 4px;
    border: 0;
    box-shadow: none;
  }
  .pnl-rates-mode-hint {
    display: none !important;
  }
  .pnl-rates-chart-wrap {
    height: clamp(210px, 38vh, 280px);
    border-radius: 0;
  }
  /* 手机/窄屏：环与金额上下铺满，禁止再挤成左环右列（会裁切圆环） */
  .pnl-rates-share {
    grid-template-columns: 1fr !important;
    min-height: 0;
    height: auto;
    width: 100%;
  }
  .pnl-rates-share-ring {
    border-right: 0 !important;
    border-bottom: 1px solid color-mix(in srgb, var(--line) 80%, transparent);
    padding: 12px 8px 10px;
    width: 100%;
    box-sizing: border-box;
  }
  .pnl-rates-share-dial,
  .pnl-rates-share-svg {
    width: min(168px, 52vw);
    height: min(168px, 52vw);
  }
  .pnl-rates-share-legend {
    width: 100%;
    justify-content: center;
    gap: 6px 8px;
  }
  .pnl-rates-share-leg {
    padding: 4px 6px;
    font-size: 10px;
  }
  /* 三项金额：横排占满整宽，自适应左右 */
  .pnl-rates-share-stats {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    max-width: none !important;
    width: 100%;
    min-width: 0;
  }
  .pnl-rates-share-row {
    flex: unset;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 2px;
    padding: 10px 8px 10px 10px;
    border-bottom: 0;
    border-left-width: 3px;
    border-right: 1px solid color-mix(in srgb, var(--line) 70%, transparent);
    min-width: 0;
  }
  .pnl-rates-share-row:last-child {
    border-right: 0;
  }
  .pnl-rates-share-row .k,
  .pnl-rates-share-row .u,
  .pnl-rates-share-row .v {
    grid-column: auto;
    grid-row: auto;
  }
  .pnl-rates-share-row .k {
    font-size: 10px;
    letter-spacing: 0.04em;
  }
  .pnl-rates-share-row .u {
    font-size: 11px;
  }
  .pnl-rates-share-row .v {
    font-size: 15px;
    align-self: flex-start;
    white-space: nowrap;
  }
  .pnl-rates-viz {
    grid-template-columns: 1fr;
  }
}
/* 略宽但仍易挤环的区间：同样改为上下布局 */

@media (max-width: 900px) and (min-width: 721px) {
  .pnl-rates-share {
    grid-template-columns: 1fr !important;
    height: auto;
    min-height: 0;
  }
  .pnl-rates-share-ring {
    border-right: 0 !important;
    border-bottom: 1px solid color-mix(in srgb, var(--line) 80%, transparent);
  }
  .pnl-rates-share-stats {
    max-width: none !important;
    width: 100%;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .pnl-rates-share-row {
    border-bottom: 0;
    border-right: 1px solid color-mix(in srgb, var(--line) 70%, transparent);
  }
  .pnl-rates-share-row:last-child { border-right: 0; }
  .pnl-rates-share-row .v {
    font-size: 16px;
    grid-column: 1;
    grid-row: auto;
  }
  .pnl-rates-share-row .k,
  .pnl-rates-share-row .u {
    grid-column: 1;
  }
}
html[data-theme="dark"] .pnl-rates-chip,
html[data-theme="dark"] .pnl-rates-kpi6,
html[data-theme="dark"] .pnl-rates-viz-col,
html[data-theme="dark"] .pnl-rates-chart-sec,
html[data-theme="dark"] .pnl-rates-chart-wrap {
  background: transparent;
  border-color: transparent;
}
html[data-theme="dark"] .pnl-rates-mode.on,
html[data-theme="dark"] .pnl-rates-cost-sub.on {
  background: var(--chip-bg);
  color: var(--ink);
  box-shadow: none;
}
html[data-theme="dark"] .pnl-rates-mode.on::after {
  background: #8b95a5;
}
html[data-theme="dark"] .pnl-rates-share-row.is-report {
  background: rgba(0, 168, 120, 0.08);
}
html[data-theme="dark"] .pnl-rates-chip {
  background: rgba(255, 255, 255, 0.04);
}
/* 主体左右无缝：走势图贴满弹窗内宽；其它控件自己留边距 */


.pnl-hub-body {
  padding: 0 0 clamp(12px, 2vw, 16px);
  flex: 1 1 auto;
  min-height: 0;
}
.pnl-hub-pane .pnl-pop-chart-wrap {
  margin-top: 0;
}
.pnl-hub-pane .pnl-hub-subbar {
  margin: 0;
}
.pnl-hub-pane .pnl-book-head,
.pnl-hub-pane .book-cal {
  margin-left: clamp(12px, 2vw, 16px);
  margin-right: clamp(12px, 2vw, 16px);
}
.pnl-hub-card .pnl-export-btn:hover {
  border-color: var(--line);
  color: var(--teal);
  background: #fff;
}
.pnl-hub-grab {
  display: none;
}
.pnl-pop-delta {
  margin: 10px 0 0;
  font-size: clamp(12px, 2.6vw, 14px);
  font-weight: 700;
}
.pnl-pop-delta.up { color: var(--up); }
.pnl-pop-delta.down { color: var(--down); }

@media (max-width: 720px) {
  /* 第一排：Logo + 账户 + 时间 + 盈亏/账本轨道 + 关闭 */
  .pnl-hub-sheet .pnl-hub-head {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    padding: 10px 10px 8px;
    position: relative;
  }
  .pnl-hub-sheet .pnl-hub-logo {
    flex: 0 0 auto;
  }
  .pnl-hub-sheet .pnl-hub-title-logo,
  .pnl-hub-sheet .pnl-hub-title-logo .logo-mc {
    width: 40px;
    height: 40px;
  }
  .pnl-hub-sheet .pnl-hub-head-left {
    /* 勿 flex-grow 撑满，否则时间档会看起来「自动变宽」并贴死右侧页签 */
    flex: 0 1 auto;
    min-width: 0;
    gap: 6px;
    flex-wrap: nowrap;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: auto;
    max-width: calc(100% - 118px);
    margin-right: 0;
  }
  .pnl-hub-sheet .pnl-hub-head-left .pnl-account-select,
  .pnl-hub-sheet .pnl-hub-head-left .pnl-range-select,
  .pnl-hub-sheet .pnl-hub-head-left .pnl-custom-date-btn,
  .pnl-hub-sheet .pnl-hub-head-left .pnl-export-btn {
    flex: 0 0 auto;
    height: 30px;
    font-size: 11px;
    padding: 0 6px;
    min-width: 0;
    box-sizing: border-box;
  }
  .pnl-hub-sheet .pnl-hub-head-left .pnl-account-select {
    width: 96px;
    max-width: 96px;
  }
  /* 时间档：按文案收窄（24h/1W/一周），禁止被 flex/原生 select 撑宽 */
  .pnl-hub-sheet .pnl-hub-head-left .pnl-range-select {
    flex: 0 0 auto !important;
    width: 64px !important;
    min-width: 64px !important;
    max-width: 64px !important;
    padding: 0 16px 0 6px !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .pnl-hub-sheet .pnl-hub-head-left .pnl-export-btn {
    padding: 0 10px;
  }
  .pnl-hub-sheet .pnl-hub-head-left .pnl-custom-date-btn {
    max-width: 96px;
  }
  .pnl-hub-sheet .pnl-hub-head-left .pnl-range-select[hidden],
  .pnl-hub-sheet .pnl-hub-head-left .pnl-custom-date-btn[hidden],
  .pnl-hub-sheet .pnl-hub-head-left .pnl-export-btn[hidden] {
    display: none !important;
  }
  .pnl-hub-sheet .pnl-hub-head-right {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 6px;
    margin-left: auto;
  }
  .pnl-hub-sheet .pnl-hub-tabs {
    padding: 2px;
    border-radius: 9px;
  }
  .pnl-hub-sheet .pnl-hub-tab {
    height: 26px;
    padding: 0 8px;
    font-size: 11px;
  }
  .pnl-hub-sheet .pnl-hub-tab.pnl-hub-tab-ico {
    width: 28px;
    min-width: 28px;
    padding: 0;
  }
  .pnl-hub-sheet .book-day-x {
    width: 28px;
    height: 28px;
    font-size: 20px;
    position: static;
  }
  /* 手机弹窗：走势图铺满；账本/盈亏互斥 */
  .fee-tip-modal.pnl-hub-sheet {
    padding: 8px !important;
    align-items: center !important;
    justify-items: center !important;
    z-index: 12050 !important;
  }
  .fee-tip-modal.pnl-hub-sheet .fee-sheet.pnl-hub-card,
  .pnl-hub-sheet .pnl-hub-card {
    width: 100% !important;
    max-width: none !important;
    border-radius: 14px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
  }
  /* 盈亏走势：未放大保持弹窗居中；高度维持现尺寸，只改刻度数 */
  .fee-tip-modal.pnl-hub-sheet.is-trend:not(.pnl-chart-zoomed):not(.is-page) {
    align-items: center !important;
    justify-items: center !important;
  }
  .fee-tip-modal.pnl-hub-sheet.is-trend .fee-sheet.pnl-hub-card {
    max-height: calc(100dvh - 16px) !important;
    height: auto;
    min-height: min(64dvh, 500px);
  }
  /* 手机未放大：保持当前上下尺寸（居中），不继续压矮 */
  .fee-tip-modal.pnl-hub-sheet.is-trend:not(.pnl-chart-zoomed):not(.is-page):not(.is-mobile-drawer) .fee-sheet.pnl-hub-card {
    width: calc(100% - 16px) !important;
    max-width: calc(100% - 16px) !important;
    min-height: min(48dvh, 380px) !important;
    max-height: min(68dvh, calc(100dvh - 56px)) !important;
  }
  .fee-tip-modal.pnl-hub-sheet.is-trend:not(.pnl-chart-zoomed):not(.is-page) .pnl-hub-head {
    padding: 8px 10px 6px;
  }
  .fee-tip-modal.pnl-hub-sheet.is-trend:not(.pnl-chart-zoomed):not(.is-page) .pnl-hub-body {
    padding-bottom: 6px;
  }
  .fee-tip-modal.pnl-hub-sheet.is-trend:not(.pnl-chart-zoomed):not(.is-page) .pnl-hub-subbar {
    padding: 0 10px 0;
  }
  /* 手机：底部抽屉（顶杠 + 圆角上沿）；点遮罩关闭，无 × */
  .pnl-hub-grab {
    display: none;
    width: 36px;
    height: 4px;
    margin: 8px auto 2px;
    border-radius: 999px;
    background: rgba(21, 32, 43, 0.18);
    flex-shrink: 0;
  }
  html[data-theme="dark"] .pnl-hub-grab {
    background: rgba(255, 255, 255, 0.22);
  }
  .fee-tip-modal.pnl-hub-sheet.is-mobile-drawer:not(.is-page):not(.pnl-chart-zoomed) {
    display: flex !important;
    align-items: flex-end !important;
    justify-content: stretch !important;
    place-items: unset !important;
    padding: 0 !important;
  }
  .fee-tip-modal.pnl-hub-sheet.is-mobile-drawer.is-trend:not(.pnl-chart-zoomed):not(.is-page) {
    align-items: flex-end !important;
    justify-content: stretch !important;
  }
  .fee-tip-modal.pnl-hub-sheet.is-mobile-drawer:not(.is-page):not(.pnl-chart-zoomed) .fee-sheet.pnl-hub-card,
  .fee-tip-modal.pnl-hub-sheet.is-mobile-drawer.is-trend:not(.pnl-chart-zoomed):not(.is-page) .fee-sheet.pnl-hub-card {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    border-radius: 18px 18px 0 0 !important;
    border-bottom: 0;
    box-shadow: 0 -12px 40px rgba(12, 20, 28, 0.22);
    max-height: min(92dvh, calc(100dvh - env(safe-area-inset-top, 0px))) !important;
    min-height: min(74dvh, calc(100dvh - 40px)) !important;
    align-self: flex-end;
    animation: me-drawer-up 0.3s cubic-bezier(0.22, 1, 0.36, 1);
    padding-bottom: env(safe-area-inset-bottom, 0px);
  }
  .fee-tip-modal.pnl-hub-sheet.is-mobile-drawer.is-trend:not(.pnl-chart-zoomed):not(.is-page) .fee-sheet.pnl-hub-card {
    min-height: min(78dvh, calc(100dvh - 28px)) !important;
  }
  .fee-tip-modal.pnl-hub-sheet.is-mobile-drawer.is-book:not(.is-page) .fee-sheet.pnl-hub-card {
    min-height: 0 !important;
    height: auto !important;
    max-height: min(90dvh, calc(100dvh - env(safe-area-inset-top, 8px))) !important;
    display: flex !important;
    flex-direction: column !important;
  }
  .fee-tip-modal.pnl-hub-sheet.is-mobile-drawer.is-rates:not(.is-page) .fee-sheet.pnl-hub-card {
    min-height: min(72dvh, calc(100dvh - 36px)) !important;
    display: flex !important;
    flex-direction: column !important;
  }
  .fee-tip-modal.pnl-hub-sheet.is-mobile-drawer.is-book,
  .fee-tip-modal.pnl-hub-sheet.is-mobile-drawer.is-rates {
    align-items: flex-end !important;
    justify-content: stretch !important;
    justify-items: unset !important;
  }
  .fee-tip-modal.pnl-hub-sheet.is-mobile-drawer:not(.is-page) .pnl-hub-grab {
    display: block;
  }
  .fee-tip-modal.pnl-hub-sheet.is-mobile-drawer:not(.is-page) .book-day-x {
    display: none !important;
  }
  .fee-tip-modal.pnl-hub-sheet .pnl-hub-logo,
  .fee-tip-modal.pnl-hub-sheet .pnl-hub-title-logo {
    display: none !important;
  }
  html[data-theme="dark"] .fee-tip-modal.pnl-hub-sheet.is-mobile-drawer:not(.is-page):not(.pnl-chart-zoomed) .fee-sheet.pnl-hub-card {
    box-shadow: 0 -12px 40px rgba(0, 0, 0, 0.45);
  }
  /* 放大全屏：铺满 */
  .fee-tip-modal.pnl-hub-sheet.is-trend.pnl-chart-zoomed,
  .fee-tip-modal.pnl-hub-sheet.is-trend.is-page {
    align-items: stretch !important;
    justify-items: stretch !important;
  }
  /* 账本：弹窗高度跟内容走，不留大块空白 */
  .fee-tip-modal.pnl-hub-sheet.is-book,
  .fee-tip-modal.pnl-hub-sheet.is-rates {
    align-items: center !important;
    justify-items: center !important;
  }
  .fee-tip-modal.pnl-hub-sheet.is-book .fee-sheet.pnl-hub-card,
  .fee-tip-modal.pnl-hub-sheet.is-rates .fee-sheet.pnl-hub-card {
    height: auto !important;
    min-height: 0 !important;
    max-height: calc(100dvh - 24px) !important;
    overflow: hidden !important;
  }
  .fee-tip-modal.pnl-hub-sheet.is-book .fee-sheet.pnl-hub-card::-webkit-scrollbar,
  .fee-tip-modal.pnl-hub-sheet.is-rates .fee-sheet.pnl-hub-card::-webkit-scrollbar,
  .fee-tip-modal.pnl-hub-sheet.is-book .fee-sheet.pnl-hub-card::-webkit-scrollbar-thumb,
  .fee-tip-modal.pnl-hub-sheet.is-rates .fee-sheet.pnl-hub-card::-webkit-scrollbar-thumb {
    width: 0 !important;
    height: 0 !important;
    display: none !important;
    background: transparent !important;
  }
  .pnl-hub-sheet.is-book .pnl-hub-body,
  .pnl-hub-sheet.is-rates .pnl-hub-body {
    flex: 0 1 auto;
    min-height: 0;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: 12px;
  }
  .pnl-hub-sheet.is-book .pnl-hub-body::-webkit-scrollbar,
  .pnl-hub-sheet.is-rates .pnl-hub-body::-webkit-scrollbar {
    width: 0 !important;
    height: 0 !important;
    display: none !important;
  }
  .pnl-hub-sheet.is-trend .pnl-hub-body {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    padding-bottom: 10px;
    overflow: hidden;
  }
  .pnl-hub-sheet .pnl-hub-pane[hidden] {
    display: none !important;
  }
  .pnl-hub-sheet #pnl-hub-trend.pnl-hub-pane:not([hidden]),
  .pnl-hub-sheet #admin-rebate-trend.pnl-hub-pane:not([hidden]) {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
  }
  .pnl-hub-sheet #pnl-hub-book.pnl-hub-pane:not([hidden]),
  .pnl-hub-sheet #admin-rebate-book.pnl-hub-pane:not([hidden]) {
    flex: 0 1 auto;
    min-height: 0;
    overflow: visible;
  }
  .pnl-hub-sheet .pnl-hub-subbar {
    flex: 0 0 auto;
    padding: 0 10px 2px;
  }
  .pnl-hub-sheet #pnl-hub-trend .pnl-pop-chart-wrap,
  .pnl-hub-sheet #admin-rebate-trend .pnl-pop-chart-wrap {
    flex: 1 1 auto;
    min-height: 240px;
    display: flex;
    flex-direction: column;
    padding: 0;
  }
  .pnl-hub-sheet #pnl-hub-trend .pnl-pop-chart-wrap .pnl-spark-lg,
  .pnl-hub-sheet #admin-rebate-trend .pnl-pop-chart-wrap .pnl-spark-lg {
    flex: 1 1 auto;
    width: 100%;
    height: 100%;
    min-height: min(44dvh, 360px);
    max-height: none;
    aspect-ratio: auto;
  }
  .fee-tip-modal.pnl-hub-sheet.is-trend:not(.pnl-chart-zoomed):not(.is-page):not(.is-mobile-drawer) #pnl-hub-trend .pnl-pop-chart-wrap,
  .fee-tip-modal.pnl-hub-sheet.is-trend:not(.pnl-chart-zoomed):not(.is-page):not(.is-mobile-drawer) #admin-rebate-trend .pnl-pop-chart-wrap {
    min-height: 160px;
  }
  .fee-tip-modal.pnl-hub-sheet.is-trend:not(.pnl-chart-zoomed):not(.is-page):not(.is-mobile-drawer) #pnl-hub-trend .pnl-pop-chart-wrap .pnl-spark-lg,
  .fee-tip-modal.pnl-hub-sheet.is-trend:not(.pnl-chart-zoomed):not(.is-page):not(.is-mobile-drawer) #admin-rebate-trend .pnl-pop-chart-wrap .pnl-spark-lg {
    min-height: min(28dvh, 240px);
  }
  /* 手机底部抽屉：加高图表区 + 可读字号（走势 / 收益率 / 账本） */
  .fee-tip-modal.pnl-hub-sheet.is-mobile-drawer.is-trend:not(.pnl-chart-zoomed):not(.is-page) #pnl-hub-trend .pnl-pop-chart-wrap,
  .fee-tip-modal.pnl-hub-sheet.is-mobile-drawer.is-trend:not(.pnl-chart-zoomed):not(.is-page) #admin-rebate-trend .pnl-pop-chart-wrap {
    flex: 1 1 auto;
    min-height: min(42dvh, 340px);
  }
  .fee-tip-modal.pnl-hub-sheet.is-mobile-drawer.is-trend:not(.pnl-chart-zoomed):not(.is-page) #pnl-hub-trend .pnl-pop-chart-wrap .pnl-spark-lg,
  .fee-tip-modal.pnl-hub-sheet.is-mobile-drawer.is-trend:not(.pnl-chart-zoomed):not(.is-page) #admin-rebate-trend .pnl-pop-chart-wrap .pnl-spark-lg {
    min-height: min(40dvh, 320px);
  }
  .pnl-hub-sheet.is-mobile-drawer.is-rates .pnl-hub-body {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
  }
  .pnl-hub-sheet.is-mobile-drawer.is-book .pnl-hub-body {
    flex: 0 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    padding-bottom: calc(12px + env(safe-area-inset-bottom, 0px));
  }
  .pnl-hub-sheet.is-mobile-drawer.is-rates .pnl-rates-body.is-lite {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
  }
  .pnl-hub-sheet.is-mobile-drawer.is-rates .pnl-rates-chart-sec {
    flex: 1 1 auto;
    min-height: min(34dvh, 300px);
  }
  .pnl-hub-sheet.is-mobile-drawer.is-rates .pnl-rates-chart-sec .pnl-spark-lg {
    min-height: min(32dvh, 280px);
  }
  .fee-tip-modal.pnl-hub-sheet.is-mobile-drawer .pnl-hub-head-left .pnl-account-select,
  .fee-tip-modal.pnl-hub-sheet.is-mobile-drawer .pnl-hub-head-left .pnl-range-select,
  .fee-tip-modal.pnl-hub-sheet.is-mobile-drawer .pnl-hub-head-left .pnl-export-btn {
    height: 36px;
    font-size: 13px;
    padding: 0 10px;
  }
  .fee-tip-modal.pnl-hub-sheet.is-mobile-drawer .pnl-hub-head-left .pnl-account-select {
    width: auto;
    max-width: 42vw;
  }
  .fee-tip-modal.pnl-hub-sheet.is-mobile-drawer .pnl-hub-head-left .pnl-range-select {
    width: 72px !important;
    min-width: 72px !important;
    max-width: 72px !important;
  }
  .fee-tip-modal.pnl-hub-sheet.is-mobile-drawer .pnl-hub-tab {
    height: 34px;
    min-height: 34px;
    padding: 0 10px;
    font-size: 12px;
  }
  .fee-tip-modal.pnl-hub-sheet.is-mobile-drawer .pnl-hub-tab.pnl-hub-tab-ico {
    width: 34px;
    min-width: 34px;
  }
  .fee-tip-modal.pnl-hub-sheet.is-mobile-drawer.is-book .pnl-hub-grab {
    margin: 6px auto 0;
  }
  .fee-tip-modal.pnl-hub-sheet.is-mobile-drawer.is-book .pnl-hub-head {
    padding: 2px 12px 0;
  }
  .fee-tip-modal.pnl-hub-sheet.is-mobile-drawer.is-book .pnl-book-head {
    margin: 4px 8px 6px;
  }
  .fee-tip-modal.pnl-hub-sheet.is-mobile-drawer.is-book .pnl-hub-pane .book-cal {
    margin-left: 6px;
    margin-right: 6px;
    padding: 6px 2px 8px;
  }
  .fee-tip-modal.pnl-hub-sheet.is-mobile-drawer .pnl-hub-card .book-cal-week {
    margin-bottom: 2px;
  }
  .fee-tip-modal.pnl-hub-sheet.is-mobile-drawer .pnl-hub-card .book-cal-week span {
    font-size: 13px;
    padding: 4px 0 6px;
  }
  .fee-tip-modal.pnl-hub-sheet.is-mobile-drawer .pnl-hub-card .book-cal-cell {
    min-height: 56px;
    padding: 8px 2px 6px;
    gap: 3px;
  }
  .fee-tip-modal.pnl-hub-sheet.is-mobile-drawer .pnl-hub-card .book-cal-cell .num {
    font-size: 17px;
    width: 34px;
    height: 34px;
  }
  .fee-tip-modal.pnl-hub-sheet.is-mobile-drawer .pnl-hub-card .book-cal-cell.is-today .num,
  .fee-tip-modal.pnl-hub-sheet.is-mobile-drawer .pnl-hub-card .book-cal-cell.is-selected .num,
  .fee-tip-modal.pnl-hub-sheet.is-mobile-drawer .pnl-hub-card .book-cal-cell:not(.empty):not(.is-today):active .num {
    font-size: 16px;
  }
  .fee-tip-modal.pnl-hub-sheet.is-mobile-drawer .pnl-hub-card .book-cal:has(.book-cal-cell.is-selected) .book-cal-cell.is-today:not(.is-selected) .num {
    font-size: 17px;
  }
  .fee-tip-modal.pnl-hub-sheet.is-mobile-drawer .pnl-hub-card .book-cal-cell .val {
    font-size: 11px;
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -0.02em;
    min-height: 13px;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    padding: 0 1px;
    box-sizing: border-box;
  }
  .fee-tip-modal.pnl-hub-sheet.is-mobile-drawer .pnl-hub-card .pnl-book-head .book-month-nav b {
    font-size: 18px;
  }
  .fee-tip-modal.pnl-hub-sheet.is-mobile-drawer .pnl-rates-hero-pct {
    font-size: clamp(30px, 9vw, 40px);
  }
  .fee-tip-modal.pnl-hub-sheet.is-mobile-drawer .pnl-rates-hero-meta {
    font-size: 12px;
  }
  .fee-tip-modal.pnl-hub-sheet.is-mobile-drawer .pnl-rates-kpi5-lab {
    font-size: 11px;
  }
  .fee-tip-modal.pnl-hub-sheet.is-mobile-drawer .pnl-rates-kpi5-val {
    font-size: 15px;
    font-weight: 750;
  }
  .fee-tip-modal.pnl-hub-sheet.is-mobile-drawer .pnl-series-legend {
    font-size: 11px;
  }
  .fee-tip-modal.pnl-hub-sheet.is-mobile-drawer .pnl-hub-subbar .pnl-pop-delta {
    font-size: 12px;
  }
}
/* 电脑端放大：全屏走势；第一排 = Logo+账户+时间 | 退出放大（无分割线） */


@media (min-width: 721px) {
  body.pnl-hub-page-open {
    overflow: hidden;
  }
  .fee-tip-modal.pnl-hub-sheet.is-page {
    padding: 0 !important;
    align-items: stretch !important;
    justify-items: stretch !important;
    background: var(--bg) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    z-index: 12050 !important;
    pointer-events: auto !important;
  }
  .fee-tip-modal.pnl-hub-sheet.is-page .fee-sheet.pnl-hub-card {
    width: 100vw !important;
    max-width: none !important;
    min-width: 0 !important;
    height: 100vh !important;
    min-height: 100vh !important;
    max-height: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    margin: 0 !important;
    border: 0 !important;
    overflow: hidden;
    display: flex !important;
    flex-direction: column !important;
  }
  .fee-tip-modal.pnl-hub-sheet.is-page.pnl-chart-zoomed .pnl-hub-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px;
    flex: 0 0 auto !important;
    padding: 8px 16px !important;
    margin: 0 !important;
    border: 0 !important;
    border-bottom: none !important;
    box-shadow: none !important;
    background: var(--bg) !important;
  }
  .fee-tip-modal.pnl-hub-sheet.is-page.pnl-chart-zoomed .pnl-hub-head-left {
    display: flex !important;
    align-items: center;
    gap: 8px;
    min-width: 0;
    flex: 1 1 auto;
  }
  .fee-tip-modal.pnl-hub-sheet.is-page.pnl-chart-zoomed .pnl-hub-head-right {
    display: flex !important;
    align-items: center;
    justify-content: flex-end;
    gap: 4px;
    flex: 0 0 auto;
    margin-left: auto;
  }
  .fee-tip-modal.pnl-hub-sheet.is-page.pnl-chart-zoomed .pnl-hub-head-right .pnl-series-legend {
    display: inline-flex !important;
  }
  .fee-tip-modal.pnl-hub-sheet.is-page.pnl-chart-zoomed .pnl-hub-tabs,
  .fee-tip-modal.pnl-hub-sheet.is-page.pnl-chart-zoomed .book-day-x {
    display: none !important;
  }
  .fee-tip-modal.pnl-hub-sheet.is-page.pnl-chart-zoomed .pnl-hub-head-right .pnl-chart-zoom {
    width: 36px;
    height: 36px;
    min-width: 36px;
    color: #5b6b78;
  }
  /* 第二排并入第一排后隐藏，避免分割线空行 */
  .fee-tip-modal.pnl-hub-sheet.is-page.pnl-chart-zoomed .pnl-hub-subbar {
    display: none !important;
    border: 0 !important;
    border-bottom: none !important;
  }
  .fee-tip-modal.pnl-hub-sheet.is-page.pnl-chart-zoomed .pnl-hub-body {
    flex: 1 1 auto;
    min-height: 0;
    height: auto;
    padding: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
  }
  .fee-tip-modal.pnl-hub-sheet.is-page.pnl-chart-zoomed #pnl-hub-trend {
    flex: 1 1 auto;
    min-height: 0;
    height: auto;
    display: flex;
    flex-direction: column;
  }
  .fee-tip-modal.pnl-hub-sheet.is-page.pnl-chart-zoomed .pnl-pop-chart-wrap {
    flex: 1 1 auto;
    min-height: 0;
    height: auto;
    padding: 4px 8px 16px 12px;
  }
  .fee-tip-modal.pnl-hub-sheet.is-page.pnl-chart-zoomed .pnl-pop-chart-wrap .pnl-spark-lg {
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    width: 100%;
  }
  html[data-theme="dark"] .fee-tip-modal.pnl-hub-sheet.is-page {
    background: var(--bg) !important;
  }
  html[data-theme="dark"] .fee-tip-modal.pnl-hub-sheet.is-page.pnl-chart-zoomed .pnl-hub-head {
    background: var(--bg) !important;
  }
}
/* 手机：仅「放大走势」为独立全屏页；普通盈亏/账本仍是弹窗 */


@media (max-width: 720px) {
  body.pnl-hub-page-open {
    overflow: hidden;
    background: var(--bg) !important;
  }
  html[data-theme="dark"] body.pnl-hub-page-open {
    background: var(--bg) !important;
  }
  body.pnl-hub-page-open .dock {
    visibility: hidden !important;
    pointer-events: none !important;
  }
  .fee-tip-modal.pnl-hub-sheet.is-page {
    padding: 0 !important;
    align-items: stretch !important;
    justify-items: stretch !important;
    background: var(--bg) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    z-index: 12050 !important;
    pointer-events: auto !important;
  }
  .fee-tip-modal.pnl-hub-sheet.is-page .fee-sheet.pnl-hub-card {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    height: 100vh !important;
    height: 100dvh !important;
    min-height: 100dvh !important;
    max-height: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    margin: 0 !important;
    border: 0 !important;
    overflow: hidden;
    background: var(--bg) !important;
    padding-top: env(safe-area-inset-top, 0px);
    padding-bottom: env(safe-area-inset-bottom, 0px);
    box-sizing: border-box;
  }
  .fee-tip-modal.pnl-hub-sheet.is-page .pnl-hub-head,
  .fee-tip-modal.pnl-hub-sheet.is-page .pnl-hub-body,
  .fee-tip-modal.pnl-hub-sheet.is-page .pnl-pop-chart-wrap,
  .fee-tip-modal.pnl-hub-sheet.is-page #pnl-hub-trend {
    background: var(--bg) !important;
  }
  .fee-tip-modal.pnl-hub-sheet.is-page .pnl-hub-body {
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
    padding-bottom: 0;
  }
  .fee-tip-modal.pnl-hub-sheet.is-page .pnl-pop-chart-wrap .pnl-spark-lg {
    max-height: none;
    min-height: 0;
    width: 100%;
    height: 100%;
    aspect-ratio: auto;
  }
  html[data-theme="dark"] .fee-tip-modal.pnl-hub-sheet.is-page {
    background: var(--bg) !important;
  }
  html[data-theme="dark"] .fee-tip-modal.pnl-hub-sheet.is-page .fee-sheet.pnl-hub-card,
  html[data-theme="dark"] .fee-tip-modal.pnl-hub-sheet.is-page .pnl-hub-head,
  html[data-theme="dark"] .fee-tip-modal.pnl-hub-sheet.is-page .pnl-hub-body,
  html[data-theme="dark"] .fee-tip-modal.pnl-hub-sheet.is-page .pnl-pop-chart-wrap,
  html[data-theme="dark"] .fee-tip-modal.pnl-hub-sheet.is-page #pnl-hub-trend {
    background: var(--bg) !important;
  }
  /* 手机全屏：无第二排累计/关闭；无盈亏账本；放大在第一排最右 */
  .fee-tip-modal.pnl-hub-sheet.is-page .pnl-hub-tabs,
  .fee-tip-modal.pnl-hub-sheet.is-page .book-day-x,
  .fee-tip-modal.pnl-hub-sheet.is-page .pnl-hub-subbar {
    display: none !important;
  }
  .fee-tip-modal.pnl-hub-sheet.is-page .pnl-hub-head {
    display: flex !important;
    align-items: center;
    gap: 6px;
    padding: 10px 10px 6px;
  }
  .fee-tip-modal.pnl-hub-sheet.is-page .pnl-hub-head-right {
    display: flex !important;
    align-items: center;
    justify-content: flex-end;
    flex: 0 0 auto;
    margin-left: auto;
    gap: 4px;
  }
  .fee-tip-modal.pnl-hub-sheet.is-page .pnl-hub-head-right .pnl-series-legend {
    display: inline-flex !important;
    flex: 0 0 auto;
  }
  .fee-tip-modal.pnl-hub-sheet.is-page .pnl-hub-head-right .pnl-chart-zoom {
    display: inline-flex !important;
    width: 36px;
    height: 36px;
    min-width: 36px;
    color: #5b6b78;
  }
}
.pnl-book-head {
  margin-bottom: 10px;
  align-items: center;
  justify-content: center;
}
.book-day-acc {
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1 1 auto;
  min-width: 0;
  font-size: 12px;
  color: var(--muted);
  font-weight: 600;
}
.book-day-acc-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 0;
  flex-wrap: nowrap;
}
.book-day-head .book-day-acc-row {
  margin-top: 0;
  width: 100%;
}
.book-day-acc-row .pnl-account-select {
  flex: 1 1 auto;
  min-width: 0;
  width: auto;
  max-width: none;
  height: 32px;
  box-sizing: border-box;
}
.book-day-flow-btn {
  flex: 0 0 auto;
  height: 32px;
  box-sizing: border-box;
  pointer-events: auto;
  position: relative;
  z-index: 2;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 6px 10px;
  font: inherit;
  font-size: 12px;
  font-weight: 600;
  color: var(--ink);
  background: #fff;
  cursor: pointer;
  white-space: nowrap;
  line-height: 1.2;
}
.book-day-flow-btn:hover {
  background: #f8fafc;
  border-color: #c5d0db;
}
.book-day-acc-tip {
  margin: 4px 0 0;
  font-size: 11px;
  color: var(--muted);
  font-weight: 500;
}

/* 日详情：手机底部抽屉（无账户/流水/×）；电脑对准日历格的气泡 */
.book-day-grab {
  display: none;
}
@media (max-width: 899px) {
  .fee-tip-modal.book-day-sheet.is-mobile-drawer {
    z-index: 28125 !important;
  }
  .fee-tip-modal.book-day-sheet.is-mobile-drawer .book-day-grab {
    display: block;
    width: 36px;
    height: 4px;
    margin: 8px auto 4px;
    border-radius: 999px;
    background: rgba(21, 32, 43, 0.18);
    flex-shrink: 0;
  }
  html[data-theme="dark"] .fee-tip-modal.book-day-sheet.is-mobile-drawer .book-day-grab {
    background: rgba(255, 255, 255, 0.22);
  }
  .fee-tip-modal.book-day-sheet.is-mobile-drawer .book-day-head {
    display: none !important;
  }
  .fee-tip-modal.book-day-sheet.is-mobile-drawer .book-day-card {
    max-height: min(78dvh, calc(100dvh - 8px));
    overflow: auto;
  }
  .fee-tip-modal.book-day-sheet.is-mobile-drawer .book-day-body {
    padding-top: 2px;
    padding-bottom: calc(16px + env(safe-area-inset-bottom, 0px));
  }
}
@media (min-width: 900px) {
  .fee-tip-modal.book-day-sheet.book-day-anchor-pop {
    display: block;
    background: transparent !important;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    pointer-events: none;
  }
  .fee-tip-modal.book-day-sheet.book-day-anchor-pop .book-day-card.book-day-card--callout {
    position: fixed;
    left: 0;
    top: 0;
    height: auto;
    min-height: 0;
    transform: none;
    overflow: visible;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    outline: none !important;
    border-radius: 0 !important;
    pointer-events: auto;
  }
  html[data-theme="dark"] .fee-tip-modal.book-day-sheet.book-day-anchor-pop .book-day-card.book-day-card--callout {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    outline: none !important;
  }
  .fee-tip-modal.book-day-sheet.book-day-anchor-pop .book-day-bubble-shell {
    position: relative;
    overflow: visible;
    filter: none;
  }
  /* 与其它锚点气泡一致：死黑底；描边跟「框+箭头」整块外形，接缝不另画横线 */
  .fee-tip-modal.book-day-sheet.book-day-anchor-pop .book-day-bubble-path,
  html[data-theme="dark"] .fee-tip-modal.book-day-sheet.book-day-anchor-pop .book-day-bubble-path {
    fill: #000;
    stroke: none;
  }
  .fee-tip-modal.book-day-sheet.book-day-anchor-pop .book-day-bubble-frame {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 0;
    overflow: visible;
    filter:
      drop-shadow(0 1px 0 rgba(255, 255, 255, 0.22))
      drop-shadow(0 -1px 0 rgba(255, 255, 255, 0.22))
      drop-shadow(1px 0 0 rgba(255, 255, 255, 0.22))
      drop-shadow(-1px 0 0 rgba(255, 255, 255, 0.22))
      drop-shadow(0 16px 48px rgba(0, 0, 0, 0.55));
  }
  .fee-tip-modal.book-day-sheet.book-day-anchor-pop .book-day-card--callout .book-day-body {
    position: relative;
    z-index: 1;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    overflow: visible;
  }
  .fee-tip-modal.book-day-sheet.book-day-anchor-pop .book-day-body--chip {
    padding: 11px 13px 12px 22px;
    gap: 0;
  }
  .fee-tip-modal.book-day-sheet.book-day-anchor-pop .book-day-card--callout.callout-side-right .book-day-body--chip {
    padding-left: 26px;
  }
  .fee-tip-modal.book-day-sheet.book-day-anchor-pop .book-day-card--callout.callout-side-left .book-day-body--chip {
    padding-right: 16px;
  }
  .fee-tip-modal.book-day-sheet.book-day-anchor-pop .book-day-card--callout.callout-side-top .book-day-body--chip {
    padding-bottom: 16px;
  }
  .fee-tip-modal.book-day-sheet.book-day-anchor-pop .book-day-card--callout.callout-side-bottom .book-day-body--chip {
    padding-top: 16px;
  }
  .book-day-bubble-chip {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
    width: 100%;
    box-sizing: border-box;
  }
  .book-day-bubble-date {
    margin: 0;
    padding: 0;
    font-size: 11px;
    font-weight: 600;
    color: rgba(232, 238, 242, 0.72);
    letter-spacing: 0.01em;
    text-align: left;
  }
  .book-day-bubble-net {
    margin: 0;
    padding: 0;
    font-size: 22px;
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -0.03em;
    font-variant-numeric: tabular-nums;
    color: var(--ink);
    text-align: left;
  }
  .book-day-bubble-net.up {
    color: var(--up);
  }
  .book-day-bubble-net.down {
    color: var(--down);
  }
  .book-day-bubble-rows {
    margin: 8px 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 5px;
    width: 100%;
    box-sizing: border-box;
  }
  .book-day-bubble-rows > div {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    column-gap: 18px;
    align-items: baseline;
    padding: 0;
    font-size: 11px;
    line-height: 1.35;
    width: 100%;
  }
  .book-day-bubble-rows dt {
    margin: 0;
    padding: 0;
    font-weight: 600;
    color: rgba(232, 238, 242, 0.72);
    text-align: left;
    justify-self: start;
  }
  .book-day-bubble-rows dd {
    margin: 0;
    padding: 0 8px 0 0;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    color: #e8eef2;
    text-align: right;
    justify-self: end;
    white-space: nowrap;
  }
}
/* appended to 02-account.css — pwd change flow */

#pwd-change-layer.fee-tip-modal.pwd-change-modal {
  z-index: 29600;
}
#pwd-change-layer.fee-tip-modal.pwd-change-modal.on {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px 12px;
  background: var(--modal-scrim, rgba(6, 10, 16, 0.55));
}
#pwd-change-layer.fee-tip-modal.pwd-change-modal.is-mobile-drawer:not(.is-desk-pop).on {
  align-items: flex-end;
  justify-content: stretch;
  padding: 0;
  background: var(--modal-scrim, rgba(6, 10, 16, 0.55));
}
#pwd-change-layer .fee-sheet.pwd-change-sheet {
  position: relative;
  left: auto;
  top: auto;
  transform: none;
  width: min(420px, calc(100vw - 24px));
  height: auto;
  min-height: 0;
  max-height: min(92vh, 720px);
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  background: var(--sheet, #fff);
  color: var(--ink, #000);
  border-radius: 16px;
  box-shadow: var(--sheet-shadow);
  border: 1px solid var(--card-line, var(--line));
  padding: 20px 20px 24px;
  touch-action: auto;
}
#pwd-change-layer.is-mobile-drawer:not(.is-desk-pop) .fee-sheet.pwd-change-sheet {
  width: 100%;
  max-width: none;
  border-radius: 18px 18px 0 0;
  padding: 8px 20px calc(20px + env(safe-area-inset-bottom, 0px));
  max-height: min(88vh, 720px);
}
#pwd-change-layer.is-desk-pop .pwd-change-grab {
  display: none;
}
#pwd-change-layer .pwd-change-grab {
  width: 36px;
  height: 4px;
  border-radius: 99px;
  background: color-mix(in srgb, var(--ink, #000) 22%, transparent);
  margin: 6px auto 14px;
}
.pwd-change-pane--warn {
  text-align: center;
  padding: 4px 4px 0;
}
.pwd-warn-ico {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  margin: 8px auto 16px;
  border-radius: 50%;
  background: var(--panel-2, #f5f5f5);
  color: var(--ink, #000);
}
.pwd-warn-title {
  margin: 0 0 14px;
  font-size: 22px;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.25;
}
.pwd-warn-p {
  margin: 0 0 12px;
  font-size: 14px;
  line-height: 1.55;
  color: var(--ink, #000);
  text-align: left;
}
.pwd-warn-p--muted {
  color: rgba(245, 245, 245, 0.62);
  font-size: 13px;
}
.pwd-change-actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 22px;
}
.pwd-change-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 48px;
  padding: 12px 16px;
  border: 0;
  border-radius: 999px;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  transition: opacity 0.15s ease, transform 0.12s ease;
}
.pwd-change-btn:active:not(:disabled) {
  transform: scale(0.98);
}
.pwd-change-btn--primary {
  background: var(--ink, #000);
  color: var(--bg, #fff);
}
.pwd-change-btn--ghost {
  background: var(--panel-2, #f5f5f5);
  color: var(--ink, #000);
}
.pwd-change-btn--submit {
  margin-top: 18px;
  background: var(--ink, #000);
  color: var(--bg, #fff);
}
.pwd-change-btn--submit:disabled {
  background: var(--panel-2, #f5f5f5);
  color: var(--muted, #888);
  cursor: not-allowed;
}
html[data-theme="dark"] #pwd-change-layer .pwd-change-btn--primary,
html[data-theme="dark"] #pwd-change-layer .pwd-change-btn--submit:not(:disabled) {
  background: #ffffff;
  color: #0a0a0a;
}
.pwd-form-nav {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  box-sizing: border-box;
  width: 100%;
  min-height: 48px;
  padding: 8px 4px 8px 2px;
  margin: 0;
  background: transparent;
}
#pwd-change-layer .pwd-change-back.ui-page-back {
  display: grid !important;
  place-items: center;
  width: 44px;
  height: 44px;
  margin: 0;
  color: var(--ink, #000);
  flex-shrink: 0;
}
.pwd-form-body {
  min-width: 0;
}
.pwd-form-head {
  display: block;
  margin-bottom: 20px;
  flex-shrink: 0;
}
.pwd-form-title {
  margin: 0;
  font-size: 22px;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.2;
}
@media (min-width: 900px) {
  .pwd-form-nav {
    min-height: 40px;
    padding: 4px 0 0;
  }
  .pwd-form-title {
    font-size: 20px;
  }
  .pwd-form-head {
    margin-bottom: 18px;
  }
}
/* 手机：第二步全屏页（顶栏固定 + 正文滚动，对齐账单/下单 is-page） */
@media (max-width: 899px) {
  #pwd-change-layer.pwd-change-modal.is-mobile-drawer.is-pwd-form-page.is-page.on {
    display: flex !important;
    align-items: stretch;
    justify-content: stretch;
    padding: 0;
    background: var(--bg, #fff);
    overflow: hidden;
  }
  #pwd-change-layer.is-mobile-drawer.is-pwd-form-page.is-page .fee-sheet.pwd-change-sheet {
    position: relative;
    width: 100%;
    max-width: none;
    max-height: none;
    min-height: 100dvh;
    height: 100%;
    border-radius: 0;
    border: 0;
    box-shadow: none;
    padding: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: var(--bg, #fff);
    color: var(--ink, #000);
  }
  #pwd-change-layer.is-pwd-form-page .pwd-change-pane--form {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
  }
  #pwd-change-layer.is-pwd-form-page .pwd-form-nav {
    flex-shrink: 0;
    align-items: center;
    min-height: calc(48px + env(safe-area-inset-top, 0px));
    padding: calc(6px + env(safe-area-inset-top, 0px)) 8px 4px 4px;
    background: var(--bg, #fff);
    border-bottom: 0;
  }
  #pwd-change-layer.is-pwd-form-page .pwd-form-body {
    flex: 1;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 16px 16px calc(24px + env(safe-area-inset-bottom, 0px));
  }
  #pwd-change-layer.is-pwd-form-page .pwd-form-title {
    font-size: 26px;
    font-weight: 700;
  }
}
.pwd-field {
  display: block;
  margin-bottom: 14px;
}
.pwd-field-lab {
  display: block;
  margin-bottom: 8px;
  font-size: 13px;
  font-weight: 500;
  color: var(--muted, #666);
}
.pwd-field-wrap {
  --pwd-field-bg: var(--panel-2, #f5f5f5);
  display: flex;
  align-items: center;
  gap: 0;
  padding: 0 2px 0 14px;
  min-height: 52px;
  border-radius: 14px;
  background: var(--pwd-field-bg);
  border: 1px solid var(--line, rgba(0, 0, 0, 0.12));
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
  overflow: hidden;
}
.pwd-field-wrap:focus-within {
  border-color: color-mix(in srgb, var(--ink, #000) 28%, transparent);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--ink, #000) 8%, transparent);
}
/* 线框与底色只在外槽；内层 input / 眼睛区不再叠第二色（盖 04-shell panel-2、06-market #000） */
#pwd-change-layer.fee-tip-modal .pwd-field-wrap,
.fee-tip-modal.pwd-change-modal .pwd-field-wrap {
  background-color: var(--pwd-field-bg) !important;
  background-image: none !important;
}
#pwd-change-layer .pwd-field-wrap input,
.fee-tip-modal.pwd-change-modal .pwd-field-wrap input {
  background: transparent !important;
  background-color: transparent !important;
  -webkit-text-fill-color: var(--ink, #000) !important;
  color: var(--ink, #000) !important;
  border: 0 !important;
  box-shadow: none !important;
}
#pwd-change-layer .pwd-field-wrap input:-webkit-autofill,
#pwd-change-layer .pwd-field-wrap input:-webkit-autofill:hover,
#pwd-change-layer .pwd-field-wrap input:-webkit-autofill:focus {
  -webkit-text-fill-color: var(--ink, #000) !important;
  caret-color: var(--ink, #000);
  transition: background-color 99999s ease-out;
  -webkit-box-shadow: 0 0 0 1000px var(--pwd-field-bg) inset !important;
  box-shadow: 0 0 0 1000px var(--pwd-field-bg) inset !important;
}
.pwd-field-wrap input {
  flex: 1;
  min-width: 0;
  min-height: 0;
  height: auto;
  padding: 0 8px 0 0;
  margin: 0;
  border: 0 !important;
  background: transparent !important;
  color: var(--ink, #000);
  font-size: 15px;
  line-height: 1.35;
  outline: none !important;
  box-shadow: none !important;
  -webkit-appearance: none;
  appearance: none;
  border-radius: 0;
}
#pwd-change-layer .pwd-field-wrap input:focus,
#pwd-change-layer .pwd-field-wrap input:focus-visible {
  border: 0 !important;
  box-shadow: none !important;
  outline: none !important;
  background: transparent !important;
}
.pwd-field-wrap input::placeholder {
  color: color-mix(in srgb, var(--muted, #888) 85%, transparent);
}
.pwd-field-eye {
  flex-shrink: 0;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: transparent !important;
  color: var(--muted, #888);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.pwd-field-eye:active {
  color: var(--ink, #000);
  background: transparent !important;
}
.pwd-eye-ico {
  position: relative;
  width: 22px;
  height: 22px;
  display: block;
}
.pwd-eye-ico svg {
  position: absolute;
  inset: 0;
  width: 22px;
  height: 22px;
  display: block;
  pointer-events: none;
  transition: opacity 0.12s ease;
}
.pwd-eye-ico .pwd-eye-hide {
  opacity: 0;
}
.pwd-field-eye.is-on {
  color: var(--ink, #000);
}
.pwd-field-eye.is-on .pwd-eye-show {
  opacity: 0;
}
.pwd-field-eye.is-on .pwd-eye-hide {
  opacity: 1;
}
.pwd-rules-lead {
  margin: 16px 0 10px;
  font-size: 13px;
  color: var(--muted, #666);
}
.pwd-rules {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.pwd-rules li {
  position: relative;
  padding-left: 22px;
  font-size: 13px;
  line-height: 1.4;
  color: var(--muted, #888);
}
.pwd-rules li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.35em;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  border: 1.5px solid color-mix(in srgb, var(--muted, #888) 55%, transparent);
  box-sizing: border-box;
}
.pwd-rules li.is-ok {
  color: var(--up, #0f7a6a);
}
.pwd-rules li.is-ok::before {
  border-color: var(--up, #0f7a6a);
  background: var(--up, #0f7a6a);
  box-shadow: inset 0 0 0 2px var(--bg, #fff);
}
.pwd-form-msg {
  margin: 12px 0 0;
  font-size: 13px;
  line-height: 1.45;
  color: var(--down, #c0392b);
}
.pwd-form-msg.is-ok {
  color: var(--up, #0f7a6a);
}
