/* ===== responsive.css ===== */
/* 响应式媒体查询：小屏优化、手机端全面适配≤768px、小屏手机≤380px、≤340px */

/* 响应式：小屏优化 */
  @media (max-width: 380px) {
    h1 { font-size: 22px; letter-spacing: 4px; }
    .qigua-tab { min-width: 64px; padding: 8px 6px; }
    .qigua-tab .tab-title { font-size: 12px; }
    .qigua-tab .tab-desc { font-size: 10px; }
    .qigua-more-btn { min-width: 64px; padding: 8px 6px; }
    .qigua-more-btn .tab-title { font-size: 12px; }
    .qingnang-yao-row { font-size: 11px; gap: 2px; padding: 10px 10px 24px; }
    .qingnang-ganzhi { width: 26px; font-size: 12px; }
    .qingnang-qin { width: 14px; font-size: 13px; }
}

/* ========== 手机端全面适配 (≤768px) ========== */
@media (max-width: 768px) {
  /* 容器与基础布局 */
  .container { padding: 10px 8px; max-width: 100%; }
  body { font-size: 14px; -webkit-text-size-adjust: 100%; }
  h1 { font-size: 22px; margin: 12px 0 4px; }
  .subtitle { font-size: 12px; margin-bottom: 10px; }

  /* 触摸目标最小44px（排除表单输入控件） */
  button, .btn, [data-action], [onclick] {
    min-height: 44px;
    min-width: 44px;
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
  }
  /* 复选框和单选按钮保持原尺寸，不被全局样式影响 */
  input[type="checkbox"], input[type="radio"] {
    min-height: 18px !important;
    min-width: 18px !important;
    width: 18px !important;
    height: 18px !important;
  }

  /* 起卦区域 */
  .qigua-tabs { gap: 6px; }
  .qigua-tab { padding: 10px 6px; min-height: 56px; }
  .qigua-tab .tab-title { font-size: 13px; }
  .qigua-tab .tab-desc { font-size: 10px; }

  /* 工具箱 */
  .toolbox-bar { flex-wrap: wrap; gap: 6px; }
  .toolbox-bar button {
    flex: 1 1 calc(33.333% - 6px);
    min-height: 44px;
    font-size: 12px;
    padding: 8px 4px;
  }

  /* 日期时间选择 */
  .datetime-row { flex-direction: column; gap: 8px; }
  .datetime-row select, .datetime-row input {
    width: 100%;
    min-height: 44px;
    font-size: 15px;
  }

  /* 月日时辰卡片 */
  .info-grid { grid-template-columns: 1fr 1fr; gap: 8px; }
  .info-card { padding: 12px 8px; }
  .info-card .label { font-size: 11px; }
  .info-card .value { font-size: 18px; }
  .info-card .sub { font-size: 11px; }

  /* 铜钱摇卦 */
  .coin-area { gap: 12px; padding: 16px 8px; }
  .coin { width: 56px; height: 56px; font-size: 20px; }
  .coin-actions { gap: 10px; }
  .coin-actions button { min-width: 100px; min-height: 48px; font-size: 15px; }

  /* 排盘结果 */
  .pai-pan-result { padding: 12px 8px; }
  .pai-pan-result .gua-name { font-size: 20px; }
  .pai-pan-result .gua-info { font-size: 12px; }
  .yao-row { padding: 12px 8px; gap: 8px; font-size: 13px; flex-wrap: wrap; align-items: center; }
  .yao-ganzhi { width: 36px; font-size: 14px; flex-shrink: 0; }
  .yao-qin { width: 32px; font-size: 14px; flex-shrink: 0; }
  .yao-wuxing { width: 24px; font-size: 13px; flex-shrink: 0; }
  .yao-wangshuai { font-size: 12px; flex-shrink: 0; margin-right: 4px; }
  .yao-liushen { width: 32px; font-size: 12px; flex-shrink: 0; }
  .yao-wangshuai-bar { height: 6px; flex: 1; min-width: 40px; }

  /* 青囊排盘移动端优化 */
  .qingnang-yao-row {
    gap: 4px !important;
    padding: 12px 8px 26px !important;
    font-size: 13px !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
  }
  .qingnang-qin { width: 18px !important; font-size: 14px !important; }
  .qingnang-ganzhi { width: 32px !important; font-size: 13px !important; }
  .qingnang-wx { width: 16px !important; font-size: 14px !important; }
  .qingnang-wang { width: 16px !important; font-size: 12px !important; }
  .qingnang-gong12 { width: 32px !important; font-size: 11px !important; }
  .qingnang-liushen { width: 28px !important; font-size: 11px !important; }
  .qingnang-yao-area { min-width: 80px !important; flex: 1 !important; }
  /* 爻条保持原始尺寸，不修改 */
  .qingnang-yao-line.yang { width: 70px !important; }
  .qingnang-yao-line.yin { width: 70px !important; gap: 6px !important; }
  .qingnang-section-title { font-size: 13px !important; letter-spacing: 1px !important; }
  /* 动爻标签缩小 */
  .qingnang-yao-tags {
    display: flex;
    gap: 2px;
    margin-top: 2px;
    max-width: 80px !important;
  }
  .qingnang-yao-tags span {
    font-size: 10px !important;
    padding: 1px 4px !important;
    border-radius: 3px !important;
  }

  /* 用神选择 */
  .yongshen-selector { flex-wrap: wrap; gap: 8px; }
  .yongshen-selector label {
    flex: 1 1 calc(50% - 8px);
    min-height: 48px;
    font-size: 13px;
    padding: 10px 8px;
    display: flex;
    align-items: center;
    gap: 8px;
  }
  .yongshen-selector input[type="radio"] {
    min-height: 18px !important;
    min-width: 18px !important;
    width: 18px !important;
    height: 18px !important;
    flex-shrink: 0;
  }

  /* 解读区 */
  .interpret-section { padding: 12px 8px; }
  .interpret-section h4 { font-size: 15px; letter-spacing: 1px; }
  .interpret-section h3 { font-size: 16px; letter-spacing: 1px; }
  .interpret-content { font-size: 13px; line-height: 1.7; }
  .interpret-group-title { font-size: 14px; padding: 8px 4px; letter-spacing: 1px; }
  .qingnang-section-title { letter-spacing: 1px; font-size: 14px; }
  .section-title, .group-title { letter-spacing: 1px; }

  /* 断卦步骤导航 */
  .duanGua-nav {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 8px !important;
    flex-wrap: nowrap !important;
    padding: 10px !important;
  }
  .duanGua-step {
    flex: none !important;
    min-height: 48px !important;
    min-width: 0 !important;
    padding: 8px 6px !important;
    font-size: 14px !important;
    white-space: nowrap !important;
    overflow: visible !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
  }
  .duanGua-step .step-num {
    width: 22px !important;
    height: 22px !important;
    font-size: 12px !important;
    flex-shrink: 0 !important;
  }

  /* 流派按钮 */
  #schoolBar, .school-tabs { flex-wrap: wrap; gap: 6px; }
  .school-tab, .qigua-mini-tab {
    flex: 1 1 calc(33.333% - 6px) !important;
    min-height: 40px !important;
    min-width: 0 !important;
    padding: 8px 4px !important;
    font-size: 13px !important;
    border-radius: 6px !important;
  }
  /* 流派对比按钮 */
  [data-action="toggleSchoolCompare"] {
    flex: 1 1 100% !important;
    min-height: 40px !important;
    font-size: 13px !important;
    padding: 8px 12px !important;
  }

  /* AI设置按钮 */
  .ai-role-chip {
    min-height: 36px !important;
    min-width: auto !important;
    padding: 6px 14px !important;
    font-size: 13px !important;
  }
  .ai-depth-btn {
    min-height: 40px !important;
    min-width: 0 !important;
    padding: 8px 4px !important;
    font-size: 13px !important;
  }
  .ai-role-option {
    min-height: 48px !important;
    padding: 8px !important;
  }
  .ai-role-option .role-name { font-size: 13px !important; }
  .ai-role-option .role-desc { font-size: 11px !important; }

  /* 弹窗适配 */
  .modal-overlay { padding: 8px; align-items: flex-start; }
  .modal-content {
    width: 100%;
    max-width: 100%;
    max-height: 90vh;
    margin: 0;
    border-radius: 12px 12px 0 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
  .modal-header { padding: 12px 14px; position: sticky; top: 0; z-index: 10; }
  .modal-body { padding: 12px 14px; }
  .modal-close { min-width: 44px; min-height: 44px; font-size: 20px; }

  /* 表格横向滚动 */
  .table-wrapper, table {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  table { min-width: 480px; }

  /* 输入框 */
  input[type="text"], input[type="number"], input[type="date"],
  textarea, select {
    font-size: 16px; /* 防止iOS自动缩放 */
    min-height: 44px;
    padding: 10px 12px;
  }
  textarea { min-height: 80px; }

  /* 底部安全区域（iPhone刘海屏） */
  #quickNav { bottom: calc(70px + env(safe-area-inset-bottom)); right: 8px; }
  /* 音效按钮保持在右上角，提高z-index确保不被遮挡 */
  .sound-toggle { position: absolute; top: 12px; right: 16px; bottom: auto; z-index: 999; min-height: 32px !important; min-width: 32px !important; padding: 4px !important; font-size: 18px !important; }

  /* 浮动文字背景减弱，避免干扰阅读 */
  .floating-text-container .floating-char { opacity: 0.04; font-size: 14px; }

  /* 卡片间距 */
  .card { padding: 12px 10px; margin-bottom: 10px; }
  .card-title { font-size: 15px; margin-bottom: 8px; }

  /* 标签按钮 */
  .tag-btn { min-height: 36px; padding: 6px 10px; font-size: 12px; }

  /* 吉凶结论卡 */
  .jixiong-summary { padding: 14px 12px; }
  .jixiong-level { font-size: 24px; }
  .jixiong-detail { font-size: 12px; }

  /* 验证报告表格 */
  .validation-table { font-size: 11px; }
  .validation-table th, .validation-table td { padding: 6px 4px; }

  /* 古籍/歌诀列表 */
  .book-list .book-item { padding: 12px 10px; }
  .book-list .book-title { font-size: 14px; }
  .book-list .book-desc { font-size: 12px; }

  /* ===== 移动端文字清晰度优化 ===== */
  /* 低对比度文字在移动端加深，确保可读性 */
  .text-muted-xs, .text-muted-teal-xs { color: #5a6a66 !important; font-size: 12px !important; }
  /* 辅助文字最小12px，颜色不低于#666 */
  .interpret-section p, .interpret-section div {
    font-size: max(12px, 1em);
  }
  /* 标签文字确保可读 */
  .tag, .tag-btn, .focus-tag {
    font-size: 11px !important;
    padding: 3px 8px !important;
  }

  /* ===== 移动端触摸体验优化 ===== */
  /* 所有可点击元素确保44px触摸区域 */
  .qigua-mini-tab, .school-tab, .ai-depth-btn, .ai-role-chip {
    min-height: 44px !important;
  }
  /* 去除点击高亮 */
  * {
    -webkit-tap-highlight-color: transparent;
    -webkit-touch-callout: none;
  }
  /* 输入框和按钮防止双击缩放 */
  input, select, textarea, button {
    touch-action: manipulation;
  }

  /* ===== 移动端排盘表格优化 ===== */
  .pai-pan-table {
    font-size: 12px;
  }
  .pai-pan-table th, .pai-pan-table td {
    padding: 8px 4px;
    min-width: 40px;
  }
  /* 排盘结果确保不溢出 */
  .pai-pan-result {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  /* ===== 移动端弹窗优化 ===== */
  .modal-content {
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
  }
  .modal-body {
    max-height: calc(90vh - 60px);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  /* ===== 移动端底部导航优化 ===== */
  #quickNav {
    bottom: calc(12px + env(safe-area-inset-bottom));
    right: 12px;
  }
  #quickNav button {
    min-height: 44px;
    min-width: 44px;
  }

  /* 防止横向溢出 */
  * { box-sizing: border-box; }
  img { max-width: 100%; height: auto; }
}

/* 小屏手机 (≤380px) 进一步压缩 */
@media (max-width: 380px) {
  .container { padding: 8px 6px; }
  h1 { font-size: 20px; }
  .toolbox-bar button { flex: 1 1 calc(50% - 6px); font-size: 11px; }
  .yongshen-selector label { flex: 1 1 100%; }
  .info-card .value { font-size: 16px; }
  .yao-row { font-size: 12px; padding: 8px 4px; }
  .coin { width: 48px; height: 48px; font-size: 18px; }
    .qingnang-wx { width: 12px; font-size: 13px; }
    .qingnang-wang { width: 12px; font-size: 11px; }
    .qingnang-gong12 { width: 22px; font-size: 10px; }
    .qingnang-liushen { width: 20px; font-size: 11px; }
    .qingnang-yao-line.yang { width: 70px; }
    .qingnang-yao-line.yin { width: 70px; gap: 6px; }
    .qingnang-shiying { width: 12px; height: 12px; font-size: 8px; }
    .dong-symbol { width: 12px; height: 12px; font-size: 9px; }
    .btn { padding: 8px 16px; font-size: 13px; }
  }
  @media (max-width: 340px) {
    .qingnang-ganzhi { width: 24px; font-size: 10px; }
    .qingnang-wx, .qingnang-wang { width: 10px; font-size: 10px; }
    .qingnang-gong12 { width: 20px; font-size: 9px; }
    .qingnang-liushen { width: 18px; font-size: 10px; }
    .qingnang-yao-line.yang { width: 60px; }
    .qingnang-yao-line.yin { width: 60px; gap: 5px; }
    .qingnang-yao-row { padding: 8px 8px 20px; gap: 1px; }
    .card { padding: 14px 8px; }
  }

/* ===== 移动端深度优化 (≤768px) ===== */
@media (max-width: 768px) {
  /* 1. 所有可点击元素强制44px触摸区域 */
  button, .btn, [data-action], [onclick], .clickable,
  .qigua-tab, .qigua-more-btn, .school-tab, .qigua-mini-tab,
  .ai-depth-btn, .ai-role-chip, .ai-role-option, .tag-btn,
  .toolbox-bar button, .yongshen-selector label,
  .duanGua-step, .step-item, .book-item, .history-item {
    min-height: 44px !important;
    min-width: 44px !important;
    -webkit-tap-highlight-color: transparent !important;
    touch-action: manipulation !important;
  }

  /* 2. 音效按钮增大触摸区域 */
  .sound-toggle {
    min-height: 44px !important;
    min-width: 44px !important;
    padding: 8px !important;
    font-size: 20px !important;
  }

  /* 3. 全局字体优化 */
  body { font-size: 15px !important; line-height: 1.6 !important; }
  p, span, div, li, td, th, label { font-size: max(13px, 1em) !important; }
  .text-muted, .text-muted-xs, .text-muted-teal-xs {
    font-size: 12px !important;
    color: #5a6a66 !important;
  }

  /* 4. 排盘表格优化 */
  .pai-pan-table {
    font-size: 13px !important;
    width: 100% !important;
  }
  .pai-pan-table th, .pai-pan-table td {
    padding: 10px 6px !important;
    min-width: 44px !important;
  }
  .yao-row {
    padding: 12px 8px !important;
    font-size: 14px !important;
    min-height: 48px !important;
  }
  .yao-ganzhi { width: 36px !important; font-size: 14px !important; }
  .yao-qin { width: 32px !important; font-size: 15px !important; }
  .yao-liushen { width: 32px !important; font-size: 12px !important; }

  /* 5. 历史记录优化 */
  .history-item {
    padding: 14px 12px !important;
    min-height: 60px !important;
  }
  .history-item .gua-title { font-size: 15px !important; }
  .history-item .gua-meta { font-size: 12px !important; }

  /* 6. AI设置优化 */
  .ai-setting-group {
    padding: 14px 12px !important;
    margin-bottom: 12px !important;
  }
  .ai-setting-group label {
    font-size: 14px !important;
    min-height: 44px !important;
    display: flex !important;
    align-items: center !important;
  }
  .ai-setting-group select,
  .ai-setting-group input {
    font-size: 15px !important;
    min-height: 44px !important;
  }

  /* 7. 真太阳时城市选择优化 */
  .city-selector {
    font-size: 15px !important;
    min-height: 44px !important;
  }
  .city-search-input {
    font-size: 15px !important;
    min-height: 44px !important;
  }
  .city-list-item {
    padding: 12px 14px !important;
    min-height: 48px !important;
    font-size: 14px !important;
  }

  /* 8. 断卦步骤引导优化 */
  .step-item {
    padding: 14px 12px !important;
    margin-bottom: 8px !important;
  }
  .step-item .step-title {
    font-size: 15px !important;
    min-height: 44px !important;
    display: flex !important;
    align-items: center !important;
  }
  .step-detail {
    padding: 12px !important;
    font-size: 13px !important;
    line-height: 1.7 !important;
  }

  /* 9. 底部导航优化 */
  #quickNav {
    bottom: calc(16px + env(safe-area-inset-bottom)) !important;
    right: 12px !important;
  }
  #quickNav button {
    min-height: 48px !important;
    min-width: 48px !important;
    font-size: 18px !important;
  }

  /* 10. 弹窗内容优化 */
  .modal-content {
    border-radius: 16px 16px 0 0 !important;
    max-height: 92vh !important;
  }
  .modal-header {
    padding: 16px !important;
    min-height: 56px !important;
  }
  .modal-header h3 {
    font-size: 17px !important;
  }
  .modal-close {
    min-height: 44px !important;
    min-width: 44px !important;
    font-size: 22px !important;
  }
  .modal-body {
    padding: 16px !important;
    font-size: 14px !important;
    line-height: 1.7 !important;
  }

  /* 11. 输入框和选择框优化 */
  input, select, textarea {
    font-size: 16px !important;
    min-height: 44px !important;
    padding: 10px 12px !important;
  }
  textarea {
    min-height: 100px !important;
    line-height: 1.6 !important;
  }

  /* 12. 卡片间距优化 */
  .card {
    padding: 16px 14px !important;
    margin-bottom: 12px !important;
    border-radius: 12px !important;
  }
  .card-title {
    font-size: 16px !important;
    margin-bottom: 12px !important;
    padding-bottom: 10px !important;
  }

  /* 13. 按钮通用优化 */
  .btn-primary, .btn-secondary, .btn-danger {
    min-height: 48px !important;
    font-size: 15px !important;
    padding: 12px 20px !important;
    border-radius: 8px !important;
  }

  /* 14. 标签和徽章优化 */
  .tag, .badge {
    font-size: 12px !important;
    padding: 4px 10px !important;
    border-radius: 4px !important;
  }

  /* 15. 表格优化 */
  table {
    font-size: 13px !important;
  }
  th, td {
    padding: 10px 8px !important;
  }

  /* 16. 防止文字溢出 */
  .gua-name, .gua-info, .interpret-title {
    word-break: break-word !important;
    overflow-wrap: break-word !important;
  }

  /* 17. 用神选择器优化 */
  .yongshen-selector {
    gap: 8px !important;
  }
  .yongshen-selector label {
    padding: 10px 8px !important;
    font-size: 13px !important;
    border-radius: 8px !important;
  }

  /* 18. 流派标签优化 */
  .school-tab, .qigua-mini-tab {
    padding: 10px 8px !important;
    font-size: 13px !important;
    border-radius: 8px !important;
  }

  /* 19. 工具箱按钮优化 */
  .toolbox-bar {
    gap: 8px !important;
  }
  .toolbox-bar button {
    padding: 10px 8px !important;
    font-size: 12px !important;
    border-radius: 8px !important;
  }

  /* 20. 吉凶结论卡优化 */
  .jixiong-summary {
    padding: 18px 16px !important;
    border-radius: 12px !important;
  }
  .jixiong-level {
    font-size: 28px !important;
    margin-bottom: 8px !important;
  }
  .jixiong-detail {
    font-size: 14px !important;
    line-height: 1.7 !important;
  }
}

/* ===== 超小屏手机 (≤360px) 额外优化 ===== */
@media (max-width: 360px) {
  body { font-size: 14px !important; }
  .container { padding: 8px 6px !important; }
  .card { padding: 12px 10px !important; }
  .pai-pan-table { font-size: 12px !important; }
  .yao-row { font-size: 13px !important; padding: 10px 6px !important; }
  .toolbox-bar button { flex: 1 1 calc(50% - 8px) !important; }
  .school-tab, .qigua-mini-tab { flex: 1 1 calc(50% - 8px) !important; }
  .yongshen-selector label { flex: 1 1 calc(50% - 8px) !important; }
}
