/* ==============================================
   撑伞人 — 移动端一体化适配层 v1（2026-08-10）
   方案：移动端一体化方案 v1（用户已批准）
   原则：纯叠加，桌面 ≥768px 零影响；本文件最后加载
   ============================================== */

/* ----- 字号 Token（全端可用；移动档随屏宽 clamp 平滑缩放） ----- */
:root {
  --fs-title: clamp(18px, 5vw, 22px);    /* 页面/频道标题 */
  --fs-sub:   clamp(16px, 4.2vw, 18px);  /* 卡片标题 */
  --fs-body:  clamp(14px, 3.8vw, 16px);  /* 正文 */
  --fs-small: clamp(12px, 3.2vw, 13px);  /* 次要文字 */
}

/* 防 Android Chrome 中文页字体膨胀（自动放大正文的坑） */
html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* ==============================================
   移动端档 ≤768px（统一规范，覆盖各页零散规则）
   ============================================== */
@media (max-width: 768px) {

  /* 1. 布局基线：16px 边距 + 紧凑区块 + 统一字号 */
  body { font-size: var(--fs-body); line-height: 1.65; }
  section { padding: 24px 16px !important; }        /* v11：40→24 压缩垂直留白（真机反馈：内容太少） */
  .section-header { margin-bottom: 28px; }
  .section-header h2 { font-size: var(--fs-title); letter-spacing: 1.5px; }
  .section-header .sub { font-size: var(--fs-small); }
  h2 { font-size: var(--fs-title) !important; }    /* 压过 responsive.css 的 20px 写死 */
  h3 { font-size: var(--fs-sub) !important; }
  .section-cta { margin-top: 24px; }

  /* 2. 卡片统一：圆角 14px 全家桶 */
  .feat-card, .feed-card, .activity-card, .value-card,
  .timemail-item, .stat-card, .trust-card, .story-card {
    border-radius: 14px;
  }
  /* 8 宫格：紧凑但不拥挤 */
  .feat-card { padding: 18px 14px; }
  .feat-card h3 { font-size: 16px; }
  .feat-card .desc { font-size: 12px; }
  /* 三栏价值卡 → 单列堆叠后间距统一 */
  .value-card { padding: 24px 18px; }
  .value-cards, .timemail-features, .trust-grid, .stats-grid { gap: 14px; }
  .timemail-item { padding: 24px 16px; }
  .stat-card { padding: 18px 12px; }

  /* 3. 横滑卡片：宽度随屏缩放（自动适配所有手机），贴齐 16px 边距 */
  .feed-card, .activity-card { flex-basis: 78vw; max-width: 78vw; }
  .feed-scroll, .activity-scroll { gap: 12px; }

  /* 4. 触摸目标 ≥44px（拇指友好） */
  .section-cta a { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
  .nav-hamburger {
    width: 44px; height: 44px;
    display: flex; align-items: center; justify-content: center;
  }
  .nav-brand { min-height: 44px; display: inline-flex; align-items: center; }

  /* 非首页：汉堡做成浮动图标（导航栏透明，汉堡悬浮右上角） */
  body:not(.page-home) .nav-brand { display: none; }
  body:not(.page-home) .nav-auth { display: none; }
  body:not(.page-home) .nav,
  body:not(.page-home) .nav.scrolled {
    background: transparent;
    box-shadow: none;
    border-bottom: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
  body:not(.page-home) .nav-hamburger {
    position: fixed;
    top: 12px;
    right: 12px;
    z-index: 150;
    border-radius: 50%;
    background: rgba(255,255,255,0.35);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow: 0 2px 8px rgba(0,0,0,0.10);
  }

  /* 5. flex 子项防撑破（min-width:auto 默认值会被 JS 渲染的
        宽内容（表格/自测面板）撑爆容器 → 页面横滚 + fixed nav 连带变宽。
        jieyou.html 2026-08-10 实测 scrollWidth=459） */
  .jy-main, .hw-main, .sl-main, .tm-main, .pf-main,
  #panel-self-test, #panel-practice, #panel-crisis, #panel-diary { min-width: 0; }

  /* 6. 波2 批量：各频道页特有触摸目标（2026-08-10 侦察修复）
         半暖：卡片用户链接 40px/三点点菜单 26×18/引导弹窗按钮 23px
         星光：banner 关闭按钮 21×29
         解忧：横滑 tab 38px
         时光信：写按钮 40px
         登录/注册：密码可见切换 38×38
         recruit：nav-auth 个人中心 23px */
  .hw-card-user-link, .hw-card-more, #btnGotIt,
  .close-banner, .jy-mobile-tabs a, .tm-write-btn,
  .pwd-toggle, #navbar .nav-auth a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
  }
  .hw-card-more, .close-banner, .pwd-toggle, .th-card-more {
    min-width: 44px;
    justify-content: center;
  }
  /* 树洞：三点点菜单注释标 44px 热区但实现 40px → 修正 */
  .th-card-more { width: 44px; height: 44px; }
  /* 树洞危机入口行内链接（情绪危急场景，扩大点击区；14px=与 hover:none 档一致，实测 12px 只有 41px） */
  .th-comply a { padding: 14px 4px; }
  /* 旧物详情返回链接（波3 detail 页适配，21px 高过小） */
  .star-back { min-height: 44px; display: inline-flex; align-items: center; }
  /* pwd-toggle 38→44px 后，密码输入框右缘留白跟着扩（防按钮压文字） */
  .pwd-wrap .auth-field { padding-right: 34px; }
  /* 登录/注册切换行内链接（点击区变大，视觉不变） */
  .auth-card .switch a, .auth-card p a {
    padding: 14px 4px;
    display: inline-flex;
    align-items: center;
    min-height: 44px;
  }
  /* v12 回归修复：.btn-sm 35px（半暖每周话题 CTA，halfwarm/index.html:74 行内样式
     padding:8px 18px；父链匿名 DIV，.hw-card-extra 作用域选不中 → 裸类名全局补高）
     与解忧侧边菜单 .jy-side a 41px（≤768 下 jy-side 隐藏，规则无效果，834 触摸态生效） */
  .btn-sm {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  .jy-side a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
  }

  /* 7. iPhone 底部安全区（PWA standalone 底部横条） */
  .site-footer { padding-bottom: max(20px, env(safe-area-inset-bottom)); }

  /* 6. 手机无 hover：清掉残废悬停交互（按压反馈交给 touch） */
  .feat-card:hover, .feed-card:hover, .activity-card:hover,
  .value-card:hover, .timemail-item:hover, .story-card:hover {
    transform: none;
    box-shadow: none;
  }

  /* 7. 移动端禁用 scroll-reveal 入场动画（2026-08-10 实测修复）：
     sections.js 用 IntersectionObserver 加 .visible，零 fallback——
     真机 JS 时序慢/滚动快/老 WebView 不支持时，卡片停在
     opacity:0 + translateY(30px) → 宫格空白或文字错位（"乱套"根因）
     小屏本来就不需要入场动画：直接可见，稳 */
  .feat-card, .story-card, .trust-card, .value-card {
    opacity: 1 !important;
    transform: none !important;
  }
}

/* ==============================================
   底部标签栏（波3 2026-08-10）：微信式五标签，纯叠加
   JS 注入 js/mob-tabbar.js（12 页 </body> 前），
   桌面 ≥769 默认隐藏（边界：桌面零影响）
   ============================================== */
.mob-tabbar {
  display: none; /* 桌面默认隐藏；≤768 才出现 */
}

@media (max-width: 768px) {
  .mob-tabbar {
    display: flex;
    position: fixed;
    left: 0; right: 0; bottom: 0;
    z-index: 450;                       /* nav 100 之上，客服浮球 500 之下 */
    height: calc(56px + env(safe-area-inset-bottom));
    padding-bottom: env(safe-area-inset-bottom);
    background: rgba(255,255,255,0.96);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-top: 1px solid rgba(51,144,236,0.08);
    box-shadow: 0 -4px 24px rgba(51,144,236,0.06);
  }
  .mob-tab {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    min-height: 44px;                   /* 触摸目标 ≥44px */
    color: #6b7280;
    text-decoration: none;
    -webkit-tap-highlight-color: transparent;
  }
  .mob-tab-ico { font-size: 20px; line-height: 1; }
  .mob-tab-txt { font-size: 11px; letter-spacing: 0.3px; }
  .mob-tab.active { color: var(--blue, #3390EC); }
  .mob-tab.active .mob-tab-txt { font-weight: 600; }
  /* 内容防遮挡：底部留出标签栏高度（safe-area 自动叠加） */
  body { padding-bottom: calc(56px + env(safe-area-inset-bottom)); }
}

/* 超小屏 <360px：标签文字缩一号 */
@media (max-width: 360px) {
  .mob-tab-txt { font-size: 10px; }
  .mob-tab-ico { font-size: 18px; }
}

/* ==============================================
   <480px 修复（2026-08-10 实测发现）：
   responsive.css 480 断点把 .feed-scroll 改 overflow-x:visible
   想把信息流改单列，但 .feed-card 的 flex-basis:300px 仍在
   → 卡片横向溢出容器，靠 body overflow-x:hidden 兜底藏住（内容截断隐患）
   修复：恢复横滑容器，配合下方 78vw 卡片宽度（自动适配屏宽）
   ============================================== */
@media (max-width: 480px) {
  .feed-scroll { overflow-x: auto; }
}

/* ==============================================
   超小屏 <360px（iPhone SE 1代 / 老安卓 / 折叠外屏）
   ============================================== */
@media (max-width: 360px) {
  .feat-card { padding: 16px 10px; }
  .feat-card .desc { font-size: 11px; }
  .feed-card, .activity-card { flex-basis: 84vw; max-width: 84vw; }
  .hero-title { font-size: 24px !important; }
  .hero-subtitle { font-size: 13px !important; }
}

/* ==============================================
   769-900px 平板竖屏过渡断点（2026-08-10 实测发现）：
   iPad 竖屏 834/1024 走桌面布局，但 9 个导航项 + 登录/注册
   放不下 → 登录按钮被裁出视口（main.css 只有 768 一个断点）。
   修复：该区间 nav 折叠为汉堡（纯叠加，≤768 与 ≥901 行为不变）
   ============================================== */
@media (min-width: 769px) and (max-width: 900px) {
  .nav-links { display: none; }
  .nav-auth { margin-left: auto; }
  .nav-auth .nav-login,
  .nav-auth .nav-register { display: none; }
  #csrUserBtn img ~ span { display: none; }
  #csrUserBtn > span:nth-of-type(2),
  #csrUserBtn > span:nth-of-type(3) { display: none; }
  .nav-hamburger { display: flex; }
}

/* ==============================================
   901-1199px 桌面导航「收边」（2026-09-12 实测立）

   上一条把 769~900 折成汉堡；901 以上则既不折、也不收边，
   于是这一段一直在硬挤。实测（probe_navfinal.js，字体拦死保证可复现）：

     messages.html  901px  内容 1016.5  溢出 +96、「注册」被挤出屏 96px、知伞压到 32.6（满宽 58）
     messages.html 1000px  不溢出了，但知伞仍被压到 32.6
     messages.html 1100px  知伞被压到 39.2
     messages.html 1199px  才终于舒展
     index.html     901px  内容  996.5  溢出 +112、知伞压到 32.6

   为什么挤 —— 导航宽度是**刚性**的：.nav-links 733.5px（8 项 + gap 28px，
   其中 256px 是 .nav-item 的左右 padding，合计占 43%），flex 压不动它，
   真放不下时被牺牲的是 .nav-brand-text 与 .nav-auth。

   修法 = 收掉「边框」，而不是把菜单折起来：
     .nav padding 左右仍留 16（不贴边）、.nav-item 水平 padding 16→7、
     .nav-links gap 4→2，再略收 .nav-auth 一侧的按钮 padding。合计省约 198px。

   实测结果（messages.html，最坏页）：
     901px  内容 859.5  余量 +41.5  知伞 58 满宽  登录单行
     1199px 内容 923.5  余量 +275.5
   index.html 901px 余量 +61.5。
   1200px 以上一个字节都不动 —— 那里本来够宽。

   ★ 媒体查询按「含滚动条的视口宽」匹配，而排版按 clientWidth 走。Windows 经典滚动条
     约吃 15px；最窄处 41.5 − 15 = 26.5px 仍为正，故安全。
   ============================================== */
@media (min-width: 901px) and (max-width: 1199px) {
  .nav { padding: 0 16px; }
  .nav-links { gap: 2px; }
  .nav-item { padding: 8px 7px; }
  .nav-auth { gap: 8px; }
  .nav-login { padding: 6px 12px; }
  .nav-register { padding: 8px 14px; }
}

/* ==============================================
   触摸设备专属（防 hover 残废的纯 CSS 版本，
   不依赖 JS；带触摸的混合设备也能命中）
   ============================================== */
@media (hover: none) and (pointer: coarse) {
  .feat-card:hover, .feed-card:hover, .activity-card:hover,
  .value-card:hover, .timemail-item:hover, .story-card:hover {
    transform: none !important;
    box-shadow: none !important;
  }
  /* 触摸目标 ≥44px：iPad 竖屏 768/834 也达标（断点只管布局，触摸管触摸） */
  .section-cta a { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
  .nav-hamburger { width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; }
  /* 波2 页面特有触摸类同步到触摸设备档（834 iPad 桌面布局下也达标） */
  .hw-card-user-link, .hw-card-more, #btnGotIt,
  .close-banner, .jy-mobile-tabs a, .tm-write-btn,
  .pwd-toggle, #navbar .nav-auth a, .th-card-more {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
  }
  .hw-card-more, .close-banner, .pwd-toggle, .th-card-more {
    min-width: 44px;
    justify-content: center;
  }
  .th-comply a { padding: 14px 4px; }
  .star-back { min-height: 44px; display: inline-flex; align-items: center; }
  .pwd-wrap .auth-field { padding-right: 34px; }
  .auth-card .switch a, .auth-card p a {
    padding: 14px 4px;
    display: inline-flex;
    align-items: center;
    min-height: 44px;
  }
  /* v12：.btn-sm（半暖话题 CTA 等）/ 解忧 834 侧边菜单（触摸平板 41→44px） */
  .btn-sm {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  .jy-side a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
  }
}

/* ==============================================
   波4 真机反馈优化（v11 2026-08-10）：五个板块"只见占位不见内容"
   ============================================== */

/* ── 1. 首页信息密度：hero 100svh → 58vh，首屏露出 2-3 个区块 ── */
@media (max-width: 768px) {
  .hero-banner {
    height: 58vh;
    aspect-ratio: auto;
    min-height: 58vh;   /* 压过 main.css 的 620px/9:16/100svh 三连 */
  }
  .hero-content { padding-bottom: 28px; }
  .hero-title { font-size: 22px !important; }
  .hero-subtitle { font-size: 13px !important; }
  .section-header { margin-bottom: 18px; }
}

/* ── 2. 树洞 hero 压缩：图 100→56px、文字行高 1.9→1.55（~300px → ~150px） ── */
@media (max-width: 768px) {
  .th-hero { margin: -60px auto 12px; }
  .th-hero-block { gap: 10px; }
  .th-hero-img { width: 56px; }
  .th-hero-text p { font-size: 12px; line-height: 1.55; margin-bottom: 4px; }
  .th-hero-text p:last-child { margin-bottom: 0; }
  .th-hero-actions { margin-top: 12px; }
}

/* ── 3+4. 半暖/旧物 筛选区：纵向多行 → 单行横滑（select 收紧 + 触屏惯性） ── */
@media (max-width: 768px) {
  .hw-filters, .star-filters {
    display: flex;
    flex-direction: row;            /* 压过 halfwarm.css 231 的 column（竖排占屏根因） */
    flex-wrap: nowrap;
    gap: 6px;
    overflow-x: auto;
    padding-bottom: 6px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .hw-filters::-webkit-scrollbar, .star-filters::-webkit-scrollbar { display: none; }
  .hw-filters select, .star-filters select {
    flex-shrink: 0;
    font-size: 13px;
    padding: 7px 8px;
  }
}

/* ── 5. 我的 profile：操作按钮换行到底部，昵称/地址独占整行 ── */
@media (max-width: 768px) {
  .sp-head { flex-wrap: wrap; row-gap: 2px; }
  .sp-actions {
    order: 3;
    width: 100%;
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 0;
  }
}

/* ── 4b. 旧物交易警示 toast（全端生效：替代常驻 notice 行，3s 自动关） ── */
.star-notice-toast {
  position: fixed;
  left: 50%;
  bottom: calc(76px + env(safe-area-inset-bottom));
  transform: translateX(-50%) translateY(16px);
  background: rgba(13, 17, 23, 0.92);
  color: #fff;
  font-size: 13px;
  line-height: 1.6;
  padding: 12px 16px;
  border-radius: 12px;
  max-width: calc(100vw - 48px);
  opacity: 0;
  pointer-events: none;
  z-index: 460;                       /* tabbar 450 之上，客服浮球 500 之下 */
  transition: opacity 320ms, transform 320ms;
}
.star-notice-toast.show { opacity: 1; transform: translateX(-50%) translateY(0); }
/* 桌面无 tabbar：toast 沉底更自然 */
@media (min-width: 769px) {
  .star-notice-toast { bottom: 24px; }
}

/* ==============================================
   v14：mascot 遮挡修复（2026-08-10 用户"SOS 找不到"根因）
   mascot #mascotMount = fixed 右下 z-900（mascot.js 注入 bottom:14px），实测盖住：
     ① tabbar 右侧"🎁旧物/👤我的"两标签（命中测试 = DIV.mascot-anim，全站导航失效）
     ② 树洞底部 SOS 横幅右侧"点击查看危机紧急资源"（点击命中 mascot 不跳转）
   修复 = ①mascot 抬升到 tabbar 之上（!important 压过 JS 注入 style）
           ②横幅右侧留 150px 给 mascot（文字缩左侧完整可读可点）
   ============================================== */
@media (max-width: 768px) {
  #mascotMount {
    bottom: calc(64px + env(safe-area-inset-bottom)) !important;
  }
}
/* 注：树洞 SOS 横幅已于 2026-08-10 按用户指令移除（square.html），
   .page-treehole 专用抬升规则随横幅一起删除，mascot 恢复 64px 常态 */

/* ==============================================
   v16b：PWA 安装提示横幅压 tabbar（2026-08-10 CDP 命中测试发现）
   index.html 内联（beforeinstallprompt 后 3s 注入）：fixed bottom:20px
   z-index:999 全宽蓝色横幅"📱 添加到手机桌面" + 按钮 + ✕
   实测 rect 16,743 358x82 → 盖住 tabbar(788-844)上 37px + mascot 下截
   修复 = ①横幅抬到 tabbar 之上（84 = tabbar56 + 28 间隙）
          ②横幅存在期间 mascot 一并抬到横幅之上（body:has 联动，
            统一抬 230px 与树洞规则同值——实测树洞页同样注入横幅，
            230 同时避开 SOS 横幅顶 634 / PWA 横幅顶 678，两规则不打架；
            不支持 :has 的老 WebView 降级=横幅盖 mascot，点 ✕ 即恢复，无害）
   选择器坑：必须写 "z-index: 999;" 带分号——auth-check.js:4 全站注入
   display:none 调试条 z-index:99999（子串 "z-index: 999" 会误匹配，
   曾把全站 mascot 错抬 230）；带分号后 99999 不匹配
   PWA A 层源码零改动（纯叠加，秒级回滚）
   ============================================== */
@media (max-width: 768px) {
  div[style*="z-index: 999;"] {
    bottom: calc(84px + env(safe-area-inset-bottom)) !important;
  }
  body:has(div[style*="z-index: 999;"]) #mascotMount {
    bottom: calc(230px + env(safe-area-inset-bottom)) !important;
  }
}

/* ==============================================
   v21：树洞发帖弹窗触摸达标 + 小屏滚动（2026-08-10 考古侦察）
   square.html 自带 ≤600px 适配块是"缩小派"（tag-btn 13px→12px
   padding 6px 14px），实测 390x844 弹窗控件全线 <44px：
     情绪标签 54x31 / 主按钮 112x40 / 取消 74x42 / 危机链接 340x40
     附件 115x43 / 延时 110x39 / checkbox 16x16
   且 .th-post-panel max-height:95vh + overflow:hidden → 内容超长截断
   不可达（320x568 小屏下半截全灭）。修复 = 显式重设全部 affected
   属性（覆盖通道纪律）：min-height:44 全控件 + body 变滚动区
   （flex 子项必须 min-height:0 才能缩）+ dvh 动态视口兜底 vh。
   注：checkbox 视觉保持 16px（全球惯例），热区靠容器 44px 行高。
   ============================================== */
@media (max-width: 768px) {
  .th-post-panel {
    max-height: 60vh;               /* 2026-08-11 终局:用户"居中肯定更好,但是需要更小一点",72vh→60vh(滚动区继续兜底小屏) */
    max-height: calc(60dvh - 24px);
  }
  .th-post-body {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
  .th-post-tag-btn {
    padding: 10px 14px;
    font-size: 13px;
    min-height: 44px;
    min-width: 54px;
  }
  .th-post-submit,
  .th-post-cancel {
    min-height: 44px;
  }
  .th-post-crisis-link {
    min-height: 44px;
    display: flex;
    align-items: center;
  }
  .th-post-upload-btn,
  .th-post-delay-time {
    min-height: 44px;
  }
  .th-post-delay-row {
    min-height: 44px;
    align-items: center;
  }
  .th-post-delay-row label,
  .th-post-agree {
    min-height: 44px;
    align-items: center;
    display: inline-flex;
  }
}

/* ==============================================
   v22：树洞首屏三处整形（2026-08-10 用户拍板，仅移动端）
   ①hero 图从上方独占一行 → 移到简介左侧（图 56px 左 + 文字右，row）
   ②打开倾诉/匿名提问 缩小并排成一行（390 下实测 168+164 挤，
     360 窄屏必换行 → 各缩到 ~120 宽，≤360 也放得下）
   ③搜索 column 两行 → input 缩短 + 按钮右侧同一行
   square.html 自带 ≤600px 块是 column 堆叠（图上行/搜索两行）→
   反翻转 + 显式重设全部 affected 属性（覆盖通道纪律）
   ============================================== */
/* ==============================================
   v25：匿名提问 ask 板块移动端适配（2026-08-10 用户"现在做匿名提问板块"）
   根因修复=auth-check.js PUBLIC_PAGES 漏配 ask（游客点"匿名提问"被踢 login，
   后端 4 读端点早已放行 200 / 写 401 兜底已就绪）→ 白名单加
   '/ask.html','/ask-detail.html'（auth-check.js expires 0 即时生效无版本参数）
   ask.css 底子健康（dialog 88vh+overflow 滚动 / submit 48 / publish-btn 44），
   仅 5 处小目标补 44：close 40 / 弹窗危机链 17 / 卡片⋯ 30x22 / 回复 50x32 /
   详情页危机横幅 40。ask.html+ask-detail.html 注入 mobile.css+tabbar（16 页）。
   ============================================== */
@media (max-width: 768px) {
  /* 弹窗关闭按钮 40 → 44 */
  .ask-dialog-close {
    width: 44px;
    height: 44px;
  }
  /* 全站危机链接热区兜底（弹窗底部/详情页横幅/敏感词弹窗，只扩不缩） */
  a[href*="panel=crisis"] {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
  }
  /* 卡片 ⋯ 菜单 30x22 → 44 热区 */
  .ask-card-more {
    min-width: 44px;
    min-height: 44px;
  }
  /* 详情页回复按钮 50x32 → 44 */
  .ask-a-reply {
    min-height: 44px;
  }
}

/* ==============================================
   v22：树洞首屏三处整形（2026-08-10 用户拍板，仅移动端）
   ①hero 图从上方独占一行 → 移到简介左侧（图 56px 左 + 文字右，row）
   ②打开倾诉/匿名提问 缩小并排成一行（390 下实测 168+164 挤，
     360 窄屏必换行 → 各缩到 ~120 宽，≤360 也放得下）
   ③搜索 column 两行 → input 缩短 + 按钮右侧同一行
   square.html 自带 ≤600px 块是 column 堆叠（图上行/搜索两行）→
   反翻转 + 显式重设全部 affected 属性（覆盖通道纪律）
   ============================================== */
@media (max-width: 768px) {
  /* ① hero：图左文右 */
  .th-hero-block {
    flex-direction: row;
    align-items: center;
    gap: 14px;
    text-align: left;
  }
  .th-hero-img {
    width: 140px;
    margin: 0;
    flex-shrink: 0;
    transform: translateY(10px);
  }
  .th-hero-text {
    padding-right: 44px;
    transform: translateY(10px);
  }
  .th-hero-text p {
    text-align: left;
  }

  /* ② 按钮并排缩小（.th-comply 提示行强制整行不参与并排） */
  .th-hero-actions {
    display: flex;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
  }
  .th-comply {
    flex-basis: 100%;
  }
  .btn-post,
  .btn-post-ask {
    padding: 8px 14px;
    font-size: 14px;
    min-height: 44px;
    margin: 0;
  }

  /* ③ 搜索一行：input 缩短 + 按钮右侧 */
  .th-search {
    flex-direction: row;
    align-items: center;
    gap: 8px;
    padding: 0 16px;
  }
  .th-search input {
    flex: 1;
    min-width: 0;
    width: auto;
  }
  .th-search button {
    flex-shrink: 0;
    align-self: auto;
    width: auto;
    max-width: none;
  }
}

/* ===== v26 匿名提问：hero 一体模块压缩 + 回树洞按钮移动端 ===== */
@media (max-width: 768px) {
  /* ① hero 压缩：标题 24→20、内距收窄、提示行并入卡内 */
  /* v31 再收：内容不变，卡片占位缩小（内距 10/12/10 + 提示行距 1.4） */
  .ask-hero { padding: 10px 12px 10px; }
  .ask-hero h1 { font-size: 20px; margin: 0 0 2px; }
  .ask-hero p { font-size: 13px; line-height: 1.5; }
  .ask-hero-disclaimer { margin-top: 6px; padding-top: 6px; font-size: 12px; line-height: 1.4; }
  /* ② 移动端水印直接隐藏：紧凑卡片无装饰空间，且避免真机行高差异下的任何遮挡 */
  .ask-hero::after { display: none; }
  /* ④ 详情页双返回链接同行，超窄屏自动换行 */
  .ask-detail-head { flex-wrap: wrap; }
}
