/* =====================================================================
   Flow OS · Responsive（适配各端 · Apple 触控规范）
   ===================================================================== */
@media (max-width: 768px) {
  :root { --sidebar-w: 0px; }

  #sidebar {
    position:absolute; left:0; top:0; bottom:0; transform:translateX(-100%);
    width:268px; padding-top:env(safe-area-inset-top); padding-bottom:env(safe-area-inset-bottom);
    box-shadow: var(--shadow-lg);
  }
  #sidebar.open { transform:translateX(0); }

  #topBar { padding:env(safe-area-inset-top) 14px 0; height:calc(52px + env(safe-area-inset-top)); }
  #menuToggle { display:inline-flex !important; }

  #moduleContainer { padding:14px; padding-bottom:calc(14px + env(safe-area-inset-bottom)); }
  .lock-card { padding:36px 24px 28px; }

  .modal {
    padding:18px; border-radius:var(--radius-xl);
    padding-top:calc(18px + env(safe-area-inset-top));
    padding-bottom:calc(18px + env(safe-area-inset-bottom));
    max-height:calc(92dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom));
    max-width:94vw !important;
  }
  .modal-overlay { padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left); }

  /* 首页两块：窄屏单列堆叠 */
  .brain-grid { grid-template-columns:1fr; }
  .brain-grid > .brain-card { padding:14px; }

  /* 首页：AI 快捷入口 + 天气卡片在窄屏适配 */
  .brain-header { align-items:flex-start; }
  .brain-ai-btn { margin-top:4px; padding:9px 14px; font-size:var(--fs-1); }
  .brain-weather-icon { font-size:2.2rem; }
  .brain-weather-temp { font-size:1.7rem; }

  /* 列表行内操作：放大点按区（≥38px，兼顾触控与紧凑） */
  .daily-act, .inbox-act, .plan-act, .journal-del, .daily-del, .tm-del-btn,
  .habit-menu-dropdown .menu-item, .mm-collapse-btn,
  .task-check, .task-status, .habit-day, .habit-status-btn, .pwd-item .btn-sm,
  .inbox-conv, .journal-star, .bz-edit {
    min-width:38px; min-height:38px; display:inline-flex; align-items:center; justify-content:center;
  }
  /* 勾选圈居中勾选标记 */
  .task-item-done .task-check::after { left:6px; top:1px; width:5px; height:10px; border-width:0 2px 2px 0; }

  /* 通用：放大点按目标 / 防横向溢出 */
  .nav-item { padding:13px 14px; }
  .glass-card { padding:14px; }
  .form-row { grid-template-columns:1fr; }
  .timer-top-grid, .timer-bottom-grid { grid-template-columns:1fr; }
  .time-filter-group { flex-wrap:wrap; }
  .filter-chip { padding:5px 12px; font-size:.78rem; }

  /* 输入框：移动端放大、可纵向拉长、恢复全宽（覆盖桌面 600px 限宽） */
  .form-input { min-height:46px; font-size:1rem; }
  textarea.form-input { min-height:96px; resize:none; overflow:hidden; line-height:1.55; }
  .journal-compose .form-input, .journal-title-input, .journal-content,
  .inbox-capture .inbox-quick, .inbox-capture .inbox-tags,
  .daily-topgoal-input .form-input, .daily-task-input .form-input, .daily-search input,
  .task-top-row .form-input, .task-top-chips .task-search,
  .weekly-field .form-textarea, .form-row .form-input, .form-row .form-select,
  .bz-quickadd-input { max-width:100%; }

  /* 快速捕捉：输入 + 操作按钮保持单行紧凑排列 */
  .bz-quickadd, .daily-topgoal-input, .task-top-row { flex-direction:row; align-items:center; }
  .bz-quickadd .btn-sm, .daily-topgoal-input .btn-sm, .task-top-row .btn-sm { width:auto; flex:0 0 auto; min-width:38px; min-height:38px; }

  /* 计划区块标题换行不挤压 */
  .daily-section-head { flex-wrap:wrap; gap:8px; }
  .daily-section-head h3 { flex:1 1 auto; min-width:0; }
  .daily-section-head .btn-sm { flex:0 0 auto; }

  .daily-task-input { flex-wrap:wrap; }
  .daily-task-input .form-input { flex:1; min-width:160px; }
  .daily-task-input .form-select { flex:0 0 auto; min-width:72px; }
  .daily-task-input .btn-sm { flex:0 0 auto; min-width:38px; min-height:38px; }

  .daily-header-right { width:100%; justify-content:flex-start; gap:14px; margin-top:4px; }

  /* 笔记：移动端仅显示目录列表（占满），点击条目/新建弹窗编辑；隐藏内联编辑器 */
  .note-layout { flex-direction:column; height:calc(100dvh - 120px) !important; max-height:calc(100dvh - 120px); }
  .note-sidebar { width:100%; border-right:none; border-bottom:none; flex:1 1 auto; display:flex; flex-direction:column; overflow:hidden; }
  .note-sidebar #noteList { flex:1; min-height:0; overflow-y:auto; -webkit-overflow-scrolling:touch; overscroll-behavior:contain; }
  .note-editor { display:none !important; }

  /* 日历：移动端右侧面板堆叠占满宽度 */
  #mod-calendar > div { flex-direction:column; }
  #mod-calendar > div > div { width:100% !important; min-width:0 !important; }
  .fc-cell { min-height:60px; }

  /* 计时器 */
  #timerRecordsScroll { max-height:300px; }
  #timerRecordsScroll table { min-width:360px; }
  .timer-digit { font-size:3rem; }

  /* 密码：移动端可滚动到底部（含安全区）；字段紧凑纵排、整行铺满、按钮不独占空行 */
  .pwd-item { flex-direction:column; align-items:stretch; gap:8px; }
  .pwd-meta { min-width:0 !important; display:flex; align-items:baseline; gap:8px; flex-wrap:wrap; }
  .pwd-field { width:100%; flex:0 1 auto; gap:8px; }
  .pwd-field .pwd-value { flex:1; min-width:0; }
  .pwd-field .btn-sm { flex:0 0 auto; }
  .pwd-item > div:last-child { width:100%; justify-content:flex-end; }
  .pwd-item > div:last-child .btn-sm { flex:0 0 auto !important; width:auto !important; min-width:40px !important; min-height:36px !important; max-width:none !important; padding:4px 11px !important; font-size:.82rem !important; }

  /* Mindmap */
  #mod-mindmap { height:calc(100dvh - 100px); }
  #mod-mindmap .mm-toolbar { gap:2px; padding:6px 8px; }
  #mod-mindmap .mm-toolbar-btn { width:34px; height:34px; }
  #mod-mindmap .mm-toolbar-btn.has-text { width:auto; height:34px; padding:0 10px; }
  #mod-mindmap .mm-search-box { max-width:100px; margin:0 4px; }
  #mod-mindmap .mm-search-box input { padding:0 28px 0 32px; font-size:12px; }

  /* 侧边栏折叠按钮在移动端隐藏（用抽屉交互） */
  .sidebar-collapse-btn { display:none !important; }
}

@media (max-width: 480px) {
  .timer-digit { font-size:2.5rem; }
  .fc-cell { min-height:48px; }
  .habit-day { font-size:.65rem; }
  .habit-status-btn { padding:4px 9px; font-size:.68rem; }
  .habit-card { padding:12px 10px 10px; border-radius:var(--radius); margin-bottom:8px; }
  .habit-stat-card { padding:8px 2px; }
  .habit-stat-card .stat-value { font-size:.95rem; }
  .habit-stat-card .stat-label { font-size:.55rem; }
  .lock-title { font-size:1.3rem; }
  .brain-draw { display:none; }
  .lock-icon-wrap { width:60px; height:60px; }
  #globalSyncStatus { font-size:.66rem; padding:3px 7px; }
  .glass-card { padding:12px; border-radius:var(--radius); }
  #moduleContainer { padding:10px 10px calc(10px + env(safe-area-inset-bottom)); }
  .modal { max-width:95vw !important; }
  .form-input { font-size:.88rem; }
  .btn { font-size:.82rem; padding:8px 14px; min-height:38px; }
  .btn-sm { font-size:.74rem; }
  .note-title-input { font-size:1rem; }
  .note-content-area { font-size:.9rem; }
}

/* ===== 顶栏移动端：保持「菜单+标题 / 搜索 / 日期」结构不变，仅等比缩小，防止搜索框被挤成圆形 ===== */
@media (max-width: 768px) {
  #topBar { gap:8px; }
  #topBar > div:first-child { gap:8px; min-width:0; }
  #pageTitle { font-size:.92rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; min-width:0; }

  /* 计划看板：心情/精力表情始终单行，被挤时横向滚动而非换行成两排 */
  .daily-mood-pick { flex-wrap:nowrap; overflow-x:auto; padding-bottom:2px; -webkit-overflow-scrolling:touch; }
  .daily-mood-btn { width:32px; height:32px; font-size:1.05rem; }
  .daily-energy-inline { flex-wrap:nowrap; }

  /* 列表行操作按钮：移动端缩小，避免遮住任务名称 */
  .daily-item { gap:8px; padding:8px 10px; }
  .daily-act, .plan-act, .daily-del, .journal-del, .tm-del-btn { min-width:38px; min-height:38px; font-size:.78rem; padding:2px 4px; }
  .daily-check, .daily-prio, .plan-check { width:18px; height:18px; }
}

@media (max-width: 480px) {
  #pageTitle { max-width:84px; }
  .top-date { display:none; }
}

/* 大屏（桌面）优化：限制主区内容最大宽度，避免超宽拉伸 */
@media (min-width: 1280px) {
  #moduleContainer { padding:clamp(20px, 2.4vw, 40px) clamp(24px, 2.6vw, 44px); }
}

/* =====================================================================
   移动端专项微调（覆盖前述规则，置于文件末尾）
   ===================================================================== */

/* 1) 左侧导航：抽屉收起（折叠）后不再残留阴影带；仅展开态保留抽屉阴影 */
@media (max-width: 768px) {
  #sidebar { box-shadow: none !important; }
  #sidebar.open { box-shadow: var(--shadow-lg) !important; }
}

/* 2) 思维导图：收缩/展开按钮在移动端缩小；关闭按钮加大点按区。
   用 !important 强制覆盖基础尺寸（与导航阴影/计时器的修复同策略），
   避免任何层叠上下文/特异性差异导致不生效。 */
@media (max-width: 768px) {
  #mod-mindmap .mm-collapse-btn {
    width: 20px !important; height: 20px !important; min-width: 20px !important; min-height: 20px !important;
    left: -10px !important; font-size: 11px !important; border-width: 1.5px !important;
  }
  #mod-mindmap .mm-panel-close { width: 40px !important; height: 40px !important; font-size: 18px !important; }
}

/* 3) 移动端 · 专注/计时器：放大数字（覆盖原固定的 3rem/2.5rem），收紧英雄框与看板空洞 */
@media (max-width: 768px) {
  .timer-digit { font-size: clamp(4.2rem, 32cqi, 10rem); }
  .timer-box { min-height: auto !important; padding: 22px 16px !important; gap: 14px; }
  #timerTrendChart, #timerPieChart { height: 210px !important; min-height: 190px !important; }
  #mod-timer .glass-card[style*="max-height:450px"] { max-height: 340px !important; }
  #timerRecordsScroll { max-height: 260px !important; }
}
@media (max-width: 480px) {
  .timer-digit { font-size: clamp(3.8rem, 36cqi, 8rem); }
}

/* 2) 移动端顶栏菜单(汉堡)按钮缩小（覆盖移动端 .btn 的 44px 放大，避免顶栏左侧过挤） */
@media (max-width: 768px) {
  #menuToggle { min-width:32px !important; min-height:32px !important; padding:4px 9px !important; font-size:.92rem !important; }
}
@media (max-width: 480px) {
  #menuToggle { min-width:30px !important; min-height:30px !important; padding:3px 8px !important; font-size:.88rem !important; }
}

/* 4) 密码箱：密码方框内的行内按钮（复制 / 显示隐藏）在移动端缩小，避免遮挡账号与密码 */
@media (max-width: 768px) {
  .pwd-field .btn-sm { min-width:30px !important; min-height:30px !important; font-size:.68rem !important; padding:3px 6px !important; }
}

/* 6) 日记：新建区的「添加」与「保存」按钮在移动端缩小，避免过大挤压输入区 */
@media (max-width: 768px) {
  #journalAddTag, #journalSaveBtn {
    min-height:36px !important; padding:8px 18px !important; font-size:.84rem !important;
  }
  #journalAddTag { padding:8px 14px !important; }
}

/* 5) 习惯打卡状态栏：所有按钮（打卡 / 跳过 / 失败 + 更多）移动端缩小 */
@media (max-width: 768px) {
  .habit-status-btn { min-width:32px !important; min-height:32px !important; padding:3px 7px !important; font-size:.7rem !important; }
  .habit-menu-btn { font-size:.95rem !important; padding:2px 6px !important; }
}
@media (max-width: 480px) {
  .habit-status-btn { min-width:28px !important; min-height:28px !important; padding:2px 6px !important; font-size:.66rem !important; }
}
