/* ============================================================
 * touch.css —— 只在「无悬停能力 + 粗指针」的触屏上生效
 * ------------------------------------------------------------
 * 桌面端不进这个 media query，样式与交互完全不受影响。
 * 只做「去掉悬停依赖 / 循环动画只播一遍 / 触控热区 / 安全区」，
 * 不改任何视觉设计。
 * ============================================================ */

/* ---------- 全屏高度用 dvh，避免移动端地址栏导致的跳动 ---------- */
@media (hover: none) and (pointer: coarse) {
  .about-opening,
  .jp-panel,
  .hero { min-height: 100dvh; }

  /* ---------- 1. 悬停位移类反馈：不要让状态"粘"在元素上 ---------- */
  .feature-card:hover,
  .cred-card:hover,
  .adv-card:hover,
  .news-card:hover,
  .proj-card:hover,
  .stat-box:hover,
  .stat-item:hover,
  .ai-demo-card:hover,
  .marquee-item img:hover,
  .btn:hover,
  .btn-primary:hover,
  .btn-ai:hover,
  .btn-white:hover,
  .cta-btn-ghost:hover { transform: none; }

  /* 触屏用 0.15s 的按压反馈替代悬停 */
  .feature-card:active,
  .cred-card:active,
  .adv-card:active,
  .news-card:active,
  .proj-card:active,
  .stat-box:active,
  .ai-demo-card:active,
  .btn:active,
  .cta-btn-ghost:active { transform: scale(.985); transition-duration: .15s; }

  /* ---------- 2. 悬停才出现的重要信息 → 触屏常显 ---------- */
  #coverage .partner-slide .partner-preview {
    opacity: 1;
    transform: none;
  }
  #coverage .partner-slide .partner-scrim { opacity: .55; }

  /* ---------- 3. 循环动画只播一遍，停在好看的静止帧 ---------- */
  .marquee-row {
    animation-iteration-count: 1;
    animation-fill-mode: forwards;
  }
  .opening-scroll-cue,
  .badge-dot,
  .typing-dot,
  .chat-input-mock span,
  .about-journey .journey-photo,
  .chat-hdr-wave,
  .nav-right .btn-primary::after,
  .nav-sub-ring,
  .nav-sub-ball { animation-iteration-count: 1; animation-fill-mode: forwards; }

  /* ---------- 4. 毛玻璃在触屏改半透明实色 ---------- */
  .ai-chat-showcase,
  .play-stage::before,
  .site-chrome .nav,
  .nav { backdrop-filter: none !important; -webkit-backdrop-filter: none !important; }
  .ai-chat-showcase { background: rgba(255,255,255,.86); }

  /* ---------- 5. 触控热区 ≥44px ---------- */
  .to-top,
  .partner-dialog-close,
  .nav-burger,
  .culture-toggle,
  .jp-q { min-width: 44px; min-height: 44px; }
  .jp-q { padding: 10px 4px; }
  .partner-open { min-height: 44px; }

  /* ---------- 6. 安全区 ---------- */
  .nav { padding-top: calc(.75rem + env(safe-area-inset-top)); }
  .footer { padding-bottom: calc(2.25rem + env(safe-area-inset-bottom)); }
  .to-top { bottom: calc(1.5rem + env(safe-area-inset-bottom)); }
}

/* 触摸屏笔记本（有 hover 但也是粗指针）不进入上面分支，这里兜底避免长按选中拖影 */
html.is-touch { -webkit-tap-highlight-color: transparent; }
