/* ============================================================================
 * 爪游 2.0 · UX 补丁样式  (2026-10-06)
 * 由 nginx 注入，只作用于窄屏（<900px）。卸载 = 删掉 nginx 的 GF-UX-PATCH 段。
 *
 * 实测数据（修复前，390px 视口）：
 *   侧栏 .dashboard-sidebar = 256px（占屏 66%），主内容 .dashboard-content = 134px
 *   → 首页主标题被压成 14px 宽 / 304px 高的竖排单字
 * 修复后（自动收起）：侧栏 64px，主内容 326px
 * ========================================================================== */

/* ⓪ 兜底：父站 univ-ui.js 的「字母头像」启发式会把项目页 Tab 的计数徽标
      （.profile-tab-count，内容如「6」）误判成头像、塞进一张人物照片，
      把原本 100x40 的 Tab 撑到 235x172。已从父文件修掉；这里再兜一层，
      万一父文件被回滚，至少不会出现「五个大男人头像」的破版。 */
.profile-tabs .profile-tab > img {
  display: none !important;
}
.profile-tabs .profile-tab {
  height: auto !important;
  min-height: 0 !important;
  max-height: 72px !important;
}

/* ⑧ 档位「人话」说明（常显一行，替代只在悬停时出现的 title） */
.zy-tier-hint {
  margin: 10px 0 2px;
  padding: 7px 12px 7px 10px;
  border-left: 2px solid rgba(124, 156, 255, .55);
  background: rgba(124, 156, 255, .07);
  border-radius: 4px;
  font-size: 12.5px;
  line-height: 1.55;
  color: rgba(226, 232, 246, .66);
  word-break: break-word;
}
.zy-tier-hint > b {
  color: #e8eefc;
  font-weight: 600;
  margin-right: 2px;
}

/* ⑨ 一次性小提示条（孤儿页改道说明） */
.zy-ux-toast {
  position: fixed;
  left: 50%;
  bottom: 28px;
  transform: translate(-50%, 12px);
  max-width: min(92vw, 520px);
  padding: 11px 16px;
  border-radius: 10px;
  background: rgba(22, 26, 38, .96);
  border: 1px solid rgba(124, 156, 255, .32);
  box-shadow: 0 10px 30px rgba(0, 0, 0, .45);
  color: #e8eefc;
  font-size: 13px;
  line-height: 1.5;
  text-align: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity .22s ease, transform .22s ease;
  z-index: 99999;
}
.zy-ux-toast.is-on {
  opacity: 1;
  transform: translate(-50%, 0);
}

@media (max-width: 899px) {
  /* ① 主内容不再被侧栏挤压，允许收缩 */
  .dashboard-content {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  /* ② 用户主动展开侧栏时 → 覆盖式抽屉，不参与布局宽度计算 */
  html.zy-narrow .dashboard-sidebar:not(.is-collapsed) {
    position: fixed !important;
    top: 0;
    left: 0;
    bottom: 0;
    z-index: 9000 !important;
    box-shadow: 0 0 0 100vmax rgba(6, 8, 14, .62);   /* 一次性做出遮罩，无需额外 DOM */
  }

  /* 抽屉内部可滚动，长菜单不会溢出屏幕 */
  html.zy-narrow .dashboard-sidebar:not(.is-collapsed) {
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  /* ③ 收起态（64px 图标栏）：保证图标栏本体不产生横向滚动 */
  html.zy-narrow .dashboard-sidebar.is-collapsed {
    overflow: hidden;
  }

  /* ④ 窄屏下 hero 区标题按视口缩放，避免长标题撑破一行 */
  html.zy-narrow .dashboard-home-hero {
    max-width: 100% !important;
  }
  html.zy-narrow .dashboard-home-hero h1,
  html.zy-narrow .dashboard-home-hero .hero-title {
    font-size: clamp(24px, 7.2vw, 40px) !important;
    line-height: 1.22 !important;
    word-break: keep-all;
  }

  /* ⑤ 底部悬浮角标（父站注入的「爪游 V2 / 旧站 1.0」）会压住内容 */
  html.zy-narrow [data-ux-hide-narrow="1"] {
    display: none !important;
  }

  /* ⑥ 父站的账户卡固定在左下角，窄屏会盖住正文最后一行 —— 给内容留出底部空档 */
  html.zy-narrow .dashboard-content {
    padding-bottom: 92px !important;
  }

  /* ⑦ 英雄区：slogan 与「进入创客中心」原本横排（262px 里挤 166px 文字 + 96px 按钮），
     窄屏文案被折成两行还和按钮贴在一起。改为竖排，各占整行。 */
  html.zy-narrow .gh-slogan-row {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
  }

  /* ⑧ 档位选择器：三个按钮各 128px，390px 屏放不下 → 允许换行 + 收窄内边距 */
  html.zy-narrow .zy-tier-row {
    flex-wrap: wrap !important;
    gap: 6px !important;
  }
  html.zy-narrow .zy-tier-row .zy-seg-item {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
  html.zy-narrow .zy-tier-hint {
    font-size: 12px;
    padding: 6px 10px 6px 8px;
  }
}

/* ───────── ⑤ 快速模板墙 · 空状态 ───────── */
.zy-qg-empty {
  grid-column: 1 / -1;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 6px; padding: 64px 24px; text-align: center;
}
.zy-qg-empty-ico { font-size: 34px; line-height: 1; opacity: .75; }
.zy-qg-empty-t { margin: 10px 0 0; font-size: 15px; font-weight: 600; color: var(--text-primary, #e8e8f0); }
.zy-qg-empty-s { margin: 0; font-size: 13px; color: var(--text-tertiary, #8b8b9e); }

/* ============================================================================
 * ⑨ P0-1 修复：助手面板被首页内容遮挡（2026-10-08 验收发现）
 *
 * 现象：.univ-am-panel 是 position:absolute + z-index:auto，
 *       被首页 SECTION/hero/textarea 覆盖 ⇒ 22 个入口（任务列表/价格查询/
 *       AICrew/VibeX/系统公告/联系客服…）真实鼠标一个都点不到。
 *       实测 4 个视口（1440/1920/1366/1280）elementFromPoint 命中数均为 0。
 * 处置：提升该面板（及其子层）的层叠等级，使其可点击。
 * ==========================================================================*/
.univ-am-panel,
.univ-am-edge,
.univ-am-sheet,
[class*="univ-am-panel"],
[class*="univ-am-drawer"] {
  z-index: 2147483000 !important;
}
/* 🔴 2026-10-09：这条「子层一律 pointer-events:auto」会让隐藏态面板的
   所有子元素继续吃点击，且 CSS 优先级高于 JS 写给子层的 inline none。
   可见性判定统一交给 JS 补丁 ⑮（它按 opacity 写面板与子层的 inline 值），
   这里不再用 CSS 兜底，避免两处规则互相压制。 */
.univ-am-panel *,
.univ-am-edge * {
  pointer-events: auto;
}

/* P0-1 补充：面板本体也要接收指针（实测计算样式为 pointer-events:none，
   导致真实鼠标点击完全落空 —— 事件数为 0）。
   🔴 2026-10-09 修正：这条 !important 会**压过 JS 设置的内联 pointer-events** ——
   实测 inlinePE='none' 但 computed pe='auto'，导致隐藏态面板仍吃首页发送键的点击。
   面板可见性由 JS（补丁 ⑮）按 opacity 实时判定并写内联样式，
   可见时 JS 写 auto、隐藏时写 none，不靠 CSS 兜底。 */
.univ-am-panel,
.univ-am-edge,
[class*="univ-am-panel"],
[class*="univ-am-drawer"] {
  pointer-events: auto;
}

/* P0-1 补充2：.univ-am-edge 是覆盖整个助手面板的透明遮罩
   （span，与面板同尺寸 384x941，opacity .6，无内容），
   它会吃掉面板内所有指针事件 ⇒ 22 个入口鼠标点击事件数为 0。
   让它不再拦截指针，交还给面板内的真实按钮。 */
.univ-am-panel > .univ-am-edge,
.univ-am-panel .univ-am-edge {
  pointer-events: none !important;
}

/* ============================================================================
 * ⑮ P0-2 修复：隐藏态的助手面板仍吃掉页面点击（2026-10-09 闭环实测发现）
 *
 * 现象：首页发送按钮（form.dashboard-main-prompt 内 40x40 的「开始生成」）
 *       视觉正常、已 enabled，但 elementFromPoint 命中的却是 .univ-am-panel。
 *       ⇒ 真浏览器里用户也点不到 —— 「一句话生成游戏」第一步就断了。
 *
 * 根因：上面 P0-1 为了让面板「可点」，给 .univ-am-panel 强制了
 *       pointer-events: auto —— 但**没有区分可见与隐藏态**。
 *       面板收起时是 opacity:0 的透明层，仍然铺在页面上方继续吃指针。
 *       「让它可点」修过头，就变成「它永远吃指针」。
 *
 * 处置：只有面板真的可见（opacity > 0）时才接收指针；
 *       透明/隐藏态一律 pointer-events: none，把点击还给页面内容。
 * ==========================================================================*/
/* 默认不吃指针。⚠️ 不要加 !important —— 可见性判定由 JS 补丁 ⑮ 写内联样式，
   带 !important 会压过内联值（实测 inlinePE='none' 但 computed pe='auto'）。
   这里只做「默认关」的兜底，真正的开关在 JS。 */
.univ-am-panel,
.univ-am-edge,
[class*="univ-am-panel"],
[class*="univ-am-drawer"] {
  pointer-events: none;
}
/* 可见态由 JS 写内联 pointer-events:auto，这里不重复定义，
   避免两处规则互相覆盖导致状态错乱。 */
