/* ============================================================
   响应式断点 — 整合
   360 / 430 / 640 / 768 / 1024 / 1280 / 1920
   ============================================================ */

/* 宽屏：拉宽 maxw */
@media (min-width: 1920px) {
  :root { --maxw: 1400px; }
}

/* 笔记本：略缩 hero 标题上限、缩 section padding */
@media (max-width: 1280px) {
  .hero-title { font-size: clamp(44px, 8vw, 96px); }
  section { padding: clamp(72px, 10vh, 120px) var(--gutter); }
}

/* 平板横屏 / 大平板：hero 单列（头像在上） */
@media (max-width: 1024px) {
  .hero-grid { grid-template-columns: 1fr; gap: 40px; }
  .hero-visual { order: -1; margin-bottom: 20px; }

  .projects-grid { grid-template-columns: repeat(2, 1fr); }
}

/* 平板竖屏：汉堡菜单启用、about/projects 单列 */
@media (max-width: 768px) {
  .nav-links { display: none; }
  .nav-menu-toggle { display: grid; }

  .about-grid { grid-template-columns: 1fr; gap: 32px; }
  .about-aside { position: static; order: 2; }
  .about-prose { order: 1; }

  .projects-grid { grid-template-columns: 1fr; }

  section { padding: clamp(56px, 8vh, 100px) var(--gutter); }

  .gh-wrap { padding: 24px; margin-top: 40px; }

  .commits-feed { padding: 20px 22px; }
  .commits-row {
    grid-template-columns: auto 1fr;
    grid-template-areas: 'sha time' 'msg msg' 'repo repo';
    gap: 6px 14px;
    padding: 14px 8px;
  }
  .commits-sha { grid-area: sha; }
  .commits-time { grid-area: time; justify-self: end; }
  .commits-msg { grid-area: msg; white-space: normal; }
  .commits-repo { grid-area: repo; justify-self: start; }
  .commits-row:hover { transform: none; }
}

/* 大手机：GitHub 热力图隐藏、hero stats 2 列、org-banner 堆叠 */
@media (max-width: 640px) {
  .gh-chart { display: none; }
  .gh-legend { justify-content: center; }
  .gh-stats { grid-template-columns: repeat(2, 1fr); }

  .hero-stats { grid-template-columns: repeat(2, 1fr); gap: 24px; }
  .hero-stat-num { font-size: clamp(26px, 7vw, 36px); }

  .org-banner { flex-direction: column; align-items: flex-start; }
  .org-stats { gap: 20px; align-self: stretch; justify-content: space-between; }

  .contact-actions { flex-direction: column; align-items: stretch; }
  .contact-actions .btn { justify-content: center; }

  .projects-head { gap: 16px; margin-bottom: 32px; }
  .projects-link { align-self: flex-start; }
}

/* 标准手机：进一步缩 hero 标题、缩 section title、缩 nav padding */
@media (max-width: 430px) {
  .hero-title { font-size: clamp(36px, 10vw, 56px); }
  .hero-meta { font-size: 11px; }
  .hero-meta .status { font-size: 11px; }
  .hero-tagline { font-size: 16px; }

  .section-title { font-size: clamp(28px, 7vw, 36px); }
  .section-subtitle { font-size: 15px; }

  .nav { padding: 14px var(--gutter); }
  .nav-logo { font-size: 13px; }

  main { padding-top: 72px; }

  .gh-stats { grid-template-columns: 1fr 1fr; gap: 12px; }
  .gh-stat { padding: 14px 16px; }
  .gh-stat-num { font-size: 26px; }

  .project-card { padding: 24px; min-height: auto; }
  .org-banner { padding: 18px 20px; }

  .contact-card { padding: 36px 20px; }
  .contact-card h2 { font-size: clamp(28px, 8vw, 40px); }

  .about-card { padding: 22px; }

  .commits-feed { padding: 18px 18px; }
  .commits-row { padding: 12px 8px; }
  .commits-sha { font-size: 11px; }
  .commits-msg { font-size: 13px; }
  .commits-repo { font-size: 10px; }
  .commits-time { font-size: 10px; }
}

/* 小手机兜底 */
@media (max-width: 360px) {
  :root { --gutter: 16px; }
  .hero-title { font-size: 32px; }
  .btn { padding: 12px 20px; font-size: 13px; }
  .nav { padding: 12px 16px; }
  main { padding-top: 64px; }
}

/* 触屏设备：弱化 hover 位移 */
@media (pointer: coarse) {
  .btn-primary:hover,
  .btn-ghost:hover { transform: none; }
  .gh-stat:hover { transform: none; }
  .project-card:hover { transform: none; }
  .nav-cta:hover { transform: none; box-shadow: none; }
  .commits-row:hover { transform: none; background: transparent; }
}
