/**
 * Mobile viewport presentation SSOT (Phase 6+).
 * Same DOM as desktop — presentation + modular rhythm + fixed chrome for ≤767px.
 * Load after breakpoints (first paint) and LAST in ops-creation deferred pack.
 * Do not restore /m SPA or parallel mobile layout trees.
 */

/* Account recharge is a primary action at every viewport width. */
/* Video has its own action row; the empty standard wrapper intercepts its form. */
body[data-app-feature="one-click-video"] #mainGenerateSticky { display: none !important; }

#panelAccountCenter #accountCenterRechargeBtn {
  background: var(--yj-appearance-primary,#6d28d9) !important;
  color: #fff !important;
  border: 1px solid var(--yj-appearance-primary,#6d28d9) !important;
  font-weight: 700 !important;
  box-shadow: none !important;
}
#panelAccountCenter #accountCenterRechargeBtn:hover { background: var(--yj-appearance-primary,#5b21b6) !important; }
#panelAccountCenter #accountCenterRechargeBtn:focus-visible { outline: 3px solid var(--yj-appearance-primary,#a78bfa); outline-offset: 3px; }

@media (max-width: 767px) {
  #opsCanvasPresetModal .ops-preset-modal__workspace {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
  }
  #opsCanvasPresetModal .ops-preset-modal__nav {
    flex-direction: row !important;
    padding: 8px 10px !important;
  }
  #opsCanvasPresetModal .ops-preset-modal__nav-btn {
    height: 44px;
    flex: 1 1 0 !important;
    text-align: center !important;
  }
  /* This panel overflows a zero-height SPA stack; outer shell padding does not
     reserve space after its last control. Keep the last row above fixed tabs. */
  body.has-mobile-tab-bar[data-app-feature="account-center"] #panelAccountCenter .account-center-shell::after {
    content: '';
    display: block;
    flex: 0 0 calc(72px + env(safe-area-inset-bottom, 0px));
  }
  body.has-mobile-tab-bar[data-app-feature="account-center"] #panelAccountCenter button {
    scroll-margin-top: 60px;
    scroll-margin-bottom: calc(72px + env(safe-area-inset-bottom, 0px));
  }
  /* Account dialogs can reach the viewport edges; fixed navigation must not intercept their controls. */
  body.has-mobile-tab-bar.has-blocking-modal-open .yj-mobile-top-chrome,
  body.has-mobile-tab-bar.has-blocking-modal-open .yj-mobile-tab-bar {
    visibility: hidden;
    pointer-events: none;
  }

  /* Boot: keep desktop hero off-screen until ops pack + mobile console are ready. */
  html:not([data-yj-pack-ops-creation="ready"]) body[data-app-feature="operation-center"] #panelOperationCenter {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
}

/* —— Fixed chrome: top menu + bottom tabs (all features) —— */
.yj-mobile-top-chrome,
.yj-mobile-tab-bar,
.yj-mobile-nav-scrim,
.yj-mobile-home-console,
.yj-ops-ai-chat-empty {
  display: none;
}

/* Desktop: keep A2HS entry hidden; mobile SSOT shows it under has-mobile-tab-bar */
.yj-a2hs-account-btn,
.yj-a2hs-home-chip,
.yj-a2hs-sheet {
  display: none;
}

@media (max-width: 767px) {
  /* Failsafe: never leave ops home blank if early-feature marker was cleared */
  body[data-app-feature="operation-center"] #panelOperationCenter {
    display: block !important;
    visibility: visible !important;
  }

  body[data-app-feature="operation-center"]:not(.yj-mobile-ai-chat) #opsHomeShell {
    display: block !important;
    visibility: visible !important;
  }

  body.has-mobile-tab-bar {
    --yj-mobile-tab-h: 52px;
    --yj-mobile-top-h: 44px;
  }

  body.has-mobile-tab-bar .yj-mobile-top-chrome {
    display: flex;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1250;
    align-items: center;
    gap: 8px;
    min-height: var(--yj-mobile-top-h);
    padding: max(4px, env(safe-area-inset-top, 0px)) 12px 4px;
    background: #fff;
    border-bottom: 1px solid #e8eaed;
  }

  body.has-mobile-tab-bar .yj-mobile-top-chrome__menu,
  body.has-mobile-tab-bar .yj-mobile-top-chrome__ghost {
    flex: 0 0 auto;
    min-width: 40px;
    min-height: 36px;
    padding: 0 8px;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #334155;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
  }

  body.has-mobile-tab-bar .yj-mobile-top-chrome__actions {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    flex: 0 0 auto;
  }

  body.has-mobile-tab-bar .yj-mobile-top-chrome__title {
    flex: 1 1 auto;
    min-width: 0;
    color: #0f172a;
    font-size: 15px;
    font-weight: 650;
    letter-spacing: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    text-align: center;
  }

  body.has-mobile-tab-bar .yj-mobile-tab-bar {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1260;
    min-height: calc(var(--yj-mobile-tab-h) + env(safe-area-inset-bottom, 0px));
    padding: 4px 2px max(4px, env(safe-area-inset-bottom, 0px));
    margin: 0;
    border-top: 1px solid #e8eaed;
    background: #fff;
    box-shadow: none;
  }

  body.has-mobile-tab-bar .yj-mobile-tab-bar[hidden] {
    display: none !important;
  }

  body.has-mobile-tab-bar .yj-mobile-tab-bar__btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    min-width: 0;
    min-height: 44px;
    padding: 2px;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #64748b;
    font-size: 11px;
    font-weight: 550;
    line-height: 1.1;
    cursor: pointer;
  }

  body.has-mobile-tab-bar .yj-mobile-tab-bar__icon {
    font-size: 15px;
    line-height: 1;
    font-style: normal;
  }

  body.has-mobile-tab-bar .yj-mobile-tab-bar__btn.is-active {
    color: #0f172a;
    background: transparent;
    font-weight: 650;
  }

  body.has-mobile-tab-bar .yj-mobile-nav-scrim {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 1290;
    border: 0;
    margin: 0;
    padding: 0;
    background: rgba(15, 23, 42, 0.28);
    cursor: pointer;
  }

  body.has-mobile-tab-bar .yj-mobile-nav-scrim[hidden] {
    display: none !important;
  }

  /* Drawer: reuse desktop sidebar, off-canvas until menu open.
     Rhythm from reference: flat icon+label list, one footer divider — keep Yuanjing light skin. */
  body.has-mobile-tab-bar .page-container.app-container {
    flex-direction: column !important;
    padding-top: calc(var(--yj-mobile-top-h) + env(safe-area-inset-top, 0px)) !important;
    padding-bottom: calc(var(--yj-mobile-tab-h) + env(safe-area-inset-bottom, 0px)) !important;
    /* Kill desktop `@media (max-width:1200px) .page-container { padding:16px }` side gutters */
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.has-mobile-tab-bar .page-container.app-container > .sidebar.sidebar--stack {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    bottom: 0 !important;
    z-index: 1300 !important;
    order: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    width: min(84vw, 288px) !important;
    max-width: 288px !important;
    height: 100% !important;
    max-height: 100dvh !important;
    padding: max(10px, env(safe-area-inset-top, 0px)) 0 max(12px, env(safe-area-inset-bottom, 0px)) !important;
    overflow: hidden !important;
    transform: translateX(-105%) !important;
    transition: transform 0.22s ease !important;
    background: #fff !important;
    box-shadow: none !important;
    border-right: 1px solid #e8eaed !important;
  }

  body.has-mobile-tab-bar.yj-mobile-nav-open .page-container.app-container > .sidebar.sidebar--stack {
    transform: translateX(0) !important;
  }

  body.has-mobile-tab-bar .sidebar.sidebar--stack > .sidebar-top-chrome {
    flex: 0 0 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 4px 14px 10px !important;
    border: 0 !important;
    background: transparent !important;
  }

  body.has-mobile-tab-bar .sidebar.sidebar--stack .sidebar-brand-jump {
    min-width: 0 !important;
    padding: 0 !important;
  }

  body.has-mobile-tab-bar .sidebar.sidebar--stack .brand-mark-img--topbar {
    width: 28px !important;
    height: 28px !important;
  }

  body.has-mobile-tab-bar .sidebar.sidebar--stack .brand-wordmark-img {
    width: auto !important;
    height: 28px !important;
  }

  body.has-mobile-tab-bar .sidebar.sidebar--stack .sidebar-collapse-toggle {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: transparent !important;
    color: #64748b !important;
    box-shadow: none !important;
  }

  body.has-mobile-tab-bar .sidebar.sidebar--stack .sidebar-collapse-toggle__icon {
    font-size: 22px !important;
    line-height: 1 !important;
  }

  body.has-mobile-tab-bar.yj-mobile-nav-open .sidebar.sidebar--stack .sidebar-collapse-toggle__icon {
    font-size: 0 !important;
  }

  body.has-mobile-tab-bar.yj-mobile-nav-open .sidebar.sidebar--stack .sidebar-collapse-toggle__icon::before {
    content: '×' !important;
    font-size: 22px !important;
    font-weight: 500 !important;
    color: #64748b !important;
  }

  /* 覆盖 style.css ≤768 横向 chip 导航：抽屉必须整列纵向 */
  body.has-mobile-tab-bar .sidebar.sidebar--stack > #sidebarMenuRoot.sidebar-nav,
  body.has-mobile-tab-bar .sidebar.sidebar--stack > #sidebarMenuRoot.sidebar-nav.sidebar-card {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    gap: 2px !important;
    flex: 1 1 auto !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 4px 10px 8px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    scroll-snap-type: none !important;
    -webkit-overflow-scrolling: touch !important;
  }

  /* 手机侧栏隐藏：须盖过 #sidebarMenuRoot .nav-btn { display:flex !important } */
  body.has-mobile-tab-bar .sidebar.sidebar--stack #customFeaturesNavGroup,
  body.has-mobile-tab-bar .sidebar.sidebar--stack #customFeaturesNavDivider,
  body.has-mobile-tab-bar .sidebar.sidebar--stack #sidebarMenuRoot .nav-group--append,
  body.has-mobile-tab-bar .sidebar.sidebar--stack #sidebarMenuRoot .nav-btn[data-feature="custom-features"],
  body.has-mobile-tab-bar .sidebar.sidebar--stack #sidebarMenuRoot .nav-btn[data-feature="developer-center"],
  body.has-mobile-tab-bar .sidebar.sidebar--stack #sidebarMenuRoot .nav-btn[data-feature="canvas-presets"],
  body.has-mobile-tab-bar .sidebar.sidebar--stack #sidebarMenuRoot .nav-btn[data-feature="gpt-image"],
  body.has-mobile-tab-bar .sidebar.sidebar--stack #sidebarMenuRoot .nav-btn[data-feature="ecommerce-zone"] {
    display: none !important;
  }

  body.has-mobile-tab-bar .sidebar.sidebar--stack .nav-group-header,
  body.has-mobile-tab-bar .sidebar.sidebar--stack .nav-group-icon {
    display: none !important;
  }

  body.has-mobile-tab-bar .sidebar.sidebar--stack .nav-group--secondary > .nav-group-header {
    display: block !important;
    margin: 12px 12px 4px !important;
    padding: 0 !important;
    background: transparent !important;
    color: #94a3b8 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 0.02em !important;
    text-align: left !important;
  }

  body.has-mobile-tab-bar .sidebar.sidebar--stack .nav-group--secondary > .nav-btn,
  body.has-mobile-tab-bar .sidebar.sidebar--stack #sidebarMenuRoot .nav-group--secondary .nav-btn {
    color: #0f172a !important;
    opacity: 1 !important;
  }

  body.has-mobile-tab-bar .sidebar.sidebar--stack .nav-group--secondary > .nav-group-header .nav-group-title {
    color: inherit !important;
  }

  body.has-mobile-tab-bar .sidebar.sidebar--stack .nav-divider {
    height: 1px !important;
    margin: 8px 8px !important;
    border: 0 !important;
    background: rgba(15, 23, 42, 0.08) !important;
  }

  body.has-mobile-tab-bar .sidebar.sidebar--stack .nav-group,
  body.has-mobile-tab-bar .sidebar.sidebar--stack .nav-group--flat,
  body.has-mobile-tab-bar .sidebar.sidebar--stack .nav-group--secondary,
  body.has-mobile-tab-bar .sidebar.sidebar--stack #sidebarMenuRoot .nav-group,
  body.has-mobile-tab-bar .sidebar.sidebar--stack #sidebarMenuRoot .nav-section {
    display: flex !important;
    flex: 0 0 auto !important;
    flex-direction: column !important;
    align-items: stretch !important;
    grid-template-columns: none !important;
    gap: 2px !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  body.has-mobile-tab-bar .sidebar.sidebar--stack .nav-btn,
  body.has-mobile-tab-bar .sidebar.sidebar--stack #sidebarMenuRoot .nav-btn,
  body.has-mobile-tab-bar .sidebar.sidebar--stack #sidebarMenuRoot .nav-group .nav-btn,
  body.has-mobile-tab-bar .sidebar.sidebar--stack #sidebarMenuRoot .nav-group--flat .nav-btn,
  body.has-mobile-tab-bar .sidebar.sidebar--stack #sidebarMenuRoot .nav-group--secondary .nav-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 44px !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 10px 12px !important;
    border: 0 !important;
    border-left-width: 0 !important;
    border-radius: 8px !important;
    background: transparent !important;
    color: #0f172a !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    text-align: left !important;
    box-shadow: none !important;
    align-self: stretch !important;
    justify-self: stretch !important;
    grid-template-columns: none !important;
    scroll-snap-align: none !important;
  }

  body.has-mobile-tab-bar .sidebar.sidebar--stack .nav-btn .nav-btn__icon,
  body.has-mobile-tab-bar .sidebar.sidebar--stack #sidebarMenuRoot .nav-btn__icon {
    width: 20px !important;
    min-width: 20px !important;
    max-width: 20px !important;
    height: 20px !important;
    flex: 0 0 20px !important;
    display: inline-grid !important;
    place-items: center !important;
    margin: 0 !important;
    opacity: 0.86 !important;
  }

  body.has-mobile-tab-bar .sidebar.sidebar--stack .nav-btn .nav-btn__label,
  body.has-mobile-tab-bar .sidebar.sidebar--stack #sidebarMenuRoot .nav-btn__label {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    line-height: 1.25 !important;
    font-size: 15px !important;
    font-weight: 550 !important;
    color: inherit !important;
  }

  body.has-mobile-tab-bar .sidebar.sidebar--stack .nav-btn.active,
  body.has-mobile-tab-bar .sidebar.sidebar--stack .nav-btn[aria-current='page'],
  body.has-mobile-tab-bar .sidebar.sidebar--stack #sidebarMenuRoot .nav-btn.active {
    background: #f3f4f6 !important;
    border-color: transparent !important;
    color: #0f172a !important;
    font-weight: 650 !important;
    box-shadow: none !important;
  }

  body.has-mobile-tab-bar .sidebar.sidebar--stack .nav-tag {
    margin-left: auto !important;
  }

  body.has-mobile-tab-bar .sidebar.sidebar--stack > #sidebarBottomDock {
    display: none !important;
  }

  body.has-mobile-tab-bar .sidebar.sidebar--stack > .sidebar-wallet,
  body.has-mobile-tab-bar .sidebar.sidebar--stack #sidebarWallet {
    flex: 0 0 auto !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    margin: 0 12px !important;
    padding: 10px 0 0 !important;
    border: 0 !important;
    border-top: 1px solid #e8eaed !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.has-mobile-tab-bar .sidebar.sidebar--stack .sidebar-wallet__fx,
  body.has-mobile-tab-bar .sidebar.sidebar--stack .sidebar-wallet__skin-btn,
  body.has-mobile-tab-bar .sidebar.sidebar--stack #walletSkinBtn,
  body.has-mobile-tab-bar .sidebar.sidebar--stack .sidebar-wallet__head,
  body.has-mobile-tab-bar .sidebar.sidebar--stack .sidebar-wallet__tools {
    display: none !important;
  }

  body.has-mobile-tab-bar .sidebar.sidebar--stack .sidebar-wallet__identity,
  body.has-mobile-tab-bar .sidebar.sidebar--stack .sidebar-wallet__balance {
    display: flex !important;
    align-items: baseline !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 4px 4px 0 !important;
  }

  body.has-mobile-tab-bar .sidebar.sidebar--stack .sidebar-wallet__tier {
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #94a3b8 !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    padding: 0 !important;
  }

  body.has-mobile-tab-bar .sidebar.sidebar--stack .sidebar-wallet__num {
    font-size: 16px !important;
    font-weight: 650 !important;
    color: #0f172a !important;
  }

  body.has-mobile-tab-bar .sidebar.sidebar--stack .sidebar-wallet__unit {
    color: #64748b !important;
    font-size: 12px !important;
  }

  body.has-mobile-tab-bar .sidebar.sidebar--stack .sidebar-wallet__actions {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    margin: 0 !important;
  }

  body.has-mobile-tab-bar .sidebar.sidebar--stack .sidebar-wallet__action,
  body.has-mobile-tab-bar .sidebar.sidebar--stack .sidebar-wallet__action.vip-btn,
  body.has-mobile-tab-bar .sidebar.sidebar--stack .sidebar-wallet__action--recharge,
  body.has-mobile-tab-bar .sidebar.sidebar--stack #sidebarRechargeBtn,
  body.has-mobile-tab-bar .sidebar.sidebar--stack #openAccountCenter {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    min-height: 40px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 8px 4px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    background-image: none !important;
    color: #0f172a !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }

  body.has-mobile-tab-bar .sidebar.sidebar--stack .sidebar-wallet__action--recharge,
  body.has-mobile-tab-bar .sidebar.sidebar--stack #sidebarRechargeBtn {
    color: #0f172a !important;
    font-weight: 600 !important;
  }

  body.has-mobile-tab-bar .page-container.app-container > .main-area {
    order: 1 !important;
    flex: 1 1 auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    /* Do not reserve a full-viewport blank stage — content height only */
    min-height: 0 !important;
    padding: 6px 8px 12px !important;
    --form-panel-padding: 0px !important;
    --pad-card: 8px !important;
    background: #fff !important;
    border-left: 0 !important;
    border-right: 0 !important;
  }

  /* Flush the desktop card chrome — stop double side gutters on phone */
  body.has-mobile-tab-bar .main-area > .yj-card.yj-card--panel {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
  }

  body.has-mobile-tab-bar .main-area #mainDynamicStack.dynamic-panel-stack,
  body.has-mobile-tab-bar .main-area #panelStandard.dynamic-panel--visible,
  body.has-mobile-tab-bar .main-area #panelGptImage.dynamic-panel--visible,
  body.has-mobile-tab-bar .main-area #panelNanoBanana.dynamic-panel--visible,
  body.has-mobile-tab-bar .main-area #panelRewrite.dynamic-panel--visible {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.has-mobile-tab-bar .page-container.app-container > #resultPanel.result-panel {
    order: 2 !important;
    width: 100% !important;
    padding: 8px 8px 12px !important;
  }

  /* Generate dock sits above tab bar when both visible */
  body.has-mobile-tab-bar.has-mobile-generate-bar .mobile-generate-bar:not(.mobile-generate-bar--desktop) {
    bottom: calc(var(--yj-mobile-tab-h) + env(safe-area-inset-bottom, 0px) + 8px) !important;
  }

  /*
   * Legacy「下载全部」fixed bar (z-index 9980 in style.css) must never cover Phase6 tabs.
   * JS also gates by data-app-feature; CSS is the hard floor.
   */
  body.has-mobile-tab-bar .mobile-download-all-bar:not([hidden]) {
    bottom: calc(var(--yj-mobile-tab-h) + env(safe-area-inset-bottom, 0px)) !important;
    z-index: 1255 !important;
    padding-bottom: 10px !important;
  }

  body.has-mobile-tab-bar:not([data-app-feature="gpt-image"]):not([data-app-feature="nano-banana"]):not([data-app-feature="matting-refine"]):not([data-app-feature="main-image"]):not([data-app-feature="detail-page"]):not([data-app-feature="poster"]) .mobile-download-all-bar {
    display: none !important;
  }

  /* —— Mobile home：学习参考控制台节奏，保留源景浅色 —— */
  body.has-mobile-tab-bar[data-app-feature="operation-center"] #yjMobileHomeConsole {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 4px 0 12px !important;
  }

  body.has-mobile-tab-bar[data-app-feature="operation-center"] #yjMobileHomeConsole[hidden] {
    display: none !important;
  }

  body.has-mobile-tab-bar[data-app-feature="operation-center"] .yj-mhc-hero,
  body.has-mobile-tab-bar[data-app-feature="operation-center"] .yj-mhc-balance,
  body.has-mobile-tab-bar[data-app-feature="operation-center"] .yj-mhc-stats,
  body.has-mobile-tab-bar[data-app-feature="operation-center"] .yj-mhc-tasks {
    border: 1px solid #e8eaed !important;
    border-radius: 16px !important;
    background: #fff !important;
    box-shadow: none !important;
  }

  body.has-mobile-tab-bar[data-app-feature="operation-center"] .yj-mhc-hero {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 16px 14px 14px !important;
    background:
      linear-gradient(165deg, rgba(109, 40, 217, 0.08) 0%, rgba(255, 255, 255, 0.96) 48%, #fff 100%) !important;
  }

  body.has-mobile-tab-bar[data-app-feature="operation-center"] .yj-mhc-title {
    margin: 0 !important;
    color: #0f172a !important;
    font-size: 24px !important;
    font-weight: 780 !important;
    line-height: 1.2 !important;
    letter-spacing: -0.02em !important;
  }

  body.has-mobile-tab-bar[data-app-feature="operation-center"] .yj-mhc-lede {
    margin: 0 0 4px !important;
    color: #64748b !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 1.45 !important;
  }

  body.has-mobile-tab-bar[data-app-feature="operation-center"] .yj-mhc-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
    width: 100% !important;
  }

  body.has-mobile-tab-bar[data-app-feature="operation-center"] .yj-mhc-action {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 0 12px !important;
    border: 1px solid #e8eaed !important;
    border-radius: 12px !important;
    background: #f8fafc !important;
    color: #0f172a !important;
    font-size: 14px !important;
    font-weight: 650 !important;
    cursor: pointer !important;
    box-shadow: none !important;
  }

  body.has-mobile-tab-bar[data-app-feature="operation-center"] .yj-mhc-action--primary {
    border-color: var(--yj-appearance-primary,#6d28d9) !important;
    background: var(--yj-appearance-primary,#6d28d9) !important;
    color: #fff !important;
  }

  body.has-mobile-tab-bar[data-app-feature="operation-center"] .yj-mhc-action--wide {
    grid-column: 1 / -1 !important;
  }

  body.has-mobile-tab-bar[data-app-feature="operation-center"] .yj-mhc-balance {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
    min-height: 72px !important;
    margin: 0 !important;
    padding: 14px !important;
    color: #0f172a !important;
    cursor: pointer !important;
    text-align: left !important;
  }

  body.has-mobile-tab-bar[data-app-feature="operation-center"] .yj-mhc-balance__mark {
    flex: 0 0 44px !important;
    width: 44px !important;
    height: 44px !important;
    border-radius: 999px !important;
    overflow: hidden !important;
    background: #f3e8ff !important;
    display: inline-grid !important;
    place-items: center !important;
  }

  body.has-mobile-tab-bar[data-app-feature="operation-center"] .yj-mhc-balance__mark img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
  }

  body.has-mobile-tab-bar[data-app-feature="operation-center"] .yj-mhc-balance__text {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }

  body.has-mobile-tab-bar[data-app-feature="operation-center"] #yjMobileHomeBalance {
    font-size: 22px !important;
    font-weight: 750 !important;
    color: #0f172a !important;
    line-height: 1.1 !important;
  }

  body.has-mobile-tab-bar[data-app-feature="operation-center"] .yj-mhc-balance__label {
    color: #64748b !important;
    font-size: 12px !important;
    font-weight: 500 !important;
  }

  body.has-mobile-tab-bar[data-app-feature="operation-center"] .yj-mhc-balance__cta {
    color: var(--yj-appearance-primary,#6d28d9) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
  }

  body.has-mobile-tab-bar[data-app-feature="operation-center"] .yj-mhc-stats {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 10px !important;
    background: transparent !important;
    border: 0 !important;
  }

  body.has-mobile-tab-bar[data-app-feature="operation-center"] .yj-mhc-stat {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 6px !important;
    min-height: 96px !important;
    margin: 0 !important;
    padding: 12px !important;
    border: 1px solid #e8eaed !important;
    border-radius: 14px !important;
    background: #fff !important;
    color: #0f172a !important;
    cursor: pointer !important;
    box-shadow: none !important;
    text-align: left !important;
  }

  body.has-mobile-tab-bar[data-app-feature="operation-center"] .yj-mhc-stat--wide {
    grid-column: 1 / -1 !important;
    flex-direction: row !important;
    align-items: center !important;
    min-height: 64px !important;
  }

  body.has-mobile-tab-bar[data-app-feature="operation-center"] .yj-mhc-stat__icon {
    position: relative !important;
    width: 40px !important;
    height: 40px !important;
    border-radius: 999px !important;
    overflow: hidden !important;
    background: #f1f5f9 !important;
    display: inline-grid !important;
    place-items: center !important;
  }

  body.has-mobile-tab-bar[data-app-feature="operation-center"] .yj-mhc-stat__icon::before {
    content: '' !important;
    display: block !important;
    box-sizing: border-box !important;
  }

  /* 图片：相框 + 山形 */
  body.has-mobile-tab-bar[data-app-feature="operation-center"] .yj-mhc-stat__icon--image {
    background: #ede9fe !important;
  }

  body.has-mobile-tab-bar[data-app-feature="operation-center"] .yj-mhc-stat__icon--image::before {
    width: 18px !important;
    height: 14px !important;
    border: 2px solid var(--yj-appearance-primary,#6d28d9) !important;
    border-radius: 3px !important;
    background:
      linear-gradient(135deg, transparent 42%, var(--yj-appearance-primary,#6d28d9) 42%, var(--yj-appearance-primary,#6d28d9) 58%, transparent 58%) no-repeat 2px 6px / 14px 6px,
      radial-gradient(circle at 70% 35%, var(--yj-appearance-primary,#6d28d9) 0 2px, transparent 2.5px) !important;
  }

  /* 视频：播放三角 */
  body.has-mobile-tab-bar[data-app-feature="operation-center"] .yj-mhc-stat__icon--video {
    background: #ccfbf1 !important;
  }

  body.has-mobile-tab-bar[data-app-feature="operation-center"] .yj-mhc-stat__icon--video::before {
    width: 0 !important;
    height: 0 !important;
    margin-left: 2px !important;
    border-style: solid !important;
    border-width: 7px 0 7px 12px !important;
    border-color: transparent transparent transparent #0f766e !important;
    background: none !important;
  }

  /* 任务：列表条 */
  body.has-mobile-tab-bar[data-app-feature="operation-center"] .yj-mhc-stat__icon--task {
    background: #ffedd5 !important;
  }

  body.has-mobile-tab-bar[data-app-feature="operation-center"] .yj-mhc-stat__icon--task::before {
    width: 16px !important;
    height: 12px !important;
    border-radius: 0 !important;
    border: 0 !important;
    background:
      linear-gradient(#c2410c, #c2410c) 0 1px / 16px 2px no-repeat,
      linear-gradient(#c2410c, #c2410c) 0 5px / 12px 2px no-repeat,
      linear-gradient(#c2410c, #c2410c) 0 9px / 14px 2px no-repeat !important;
  }

  body.has-mobile-tab-bar[data-app-feature="operation-center"] .yj-mhc-stat__num {
    font-size: 20px !important;
    font-weight: 750 !important;
    line-height: 1 !important;
  }

  body.has-mobile-tab-bar[data-app-feature="operation-center"] .yj-mhc-stat--wide .yj-mhc-stat__num {
    margin-right: auto !important;
  }

  body.has-mobile-tab-bar[data-app-feature="operation-center"] .yj-mhc-stat__label {
    color: #64748b !important;
    font-size: 12px !important;
    font-weight: 550 !important;
  }

  body.has-mobile-tab-bar[data-app-feature="operation-center"] .yj-mhc-tasks {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 14px !important;
  }

  body.has-mobile-tab-bar[data-app-feature="operation-center"] .yj-mhc-tasks__title {
    margin: 0 !important;
    color: #0f172a !important;
    font-size: 15px !important;
    font-weight: 700 !important;
  }

  body.has-mobile-tab-bar[data-app-feature="operation-center"] .yj-mhc-task-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
  }

  body.has-mobile-tab-bar[data-app-feature="operation-center"] .yj-mhc-task-card {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    padding: 12px !important;
    border: 1px solid #eef2f7 !important;
    border-radius: 12px !important;
    background: #f8fafc !important;
  }

  body.has-mobile-tab-bar[data-app-feature="operation-center"] .yj-mhc-task-card__label {
    color: #64748b !important;
    font-size: 12px !important;
    font-weight: 500 !important;
  }

  body.has-mobile-tab-bar[data-app-feature="operation-center"] .yj-mhc-task-card__num {
    color: #0f172a !important;
    font-size: 22px !important;
    font-weight: 750 !important;
    line-height: 1 !important;
  }

  /* 手机首页保留项目入口，隐藏重复的桌面创作区。 */
  body.has-mobile-tab-bar[data-app-feature="operation-center"]:not(.yj-mobile-ai-chat) #panelOperationCenter .ops-home-hero,
  body.has-mobile-tab-bar[data-app-feature="operation-center"]:not(.yj-mobile-ai-chat) #panelOperationCenter .ops-home-composer-stack,
  body.has-mobile-tab-bar[data-app-feature="operation-center"]:not(.yj-mobile-ai-chat) #panelOperationCenter .ops-home-mascot,
  body.has-mobile-tab-bar[data-app-feature="operation-center"]:not(.yj-mobile-ai-chat) #panelOperationCenter .ops-home-recommend-section,
  body.has-mobile-tab-bar[data-app-feature="operation-center"]:not(.yj-mobile-ai-chat) #panelOperationCenter .ops-home-quick-skills-section,
  body.has-mobile-tab-bar[data-app-feature="operation-center"]:not(.yj-mobile-ai-chat) #panelOperationCenter .ops-skills-shell,
  body.has-mobile-tab-bar[data-app-feature="operation-center"]:not(.yj-mobile-ai-chat) #panelOperationCenter #opsWorkspaceShell,
  body.has-mobile-tab-bar[data-app-feature="operation-center"]:not(.yj-mobile-ai-chat) #panelOperationCenter #opsSkillsShell {
    display: none !important;
  }

  body.has-mobile-tab-bar[data-app-feature="operation-center"]:not(.yj-mobile-ai-chat) #panelOperationCenter .ops-home-stage {
    gap: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
  }

  /*
   * Desktop ops-home-shell / panel use height:100% + ~100vh stage.
   * On mobile home that reserved a tall empty white region under the console
   * (phantom vertical scroll). Size to content instead.
   */
  body.has-mobile-tab-bar[data-app-feature="operation-center"]:not(.yj-mobile-ai-chat) #panelOperationCenter.operation-center-panel {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
  }

  body.has-mobile-tab-bar[data-app-feature="operation-center"]:not(.yj-mobile-ai-chat) #panelOperationCenter .ops-home-shell {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    justify-content: flex-start !important;
    align-items: stretch !important;
    padding: 4px 0 8px !important;
  }

  body.has-mobile-tab-bar[data-app-feature="operation-center"]:not(.yj-mobile-ai-chat) .page-container.app-container > .main-area {
    min-height: 0 !important;
    height: auto !important;
  }

  body.has-mobile-tab-bar[data-app-feature="operation-center"]:not(.yj-mobile-ai-chat) .page-container.app-container > #resultPanel.result-panel {
    display: none !important;
  }

  body.has-mobile-tab-bar[data-app-feature="operation-center"] .yj-mhc-card,
  body.has-mobile-tab-bar[data-app-feature="operation-center"] .yj-mhc-links,
  body.has-mobile-tab-bar[data-app-feature="operation-center"] .yj-mhc-primary {
    display: none !important;
  }

  body.has-mobile-tab-bar[data-app-feature="operation-center"] #panelOperationCenter .ops-home-hero h2 {
    font-size: 16px !important;
    max-width: none !important;
    font-weight: 650 !important;
    color: #0f172a !important;
  }

  body.has-mobile-tab-bar[data-app-feature="operation-center"] #panelOperationCenter .ops-home-hero h2::before {
    content: none !important;
    display: none !important;
  }

  /* —— L2 Home: modular rhythm (keep Yuanjing skin) —— */
  body[data-app-feature="operation-center"] #panelOperationCenter .ops-home-shell {
    justify-content: flex-start !important;
    align-items: stretch !important;
    padding: 8px
      max(16px, env(safe-area-inset-right, 0px))
      12px
      max(16px, env(safe-area-inset-left, 0px)) !important;
  }

  /* —— AI 生图：学豆包节奏（大留白问候 + 底栏一体输入卡）—— */
  body.has-mobile-tab-bar.yj-mobile-ai-chat {
    overflow: hidden !important;
    height: 100dvh !important;
  }

  body.has-mobile-tab-bar.yj-mobile-ai-chat .page-container.app-container,
  body.has-mobile-tab-bar.yj-mobile-ai-chat .page-container.app-container > .main-area {
    overflow: hidden !important;
    min-height: 0 !important;
  }

  /*
   * AI 生图在手机上是一个完整对话页，不是被塞进桌面工作台卡片。
   * 这里明确清掉桌面 main-area / yj-card 的边线与双层横向留白；
   * 消息和输入框各自保留内部安全边距，避免视觉上出现一个多余大白框。
   */
  body.has-mobile-tab-bar.yj-mobile-ai-chat[data-app-feature="operation-center"] .page-container.app-container > .main-area {
    height: calc(100dvh - var(--yj-mobile-top-h, 48px) - var(--yj-mobile-tab-h, 56px)) !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
  }

  body.has-mobile-tab-bar.yj-mobile-ai-chat[data-app-feature="operation-center"] .main-area > .yj-card.yj-card--panel,
  body.has-mobile-tab-bar.yj-mobile-ai-chat[data-app-feature="operation-center"] .main-area #mainDynamicStack.dynamic-panel-stack {
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: #fff !important;
  }

  body.has-mobile-tab-bar.yj-mobile-ai-chat[data-app-feature="operation-center"] #yjMobileHomeConsole,
  body.has-mobile-tab-bar.yj-mobile-ai-chat[data-app-feature="operation-center"] #opsHomeShell {
    display: none !important;
  }

  body.has-mobile-tab-bar.yj-mobile-ai-chat[data-app-feature="operation-center"] #opsWorkspaceShell {
    display: block !important;
    height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  body.has-mobile-tab-bar.yj-mobile-ai-chat[data-app-feature="operation-center"] #panelOperationCenter.operation-center-panel {
    width: 100% !important;
    max-width: none !important;
    height: calc(100dvh - var(--yj-mobile-top-h, 48px) - var(--yj-mobile-tab-h, 56px)) !important;
    max-height: calc(100dvh - var(--yj-mobile-top-h, 48px) - var(--yj-mobile-tab-h, 56px)) !important;
    min-height: 0 !important;
    overflow: hidden !important;
    border-radius: 0 !important;
    background: #fff !important;
  }

  body.has-mobile-tab-bar.yj-mobile-ai-chat[data-app-feature="operation-center"] #panelOperationCenter .ops-chat-main,
  body.has-mobile-tab-bar.yj-mobile-ai-chat[data-app-feature="operation-center"] #panelOperationCenter .ops-shell {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
    background: #fff !important;
  }

  body.has-mobile-tab-bar.yj-mobile-ai-chat[data-app-feature="operation-center"] #panelOperationCenter .ops-canvas-pane {
    display: none !important;
  }

  body.has-mobile-tab-bar.yj-mobile-ai-chat[data-app-feature="operation-center"] #panelOperationCenter .ops-chat-pane {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: minmax(0, 1fr) auto !important;
    grid-template-areas:
      "msgs"
      "dock" !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    background: #fff !important;
  }

  body.has-mobile-tab-bar.yj-mobile-ai-chat[data-app-feature="operation-center"] #panelOperationCenter .ops-chat-head {
    display: none !important;
  }

  body.has-mobile-tab-bar.yj-mobile-ai-chat[data-app-feature="operation-center"] #panelOperationCenter .ops-chat-pane .ops-chat-messages {
    grid-area: msgs !important;
    min-height: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    padding: 12px 16px 8px !important;
    background: #fff !important;
    -webkit-overflow-scrolling: touch !important;
  }

  body.has-mobile-tab-bar.yj-mobile-ai-chat #yjOpsAiChatEmpty {
    display: flex !important;
    flex-direction: column !important;
    align-self: stretch !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 14px !important;
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
    min-height: min(52dvh, 420px) !important;
    padding: 24px 8px 12px !important;
    text-align: center !important;
  }

  body.has-mobile-tab-bar.yj-mobile-ai-chat #yjOpsAiChatEmpty[hidden] {
    display: none !important;
  }

  body.has-mobile-tab-bar.yj-mobile-ai-chat .yj-ops-ai-chat-empty__mark,
  body.has-mobile-tab-bar.yj-mobile-ai-chat .yj-ops-ai-chat-empty__sub {
    display: none !important;
  }

  body.has-mobile-tab-bar.yj-mobile-ai-chat .yj-ops-ai-chat-empty__title {
    margin: 0 !important;
    color: #0f172a !important;
    font-size: 26px !important;
    font-weight: 750 !important;
    letter-spacing: -0.03em !important;
    line-height: 1.25 !important;
  }

  body.has-mobile-tab-bar.yj-mobile-ai-chat .yj-ops-ai-chat-empty__modes {
    display: inline-flex !important;
    align-items: center !important;
    gap: 2px !important;
    padding: 3px !important;
    border-radius: 999px !important;
    background: #f1f5f9 !important;
  }

  body.has-mobile-tab-bar.yj-mobile-ai-chat .yj-ops-ai-chat-empty__mode {
    min-height: 32px !important;
    padding: 0 14px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: transparent !important;
    color: #64748b !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    box-shadow: none !important;
  }

  body.has-mobile-tab-bar.yj-mobile-ai-chat .yj-ops-ai-chat-empty__mode.is-active,
  body.has-mobile-tab-bar.yj-mobile-ai-chat .yj-ops-ai-chat-empty__mode.active,
  body.has-mobile-tab-bar.yj-mobile-ai-chat .yj-ops-ai-chat-empty__mode[aria-selected="true"] {
    background: #fff !important;
    color: #0f172a !important;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06) !important;
  }

  body.has-mobile-tab-bar.yj-mobile-ai-chat .yj-ops-ai-chat-empty__hints {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 8px !important;
    width: 100% !important;
  }

  body.has-mobile-tab-bar.yj-mobile-ai-chat .yj-ops-ai-chat-empty__hints button {
    width: auto !important;
    min-height: 34px !important;
    padding: 6px 12px !important;
    border: 1px solid #e8eaed !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: #334155 !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    text-align: center !important;
    cursor: pointer !important;
    box-shadow: none !important;
  }

  body.has-mobile-tab-bar.yj-mobile-ai-chat .ops-chat-bubble__media-item {
    display: grid !important;
    gap: 6px !important;
  }

  body.has-mobile-tab-bar.yj-mobile-ai-chat .ops-chat-bubble__media-preview {
    display: block !important;
    width: 100% !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 12px !important;
    background: #f8fafc !important;
  }

  body.has-mobile-tab-bar.yj-mobile-ai-chat .ops-chat-bubble__media-preview img {
    display: block !important;
    width: 100% !important;
  }

  body.has-mobile-tab-bar.yj-mobile-ai-chat .ops-chat-bubble__media-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 6px !important;
  }

  body.has-mobile-tab-bar.yj-mobile-ai-chat .ops-chat-bubble__media-actions button {
    min-height: 36px !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 9px !important;
    background: #fff !important;
    color: #334155 !important;
    font-size: 12px !important;
    font-weight: 650 !important;
  }

  body.has-mobile-tab-bar.yj-mobile-ai-chat .ops-chat-result-recovery {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 8px !important;
    margin-top: 10px !important;
    padding: 9px 10px !important;
    border: 1px solid #ddd6fe !important;
    border-radius: 10px !important;
    background: #faf8ff !important;
    color: #6d28d9 !important;
    font-size: 12px !important;
  }

  body.has-mobile-tab-bar.yj-mobile-ai-chat .ops-chat-result-recovery button {
    min-height: 32px !important;
    padding: 0 10px !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: #6d28d9 !important;
    color: #fff !important;
    font: inherit !important;
    font-weight: 700 !important;
  }

  /* 豆包式一体输入卡：输入在上，工具+发送在下 */
  body.has-mobile-tab-bar.yj-mobile-ai-chat[data-app-feature="operation-center"] #panelOperationCenter .ops-chat-pane .ops-chat-composer {
    grid-area: dock !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    margin: 0 12px 10px !important;
    padding: 12px 12px 10px !important;
    border: 1px solid #dbe3f0 !important;
    border-radius: 20px !important;
    background: #fff !important;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04) !important;
  }

  body.has-mobile-tab-bar.yj-mobile-ai-chat[data-app-feature="operation-center"] #panelOperationCenter #opsValidationMessage,
  body.has-mobile-tab-bar.yj-mobile-ai-chat[data-app-feature="operation-center"] #panelOperationCenter #opsUploadList,
  body.has-mobile-tab-bar.yj-mobile-ai-chat[data-app-feature="operation-center"] #panelOperationCenter #opsWorkspaceVideoMentionMount {
    order: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.has-mobile-tab-bar.yj-mobile-ai-chat[data-app-feature="operation-center"] #panelOperationCenter #opsUploadEmpty {
    display: none !important;
  }

  body.has-mobile-tab-bar.yj-mobile-ai-chat[data-app-feature="operation-center"] #panelOperationCenter #opsUserMessageInput {
    order: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 44px !important;
    max-height: 120px !important;
    margin: 0 !important;
    padding: 4px 4px 2px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    font-size: 16px !important;
    line-height: 1.45 !important;
    box-shadow: none !important;
    resize: none !important;
  }

  body.has-mobile-tab-bar.yj-mobile-ai-chat[data-app-feature="operation-center"] #panelOperationCenter .ops-composer-actions {
    order: 2 !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.has-mobile-tab-bar.yj-mobile-ai-chat[data-app-feature="operation-center"] #panelOperationCenter .ops-composer-toolbar {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    flex: 1 1 auto !important;
    flex-wrap: nowrap !important;
    min-width: 0 !important;
    width: auto !important;
    max-width: none !important;
    overflow-x: auto !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    -webkit-overflow-scrolling: touch !important;
    box-sizing: border-box !important;
  }

  body.has-mobile-tab-bar.yj-mobile-ai-chat[data-app-feature="operation-center"] #panelOperationCenter .ops-composer-toolbar > .ops-composer-select-field:not(.ops-composer-output-picker),
  body.has-mobile-tab-bar.yj-mobile-ai-chat[data-app-feature="operation-center"] #panelOperationCenter .ops-composer-toolbar .ops-composer-channel-field {
    display: none !important;
  }

  body.has-mobile-tab-bar.yj-mobile-ai-chat[data-app-feature="operation-center"] #panelOperationCenter .ops-composer-upload-btn {
    flex: 0 0 auto !important;
    width: 40px !important;
    min-width: 40px !important;
    height: 40px !important;
    border-radius: 999px !important;
    border: 0 !important;
    background: #f1f5f9 !important;
    color: #0f172a !important;
  }

  body.has-mobile-tab-bar.yj-mobile-ai-chat[data-app-feature="operation-center"] #panelOperationCenter .ops-chat-pane .ops-composer-model-group {
    display: flex !important;
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
  }

  body.has-mobile-tab-bar.yj-mobile-ai-chat[data-app-feature="operation-center"] #panelOperationCenter .ops-chat-pane .ops-composer-model-group .ops-image-model-picker {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
  }

  body.has-mobile-tab-bar.yj-mobile-ai-chat[data-app-feature="operation-center"] #panelOperationCenter .ops-chat-pane .ops-image-model-current {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 44px !important;
    max-width: 142px !important;
    height: 40px !important;
    min-height: 40px !important;
    padding: 0 10px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: #f1f5f9 !important;
    overflow: hidden !important;
  }

  body.has-mobile-tab-bar.yj-mobile-ai-chat[data-app-feature="operation-center"] #panelOperationCenter .ops-chat-pane .ops-image-model-current::after {
    display: none !important;
  }

  body.has-mobile-tab-bar.yj-mobile-ai-chat[data-app-feature="operation-center"] #panelOperationCenter .ops-chat-pane .ops-image-model-current__brand {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  body.has-mobile-tab-bar.yj-mobile-ai-chat[data-app-feature="operation-center"] #panelOperationCenter .ops-chat-pane .ops-image-model-current__text,
  body.has-mobile-tab-bar.yj-mobile-ai-chat[data-app-feature="operation-center"] #panelOperationCenter .ops-chat-pane .ops-image-model-current__name {
    display: block !important;
    min-width: 0 !important;
    font-size: 12px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }
  body.has-mobile-tab-bar.yj-mobile-ai-chat[data-app-feature="operation-center"] #panelOperationCenter .ops-chat-pane .ops-image-model-current__mode { display: none !important; }

  body.has-mobile-tab-bar.yj-mobile-ai-chat[data-app-feature="operation-center"] #panelOperationCenter .ops-chat-pane .ops-image-model-current__logo {
    flex: 0 0 auto !important;
    width: 22px !important;
    height: 22px !important;
    border: 0 !important;
    border-radius: 6px !important;
    background: #fff !important;
    overflow: hidden !important;
  }

  body.has-mobile-tab-bar.yj-mobile-ai-chat[data-app-feature="operation-center"] #panelOperationCenter .ops-chat-pane .ops-image-model-current__logo img {
    width: 16px !important;
    height: 16px !important;
    object-fit: contain !important;
    display: block !important;
  }

  body.has-mobile-tab-bar.yj-mobile-ai-chat[data-app-feature="operation-center"] #panelOperationCenter .ops-chat-pane .ops-image-model-current__logo--video {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #6d28d9 !important;
    font-size: 12px !important;
    line-height: 1 !important;
  }

  body.has-mobile-tab-bar.yj-mobile-ai-chat[data-app-feature="operation-center"] #panelOperationCenter .ops-chat-pane .ops-image-model-current__video-mark {
    display: block !important;
    font-size: 11px !important;
    line-height: 1 !important;
  }

  body.has-mobile-tab-bar.yj-mobile-ai-chat[data-app-feature="operation-center"] #panelOperationCenter .ops-composer-output-picker {
    flex: 0 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 34% !important;
  }

  body.has-mobile-tab-bar.yj-mobile-ai-chat[data-app-feature="operation-center"] #panelOperationCenter .ops-composer-output-trigger {
    height: 40px !important;
    min-height: 40px !important;
    max-width: 100% !important;
    padding: 0 10px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: #f1f5f9 !important;
  }

  body.has-mobile-tab-bar.yj-mobile-ai-chat[data-app-feature="operation-center"] #panelOperationCenter .ops-composer-output-trigger__value {
    display: block !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    font-size: 12px !important;
  }

  body.has-mobile-tab-bar.yj-mobile-ai-chat[data-app-feature="operation-center"] #panelOperationCenter #opsAnalyzeBtn {
    flex: 0 0 auto !important;
    align-self: center !important;
    margin: 0 !important;
    min-width: 44px !important;
    min-height: 40px !important;
    padding: 0 14px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: #6d28d9 !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 650 !important;
  }

  body.has-mobile-tab-bar.yj-mobile-ai-chat[data-app-feature="operation-center"] #panelOperationCenter .ops-chat-template-chip {
    height: 40px !important;
    min-height: 40px !important;
  }

  /* Model / output menus: escape composer overflow clip (Doubao dock) */
  body.has-mobile-tab-bar.yj-mobile-ai-chat[data-app-feature="operation-center"] #panelOperationCenter .ops-chat-pane .ops-chat-composer,
  body.has-mobile-tab-bar.yj-mobile-ai-chat[data-app-feature="operation-center"] #panelOperationCenter .ops-chat-pane .ops-composer-actions,
  body.has-mobile-tab-bar.yj-mobile-ai-chat[data-app-feature="operation-center"] #panelOperationCenter .ops-chat-pane .ops-composer-toolbar,
  body.has-mobile-tab-bar.yj-mobile-ai-chat[data-app-feature="operation-center"] #panelOperationCenter .ops-chat-pane .ops-composer-model-group,
  body.has-mobile-tab-bar.yj-mobile-ai-chat[data-app-feature="operation-center"] #panelOperationCenter .ops-chat-pane .ops-image-model-picker,
  body.has-mobile-tab-bar.yj-mobile-ai-chat[data-app-feature="operation-center"] #panelOperationCenter .ops-chat-pane .ops-composer-output-picker {
    overflow: visible !important;
  }

  body.has-mobile-tab-bar.yj-mobile-ai-chat[data-app-feature="operation-center"] #panelOperationCenter .ops-chat-pane .ops-image-model-picker,
  body.has-mobile-tab-bar.yj-mobile-ai-chat[data-app-feature="operation-center"] #panelOperationCenter .ops-chat-pane .ops-composer-output-picker {
    position: relative !important;
    z-index: 30 !important;
  }

  body.has-mobile-tab-bar.yj-mobile-ai-chat[data-app-feature="operation-center"] #panelOperationCenter .ops-chat-pane #opsImageModelMenu:not([hidden]):not(.yj-custom-sheet),
  body.has-mobile-tab-bar.yj-mobile-ai-chat[data-app-feature="operation-center"] #panelOperationCenter .ops-chat-pane #opsComposerOutputMenu:not([hidden]):not(.yj-custom-sheet) {
    position: fixed !important;
    left: 12px !important;
    right: 12px !important;
    top: auto !important;
    bottom: calc(var(--yj-mobile-tab-h, 52px) + 96px + env(safe-area-inset-bottom, 0px)) !important;
    z-index: 1350 !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 0 !important;
    max-height: min(58dvh, 460px) !important;
    height: auto !important;
    overflow: auto !important;
    -webkit-overflow-scrolling: touch !important;
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.18) !important;
  }

  body.has-mobile-tab-bar.yj-mobile-ai-chat[data-app-feature="operation-center"] #panelOperationCenter .ops-chat-pane #opsImageModelMenu:not([hidden]):not(.yj-custom-sheet) {
    display: grid !important;
    grid-template-columns: 92px minmax(0, 1fr) !important;
    grid-template-rows: minmax(0, 1fr) !important;
  }

  body.has-mobile-tab-bar.yj-mobile-ai-chat[data-app-feature="operation-center"] #panelOperationCenter .ops-chat-pane #opsComposerOutputMenu:not([hidden]):not(.yj-custom-sheet) {
    display: flex !important;
    flex-direction: column !important;
  }

  body[data-app-feature="operation-center"] #panelOperationCenter .ops-skills-shell {
    padding: 8px
      max(16px, env(safe-area-inset-right, 0px))
      16px
      max(16px, env(safe-area-inset-left, 0px)) !important;
  }

  body[data-app-feature="operation-center"] #panelOperationCenter .ops-home-stage {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 18px !important;
  }

  body[data-app-feature="operation-center"] #panelOperationCenter .ops-home-hero {
    padding: 4px 0 0 !important;
  }

  body[data-app-feature="operation-center"] #panelOperationCenter .ops-home-hero h2 {
    max-width: 12em !important;
    font-size: clamp(24px, 7vw, 28px) !important;
    line-height: 1.18 !important;
  }

  body[data-app-feature="operation-center"] #panelOperationCenter .ops-home-tabs {
    width: 100% !important;
  }

  body[data-app-feature="operation-center"] #panelOperationCenter .ops-home-composer-stack,
  body[data-app-feature="operation-center"] #panelOperationCenter .ops-home-projects-section,
  body[data-app-feature="operation-center"] #panelOperationCenter .ops-home-recommend-section,
  body[data-app-feature="operation-center"] #panelOperationCenter .ops-home-quick-skills-section {
    width: 100% !important;
    max-width: 100% !important;
    left: auto !important;
    transform: none !important;
    position: relative !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body[data-app-feature="operation-center"] #panelOperationCenter .ops-home-projects-section,
  body[data-app-feature="operation-center"] #panelOperationCenter .ops-home-recommend-section,
  body[data-app-feature="operation-center"] #panelOperationCenter .ops-home-quick-skills-section {
    padding: 14px 12px !important;
    border: 1px solid rgba(124, 58, 237, 0.1) !important;
    border-radius: 16px !important;
    background: rgba(255, 255, 255, 0.72) !important;
  }

  body[data-app-feature="operation-center"] #panelOperationCenter .ops-home-mascot {
    right: 8px !important;
    width: 92px !important;
    transform: translateY(calc(-100% + 44px)) !important;
  }

  body[data-app-feature="operation-center"] #panelOperationCenter .ops-home-mascot__stage,
  body[data-app-feature="operation-center"] #panelOperationCenter .ops-home-mascot__img {
    width: 92px !important;
  }

  body[data-app-feature="operation-center"] #panelOperationCenter .ops-home-composer {
    min-height: 0 !important;
    padding: 12px !important;
    border-radius: 16px !important;
  }

  body[data-app-feature="operation-center"] #panelOperationCenter #opsHomeInput {
    min-height: 72px !important;
    font-size: 16px !important;
    line-height: 1.45 !important;
  }

  body[data-app-feature="operation-center"] #panelOperationCenter .ops-home-composer-foot {
    flex-direction: column !important;
    align-items: stretch !important;
    flex-wrap: nowrap !important;
    gap: 10px !important;
  }

  body[data-app-feature="operation-center"] #panelOperationCenter .ops-home-composer-toolbar {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    flex-wrap: nowrap !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: thin !important;
  }

  body[data-app-feature="operation-center"] #panelOperationCenter .ops-home-composer-actions {
    margin-left: 0 !important;
    width: 100% !important;
    justify-content: flex-end !important;
  }

  body[data-app-feature="operation-center"] #panelOperationCenter .ops-home-cost-hint {
    max-width: 100% !important;
  }

  body[data-app-feature="operation-center"] #panelOperationCenter .ops-home-project-grid {
    grid-template-columns: 1fr !important;
  }

  body[data-app-feature="operation-center"] #panelOperationCenter .ops-home-recommend-grid,
  body[data-app-feature="operation-center"] #panelOperationCenter .ops-home-quick-row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  /* —— L3 Workbench (AI chat uses fixed viewport height; home stays content-sized above) —— */
  body[data-app-feature="operation-center"] #panelOperationCenter .ops-canvas-pane {
    display: none !important;
  }

  body.ops-canvas-workspace-open[data-app-feature="operation-center"] #opsHomeShell,
  body.ops-canvas-workspace-open[data-app-feature="operation-center"] #yjMobileHomeConsole,
  body.has-mobile-tab-bar.ops-canvas-workspace-open[data-app-feature="operation-center"] #opsHomeShell,
  body.has-mobile-tab-bar.ops-canvas-workspace-open[data-app-feature="operation-center"] #yjMobileHomeConsole {
    display: none !important;
  }

  body.ops-canvas-workspace-open[data-app-feature="operation-center"] #panelOperationCenter #opsWorkspaceShell,
  body.has-mobile-tab-bar.ops-canvas-workspace-open[data-app-feature="operation-center"] #panelOperationCenter #opsWorkspaceShell {
    display: flex !important;
    flex-direction: column !important;
    height: calc(100dvh - var(--yj-mobile-top-h, 44px) - var(--yj-mobile-tab-h, 52px)) !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  /* Bound the canvas independently of the large, pannable node surface. */
  body.has-mobile-tab-bar.ops-canvas-workspace-open:not(.yj-mobile-ai-chat)[data-app-feature="operation-center"] #panelOperationCenter #opsWorkspaceShell {
    position: fixed !important;
    top: var(--yj-mobile-top-h, 44px) !important;
    bottom: calc(var(--yj-mobile-tab-h, 52px) + env(safe-area-inset-bottom, 0px)) !important;
    left: 0 !important;
    right: 0 !important;
    height: auto !important;
    z-index: 100 !important;
  }

  body.has-mobile-tab-bar.ops-canvas-workspace-open:not(.yj-mobile-ai-chat)[data-app-feature="operation-center"] #panelOperationCenter .ops-chat-main {
    display: flex !important;
    flex: 1 1 0 !important;
    height: 100% !important;
    min-height: 0 !important;
  }

  body.has-mobile-tab-bar.ops-canvas-workspace-open:not(.yj-mobile-ai-chat)[data-app-feature="operation-center"] #panelOperationCenter .ops-canvas-pane {
    height: 100% !important;
    grid-template-rows: auto minmax(0, 1fr) auto !important;
    grid-template-columns: minmax(0, 1fr) !important;
    overflow: hidden !important;
  }

  body.has-mobile-tab-bar.ops-canvas-workspace-open:not(.yj-mobile-ai-chat)[data-app-feature="operation-center"] #panelOperationCenter .ops-canvas-dock {
    position: relative !important;
    padding: 6px !important;
  }

  body.has-mobile-tab-bar.ops-canvas-workspace-open:not(.yj-mobile-ai-chat)[data-app-feature="operation-center"] #panelOperationCenter .ops-canvas-head {
    flex-wrap: wrap !important;
    gap: 6px !important;
    padding: 8px !important;
  }

  body.has-mobile-tab-bar.ops-canvas-workspace-open:not(.yj-mobile-ai-chat)[data-app-feature="operation-center"] #panelOperationCenter .ops-canvas-tools {
    width: 100% !important;
    min-width: 0 !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    height: auto !important;
  }

  body.has-mobile-tab-bar.ops-canvas-workspace-open:not(.yj-mobile-ai-chat)[data-app-feature="operation-center"] #panelOperationCenter .ops-canvas-empty-state {
    width: calc(100% - 24px) !important;
    max-width: 440px !important;
    max-height: calc(100% - 16px) !important;
    overflow: auto !important;
  }

  body.has-mobile-tab-bar.ops-canvas-workspace-open:not(.yj-mobile-ai-chat)[data-app-feature="operation-center"] #panelOperationCenter .ops-canvas-empty-panel {
    width: 100% !important;
    min-width: 0 !important;
  }

  body.has-mobile-tab-bar.ops-canvas-workspace-open:not(.yj-mobile-ai-chat)[data-app-feature="operation-center"] #panelOperationCenter #opsCanvasEmptyState:not([hidden]) ~ .ops-canvas-group-finder,
  body.has-mobile-tab-bar.ops-canvas-workspace-open:not(.yj-mobile-ai-chat)[data-app-feature="operation-center"] #panelOperationCenter #opsCanvasEmptyState:not([hidden]) ~ .ops-canvas-minimap {
    display: none !important;
  }

  body.has-mobile-tab-bar.ops-canvas-workspace-open:not(.yj-mobile-ai-chat)[data-app-feature="operation-center"] #panelOperationCenter .ops-canvas-tools button,
  body.has-mobile-tab-bar.ops-canvas-workspace-open:not(.yj-mobile-ai-chat)[data-app-feature="operation-center"] #panelOperationCenter .ops-canvas-head button {
    min-height: var(--yj-ui-touch-height, 44px) !important;
  }

  body.ops-canvas-workspace-open[data-app-feature="operation-center"] #panelOperationCenter .ops-canvas-pane,
  body.has-mobile-tab-bar.ops-canvas-workspace-open[data-app-feature="operation-center"] #panelOperationCenter .ops-canvas-pane,
  body.has-mobile-tab-bar.yj-mobile-ai-chat.ops-canvas-workspace-open[data-app-feature="operation-center"] #panelOperationCenter .ops-canvas-pane {
    display: grid !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
    width: 100% !important;
  }

  body.ops-canvas-workspace-open[data-app-feature="operation-center"] #panelOperationCenter .ops-chat-pane,
  body.has-mobile-tab-bar.ops-canvas-workspace-open[data-app-feature="operation-center"] #panelOperationCenter .ops-chat-pane,
  body.has-mobile-tab-bar.yj-mobile-ai-chat.ops-canvas-workspace-open[data-app-feature="operation-center"] #panelOperationCenter .ops-chat-pane {
    display: none !important;
  }

  /*
   * Mobile AI 生图 is a chat-first surface. showOpsWorkspace() also marks the
   * body as an open canvas workspace, so its desktop rule used to win here and
   * reveal the empty canvas while hiding the conversation. Keep the canvas as
   * an underlying project record, but never make it the mobile AI entry view.
   */
  body.has-mobile-tab-bar.yj-mobile-ai-chat.ops-canvas-workspace-open[data-app-feature="operation-center"] #panelOperationCenter .ops-canvas-pane {
    display: none !important;
  }

  body.has-mobile-tab-bar.yj-mobile-ai-chat.ops-canvas-workspace-open[data-app-feature="operation-center"] #panelOperationCenter .ops-chat-pane {
    display: grid !important;
  }

  body[data-app-feature="operation-center"] #panelOperationCenter .ops-chat-pane {
    width: 100% !important;
    min-width: 0 !important;
    height: 100% !important;
    border-left: 0 !important;
  }

  body[data-app-feature="operation-center"] #panelOperationCenter .ops-chat-pane .ops-chat-messages {
    padding: 16px 14px max(120px, calc(96px + env(safe-area-inset-bottom, 0px))) !important;
  }

  body[data-app-feature="operation-center"] #panelOperationCenter .ops-chat-pane .ops-chat-composer,
  body[data-app-feature="operation-center"] #panelOperationCenter .ops-workspace-composer,
  body[data-app-feature="operation-center"] #panelOperationCenter .ops-chat-pane .ops-home-composer {
    padding-bottom: max(8px, env(safe-area-inset-bottom, 0px)) !important;
  }

  /* —— Chat composer: stick above bottom tab bar —— */
  body.has-mobile-tab-bar[data-app-feature="operation-center"] #panelOperationCenter .ops-chat-pane {
    display: flex !important;
    flex-direction: column !important;
    min-height: 0 !important;
  }

  body.has-mobile-tab-bar[data-app-feature="operation-center"] #panelOperationCenter .ops-chat-pane .ops-chat-messages {
    flex: 1 1 auto !important;
    overflow-y: auto !important;
    padding-bottom: 24px !important;
  }

  body.has-mobile-tab-bar[data-app-feature="operation-center"] #panelOperationCenter .ops-chat-pane .ops-chat-composer {
    position: sticky !important;
    bottom: 0 !important;
    z-index: 5 !important;
    margin: 0 !important;
    padding: 10px 12px max(10px, env(safe-area-inset-bottom, 0px)) !important;
    background: rgba(255, 255, 255, 0.96) !important;
    border-top: 1px solid rgba(124, 58, 237, 0.12) !important;
    box-shadow: 0 -6px 18px rgba(49, 46, 129, 0.06) !important;
  }

  /* —— GPT / Nano form modules —— */
  body.has-mobile-tab-bar #panelGptImage #gpt-image-panel .gpt-image-stack,
  body.has-mobile-tab-bar #panelNanoBanana #nano-banana-panel .gpt-image-stack {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    padding-bottom: 12px !important;
  }

  body.has-mobile-tab-bar #panelGptImage #gpt-image-panel .gpt-step-card,
  body.has-mobile-tab-bar #panelNanoBanana #nano-banana-panel .gpt-step-card,
  body.has-mobile-tab-bar #panelGptImage #gpt-image-panel .gpt-aspect-clarity-card,
  body.has-mobile-tab-bar #panelNanoBanana #nano-banana-panel .gpt-aspect-clarity-card {
    margin: 0 !important;
    padding: 10px !important;
    border: 1px solid rgba(124, 58, 237, 0.1) !important;
    border-radius: 12px !important;
    background: rgba(255, 255, 255, 0.86) !important;
  }

  body.has-mobile-tab-bar #panelGptImage #gptImagePromptInput,
  body.has-mobile-tab-bar #panelNanoBanana #nanoBananaPromptInput {
    font-size: 16px !important;
    min-height: 120px !important;
  }

  body.has-mobile-tab-bar #panelGptImage .gpt-aspect-clarity-card,
  body.has-mobile-tab-bar #panelNanoBanana .gpt-aspect-clarity-card,
  body.has-mobile-tab-bar #panelStandard .gpt-aspect-clarity-card {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    align-items: start !important;
  }

  /* Hidden dynamic panels must leave the flow. A later #panelStandard
     `display:flex !important` was piercing [hidden] (opacity:0 but ~900px tall),
     which pushed 成片/账户 below the fold and looked like a blank scroll. */
  body.has-mobile-tab-bar .main-area .dynamic-panel[hidden],
  body.has-mobile-tab-bar .main-area .dynamic-panel:not(.dynamic-panel--visible) {
    display: none !important;
    visibility: hidden !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  /* —— Standard commerce form: flat fields, no nested cards —— */
  body.has-mobile-tab-bar #panelStandard.dynamic-panel--visible:not([hidden]) {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
  }

  body.has-mobile-tab-bar #panelStandard .upload-section-group,
  body.has-mobile-tab-bar #panelStandard .model-section,
  body.has-mobile-tab-bar #panelStandard .params-section,
  body.has-mobile-tab-bar #panelStandard .prompt-section,
  body.has-mobile-tab-bar #panelStandard #sellpointGroup,
  body.has-mobile-tab-bar #panelStandard .commerce-output-type-section,
  body.has-mobile-tab-bar #panelStandard .main-image-screen-section,
  body.has-mobile-tab-bar #panelStandard .poster-feature-block,
  body.has-mobile-tab-bar #panelStandard .target-platform-section {
    margin: 0 !important;
    padding: 12px 0 !important;
    border: 0 !important;
    border-bottom: 1px solid #eef1f5 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.has-mobile-tab-bar #panelStandard .upload-section-group:last-child,
  body.has-mobile-tab-bar #panelStandard .model-section:last-child,
  body.has-mobile-tab-bar #panelStandard .params-section:last-child {
    border-bottom: 0 !important;
  }

  body.has-mobile-tab-bar #panelStandard .step-leader,
  body.has-mobile-tab-bar #panelStandard .step-leader__line,
  body.has-mobile-tab-bar #panelStandard .step-dot {
    display: none !important;
  }

  /*
   * 主图/详情/海报：手机端恢复模块序号 1-2-3。
   * 不恢复垂线轨道；只显示圆形数字，方便小屏滚动时定位进度。
   */
  body.has-mobile-tab-bar[data-app-feature="main-image"] #panelStandard,
  body.has-mobile-tab-bar[data-app-feature="detail-page"] #panelStandard,
  body.has-mobile-tab-bar[data-app-feature="poster"] #panelStandard {
    counter-reset: none;
  }

  body.has-mobile-tab-bar[data-app-feature="main-image"] #panelStandard .step-leader,
  body.has-mobile-tab-bar[data-app-feature="detail-page"] #panelStandard .step-leader,
  body.has-mobile-tab-bar[data-app-feature="poster"] #panelStandard .step-leader {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    align-self: center !important;
    margin: 0 8px 0 0 !important;
    min-height: 0 !important;
  }

  body.has-mobile-tab-bar[data-app-feature="main-image"] #panelStandard .step-leader__line,
  body.has-mobile-tab-bar[data-app-feature="detail-page"] #panelStandard .step-leader__line,
  body.has-mobile-tab-bar[data-app-feature="poster"] #panelStandard .step-leader__line {
    display: none !important;
  }

  body.has-mobile-tab-bar[data-app-feature="main-image"] #panelStandard .step-dot,
  body.has-mobile-tab-bar[data-app-feature="detail-page"] #panelStandard .step-dot,
  body.has-mobile-tab-bar[data-app-feature="poster"] #panelStandard .step-dot {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    border-radius: 999px !important;
    border: 0 !important;
    background: #7c3aed !important;
    color: #fff !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    box-sizing: border-box !important;
  }

  body.has-mobile-tab-bar[data-app-feature="main-image"] #panelStandard .step-dot[data-mobile-step]::before,
  body.has-mobile-tab-bar[data-app-feature="detail-page"] #panelStandard .step-dot[data-mobile-step]::before,
  body.has-mobile-tab-bar[data-app-feature="poster"] #panelStandard .step-dot[data-mobile-step]::before {
    content: attr(data-mobile-step) !important;
  }

  body.has-mobile-tab-bar[data-app-feature="main-image"] #panelStandard .step-dot.step-dot--done,
  body.has-mobile-tab-bar[data-app-feature="detail-page"] #panelStandard .step-dot.step-dot--done,
  body.has-mobile-tab-bar[data-app-feature="poster"] #panelStandard .step-dot.step-dot--done {
    background: #a78bfa !important;
  }

  body.has-mobile-tab-bar[data-app-feature="main-image"] #panelStandard .step-title-main,
  body.has-mobile-tab-bar[data-app-feature="detail-page"] #panelStandard .step-title-main,
  body.has-mobile-tab-bar[data-app-feature="poster"] #panelStandard .step-title-main,
  body.has-mobile-tab-bar[data-app-feature="main-image"] #panelStandard .upload-block__main-title,
  body.has-mobile-tab-bar[data-app-feature="detail-page"] #panelStandard .upload-block__main-title,
  body.has-mobile-tab-bar[data-app-feature="poster"] #panelStandard .upload-block__main-title {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0 !important;
    min-width: 0 !important;
  }

  body.has-mobile-tab-bar #panelStandard .module-title.step-title-row,
  body.has-mobile-tab-bar #panelStandard .upload-card-header .step-title-row,
  body.has-mobile-tab-bar #panelStandard .block-header .step-title-row {
    display: flex !important;
    align-items: baseline !important;
    justify-content: space-between !important;
    gap: 8px !important;
    margin: 0 0 8px !important;
    min-height: 0 !important;
  }

  body.has-mobile-tab-bar #panelStandard .section-step-label,
  body.has-mobile-tab-bar #panelStandard .step-title-main,
  body.has-mobile-tab-bar #panelStandard .upload-block__main-title {
    margin: 0 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
  }

  body.has-mobile-tab-bar #panelStandard .step-inline-hint {
    margin: 0 !important;
    color: #94a3b8 !important;
    font-size: 11px !important;
    font-weight: 500 !important;
  }

  body.has-mobile-tab-bar #panelStandard .upload-block,
  body.has-mobile-tab-bar #panelStandard .upload-block__body,
  body.has-mobile-tab-bar #panelStandard .preview-area,
  body.has-mobile-tab-bar #panelStandard .preview-container {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.has-mobile-tab-bar #panelStandard #uploadZone.upload-zone {
    min-height: 88px !important;
    max-height: none !important;
    height: auto !important;
    padding: 10px !important;
    border: 1px dashed #cbd5e1 !important;
    border-radius: 10px !important;
    background: #f8fafc !important;
  }

  body.has-mobile-tab-bar #panelStandard .btn-toggle-reference {
    width: 100% !important;
    min-height: 40px !important;
    margin: 8px 0 0 !important;
    padding: 0 12px !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 10px !important;
    background: #fff !important;
    box-shadow: none !important;
  }

  body.has-mobile-tab-bar #panelStandard .commerce-output-type-btns {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 6px !important;
  }

  body.has-mobile-tab-bar #panelStandard .commerce-output-type-btn {
    min-height: 40px !important;
    padding: 0 8px !important;
    border-radius: 10px !important;
    font-size: 13px !important;
    font-weight: 650 !important;
  }

  body.has-mobile-tab-bar #panelStandard .main-image-screen-trigger {
    min-height: 44px !important;
    padding: 8px 10px !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 10px !important;
    background: #fff !important;
    box-shadow: none !important;
  }

  body.has-mobile-tab-bar #panelStandard .main-image-screen-trigger__name {
    display: -webkit-box !important;
    -webkit-line-clamp: 1 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }

  body.has-mobile-tab-bar #panelStandard .model-section .model-btns,
  body.has-mobile-tab-bar #panelStandard #modelBtns.model-btns {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 6px !important;
  }

  body.has-mobile-tab-bar #panelStandard .model-btn,
  body.has-mobile-tab-bar #panelStandard #modelBtns .model-btn {
    min-height: 44px !important;
    padding: 8px 10px !important;
    border-radius: 10px !important;
  }

  body.has-mobile-tab-bar #panelStandard .gpt-aspect-clarity-card,
  body.has-mobile-tab-bar #panelStandard .ratio-resolution-card {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.has-mobile-tab-bar #panelStandard #prompt-input {
    font-size: 16px !important;
    min-height: 96px !important;
  }

  body.has-mobile-tab-bar #panelStandard .path-guide-mount .feature-path-guide {
    margin: 0 0 8px !important;
    padding: 8px 0 !important;
    border: 0 !important;
    background: transparent !important;
  }

  /* —— Ecommerce zone (主图/详情): flat modules, no nested cards —— */
  body.has-mobile-tab-bar[data-app-feature="main-image"] .main-area .dynamic-panel-stack,
  body.has-mobile-tab-bar[data-app-feature="detail-page"] .main-area .dynamic-panel-stack {
    padding-left: 0 !important;
    padding-right: 0 !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }

  body.has-mobile-tab-bar[data-app-feature="main-image"] #panelStandard.dynamic-panel--visible:not([hidden]),
  body.has-mobile-tab-bar[data-app-feature="detail-page"] #panelStandard.dynamic-panel--visible:not([hidden]) {
    gap: 0 !important;
    padding: 0 !important;
  }

  body.has-mobile-tab-bar[data-app-feature="main-image"] #panelStandard .path-guide-mount,
  body.has-mobile-tab-bar[data-app-feature="detail-page"] #panelStandard .path-guide-mount {
    margin: 0 !important;
    padding: 10px 0 12px !important;
    border-bottom: 1px solid #eef1f5 !important;
  }

  body.has-mobile-tab-bar[data-app-feature="main-image"] #panelStandard .path-guide-mount .feature-path-guide,
  body.has-mobile-tab-bar[data-app-feature="detail-page"] #panelStandard .path-guide-mount .feature-path-guide {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    justify-content: space-between !important;
    gap: 0 !important;
  }

  body.has-mobile-tab-bar[data-app-feature="main-image"] #panelStandard .feature-path-guide__connector,
  body.has-mobile-tab-bar[data-app-feature="detail-page"] #panelStandard .feature-path-guide__connector {
    flex: 1 1 auto !important;
    min-width: 6px !important;
    max-width: none !important;
    height: 1px !important;
    margin: 0 2px !important;
    background: #e2e8f0 !important;
  }

  body.has-mobile-tab-bar[data-app-feature="main-image"] #panelStandard .feature-path-guide__step.is-active .feature-path-guide__dot,
  body.has-mobile-tab-bar[data-app-feature="detail-page"] #panelStandard .feature-path-guide__step.is-active .feature-path-guide__dot {
    border-color: #7c3aed !important;
    background: #7c3aed !important;
  }

  body.has-mobile-tab-bar[data-app-feature="main-image"] #panelStandard .feature-path-guide__step.is-active .feature-path-guide__num,
  body.has-mobile-tab-bar[data-app-feature="detail-page"] #panelStandard .feature-path-guide__step.is-active .feature-path-guide__num {
    color: #fff !important;
  }

  body.has-mobile-tab-bar[data-app-feature="main-image"] #panelStandard .feature-path-guide__step.is-active .feature-path-guide__label,
  body.has-mobile-tab-bar[data-app-feature="detail-page"] #panelStandard .feature-path-guide__step.is-active .feature-path-guide__label {
    color: #7c3aed !important;
    font-weight: 650 !important;
  }

  body.has-mobile-tab-bar[data-app-feature="main-image"] #panelStandard .feature-path-guide__step.is-done .feature-path-guide__dot,
  body.has-mobile-tab-bar[data-app-feature="detail-page"] #panelStandard .feature-path-guide__step.is-done .feature-path-guide__dot {
    border-color: #c4b5fd !important;
    background: #ede9fe !important;
  }

  body.has-mobile-tab-bar[data-app-feature="main-image"] #panelStandard .upload-section-group,
  body.has-mobile-tab-bar[data-app-feature="main-image"] #panelStandard .commerce-output-type-section,
  body.has-mobile-tab-bar[data-app-feature="main-image"] #panelStandard .main-image-screen-section,
  body.has-mobile-tab-bar[data-app-feature="main-image"] #panelStandard .model-section,
  body.has-mobile-tab-bar[data-app-feature="main-image"] #panelStandard .params-section,
  body.has-mobile-tab-bar[data-app-feature="main-image"] #panelStandard .prompt-section,
  body.has-mobile-tab-bar[data-app-feature="detail-page"] #panelStandard .upload-section-group,
  body.has-mobile-tab-bar[data-app-feature="detail-page"] #panelStandard .commerce-output-type-section,
  body.has-mobile-tab-bar[data-app-feature="detail-page"] #panelStandard .main-image-screen-section,
  body.has-mobile-tab-bar[data-app-feature="detail-page"] #panelStandard .model-section,
  body.has-mobile-tab-bar[data-app-feature="detail-page"] #panelStandard .params-section,
  body.has-mobile-tab-bar[data-app-feature="detail-page"] #panelStandard .prompt-section {
    padding: 14px 0 !important;
    border: 0 !important;
    border-bottom: 1px solid #eef1f5 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.has-mobile-tab-bar[data-app-feature="main-image"] #panelStandard .upload-block.upload-block--product,
  body.has-mobile-tab-bar[data-app-feature="detail-page"] #panelStandard .upload-block.upload-block--product {
    padding: 0 !important;
    gap: 8px !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.has-mobile-tab-bar[data-app-feature="main-image"] #panelStandard #uploadZone.upload-zone,
  body.has-mobile-tab-bar[data-app-feature="detail-page"] #panelStandard #uploadZone.upload-zone {
    min-height: 96px !important;
    border-style: dashed !important;
    border-color: #cbd5e1 !important;
    border-radius: 12px !important;
    background: #f8fafc !important;
    box-shadow: none !important;
  }

  /* 输出设置卡片（.gpt-aspect-clarity-card 与 .ratio-resolution-card 是同一个节点）：在 ≤767px
     被上面 `grid-template-columns: 1fr 1fr` 压成两列，而该卡片内只有「输出设置」标题 +
     一个两列下拉栅格，于是标题独占第 1 列、整个下拉栅格被挤进第 2 列（实测 390px 下 ≈162px），
     栅格内每个下拉只剩 ≈76px，选项文字被截成 1 个字。恢复单列后栅格回到 ≈330px、每个下拉 ≈160px。
     仅作用于电商系标准面板（主图/详情/营销海报）：服装与「电商专区」入口归一为
     data-app-feature="main-image"，由首条选择器覆盖；自由生图/画布走 #panelGptImage /
     #panelNanoBanana，不在本规则范围内。 */
  body.has-mobile-tab-bar[data-app-feature="main-image"] #panelStandard .gpt-aspect-clarity-card,
  body.has-mobile-tab-bar[data-app-feature="detail-page"] #panelStandard .gpt-aspect-clarity-card,
  body.has-mobile-tab-bar[data-app-feature="poster"] #panelStandard .gpt-aspect-clarity-card {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  /* 抠图精修「选择模型」四张卡：≤767px 下 .matting-model-btn 的三列栅格
     （logo 28px + 名称 minmax(0,1fr) + 算力徽标 auto）把名称列压到仅 ≈45–58px，
     而 "Banana Fast" / "源景N2-PRO" 需要 ≈66–67px，于是名称被 text-overflow:ellipsis
     截成「Banana ...」「源景N2...」，用户分辨不出选的是哪个模型。缩小 logo 与内边距、
     把名称由 nowrap 省略号改为可折行后：375px 与 390px 下四张卡名称全部完整可见
     （"源景N2-PRO" 折为两行），卡片高度保持 46px 不变，430px 及以上本就不截断、无回归。
     锚点用 #mattingModelBtns（全站唯一出现处），不波及其它面板。 */
  body.has-mobile-tab-bar #panelStandard #mattingModelBtns .matting-model-btn {
    grid-template-columns: 22px minmax(0, 1fr) auto !important;
    gap: 1px 6px !important;
    padding: 6px 7px !important;
  }

  body.has-mobile-tab-bar #panelStandard #mattingModelBtns .matting-model-logo {
    width: 20px !important;
    height: 20px !important;
  }

  body.has-mobile-tab-bar #panelStandard #mattingModelBtns .matting-model-btn__name {
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    line-height: 1.1 !important;
    word-break: break-word !important;
  }

  body.has-mobile-tab-bar #panelStandard #mattingModelBtns .matting-model-btn__cost {
    padding: 2px 4px !important;
  }

  body.has-mobile-tab-bar[data-app-feature="main-image"] #panelStandard .btn-toggle-reference,
  body.has-mobile-tab-bar[data-app-feature="detail-page"] #panelStandard .btn-toggle-reference {
    min-height: 44px !important;
    border-color: #e2e8f0 !important;
    border-radius: 12px !important;
    background: #fff !important;
    color: #475569 !important;
    font-weight: 600 !important;
    box-shadow: none !important;
  }

  body.has-mobile-tab-bar[data-app-feature="main-image"] #panelStandard .commerce-output-type-btns,
  body.has-mobile-tab-bar[data-app-feature="detail-page"] #panelStandard .commerce-output-type-btns {
    padding: 3px !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    background: #f1f5f9 !important;
    box-shadow: none !important;
  }

  body.has-mobile-tab-bar[data-app-feature="main-image"] #panelStandard .commerce-output-type-btn,
  body.has-mobile-tab-bar[data-app-feature="detail-page"] #panelStandard .commerce-output-type-btn {
    min-height: 40px !important;
    border: 0 !important;
    border-radius: 9px !important;
    background: transparent !important;
    color: #64748b !important;
    box-shadow: none !important;
  }

  body.has-mobile-tab-bar[data-app-feature="main-image"] #panelStandard .commerce-output-type-btn.active,
  body.has-mobile-tab-bar[data-app-feature="detail-page"] #panelStandard .commerce-output-type-btn.active,
  body.has-mobile-tab-bar[data-app-feature="main-image"] #panelStandard .commerce-output-type-btn.active *,
  body.has-mobile-tab-bar[data-app-feature="detail-page"] #panelStandard .commerce-output-type-btn.active * {
    background: #7c3aed !important;
    color: #fff !important;
    border-color: transparent !important;
    box-shadow: none !important;
  }

  body.has-mobile-tab-bar[data-app-feature="main-image"] #panelStandard .main-image-screen-trigger,
  body.has-mobile-tab-bar[data-app-feature="detail-page"] #panelStandard .main-image-screen-trigger {
    min-height: 48px !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: none !important;
  }

  body.has-mobile-tab-bar[data-app-feature="main-image"] #panelStandard .main-image-screen-trigger__icon,
  body.has-mobile-tab-bar[data-app-feature="detail-page"] #panelStandard .main-image-screen-trigger__icon {
    background: #f1f5f9 !important;
    color: #64748b !important;
  }

  body.has-mobile-tab-bar[data-app-feature="main-image"] #panelStandard .main-image-screen-trigger__meta,
  body.has-mobile-tab-bar[data-app-feature="detail-page"] #panelStandard .main-image-screen-trigger__meta {
    color: #64748b !important;
    font-weight: 600 !important;
  }

  body.has-mobile-tab-bar[data-app-feature="main-image"] #panelStandard .main-image-screen-status,
  body.has-mobile-tab-bar[data-app-feature="detail-page"] #panelStandard .main-image-screen-status {
    margin: 8px 0 0 !important;
    color: #94a3b8 !important;
    font-size: 11px !important;
    line-height: 1.45 !important;
  }

  body.has-mobile-tab-bar[data-app-feature="main-image"] #panelStandard .params-section > .param-group,
  body.has-mobile-tab-bar[data-app-feature="detail-page"] #panelStandard .params-section > .param-group {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.has-mobile-tab-bar[data-app-feature="main-image"] .mobile-generate-bar:not(.mobile-generate-bar--desktop),
  body.has-mobile-tab-bar[data-app-feature="detail-page"] .mobile-generate-bar:not(.mobile-generate-bar--desktop) {
    background: #fff !important;
    border-top: 1px solid #e2e8f0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
  }

  body.has-mobile-tab-bar[data-app-feature="main-image"] .mobile-generate-bar__btn,
  body.has-mobile-tab-bar[data-app-feature="detail-page"] .mobile-generate-bar__btn {
    border-radius: 10px !important;
    box-shadow: none !important;
  }

  /*
   * 主图/详情/海报：杀掉桌面「main-area height:100% + overflow-y:auto」在手机上的残留。
   * 该组合会让表单区成为视口高滚动容器，生成后滚到结果区时模型条易被感知为「悬空盖住结果图」。
   */
  body.has-mobile-tab-bar[data-app-feature="main-image"] .page-container.app-container > .main-area,
  body.has-mobile-tab-bar[data-app-feature="detail-page"] .page-container.app-container > .main-area,
  body.has-mobile-tab-bar[data-app-feature="poster"] .page-container.app-container > .main-area,
  body.has-mobile-tab-bar[data-app-feature="main-image"] .main-area,
  body.has-mobile-tab-bar[data-app-feature="detail-page"] .main-area,
  body.has-mobile-tab-bar[data-app-feature="poster"] .main-area {
    position: relative !important;
    z-index: auto !important;
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
    overflow: visible !important;
    overflow-x: hidden !important;
    overflow-y: visible !important;
  }

  body.has-mobile-tab-bar[data-app-feature="main-image"] .main-area .dynamic-panel-stack,
  body.has-mobile-tab-bar[data-app-feature="detail-page"] .main-area .dynamic-panel-stack,
  body.has-mobile-tab-bar[data-app-feature="poster"] .main-area .dynamic-panel-stack,
  body.has-mobile-tab-bar[data-app-feature="main-image"] #panelStandard.dynamic-panel--visible,
  body.has-mobile-tab-bar[data-app-feature="detail-page"] #panelStandard.dynamic-panel--visible,
  body.has-mobile-tab-bar[data-app-feature="poster"] #panelStandard.dynamic-panel--visible {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }

  body.has-mobile-tab-bar[data-app-feature="main-image"] #panelStandard .model-section,
  body.has-mobile-tab-bar[data-app-feature="detail-page"] #panelStandard .model-section,
  body.has-mobile-tab-bar[data-app-feature="poster"] #panelStandard .model-section,
  body.has-mobile-tab-bar[data-app-feature="main-image"] #panelStandard #modelBtns.standard-model-dropdown,
  body.has-mobile-tab-bar[data-app-feature="detail-page"] #panelStandard #modelBtns.standard-model-dropdown,
  body.has-mobile-tab-bar[data-app-feature="poster"] #panelStandard #modelBtns.standard-model-dropdown,
  body.has-mobile-tab-bar[data-app-feature="main-image"] #panelStandard .standard-model-trigger,
  body.has-mobile-tab-bar[data-app-feature="detail-page"] #panelStandard .standard-model-trigger,
  body.has-mobile-tab-bar[data-app-feature="poster"] #panelStandard .standard-model-trigger {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
    inset: auto !important;
    z-index: 1 !important;
  }

  body.has-mobile-tab-bar[data-app-feature="main-image"] #panelStandard .standard-model-menu,
  body.has-mobile-tab-bar[data-app-feature="detail-page"] #panelStandard .standard-model-menu,
  body.has-mobile-tab-bar[data-app-feature="poster"] #panelStandard .standard-model-menu {
    position: absolute !important;
    z-index: 40 !important;
  }

  body.has-mobile-tab-bar[data-app-feature="main-image"] .page-container.app-container > #resultPanel.result-panel,
  body.has-mobile-tab-bar[data-app-feature="detail-page"] .page-container.app-container > #resultPanel.result-panel,
  body.has-mobile-tab-bar[data-app-feature="poster"] .page-container.app-container > #resultPanel.result-panel {
    position: relative !important;
    z-index: 2 !important;
  }

  /* —— One-click video: flat fields —— */
  body.has-mobile-tab-bar[data-app-feature="one-click-video"] #panelOneClickVideo.dynamic-panel--visible:not([hidden]) {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    height: auto !important;
    min-height: 0 !important;
  }

  body.has-mobile-tab-bar[data-app-feature="one-click-video"] .page-container.app-container > .main-area {
    min-height: 0 !important;
    height: auto !important;
  }

  /* Desktop OCV workspace sits in #resultPanel — on phone the empty「成片工作台」
     shell (flow + tabs) duplicates the form. Hide until a pane leaves pending. */
  body.has-mobile-tab-bar[data-app-feature="one-click-video"] .page-container.app-container > #resultPanel.result-panel {
    display: none !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
  }

  body.has-mobile-tab-bar[data-app-feature="one-click-video"] .page-container.app-container > #resultPanel.result-panel:has(.ocv-workspace-pane:not(.is-pending)) {
    display: block !important;
    padding: 8px 8px 12px !important;
  }

  body.has-mobile-tab-bar[data-app-feature="one-click-video"] #oneClickVideoWorkspace,
  body.has-mobile-tab-bar[data-app-feature="one-click-video"] .ocv-workspace {
    min-height: 0 !important;
    height: auto !important;
  }

  body.has-mobile-tab-bar[data-app-feature="one-click-video"] #oneClickVideoWorkspace .ocv-workspace-head,
  body.has-mobile-tab-bar[data-app-feature="one-click-video"] #oneClickVideoWorkspace .ocv-flow-now,
  body.has-mobile-tab-bar[data-app-feature="one-click-video"] #oneClickVideoWorkspace .ocv-flow-steps {
    display: none !important;
  }

  body.has-mobile-tab-bar[data-app-feature="one-click-video"] #resultPanel .result-panel__title-row,
  body.has-mobile-tab-bar[data-app-feature="one-click-video"] #resultPanel .result-toolbar {
    display: none !important;
  }

  body.has-mobile-tab-bar #panelOneClickVideo .ocv-shell {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 0 12px !important;
    min-height: 0 !important;
    height: auto !important;
  }

  body.has-mobile-tab-bar #panelOneClickVideo .ocv-card {
    margin: 0 !important;
    padding: 12px 0 !important;
    border: 0 !important;
    border-bottom: 1px solid #eef1f5 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.has-mobile-tab-bar #panelOneClickVideo .ocv-action-card {
    position: sticky !important;
    bottom: 0 !important;
    z-index: 4 !important;
    margin-top: 8px !important;
    padding: 10px 0 calc(10px + env(safe-area-inset-bottom, 0px)) !important;
    border-bottom: 0 !important;
    background: #fff !important;
  }

  body.has-mobile-tab-bar #panelOneClickVideo .ocv-core-choice-grid,
  body.has-mobile-tab-bar #panelOneClickVideo .ocv-param-grid--core {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
  }

  body.has-mobile-tab-bar #panelOneClickVideo #ocvCreativeBrief {
    display: block;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    font-size: 16px !important;
    min-height: 96px !important;
  }

  body.has-mobile-tab-bar #panelOneClickVideo .ocv-panel-head h2,
  body.has-mobile-tab-bar #panelOneClickVideo .ocv-card h3,
  body.has-mobile-tab-bar #panelOneClickVideo .ocv-field > label {
    margin: 0 0 8px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
  }

  /* —— Works wall (generation-history): flush list under fixed chrome —— */
  body.has-mobile-tab-bar[data-app-feature="generation-history"] .page-container.app-container > .main-area {
    min-height: 0 !important;
    height: auto !important;
    padding: 0 0 12px !important;
    background: #fff !important;
  }

  body.has-mobile-tab-bar[data-app-feature="generation-history"] #panelGenerationHistory.dynamic-panel--visible:not([hidden]) {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    height: auto !important;
    min-height: 0 !important;
  }

  body.has-mobile-tab-bar[data-app-feature="generation-history"] .page-container.app-container > #resultPanel.result-panel {
    display: none !important;
  }

  body.has-mobile-tab-bar[data-app-feature="generation-history"] #panelGenerationHistory .generation-history-page {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 8px 12px 16px !important;
    box-sizing: border-box !important;
  }

  body.has-mobile-tab-bar[data-app-feature="generation-history"] #panelGenerationHistory .generation-history-page__head {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 8px !important;
    margin: 0 0 12px !important;
  }

  body.has-mobile-tab-bar[data-app-feature="generation-history"] #panelGenerationHistory .generation-history-page__intro h3 {
    margin: 0 !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
  }

  /* —— Account: flush edge-to-edge (kill desktop inset white shell gutters) —— */
  body.has-mobile-tab-bar[data-app-feature="account-center"] .page-container.app-container > .main-area {
    min-height: 0 !important;
    height: auto !important;
    padding: 0 0 12px !important;
    background: #fff !important;
  }

  body.has-mobile-tab-bar[data-app-feature="account-center"] .main-area > .yj-card.yj-card--panel,
  body.has-mobile-tab-bar[data-app-feature="account-center"] .main-area #mainDynamicStack.dynamic-panel-stack {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.has-mobile-tab-bar[data-app-feature="account-center"] #panelAccountCenter.dynamic-panel--visible:not([hidden]) {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    margin: 0 !important;
    /* Beat workbench-polish `padding: 20px 24px` side gutters */
    padding: 8px 10px 16px !important;
    background: #fff !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  body.has-mobile-tab-bar[data-app-feature="account-center"] .page-container.app-container > #resultPanel.result-panel {
    display: none !important;
  }

  body.has-mobile-tab-bar[data-app-feature="account-center"] #panelAccountCenter .account-center-shell,
  body.has-mobile-tab-bar[data-app-feature="account-center"] .account-center-shell {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
  }

  body.has-mobile-tab-bar[data-app-feature="account-center"] #panelAccountCenter .account-center-body,
  body.has-mobile-tab-bar[data-app-feature="account-center"] #panelAccountCenter .account-center-main,
  body.has-mobile-tab-bar[data-app-feature="account-center"] #panelAccountCenter .account-center-main__primary,
  body.has-mobile-tab-bar[data-app-feature="account-center"] #panelAccountCenter .account-center-grid {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    min-width: 0 !important;
  }

  body.has-mobile-tab-bar[data-app-feature="account-center"] #panelAccountCenter .account-center-steps {
    display: none !important;
  }

  body.has-mobile-tab-bar[data-app-feature="account-center"] #panelAccountCenter .account-card,
  body.has-mobile-tab-bar[data-app-feature="account-center"] #panelAccountCenter .account-card--overview,
  body.has-mobile-tab-bar[data-app-feature="account-center"] #panelAccountCenter .account-card--key {
    width: 100% !important;
    max-width: none !important;
    margin: 0 0 10px !important;
    padding: 12px 10px !important;
    border: 1px solid #e8eaed !important;
    border-radius: 10px !important;
    background: #fff !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
  }

  body.has-mobile-tab-bar[data-app-feature="account-center"] #panelAccountCenter .account-balance-meter {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 4px !important;
  }

  body.has-mobile-tab-bar[data-app-feature="account-center"] #panelAccountCenter #accountCenterBalance {
    font-size: clamp(28px, 9vw, 36px) !important;
    line-height: 1.1 !important;
    font-weight: 800 !important;
    color: #0f172a !important;
  }

  body.has-mobile-tab-bar[data-app-feature="account-center"] #panelAccountCenter #accountCenterRechargeBtn,
  body.has-mobile-tab-bar[data-app-feature="account-center"] #panelAccountCenter #accountCenterKeyRechargeBtn {
    width: 100% !important;
    min-height: 44px !important;
    border-radius: 10px !important;
    font-weight: 700 !important;
  }

  body.has-mobile-tab-bar[data-app-feature="account-center"] #panelAccountCenter .account-center-head__actions {
    display: grid !important;
    grid-template-columns: 44px 44px minmax(0, 1fr) !important;
    gap: 8px !important;
    width: 100% !important;
  }

  body.has-mobile-tab-bar[data-app-feature="account-center"] #panelAccountCenter #accountReferralOpen,
  body.has-mobile-tab-bar[data-app-feature="account-center"] #panelAccountCenter #openNoticeModal {
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    margin: 0 !important;
  }

  body.has-mobile-tab-bar[data-app-feature="account-center"] #panelAccountCenter .yj-a2hs-account-btn {
    grid-column: 1 / -1;
  }

  /* Recharge overlay above tab bar — mobile polish (compact sheet, lighter dim) */
  body.has-mobile-tab-bar #rechargeModalBackdrop.recharge-modal-overlay {
    z-index: 1400 !important;
    align-items: flex-end !important;
    padding: 0 !important;
  }

  body.has-mobile-tab-bar #rechargeModalBackdrop.recharge-modal-overlay.visible {
    background: rgba(15, 23, 42, 0.26) !important;
  }

  body.has-mobile-tab-bar.recharge-checkout-open #rechargeModalBackdrop.recharge-modal-overlay.visible,
  body.has-mobile-tab-bar[data-recharge-checkout="open"] #rechargeModalBackdrop.recharge-modal-overlay.visible {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  body.has-mobile-tab-bar #rechargeModalBackdrop.recharge-modal-overlay.visible .api-key-modal {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    max-height: min(72dvh, 540px) !important;
    overflow: hidden !important;
    margin: 0 !important;
    border-radius: 16px 16px 0 0 !important;
    box-shadow: 0 -8px 28px rgba(15, 23, 42, 0.12) !important;
  }

  body.has-mobile-tab-bar #rechargeModalBackdrop.recharge-modal-overlay.visible .api-key-modal::before {
    content: '' !important;
    display: block !important;
    width: 36px !important;
    height: 4px !important;
    margin: 8px auto 0 !important;
    border-radius: 999px !important;
    background: #cbd5e1 !important;
    flex: 0 0 auto !important;
  }

  body.has-mobile-tab-bar #rechargeModalBackdrop .api-key-modal__head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    padding: 4px 44px 8px 14px !important;
    border-bottom: 0 !important;
  }

  body.has-mobile-tab-bar #rechargeModalBackdrop.recharge-modal-overlay.visible .api-key-modal__body {
    flex: 0 1 auto !important;
    min-height: 0 !important;
    overflow: auto !important;
    -webkit-overflow-scrolling: touch !important;
    padding: 0 12px 10px !important;
  }

  body.has-mobile-tab-bar #rechargeModalBackdrop .api-key-modal__close {
    top: 10px !important;
    right: 10px !important;
    width: 36px !important;
    height: 36px !important;
    border-radius: 10px !important;
    background: #f1f5f9 !important;
    color: #475569 !important;
    font-size: 22px !important;
  }

  body.has-mobile-tab-bar #rechargeModalBackdrop .manual-recharge-grid {
    display: block !important;
  }

  body.has-mobile-tab-bar #rechargeModalBackdrop #step2_area,
  body.has-mobile-tab-bar #rechargeModalBackdrop #step3_area,
  body.has-mobile-tab-bar #rechargeModalBackdrop .plan-item__gen,
  body.has-mobile-tab-bar #rechargeModalBackdrop .plan-item__unit,
  body.has-mobile-tab-bar #rechargeModalBackdrop .plan-item__perks,
  body.has-mobile-tab-bar #rechargeModalBackdrop .plan-item__identity,
  body.has-mobile-tab-bar #rechargeModalBackdrop .recharge-auth-footnote,
  body.has-mobile-tab-bar #rechargeModalBackdrop #rechargeInstructionBox,
  body.has-mobile-tab-bar #rechargeModalBackdrop .api-key-panel__lead,
  body.has-mobile-tab-bar #rechargeModalBackdrop .manual-recharge-col__title,
  body.has-mobile-tab-bar #rechargeModalBackdrop .step-inline-hint {
    display: none !important;
  }

  body.has-mobile-tab-bar #rechargeModalBackdrop .api-key-modal__title.step-title-main {
    font-size: 17px !important;
    font-weight: 800 !important;
    letter-spacing: -0.02em !important;
    line-height: 1.2 !important;
  }

  body.has-mobile-tab-bar #rechargeModalBackdrop .api-key-modal__title-row {
    min-width: 0 !important;
  }

  body.has-mobile-tab-bar #rechargeModalBackdrop .api-key-modal__balance {
    display: inline-flex !important;
    align-items: center !important;
    gap: 3px !important;
    margin-top: 0 !important;
    padding: 4px 9px !important;
    border-radius: 999px !important;
    background: #f1f5f9 !important;
    font-size: 11px !important;
    color: #64748b !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
  }

  body.has-mobile-tab-bar #rechargeModalBackdrop .api-key-modal__balance .money {
    color: #6d28d9 !important;
    font-size: 13px !important;
    font-weight: 800 !important;
  }

  body.has-mobile-tab-bar #rechargeModalBackdrop .api-key-plans--stack {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    margin-bottom: 0 !important;
  }

  body.has-mobile-tab-bar #rechargeModalBackdrop.recharge-modal-overlay .api-key-plans--stack .plan-item,
  body.has-mobile-tab-bar #rechargeModalBackdrop .plan-item {
    position: relative !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto auto auto !important;
    align-content: start !important;
    gap: 4px !important;
    min-height: 92px !important;
    padding: 22px 10px 10px !important;
    border: 1.5px solid #e2e8f0 !important;
    border-radius: 12px !important;
    background: #ffffff !important;
    box-shadow: none !important;
    text-align: left !important;
    overflow: hidden !important;
  }

  body.has-mobile-tab-bar #rechargeModalBackdrop .plan-item__shine {
    display: none !important;
  }

  body.has-mobile-tab-bar #rechargeModalBackdrop .plan-item__bonus {
    position: absolute !important;
    top: 6px !important;
    right: 6px !important;
    left: auto !important;
    max-width: 52% !important;
    padding: 2px 6px !important;
    border-radius: 999px !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    z-index: 2 !important;
  }

  body.has-mobile-tab-bar #rechargeModalBackdrop .plan-item__titles {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
    padding-right: 0 !important;
    min-width: 0 !important;
  }

  body.has-mobile-tab-bar #rechargeModalBackdrop .plan-item__formal {
    display: block !important;
    padding-right: 46% !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    line-height: 1.25 !important;
  }

  body.has-mobile-tab-bar #rechargeModalBackdrop .plan-item__price {
    grid-column: 1 / -1 !important;
    grid-row: 3 !important;
    align-self: end !important;
    justify-self: end !important;
    position: static !important;
    inset: auto !important;
    transform: none !important;
    width: auto !important;
    margin: 0 !important;
    font-size: 17px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    color: #6d28d9 !important;
    letter-spacing: -0.02em !important;
    text-align: right !important;
  }

  body.has-mobile-tab-bar #rechargeModalBackdrop .plan-item__pts {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    margin-top: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    font-size: 11px !important;
    color: #64748b !important;
    line-height: 1.25 !important;
  }

  /* White cards need dark text in every tier; selection uses the brand purple. */
  body.has-mobile-tab-bar #rechargeModalBackdrop #step1_area .plan-item {
    background: #fff !important;
    border: 2px solid #cbd5e1 !important;
    padding: 10px !important;
    gap: 6px !important;
    grid-template-rows: auto auto auto auto !important;
  }
  body.has-mobile-tab-bar #rechargeModalBackdrop #step1_area .plan-item::before {
    display: none !important;
  }
  body.has-mobile-tab-bar #rechargeModalBackdrop #step1_area .plan-item__bonus {
    position: static !important;
    grid-row: 1 !important;
    justify-self: start;
    max-width: 100% !important;
    background: #ede9fe !important;
    color: #5b21b6 !important;
    font-size: 11px !important;
    white-space: normal !important;
    border: 0 !important;
  }
  body.has-mobile-tab-bar #rechargeModalBackdrop #step1_area .plan-item__titles {
    grid-row: 2 !important;
  }
  body.has-mobile-tab-bar #rechargeModalBackdrop #step1_area .plan-item__formal {
    padding-right: 0 !important;
    color: #172033 !important;
    font-size: 14px !important;
  }
  body.has-mobile-tab-bar #rechargeModalBackdrop #step1_area .plan-item__pts {
    grid-row: 3 !important;
    color: #475569 !important;
    font-size: 12px !important;
  }
  body.has-mobile-tab-bar #rechargeModalBackdrop #step1_area .plan-item__price {
    grid-row: 4 !important;
    color: #5b21b6 !important;
    font-size: 20px !important;
  }
  body.has-mobile-tab-bar #rechargeModalBackdrop #step1_area .plan-item.active {
    background: #f5f3ff !important;
    border-color: #6d28d9 !important;
    box-shadow: inset 0 0 0 1px #6d28d9 !important;
  }

  body.has-mobile-tab-bar #rechargeModalBackdrop #step1_area {
    border: 0 !important;
    padding: 0 !important;
    background: transparent !important;
  }

  body.has-mobile-tab-bar #rechargeModalBackdrop #pay_btn {
    position: sticky !important;
    bottom: 0 !important;
    z-index: 6 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 44px !important;
    margin: 8px 0 0 !important;
    border: 0 !important;
    border-radius: 12px !important;
    background: linear-gradient(180deg, #7c3aed 0%, #6d28d9 100%) !important;
    color: #ffffff !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    letter-spacing: 0.01em !important;
    box-shadow: 0 6px 16px rgba(109, 40, 217, 0.2) !important;
  }

  body.has-mobile-tab-bar #rechargeModalBackdrop #pay_btn:disabled {
    background: #a78bfa !important;
    color: #ffffff !important;
    opacity: 1 !important;
    box-shadow: none !important;
  }

  /* Overlay checkout popup (same portal as desktop workspace) */
  body.has-mobile-tab-bar.recharge-checkout-open #rechargeCheckoutBackdrop,
  body.has-mobile-tab-bar[data-recharge-checkout="open"] #rechargeCheckoutBackdrop {
    z-index: 1500 !important;
    background: rgba(15, 23, 42, 0.52) !important;
  }

  body.has-mobile-tab-bar.recharge-checkout-open #step2_area,
  body.has-mobile-tab-bar[data-recharge-checkout="open"] #step2_area {
    position: fixed !important;
    left: 50% !important;
    top: 50% !important;
    z-index: 1501 !important;
    width: min(400px, calc(100vw - 24px)) !important;
    max-height: min(88dvh, 680px) !important;
    overflow: auto !important;
    transform: translate(-50%, -50%) !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    padding: 18px 16px 16px !important;
    border: 0 !important;
    border-radius: 18px !important;
    background: #ffffff !important;
    color: #0f172a !important;
    box-shadow: 0 24px 60px rgba(15, 23, 42, 0.28) !important;
  }

  body.has-mobile-tab-bar.recharge-checkout-open #step2_area .recharge-checkout-close,
  body.has-mobile-tab-bar[data-recharge-checkout="open"] #step2_area .recharge-checkout-close {
    top: 10px !important;
    right: 10px !important;
    width: 40px !important;
    height: 40px !important;
    border-radius: 12px !important;
    font-size: 24px !important;
  }

  body.has-mobile-tab-bar.recharge-checkout-open #step2_area > .manual-recharge-col__title,
  body.has-mobile-tab-bar.recharge-checkout-open #step2_area > .api-key-panel__lead,
  body.has-mobile-tab-bar.recharge-checkout-open #step2_area > .recharge-order-meta,
  body.has-mobile-tab-bar.recharge-checkout-open #step2_area > #wechatPayGenerateBtn,
  body.has-mobile-tab-bar[data-recharge-checkout="open"] #step2_area > .manual-recharge-col__title,
  body.has-mobile-tab-bar[data-recharge-checkout="open"] #step2_area > .api-key-panel__lead,
  body.has-mobile-tab-bar[data-recharge-checkout="open"] #step2_area > .recharge-order-meta,
  body.has-mobile-tab-bar[data-recharge-checkout="open"] #step2_area > #wechatPayGenerateBtn {
    display: block !important;
    grid-column: auto !important;
    grid-row: auto !important;
  }

  body.has-mobile-tab-bar.recharge-checkout-open #step2_area > .manual-recharge-col__title,
  body.has-mobile-tab-bar[data-recharge-checkout="open"] #step2_area > .manual-recharge-col__title {
    margin: 0 !important;
    padding-right: 44px !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    color: #0f172a !important;
  }

  body.has-mobile-tab-bar.recharge-checkout-open #step2_area > .api-key-panel__lead,
  body.has-mobile-tab-bar[data-recharge-checkout="open"] #step2_area > .api-key-panel__lead {
    margin: -4px 0 0 !important;
    font-size: 13px !important;
    color: #64748b !important;
  }

  body.has-mobile-tab-bar.recharge-checkout-open #step2_area .recharge-order-meta--manual,
  body.has-mobile-tab-bar[data-recharge-checkout="open"] #step2_area .recharge-order-meta--manual {
    display: grid !important;
    gap: 6px !important;
    margin: 0 !important;
    padding: 12px !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    background: #f8fafc !important;
  }

  body.has-mobile-tab-bar.recharge-checkout-open #step2_area .recharge-order-meta--manual p,
  body.has-mobile-tab-bar[data-recharge-checkout="open"] #step2_area .recharge-order-meta--manual p {
    margin: 0 !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    color: #64748b !important;
  }

  body.has-mobile-tab-bar.recharge-checkout-open #step2_area .recharge-order-meta--manual strong,
  body.has-mobile-tab-bar[data-recharge-checkout="open"] #step2_area .recharge-order-meta--manual strong {
    color: #0f172a !important;
    font-weight: 700 !important;
  }

  body.has-mobile-tab-bar.recharge-checkout-open #step2_area .recharge-order-meta--manual p:nth-child(n+4),
  body.has-mobile-tab-bar[data-recharge-checkout="open"] #step2_area .recharge-order-meta--manual p:nth-child(n+4) {
    display: none !important;
  }

  body.has-mobile-tab-bar.recharge-checkout-open #step2_area .recharge-pay-inline-btn,
  body.has-mobile-tab-bar[data-recharge-checkout="open"] #step2_area .recharge-pay-inline-btn {
    min-height: 48px !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 12px !important;
    background: linear-gradient(180deg, #7c3aed 0%, #6d28d9 100%) !important;
    color: #ffffff !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    box-shadow: 0 8px 20px rgba(109, 40, 217, 0.22) !important;
  }

  body.has-mobile-tab-bar.recharge-checkout-open #step2_area .recharge-pay-inline-btn:disabled,
  body.has-mobile-tab-bar[data-recharge-checkout="open"] #step2_area .recharge-pay-inline-btn:disabled {
    background: #8b5cf6 !important;
    color: #ffffff !important;
    opacity: 0.92 !important;
  }

  /* Keep flex center — do NOT force display:block on QR box (that left-aligns the card). */
  body.has-mobile-tab-bar.recharge-checkout-open #step2_area #wechatPayQrBox,
  body.has-mobile-tab-bar[data-recharge-checkout="open"] #step2_area #wechatPayQrBox {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    grid-column: auto !important;
    grid-row: auto !important;
    min-height: 180px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 4px 0 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-sizing: border-box !important;
  }

  body.has-mobile-tab-bar.recharge-checkout-open #step2_area.recharge-qr-ready #wechatPayQrBox::after,
  body.has-mobile-tab-bar[data-recharge-checkout="open"] #step2_area.recharge-qr-ready #wechatPayQrBox::after {
    content: '长按识别二维码，或用另一台设备微信扫码';
    display: block;
    margin-top: 10px;
    padding: 0 8px;
    font-size: 12px;
    line-height: 1.45;
    color: #64748b;
    text-align: center;
  }

  body.has-mobile-tab-bar.recharge-checkout-open #step2_area #wechatPayQrBox .wechat-pay-card,
  body.has-mobile-tab-bar[data-recharge-checkout="open"] #step2_area #wechatPayQrBox .wechat-pay-card {
    margin-left: auto !important;
    margin-right: auto !important;
    width: min(240px, 100%) !important;
  }

  body.has-mobile-tab-bar.recharge-checkout-open #step2_area #wechatPayQrBox .wechat-pay-card__scan-window,
  body.has-mobile-tab-bar[data-recharge-checkout="open"] #step2_area #wechatPayQrBox .wechat-pay-card__scan-window {
    min-height: 0 !important;
    padding: 8px !important;
  }

  body.has-mobile-tab-bar.recharge-checkout-open #step2_area #wechatPayQrBox .wechat-pay-card__scan-window img,
  body.has-mobile-tab-bar[data-recharge-checkout="open"] #step2_area #wechatPayQrBox .wechat-pay-card__scan-window img,
  body.has-mobile-tab-bar.recharge-checkout-open #step2_area #wechatPayQrBox img,
  body.has-mobile-tab-bar[data-recharge-checkout="open"] #step2_area #wechatPayQrBox img {
    width: min(196px, 72vw) !important;
    height: min(196px, 72vw) !important;
  }

  /* P1 生图/成片：案例墙默认不占首屏；通道等次要块降权 */
  body.has-mobile-tab-bar #resultPanel.result-panel--case-only {
    display: none !important;
  }

  body.has-mobile-tab-bar #panelNanoBanana .gpt-channel-section,
  body.has-mobile-tab-bar #panelGptImage .result-inspiration-rail,
  body.has-mobile-tab-bar #panelNanoBanana .result-inspiration-rail,
  body.has-mobile-tab-bar #panelGptImage #tryInspireExamplesBtn,
  body.has-mobile-tab-bar #panelNanoBanana #tryInspireExamplesBtn {
    display: none !important;
  }

  body.has-mobile-tab-bar #panelGptImage #gpt-image-panel .gpt-step-card,
  body.has-mobile-tab-bar #panelNanoBanana #nano-banana-panel .gpt-step-card,
  body.has-mobile-tab-bar #panelGptImage #gpt-image-panel .gpt-aspect-clarity-card,
  body.has-mobile-tab-bar #panelNanoBanana #nano-banana-panel .gpt-aspect-clarity-card {
    border-color: #e8eaed !important;
    border-radius: 10px !important;
    background: #fff !important;
    box-shadow: none !important;
  }

  /* 成片保留模式与叙事操作入口，手机仅收起重复的头部说明。 */
  body.has-mobile-tab-bar #panelOneClickVideo .ocv-panel-head > span {
    display: none !important;
  }

  body.has-mobile-tab-bar #panelOneClickVideo .ocv-panel-head {
    padding: 4px 0 8px !important;
    border-bottom: 1px solid #eef1f5 !important;
  }

  body.has-mobile-tab-bar #panelOneClickVideo .ocv-subject-type-grid {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 6px !important;
    overflow-x: auto !important;
  }

  body.has-mobile-tab-bar #panelOneClickVideo .ocv-advanced-settings {
    border-style: solid !important;
  }

  /* 账户保留流水、结算、邀请和社区资料入口，仅隐藏重复说明与充值按钮。 */
  body.has-mobile-tab-bar #panelAccountCenter .account-center-head__lede,
  body.has-mobile-tab-bar #panelAccountCenter .account-key-recharge-row,
  body.has-mobile-tab-bar #panelAccountCenter #accountCenterKeyRechargeBtn {
    display: none !important;
  }

  body.has-mobile-tab-bar #panelAccountCenter .account-card,
  body.has-mobile-tab-bar #panelAccountCenter .account-card--overview,
  body.has-mobile-tab-bar #panelAccountCenter .account-card--key {
    border-color: #e8eaed !important;
    border-radius: 10px !important;
    background: #fff !important;
    box-shadow: none !important;
  }

  body.has-mobile-tab-bar #panelAccountCenter #accountCenterBalance {
    color: #0f172a !important;
    font-weight: 700 !important;
  }

  body.has-mobile-tab-bar #panelAccountCenter .account-center-head {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
    margin: 0 0 12px !important;
  }

  body.has-mobile-tab-bar #panelAccountCenter .account-center-head__actions {
    display: flex !important;
    width: 100% !important;
  }

  body.has-mobile-tab-bar #panelAccountCenter #accountCenterRechargeBtn {
    width: 100% !important;
    min-height: 44px !important;
    border-radius: 10px !important;
    font-weight: 650 !important;
  }

  body.has-mobile-tab-bar #panelAccountCenter .account-key-actions {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
  }

  body.has-mobile-tab-bar #panelAccountCenter .account-key-secondary-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
    width: 100% !important;
  }

  body.has-mobile-tab-bar #panelAccountCenter .account-key-secondary-actions .account-ghost-btn {
    width: 100% !important;
    min-height: 40px !important;
    border-color: #e8eaed !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: #475569 !important;
  }

  body.has-mobile-tab-bar #panelAccountCenter .account-phone-details {
    order: 8 !important;
  }

  /* —— Add to Home Screen (A2HS) —— */
  body.yj-a2hs-open { overflow: hidden; }
  .yj-a2hs-card-icon { border-radius: 10px; flex: 0 0 40px; }
  .yj-a2hs-card-copy { flex: 1; min-width: 0; }
  .yj-a2hs-card-copy strong { font-size: 15px; line-height: 1.5; }
  .yj-a2hs-card-copy p { margin: 3px 0 8px; font-size: 12px; line-height: 1.5; color: #64748b; }
  .yj-a2hs-card-copy button { min-height: 40px; padding: 8px 14px; border: 0; border-radius: 10px; background: #6d28d9; color: #fff; font-weight: 650; }
  .yj-a2hs-card-close { flex: 0 0 32px; min-height: 36px; border: 0; background: transparent; color: #64748b; font-size: 22px; }
  #yjA2hsStatus { color: #475569; font-size: 13px; line-height: 1.5; }
  body.has-mobile-tab-bar .yj-a2hs-home-chip {
    display: flex !important;
    align-items: flex-start;
    gap: 10px;
    box-sizing: border-box;
    width: 100% !important;
    margin: 0 0 16px !important;
    padding: 12px 14px !important;
    border: 1px solid #e8eaed !important;
    border-radius: 12px !important;
    background: #f5f3ff !important;
    color: #0f172a !important;
    font-size: 14px !important;
    font-weight: 650 !important;
    text-align: left !important;
    cursor: default !important;
  }

  body.has-mobile-tab-bar .yj-a2hs-home-chip[hidden] {
    display: none !important;
  }

  body.has-mobile-tab-bar .yj-a2hs-account-btn {
    display: block !important;
    width: 100% !important;
    min-height: 42px !important;
    margin-top: 8px !important;
  }

  .yj-a2hs-sheet[hidden] {
    display: none !important;
  }

  body.has-mobile-tab-bar .yj-a2hs-sheet:not([hidden]) {
    position: fixed !important;
    inset: 0 !important;
    z-index: 1500 !important;
    display: block !important;
  }

  body.has-mobile-tab-bar .yj-a2hs-sheet__scrim {
    position: absolute !important;
    inset: 0 !important;
    border: 0 !important;
    background: rgba(15, 23, 42, 0.45) !important;
  }

  body.has-mobile-tab-bar .yj-a2hs-sheet__panel {
    max-height: 85dvh;
    overflow-y: auto;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    padding: 18px 16px max(20px, env(safe-area-inset-bottom, 0px)) !important;
    border-radius: 16px 16px 0 0 !important;
    background: #fff !important;
    box-shadow: 0 -8px 28px rgba(15, 23, 42, 0.12) !important;
  }

  body.has-mobile-tab-bar .yj-a2hs-sheet__title {
    margin: 0 0 6px !important;
    font-size: 18px !important;
    font-weight: 750 !important;
    color: #0f172a !important;
  }

  body.has-mobile-tab-bar .yj-a2hs-sheet__lede {
    margin: 0 0 12px !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    color: #64748b !important;
  }

  body.has-mobile-tab-bar .yj-a2hs-sheet__steps {
    margin: 0 0 14px !important;
    padding-left: 18px !important;
    color: #334155 !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
  }

  body.has-mobile-tab-bar .yj-a2hs-sheet__actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
  }

  body.has-mobile-tab-bar .yj-a2hs-sheet__btn {
    min-height: 44px !important;
    border-radius: 10px !important;
    border: 1px solid #e2e8f0 !important;
    background: #fff !important;
    color: #334155 !important;
    font-weight: 650 !important;
  }

  body.has-mobile-tab-bar .yj-a2hs-sheet__btn--primary {
    border-color: #0f172a !important;
    background: #0f172a !important;
    color: #fff !important;
  }

  body.has-mobile-tab-bar .yj-a2hs-sheet__btn--primary[hidden] {
    display: none !important;
  }
}

/* Short landscape screens use the full viewport for an already-open canvas. */
@media (min-width: 768px) and (max-width: 1024px) and (max-height: 500px) {
  body.ops-canvas-workspace-open:not(.yj-mobile-ai-chat)[data-app-feature="operation-center"] #panelOperationCenter #opsWorkspaceShell {
    position: fixed !important;
    inset: 0 !important;
    height: 100dvh !important;
    width: 100% !important;
    min-height: 0 !important;
    z-index: 1100 !important;
    overflow: hidden !important;
  }
  body.ops-canvas-workspace-open:not(.yj-mobile-ai-chat)[data-app-feature="operation-center"] #panelOperationCenter .ops-chat-main {
    display: flex !important;
    height: 100% !important;
    min-height: 0 !important;
  }
  body.ops-canvas-workspace-open:not(.yj-mobile-ai-chat)[data-app-feature="operation-center"] #panelOperationCenter .ops-canvas-pane {
    display: grid !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto minmax(0, 1fr) auto !important;
    overflow: hidden !important;
  }
  body.ops-canvas-workspace-open:not(.yj-mobile-ai-chat)[data-app-feature="operation-center"] #panelOperationCenter .ops-chat-pane {
    display: none !important;
  }
  body.ops-canvas-workspace-open:not(.yj-mobile-ai-chat)[data-app-feature="operation-center"] #panelOperationCenter .ops-canvas-dock {
    position: relative !important;
    padding: 6px !important;
  }
  body.ops-canvas-workspace-open:not(.yj-mobile-ai-chat)[data-app-feature="operation-center"] #panelOperationCenter .ops-canvas-tools {
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    flex-wrap: wrap !important;
  }
}

@media (max-width: 360px) {
  body[data-app-feature="operation-center"] #panelOperationCenter .ops-home-mascot {
    display: none !important;
  }
}

/* Phone home keeps the three creation entries ahead of optional installation. */
@media (max-width: 767px) {
  body.has-mobile-tab-bar[data-app-feature="operation-center"] #panelOperationCenter #opsDouble11Banner:not([hidden]) {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 6px 12px !important;
    min-height: 0 !important;
    padding: 12px 14px !important;
    margin-bottom: 8px !important;
  }
  body.has-mobile-tab-bar[data-app-feature="operation-center"] #opsDouble11Banner:not([hidden]) .ops-double11__festival {
    grid-column: 1; padding: 0; display: flex; align-items: baseline; gap: 8px;
  }
  body.has-mobile-tab-bar[data-app-feature="operation-center"] #opsDouble11Banner:not([hidden]) .ops-double11__festival > span {font-size: 24px;}
  body.has-mobile-tab-bar[data-app-feature="operation-center"] #opsDouble11Banner:not([hidden]) .ops-double11__festival > strong {font-size: 10px;letter-spacing: 0;}
  body.has-mobile-tab-bar[data-app-feature="operation-center"] #opsDouble11Banner:not([hidden]) .ops-double11__offer {grid-column: 1;gap: 4px;}
  body.has-mobile-tab-bar[data-app-feature="operation-center"] #opsDouble11Banner:not([hidden]) .ops-double11__offer > div {display: block;font-size: 12px;}
  body.has-mobile-tab-bar[data-app-feature="operation-center"] #opsDouble11Banner:not([hidden]) .ops-double11__offer strong {font-size: 13px;}
  body.has-mobile-tab-bar[data-app-feature="operation-center"] #opsDouble11Banner:not([hidden]) .ops-double11__offer b {font-size: 24px;letter-spacing: -1px;}
  body.has-mobile-tab-bar[data-app-feature="operation-center"] #opsDouble11Banner:not([hidden]) .ops-double11__offer b span {font-size: 13px;}
  body.has-mobile-tab-bar[data-app-feature="operation-center"] #opsDouble11Banner:not([hidden]) .ops-double11__offer p {font-size: 10px;padding: 0;border: 0;}
  body.has-mobile-tab-bar[data-app-feature="operation-center"] #opsDouble11Banner:not([hidden]) .ops-double11__contact {grid-column: 2;grid-row: 1 / span 2;width: auto;align-self: center;}
  body.has-mobile-tab-bar[data-app-feature="operation-center"] #opsDouble11Banner:not([hidden]) .ops-double11__contact summary {min-height: 44px;box-sizing: border-box;padding: 12px 10px;font-size: 12px;white-space: nowrap;}
  body.has-mobile-tab-bar[data-app-feature="operation-center"] #opsDouble11Banner:not([hidden]) .ops-double11__service {left: auto;right: 0;}
}
