/* ==========================================================================
   mobile.css — 手机端 UI 优化层
   --------------------------------------------------------------------------
   加载顺序：必须放在 css/style.css 之后（header.php / user_center.php）。
   作用范围：只影响 max-width: 768px，桌面端像素级不变。

   为什么单独一个文件：style.css 已有 4600+ 行、21 段互相覆盖的 @media，
   且大量使用 !important。把手机端规则集中在这一个文件里，
   好处是①改动可整体 review ②出问题可以整行删掉回滚 ③不影响桌面。

   本层解决的问题（均为实测，见 .tooling/preview/）：
     1. 顶栏 79px 高、抽屉菜单 top:60px 与顶栏重叠 19px
     2. 抽屉菜单项触控高度仅 34px（低于 44px 可用标准）
     3. 工具宫格在手机上塌成单列，imtool.php 一屏要滚 4000px
     4. 分页圆点 10×10、公告关闭按钮 24×24，手指点不中
     5. 主/次按钮白字对比度 3.98 / 3.04，低于 WCAG AA 的 4.5
     6. 弹窗打开时 body 仍可滚动（Bootstrap CSS 404，.modal-open 失效）
     7. 用户中心 200px 侧栏 + 30px 内边距，手机上被挤爆
     8. FAQ 分页不换行，末页按钮跑到屏幕外
     9. 结果对比图、表单、表格在窄屏溢出
   ========================================================================== */

@media (max-width: 768px) {

  /* ======================================================================
     1. 全局基础
     ====================================================================== */

  html {
    /* 防止 iOS 横屏时自动放大字号 */
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
  }

  body {
    /* 移动端用系统字体，避免首屏等字体下载 */
    font-family: -apple-system, BlinkMacSystemFont, 'PingFang SC', 'Hiragino Sans GB',
                 'Microsoft YaHei', 'Helvetica Neue', Arial, sans-serif;
    /* 消除 iOS 点击时的灰色高亮块 */
    -webkit-tap-highlight-color: transparent;
    /* 阻止下拉时露出白底 */
    overscroll-behavior-y: none;
  }

  /* 内容区左右留白从 20px 收到 12px，把宽度还给内容 */
  .main-content {
    padding: 16px 0 0 !important;
  }
  .main-content > .container {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  /* 长单词 / 长链接不撑破布局 */
  .main-content, .main-content p, .main-content li, .main-content td {
    overflow-wrap: break-word;
    word-break: break-word;
  }

  /* 手机上没有 hover，把依赖 hover 才显示的内容改为常显 */
  .card-hover-actions {
    opacity: 1 !important;
    transform: none !important;
    pointer-events: auto !important;
  }

  /* 触控目标兜底：所有可点元素至少 44px 高 */
  a.btn, button.btn, .btn {
    min-height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }


  /* ======================================================================
     2. 顶栏与抽屉菜单
     ====================================================================== */

  /* 顶栏压到 52px 固定高度，抽屉菜单才能精确定位 */
  nav.navbar .navbar-inner {
    min-height: 52px !important;
    padding: 6px 12px !important;
    gap: 8px !important;
  }

  nav.navbar .logo {
    line-height: 0 !important;
    display: flex !important;
    align-items: center !important;
    /* logo 本身就是首页入口，给它一个够大的点击区域 */
    min-height: 44px !important;
    padding: 7px 4px !important;
    margin-left: -4px !important;
  }

  nav.navbar .logo a {
    display: flex !important;
    align-items: center !important;
    min-height: 44px !important;
  }

  /* 覆盖 style.css 里 max-height:50px 的 !important（本文件在后面，同特异性取胜） */
  nav.navbar .logo img {
    max-height: 30px !important;
    height: 30px !important;
    width: auto !important;
  }

  /* 汉堡按钮做成 44×44 的触控目标 */
  nav.navbar .hamburger {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    padding: 0 !important;
    margin-left: auto !important;
    border-radius: 10px !important;
    gap: 5px !important;
  }

  nav.navbar .hamburger span {
    width: 22px !important;
    height: 2.5px !important;
    margin: 0 !important;
    border-radius: 2px !important;
    background-color: #333 !important;
  }

  nav.navbar .hamburger.active span:nth-child(1) {
    transform: translateY(7.5px) rotate(45deg) !important;
  }
  nav.navbar .hamburger.active span:nth-child(2) {
    opacity: 0 !important;
  }
  nav.navbar .hamburger.active span:nth-child(3) {
    transform: translateY(-7.5px) rotate(-45deg) !important;
  }

  /* 抽屉菜单：贴在顶栏正下方（top:100% 跟随顶栏实际高度，不再写死 60px） */
  nav.navbar ul.nav-menu {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 10px 12px 14px !important;
    background-color: #fff !important;
    border-top: 1px solid #eef0f4 !important;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.12) !important;
    /* 关掉 style.css 里 clip-path 圆环动画与 left:-100% 的旧方案，
       统一改用 opacity/visibility，避免两者打架 */
    clip-path: none !important;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px);
    transition: opacity 0.22s ease, transform 0.22s ease, visibility 0.22s;
    z-index: 999 !important;
    max-height: calc(100vh - 52px);
    max-height: calc(100dvh - 52px);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  nav.navbar ul.nav-menu.active {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }

  /* 主导航项：一行两个，46px 高 */
  nav.navbar ul.nav-menu li.nav-item:not(.nav-login):not(.nav-register):not(.nav-user):not(.nav-logout) {
    width: calc(50% - 4px) !important;
    margin: 0 !important;
    min-height: 46px !important;
  }

  nav.navbar ul.nav-menu li.nav-item a.nav-link {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 46px !important;
    padding: 10px 8px !important;
    font-size: 15px !important;
    line-height: 1.3 !important;
    color: #333 !important;
    background-color: #f5f7fb !important;
    border-radius: 10px !important;
  }

  nav.navbar ul.nav-menu li.nav-item.active a.nav-link,
  nav.navbar ul.nav-menu li.nav-item a.nav-link:active {
    color: #fff !important;
    background-color: #4a6ee0 !important;
  }

  /* 登录 / 注册 / 用户中心：整行，48px */
  nav.navbar ul.nav-menu li.nav-login,
  nav.navbar ul.nav-menu li.nav-register,
  nav.navbar ul.nav-menu li.nav-user,
  nav.navbar ul.nav-menu li.nav-logout {
    width: 100% !important;
    margin: 0 !important;
  }

  nav.navbar ul.nav-menu li.nav-login a.nav-link,
  nav.navbar ul.nav-menu li.nav-register a.nav-link,
  nav.navbar ul.nav-menu li.nav-user a.nav-link,
  nav.navbar ul.nav-menu li.nav-logout a.nav-link {
    min-height: 48px !important;
    font-size: 15px !important;
    border-radius: 10px !important;
  }

  nav.navbar ul.nav-menu li.nav-login a.nav-link,
  nav.navbar ul.nav-menu li.nav-register a.nav-link {
    color: #fff !important;
    background-color: #4a6ee0 !important;
  }

  /* 分隔线：用户中心之前 */
  nav.navbar ul.nav-menu li.nav-user {
    border-top: 1px solid #e9ecef !important;
    padding-top: 12px !important;
    margin-top: 4px !important;
  }

  /* 桌面端的用户下拉在手机端已由抽屉菜单替代 */
  nav.navbar .user-actions {
    display: none !important;
  }


  /* ======================================================================
     3. 公告条
     ====================================================================== */

  .announcement-tips {
    padding: 8px 0 !important;
  }

  .announcement-tips .container {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .announcement-content {
    align-items: flex-start !important;
    gap: 8px !important;
  }

  .announcement-text {
    font-size: 13px !important;
    line-height: 1.45 !important;
    /* 原色 #1976d2 在 #f0f8ff 上只有 4.29:1，加深到 5.36:1 */
    color: #1565c0 !important;
    /* 长公告最多两行，避免顶掉首屏内容 */
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .announcement-link {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 44px !important;
    padding: 0 4px !important;
    font-size: 13px !important;
    white-space: nowrap !important;
  }

  .announcement-close {
    width: 44px !important;
    height: 44px !important;
    margin: -10px -8px -10px 0 !important;
    font-size: 24px !important;
    /* 原色 #64b5f6 只有 2.06:1，几乎看不见 */
    color: #1565c0 !important;
    flex-shrink: 0 !important;
  }


  /* ======================================================================
     4. 首屏英雄区 / 功能卡（首页与工具页）
     ====================================================================== */

  .hero-section,
  .feature-card {
    padding: 20px 14px 18px !important;
    border-radius: 12px !important;
    margin-bottom: 18px !important;
  }

  .hero-title,
  .feature-title {
    font-size: 21px !important;
    line-height: 1.3 !important;
    margin-bottom: 8px !important;
  }

  .hero-subtitle,
  .feature-subtitle {
    font-size: 13.5px !important;
    line-height: 1.6 !important;
    margin-bottom: 14px !important;
    opacity: 0.95 !important;
  }

  .ai-prompt-input {
    font-size: 16px !important; /* ≥16px 可避免 iOS 聚焦时自动放大页面 */
    padding: 12px 14px !important;
    min-height: 96px !important;
  }

  /* 比例下拉 + 生成按钮：手机上各占一行，都能点中 */
  .control-container {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
    margin: 14px auto !important;
  }

  .control-container > div {
    display: flex !important;
    gap: 10px !important;
    width: 100% !important;
  }

  .control-container .style-selection {
    justify-content: stretch !important;
  }

  .control-container .btn,
  .control-container .size-select {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    min-height: 46px !important;
  }

  .size-select {
    height: 46px !important;
    font-size: 15px !important;
  }

  #generateBtn {
    width: 100% !important;
    min-height: 48px !important;
    font-size: 16px !important;
  }

  /* 提示词说明那一行：手机上字号别太小 */
  .hero-section p[style*="font-size:12px"] {
    font-size: 12.5px !important;
    line-height: 1.6 !important;
  }

  /* 段落里的「优化提示词」是一个行内可点按钮，
     原来只有 73×24，手指很难点中；加高内边距但不破坏行距 */
  .hero-section span#optimize {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 32px !important;
    padding: 6px 10px !important;
    margin: 0 2px !important;
    vertical-align: middle !important;
    font-size: 12.5px !important;
  }


  /* ======================================================================
     5. 上传区 / 转换参数 / 结果对比（工具详情页）
     ====================================================================== */

  .upload-area {
    padding: 18px 12px !important;
    margin: 14px auto !important;
  }

  /* 本地上传 / 远程地址 / 扫码上传：三个大按钮纵向排开 */
  .find_img {
    flex-direction: column !important;
    gap: 8px !important;
    padding: 0 !important;
  }

  .find_img span {
    width: 100% !important;
    justify-content: center !important;
  }

  .find_img span:not(.remote_img):not(.or_text),
  .find_img .remote_img {
    min-height: 48px !important;
    padding: 12px 16px !important;
    font-size: 15px !important;
    border-radius: 10px !important;
  }

  .find_img .or_text {
    font-size: 12px !important;
    min-height: 0 !important;
    margin: 0 !important;
    opacity: 0.85;
  }

  .parameter-section {
    padding: 14px 12px !important;
  }

  .parameter-group {
    margin-bottom: 16px !important;
  }

  .parameter-label {
    font-size: 14px !important;
    margin-bottom: 8px !important;
  }

  /* 滑块加大可拖拽区域，手指才好拖 */
  .slider-container input[type="range"],
  .slider {
    height: 32px !important;
  }

  .radio-group {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
  }

  .radio-option {
    flex: 1 1 calc(33.333% - 6px) !important;
    min-height: 44px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 8px 6px !important;
    font-size: 14px !important;
  }

  .action-buttons {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    width: 100% !important;
  }

  .action-buttons .btn {
    width: 100% !important;
    min-height: 48px !important;
    font-size: 16px !important;
  }

  /* 原图 / 转换图：窄屏上下排列，图更大更好看 */
  .result-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .result-actions-row {
    flex-direction: column !important;
    gap: 10px !important;
  }

  .result-actions-row .download-btn,
  .result-actions-row .share-btn-in-result {
    width: 100% !important;
    min-height: 46px !important;
  }

  /* 分享激励条 */
  .share-incentive-bar {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
    padding: 12px !important;
  }

  .share-incentive-bar .btn-share-incentive,
  .share-incentive-bar .btn-share-incentive-close {
    min-height: 44px !important;
  }

  .share-incentive-close,
  .btn-share-incentive-close {
    align-self: flex-end !important;
  }


  /* ======================================================================
     6. 工具宫格（首页 + 工具页）
     手机上从「单列 350px 宽的大卡」改为「两列紧凑卡」，
     imtool.php 的滚动长度从 ~4000px 降到约 1/3。
     ====================================================================== */

  .tools-gridv {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  .tools-gridv .tool-card {
    min-height: 0 !important;
    margin-bottom: 0 !important;
    padding: 12px 10px !important;
    border-radius: 10px !important;
  }

  .tools-gridv .tool-card a {
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    height: auto !important;
    text-align: center !important;
  }

  .tools-gridv .tool-icon {
    width: 44px !important;
    height: 44px !important;
    flex-shrink: 0 !important;
  }

  .tools-gridv .tool-icon img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
  }

  .tools-gridv .tool-info {
    width: 100% !important;
  }

  .tools-gridv .tool-name {
    font-size: 14px !important;
    line-height: 1.35 !important;
    margin-bottom: 3px !important;
    /* 最多两行，保持卡片等高 */
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .tools-gridv .tool-content {
    font-size: 12px !important;
    line-height: 1.45 !important;
    color: #6b7280 !important;
    /* 描述最多两行：文字仍留在 DOM 里（不影响 SEO），只是视觉收窄 */
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  /* 分类切换 Tab 铺满一行 */
  .category-nav {
    gap: 8px !important;
    margin-bottom: 16px !important;
    padding-bottom: 8px !important;
  }

  .category-tab {
    flex: 1 1 0 !important;
    text-align: center !important;
    min-height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 10px 12px !important;
    font-size: 15px !important;
  }

  /* 分页圆点：视觉仍是 10px，但触控区域放大到 44px */
  .pagination-dots {
    gap: 2px !important;
    margin-top: 16px !important;
    margin-bottom: 20px !important;
  }

  .pagination-dot {
    width: 44px !important;
    height: 44px !important;
    background-color: transparent !important;
    border-radius: 50% !important;
    position: relative !important;
    transform: none !important;
  }

  .pagination-dot::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 10px;
    height: 10px;
    margin: -5px 0 0 -5px;
    border-radius: 50%;
    background-color: #cfd6e4;
    transition: background-color 0.2s ease, transform 0.2s ease;
  }

  .pagination-dot.active::after {
    background-color: #17a2b8;
    transform: scale(1.25);
  }


  /* ======================================================================
     7. 精彩案例瀑布流
     ====================================================================== */

  .tools-grid.index-tools-grid {
    column-count: 2 !important;
    column-gap: 10px !important;
  }

  .tools-grid.index-tools-grid .tool-card {
    padding: 0 !important;
    margin-bottom: 10px !important;
    border-radius: 10px !important;
    overflow: hidden !important;
  }

  /* 点赞按钮加大触控面积。
     注意：图标是 🤍（白色爱心），原来底色是 rgba(255,255,255,.9)，
     白心压在白色药丸上几乎看不见；改成深色半透明底，白心才显出来。 */
  .like-btn {
    min-width: 44px !important;
    min-height: 44px !important;
    padding: 8px 10px !important;
    border-radius: 22px !important;
    background-color: rgba(0, 0, 0, 0.58) !important;
    backdrop-filter: blur(4px);
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
  }

  .like-btn .like-icon {
    font-size: 16px !important;
  }

  .like-btn .like-count {
    font-size: 12px !important;
    color: #fff !important;
  }

  .card-hover-actions {
    bottom: 44px !important;
  }

  .card-hover-actions button {
    min-height: 40px !important;
    font-size: 12.5px !important;
  }

  .tool-card .title_text {
    font-size: 13px !important;
    white-space: normal !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 1.4 !important;
  }


  /* ======================================================================
     8. 按钮配色（对比度修正）
     实测：主按钮白字 3.98:1、次按钮白字 3.04:1，均低于 WCAG AA 的 4.5:1。
     这里只改手机端，桌面端保持原样。
     ====================================================================== */

  .btn-primary {
    background-color: #0b5ed7 !important; /* 白字 5.84:1 */
    color: #fff !important;
  }

  .btn-primary:hover,
  .btn-primary:active {
    background-color: #0a53be !important;
  }

  .btn-secondary,
  a.btn-secondary {
    background-color: #0f7c8c !important; /* 白字 4.90:1 */
    border-color: #0f7c8c !important;
    color: #fff !important;
  }

  .btn-secondary:hover,
  a.btn-secondary:hover,
  .btn-secondary:active,
  a.btn-secondary:active {
    background-color: #0c6a78 !important;
    border-color: #0c6a78 !important;
  }

  /* 深色渐变按钮上的白字本来就够，不要被上面的规则影响 */
  .download-btn,
  .share-btn-in-result,
  .btn-copy {
    color: #fff !important;
  }


  /* ======================================================================
     9. 弹窗 / 遮罩
     ====================================================================== */

  /* Bootstrap CSS 是 404（header.php 引的是 assets/css/bootstrap.min.css，
     实际文件在 css/），所以 .modal-open 的滚动锁没有生效 ——
     弹窗打开时背景还能滚。这里补上。 */
  body.modal-open {
    overflow: hidden !important;
    touch-action: none;
  }

  html:has(body.modal-open) {
    overflow: hidden !important;
  }

  /* 通用遮罩弹窗：手机上做成底部抽屉，拇指够得着 */
  .modal-overlay {
    align-items: flex-end !important;
    padding: 0 !important;
  }

  .modal-overlay .modal,
  .modal-overlay .modal-custom,
  .modal.art-detail-modal {
    width: 100% !important;
    max-width: 100% !important;
    border-radius: 16px 16px 0 0 !important;
    max-height: 88vh !important;
    max-height: 88dvh !important;
    margin: 0 !important;
  }

  .modal-overlay .modal-body,
  .modal-overlay .modal-custom .modal-body {
    padding: 14px !important;
    -webkit-overflow-scrolling: touch;
  }

  /* 关闭按钮 44×44 */
  .modal-close,
  .modal-custom .modal-close {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 26px !important;
    line-height: 1 !important;
    margin: -8px -8px -8px 0 !important;
  }

  /* Bootstrap 风格弹窗（用户须知、登录注册） */
  .modal {
    padding: 0 !important;
    height: 100vh;
    height: 100dvh;
  }

  .modal .modal-dialog {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    align-self: flex-end;
  }

  .modal .modal-content {
    border-radius: 16px 16px 0 0 !important;
    max-height: 90vh;
    max-height: 90dvh;
    display: flex !important;
    flex-direction: column !important;
  }

  .modal .modal-body {
    max-height: none !important;
    flex: 1 1 auto !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    padding: 16px !important;
  }

  .modal .modal-footer {
    flex-shrink: 0 !important;
    padding: 12px 16px calc(12px + env(safe-area-inset-bottom)) !important;
    border-top: 1px solid #eef0f4 !important;
    background: #fff !important;
  }

  .modal .modal-footer .btn {
    min-height: 48px !important;
    font-size: 16px !important;
  }

  /* 分享弹窗里的按钮网格 */
  .share-buttons-grid {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 8px !important;
  }

  .share-btn {
    min-height: 72px !important;
  }

  .share-link-container {
    flex-wrap: wrap !important;
    gap: 8px !important;
  }

  .share-link-container input {
    flex: 1 1 100% !important;
    min-width: 0 !important;
    min-height: 44px !important;
    font-size: 13px !important;
  }

  .share-link-container .btn-copy {
    flex: 1 1 100% !important;
    min-height: 44px !important;
  }


  /* ======================================================================
     10. 悬浮分享按钮
     原来固定屏幕右侧垂直居中，会压住正文；弹窗打开时还浮在弹窗上面。
     ====================================================================== */

  .share-float-button {
    right: 12px !important;
    top: auto !important;
    bottom: calc(16px + env(safe-area-inset-bottom)) !important;
    transform: none !important;
    z-index: 900 !important;
  }

  .share-main-button {
    width: 48px !important;
    height: 48px !important;
    box-shadow: 0 6px 16px rgba(74, 110, 224, 0.35) !important;
  }

  .share-main-button .share-icon {
    font-size: 20px !important;
    line-height: 1 !important;
  }

  .share-item {
    min-height: 44px !important;
    font-size: 14px !important;
  }

  /* 弹窗打开时收起悬浮按钮，避免遮挡与误触 */
  body.modal-open .share-float-button {
    display: none !important;
  }


  /* ======================================================================
     11. 常见问题 / FAQ 页
     ====================================================================== */

  /* 列表内边距收窄：原来 container 20 + item margin 20 + padding 20 = 单侧 60px */
  .faq-item {
    margin: 10px 0 !important;
    padding: 14px !important;
    border-radius: 10px !important;
  }

  .faq-card {
    margin: 0 !important;
  }

  .faq-question {
    font-size: 16px !important;
    line-height: 1.5 !important;
  }

  .faq-answer {
    font-size: 14px !important;
    line-height: 1.7 !important;
  }

  .badge {
    font-size: 12px !important;
    padding: 3px 8px !important;
  }

  /* FAQ 分页：原来不换行，「末页」直接跑到屏幕外点不到 */
  .pagination {
    flex-wrap: wrap !important;
    gap: 6px !important;
    margin-top: 20px !important;
    padding: 0 !important;
  }

  .pagination li {
    margin: 0 !important;
  }

  .pagination .page-link {
    min-width: 44px !important;
    min-height: 44px !important;
    padding: 10px 12px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 14px !important;
    border-radius: 10px !important;
  }

  /* 手机上「首页 / 末页」文字太长，只留箭头 */
  .pagination .page-link i {
    margin: 0 !important;
  }


  /* ======================================================================
     12. 内容三栏 / 资讯 / 页脚
     ====================================================================== */

  .content-section {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    margin: 24px 0 !important;
  }

  .content-item {
    font-size: 14px !important;
  }

  /* 公告条目里日期是 float:right，窄屏会挤在一起 */
  .content-item p[style*="float:right"],
  .content-item a[style*="float:right"] {
    float: none !important;
    display: block !important;
    margin-top: 4px !important;
    font-size: 12.5px !important;
    /* #8a8a8a 只有 3.45:1，看不清 */
    color: #6b7280 !important;
  }

  /* 资讯列表日期等次要文字 */
  .content-item .date,
  .content-item time {
    color: #6b7280 !important;
  }

  .friend-links {
    line-height: 2 !important;
  }

  .friend-links a {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 44px !important;
    padding: 0 8px !important;
    font-size: 13px !important;
    /* 品牌蓝 #4a6ee0 在 #f8f9fa 上只有 4.33:1 */
    color: #3b5bdb !important;
  }

  /* 页脚链接 18px 高，手指点不中 */
  .footer-copyright {
    font-size: 12.5px !important;
    line-height: 1.9 !important;
    text-align: center !important;
    padding: 0 12px !important;
    /* 原色 #777 在 #f8f9fa 上只有 4.25:1 */
    color: #6b7280 !important;
  }

  .footer-copyright a {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 44px !important;
    padding: 0 6px !important;
  }

  .copyright {
    padding: 16px 12px !important;
    font-size: 12.5px !important;
    text-align: center !important;
    color: #6b7280 !important;
  }

  .copyright p {
    margin-bottom: 6px !important;
    line-height: 1.6 !important;
    color: #6b7280 !important;
  }


  /* ======================================================================
     13. 用户中心（user_center.php）
     原来是桌面布局：200px 固定侧栏 + 30px 内边距的 flex 横排，手机上被挤爆。
     改成侧栏变成顶部横向滚动的 Tab 条。
     ====================================================================== */

  .user-center {
    flex-direction: column !important;
    min-height: 0 !important;
    margin-top: 12px !important;
    gap: 12px !important;
  }

  .user-center .sidebar {
    width: 100% !important;
    margin: 0 !important;
    padding: 12px !important;
    border-radius: 12px !important;
  }

  .user-center .sidebar h2 {
    font-size: 16px !important;
    margin-bottom: 10px !important;
  }

  /* 菜单变成可横向滑动的 Tab 条 */
  .user-center .menu {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: 4px !important;
    margin: 0 !important;
  }

  .user-center .menu::-webkit-scrollbar {
    display: none;
  }

  .user-center .menu li {
    margin: 0 !important;
    flex: 0 0 auto !important;
  }

  .user-center .menu a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 44px !important;
    padding: 10px 14px !important;
    font-size: 14px !important;
    white-space: nowrap !important;
    background-color: #fff !important;
    border: 1px solid #e9ecef !important;
    border-radius: 10px !important;
  }

  .user-center .menu a.active {
    background-color: #4a6ee0 !important;
    border-color: #4a6ee0 !important;
    color: #fff !important;
  }

  .user-center .content {
    padding: 16px 14px !important;
    border-radius: 12px !important;
  }

  .user-center .content h3 {
    font-size: 18px !important;
    margin-bottom: 14px !important;
  }

  /* 资料行：标签 120px 固定宽，手机上文字被压成竖条 */
  .info-item {
    flex-direction: column !important;
    gap: 4px !important;
    margin-bottom: 14px !important;
    padding-bottom: 12px !important;
  }

  .info-label {
    width: 100% !important;
    font-size: 13px !important;
    color: #8a8a8a !important;
  }

  .info-value {
    width: 100% !important;
    font-size: 15px !important;
  }

  .form-group input,
  .form-group textarea,
  .form-group select {
    max-width: 100% !important;
    min-height: 46px !important;
    font-size: 16px !important; /* 防止 iOS 聚焦放大 */
  }

  .form-group label {
    font-size: 14px !important;
  }

  /* 表格：窄屏改为横向滚动，不挤压内容 */
  .user-center .table,
  .table {
    display: block !important;
    width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
    white-space: nowrap;
  }

  .table th,
  .table td {
    padding: 10px 12px !important;
    font-size: 13.5px !important;
  }

  /* 积分记录等页面的行内表单 */
  .user-center .btn {
    min-height: 44px !important;
  }


  /* ======================================================================
     14. 其他页面（在线 PS / 涂鸦板 / 资讯 / 视频创作）
     ====================================================================== */

  /* 文章正文 */
  .article-container h1,
  .news-detail-title {
    font-size: 20px !important;
    line-height: 1.4 !important;
  }

  .article-container,
  .article-content {
    font-size: 16px !important;
    line-height: 1.8 !important;
    padding: 0 2px !important;
  }

  .article-content img {
    max-width: 100% !important;
    height: auto !important;
  }

  /* 在线 PS 是 iframe/画布类工具，给它满宽 */
  .ps-container,
  .ps-wrapper,
  #psApp {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* 涂鸦板画布 */
  .canva-container,
  #canvaContainer,
  .canvas-wrapper {
    width: 100% !important;
    overflow-x: auto !important;
  }

  canvas {
    max-width: 100% !important;
    height: auto !important;
  }

  /* ---- 涂鸦板（canva.php）----
     实测问题：
       · .toolbar 是 nowrap 的 flex，手机上内容比屏幕宽，
         两端溢出到 left:-138 / right:495，撤销/重做按钮直接点不到
       · 「粗细: 5px」的 #size-value 没有设 color，从 .feature-card
         继承了白色，压在白色工具栏上完全看不见
       · 保存按钮用的浅色渐变，白字对比度只有 2.7~3.0:1 */

  .canva_wrap .toolbar {
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 0 12px !important;
    padding: 10px !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }

  .canva_wrap .tool-group {
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 6px !important;
    margin: 0 !important;
    width: 100% !important;
  }

  .canva_wrap .tool-group label {
    margin-right: 4px !important;
    font-size: 13px !important;
    color: #333 !important;
  }

  .canva_wrap button {
    min-height: 44px !important;
    padding: 10px 14px !important;
    margin: 0 !important;
    font-size: 14px !important;
    flex: 1 1 auto !important;
  }

  .canva_wrap .color-picker {
    width: 44px !important;
    height: 44px !important;
  }

  .canva_wrap .brush-size {
    width: auto !important;
    flex: 1 1 120px !important;
    height: 44px !important;
  }

  /* 关键修复：这个标签原来继承了白色，在白色工具栏上是隐形的 */
  .canva_wrap #size-value {
    color: #333 !important;
    font-size: 14px !important;
    min-width: 44px !important;
    text-align: center !important;
  }

  .canva_wrap .canvas-container {
    padding: 0 !important;
  }

  .canva_wrap canvas {
    width: 100% !important;
    margin-left: 0 !important;
  }

  .canva_wrap .save-options {
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin-top: 12px !important;
  }

  /* 浅色渐变上的白字对比度不足，改用同色系深色渐变 */
  .canva_wrap .save-btn {
    flex: 1 1 100% !important;
    min-height: 46px !important;
    background: linear-gradient(to right, #0f7c8c, #4e7a1f) !important;
    color: #fff !important;
  }

  .canva_wrap .load-btn {
    flex: 1 1 100% !important;
    min-height: 46px !important;
    background: linear-gradient(to right, #c62828, #c25a12) !important;
    color: #fff !important;
  }

  /* ---- 资讯列表的「加载更多」----
     原来是个 286×26 的行内文字，颜色 #4a6ee0 对比度只有 4.33:1 */
  #loadMore {
    padding: 14px !important;
  }

  #loadMoreBtn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 48px !important;
    padding: 12px 16px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #fff !important;
    background-color: #3b5bdb !important;
    border-radius: 10px !important;
  }

  #loading {
    font-size: 14px !important;
    color: #6b7280 !important;
  }

  /* 资讯卡片列表 */
  .news-container .news-item,
  .news-container [class*="col-"] {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    padding: 0 0 12px !important;
  }

  .news-title {
    font-size: 16px !important;
    line-height: 1.4 !important;
  }

  .news-content {
    font-size: 14px !important;
    line-height: 1.6 !important;
  }

  /* 资讯卡片的元信息行：日期/浏览量用的 #999 只有 2.85:1，太浅 */
  .news-meta {
    gap: 12px !important;
    font-size: 13px !important;
    color: #6b7280 !important;
  }

  .news-meta .news-date,
  .news-meta .news-hits {
    color: #6b7280 !important;
  }

  /* 「了解更多 >>」原来只有 73×17，手指点不中 */
  .news-item a[href^="news_detail.php"],
  .news-card a[href^="news_detail.php"],
  .more-container a[href^="news_detail.php"] {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 44px !important;
    color: #3b5bdb !important;
    font-size: 14px !important;
  }

  /* 更多推荐区块 */
  .more-container {
    margin-top: 20px !important;
  }

  .more-container .content-list {
    padding: 0 0 12px !important;
  }

  .more-container .page-header {
    font-size: 17px !important;
    line-height: 1.45 !important;
    margin: 10px 0 6px !important;
    padding-bottom: 6px !important;
  }

  .more-container p {
    font-size: 14px !important;
    line-height: 1.7 !important;
  }

  /* 首页资讯列表 / 公告列表的条目链接（原来 17px 高） */
  .content-item a {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 44px !important;
    padding: 4px 0 !important;
    color: #3b5bdb !important;
  }

  /* ---- 音乐生成页（music.php，样式在 assets/css/music.css）---- */
  .mode-btn {
    min-height: 44px !important;
    font-size: 14px !important;
  }

  /* 激活态是浅紫渐变上的白字，只有 3.24:1；改用同色系深色渐变 */
  .mode-btn.active {
    background: linear-gradient(135deg, #4c51bf 0%, #553c9a 100%) !important;
    color: #fff !important;
    border-color: #4c51bf !important;
  }

  /* 空状态提示用的 #999，只有 2.7:1 */
  .empty-state {
    color: #6b7280 !important;
    font-size: 14px !important;
  }

  /* 视频创作页自己引了 Bootstrap 4 CDN，这里只做安全兜底 */
  .video-create-container,
  .video-create-form {
    padding: 14px !important;
  }

  .video-create-container .btn {
    width: 100% !important;
    min-height: 48px !important;
  }

  /* 站内所有图片不撑破容器 */
  .main-content img,
  .modal img {
    max-width: 100%;
    height: auto;
  }
}


/* ==========================================================================
   平板 / 大屏触控设备（769–1024px）
   --------------------------------------------------------------------------
   这一档刻意【不改布局结构】——宫格列数、顶栏样式、表单堆叠都保持桌面版式，
   因为平板宽度足够放得下。只修三类与宽度无关的触屏问题：
     · 触控目标太小（公告关闭 24×24、分页圆点 10×10、页脚链接 18px 高）
     · 对比度不足（主按钮 3.98:1、次按钮 3.04:1）
     · 白字压在白底上（点赞的 🤍 白心、涂鸦板的「5px」标签）
   这些在触屏上同样难用，和手机是同一类问题。
   ========================================================================== */
@media (min-width: 769px) and (max-width: 1024px) {

  /* --- 触控目标 --- */
  a.btn, button.btn, .btn {
    min-height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .announcement-link {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 44px !important;
    padding: 0 6px !important;
  }

  .announcement-close {
    width: 44px !important;
    height: 44px !important;
    margin: -10px -8px -10px 0 !important;
    font-size: 24px !important;
  }

  .modal-close,
  .modal-custom .modal-close {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 26px !important;
    line-height: 1 !important;
  }

  /* 分页圆点：视觉仍是 10px，触控区域放大到 44px */
  .pagination-dots {
    gap: 2px !important;
  }

  .pagination-dot {
    width: 44px !important;
    height: 44px !important;
    background-color: transparent !important;
    border-radius: 50% !important;
    position: relative !important;
    transform: none !important;
  }

  .pagination-dot::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 10px;
    height: 10px;
    margin: -5px 0 0 -5px;
    border-radius: 50%;
    background-color: #cfd6e4;
  }

  .pagination-dot.active::after {
    background-color: #17a2b8;
    transform: scale(1.25);
  }

  .friend-links a,
  .content-item a,
  .footer-copyright a {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 44px !important;
  }

  /* --- 对比度 --- */
  .btn-primary {
    background-color: #0b5ed7 !important; /* 白字 5.84:1 */
    color: #fff !important;
  }

  .btn-primary:hover,
  .btn-primary:active {
    background-color: #0a53be !important;
  }

  .btn-secondary,
  a.btn-secondary {
    background-color: #0f7c8c !important; /* 白字 4.90:1 */
    border-color: #0f7c8c !important;
    color: #fff !important;
  }

  .btn-secondary:hover,
  a.btn-secondary:hover {
    background-color: #0c6a78 !important;
    border-color: #0c6a78 !important;
  }

  .announcement-text {
    color: #1565c0 !important; /* 原 #1976d2 只有 4.29:1 */
  }

  .announcement-close {
    color: #1565c0 !important; /* 原 #64b5f6 只有 2.06:1 */
  }

  .copyright,
  .copyright p,
  .footer-copyright {
    color: #6b7280 !important; /* 原 #777 在 #f8f9fa 上只有 4.25:1 */
  }

  .friend-links a {
    color: #3b5bdb !important; /* 原 #4a6ee0 只有 4.33:1 */
  }

  /* --- 白字压白底 --- */
  /* 点赞图标是 🤍（白色爱心），原底色 rgba(255,255,255,.9) 让它隐形 */
  .like-btn {
    min-width: 44px !important;
    min-height: 44px !important;
    padding: 8px 10px !important;
    border-radius: 22px !important;
    background-color: rgba(0, 0, 0, 0.58) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
  }

  .like-btn .like-count {
    color: #fff !important;
  }

  /* 涂鸦板「粗细: 5px」继承了 .feature-card 的白色，在白工具栏上看不见 */
  .canva_wrap #size-value {
    color: #333 !important;
  }

  /* 滑块要留够拖拽高度 */
  .canva_wrap .brush-size,
  .slider-container input[type="range"],
  .slider {
    height: 44px !important;
  }

  .canva_wrap .color-picker {
    width: 44px !important;
    height: 44px !important;
  }

  /* 浅色渐变上的白字只有 2.7~3.0:1 */
  .canva_wrap .save-btn {
    background: linear-gradient(to right, #0f7c8c, #4e7a1f) !important;
    color: #fff !important;
  }

  .canva_wrap .load-btn {
    background: linear-gradient(to right, #c62828, #c25a12) !important;
    color: #fff !important;
  }

  /* 段落里的「优化提示词」行内按钮，原来只有 70×23 */
  .hero-section span#optimize {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 32px !important;
    padding: 6px 10px !important;
    vertical-align: middle !important;
  }
}


/* ==========================================================================
   超窄屏（≤ 400px，iPhone SE / 小屏安卓）
   ========================================================================== */
@media (max-width: 400px) {

  /* 工具宫格文字再收一点 */
  .tools-gridv .tool-name {
    font-size: 13px !important;
  }

  .tools-gridv .tool-content {
    font-size: 11.5px !important;
  }

  .hero-title,
  .feature-title {
    font-size: 19px !important;
  }

  /* 抽屉菜单仍然一行两个，但内边距更小 */
  nav.navbar ul.nav-menu li.nav-item a.nav-link {
    font-size: 14px !important;
    padding: 10px 4px !important;
  }

  .faq-question {
    font-size: 15px !important;
  }

  .pagination .page-link {
    min-width: 40px !important;
    padding: 10px 8px !important;
  }
}


/* ==========================================================================
   横屏手机（高度很小，竖向空间要省着用）
   ========================================================================== */
@media (max-width: 900px) and (max-height: 480px) and (orientation: landscape) {
  nav.navbar ul.nav-menu {
    max-height: calc(100vh - 52px);
    overflow-y: auto;
  }

  .modal-overlay .modal,
  .modal .modal-content {
    max-height: 94vh !important;
  }
}


/* ==========================================================================
   尊重系统「减弱动态效果」设置
   ========================================================================== */
@media (max-width: 768px) and (prefers-reduced-motion: reduce) {
  nav.navbar ul.nav-menu,
  .pagination-dot::after {
    transition: none !important;
  }
}
