/* ========== 心理测评系统 - 移动端适配 ==========
   默认样式已是移动端优先，这里添加桌面端覆盖 + 小屏优化
   ================================================ */

/* ========== 桌面端：导航展开 ========== */
@media (min-width: 769px) {
  .hero .container {
    grid-template-columns: 1fr 1fr;
    text-align: left;
  }
  .hero-actions { justify-content: flex-start; }
  .hero-title { font-size: 2rem; }
  .hero-graphic { width: 200px; height: 200px; }
  .assessment-header .assessment-meta { gap: 1.5rem; }
}

/* ========== 平板 ========== */
@media (max-width: 768px) {
  .hero-title { font-size: 1.6rem; }
  .hero-subtitle { font-size: 0.92rem; }
  .hero-actions { gap: 0.75rem; }
  .hero-graphic { width: 160px; height: 160px; }
  .hero-graphic .orbit span { width: 26px; height: 26px; font-size: 0.65rem; transform: translate(-50%, -50%) rotate(var(--angle)) translateX(65px) rotate(calc(-1 * var(--angle))); }
  .hero-graphic.glow {
    width: 110px; height: 110px;
  }

  .section-title { font-size: 1.4rem; }
  .assessment-header h2 { font-size: 1.4rem; }
  .assessment-description { padding: 1.25rem; }
  .assessment-header .assessment-meta { gap: 0.75rem; flex-wrap: wrap; }
  .meta-item { font-size: 0.78rem; }

  .question-card { padding: 1.25rem; }
  .question-card h3 { font-size: 1rem; }
  .option-item { padding: 0.75rem 1rem; }
  .option-text { font-size: 0.9rem; }

  .test-header {
    padding: 0.75rem 1rem;
    flex-wrap: wrap;
    gap: 0.75rem;
  }
  .test-timer { font-size: 0.85rem; }

  .result-header h2 { font-size: 1.4rem; }
  .result-content { grid-template-columns: 1fr; }
  .result-card { padding: 1rem 1.25rem; }
  .score-display { gap: 1rem; justify-content: center; }
  .score-circle { width: 90px; height: 90px; }
  .score-circle span { font-size: 1.8rem; }
  .score-details { min-width: unset; }

  .container { padding: 0 16px; }
  .footer-content { grid-template-columns: 1fr; gap: 1.5rem; }
}

/* ========== 小屏手机 (480px 以下) ========== */
@media (max-width: 480px) {
  .hero-title { font-size: 1.35rem; }
  .hero-subtitle { font-size: 0.85rem; line-height: 1.5; }
  .hero-graphic { width: 140px; height: 140px; }
  .hero-graphic .orbit span { width: 22px; height: 22px; font-size: 0.55rem; transform: translate(-50%, -50%) rotate(var(--angle)) translateX(55px) rotate(calc(-1 * var(--angle))); }
  .hero-graphic-inner .fa-brain { font-size: 2.8rem; }
  .hero { padding: 2rem 0 1.5rem; }

  .btn-lg { padding: 0.6rem 1.5rem; font-size: 0.9rem; }

  .question-card { padding: 1rem; }
  .option-item { padding: 0.65rem 0.85rem; gap: 0.65rem; }

  .test-header { padding: 0.65rem 0.85rem; }

  .score-circle { width: 80px; height: 80px; }
  .score-circle span { font-size: 1.5rem; }

  .footer { padding: 2rem 0 1.5rem; }
  .footer-brand { justify-content: center; }
}

/* ========== 超小屏 (iPhone SE - 375px 以下) ========== */
@media (max-width: 375px) {
  .hero-title { font-size: 1.2rem; }
  .hero-graphic { width: 120px; height: 120px; }
  .hero-graphic .orbit span { width: 18px; height: 18px; font-size: 0.5rem; transform: translate(-50%, -50%) rotate(var(--angle)) translateX(48px) rotate(calc(-1 * var(--angle))); }
  .category-grid { grid-template-columns: 1fr; }
  .assessment-grid { grid-template-columns: 1fr; }
