 body {
      margin: 0;
      font-family: 'Segoe UI', 'PingFang SC', 'Hiragino Sans GB', 'Arial', sans-serif;
      background: linear-gradient(135deg, #e0e7ff 0%, #f3f8ff 60%, #e6e6fa 100%);
      color: #222;
      min-height: 100vh;
    }
    .header {
      background: transparent;
      box-shadow: 0 4px 24px rgba(79,140,255,0.08);
      padding: 48px 0 18px 0;
      text-align: center;
      border-bottom-left-radius: 32px;
      border-bottom-right-radius: 32px;
      position: relative;
      z-index: 2;
      margin-top: -10px;
    }
    .header h1 {
      margin: 0 0 18px 0;
      font-size: 2.4rem;
      letter-spacing: 2px;
      color: #2563c9;
      font-weight: 800;
      text-shadow: 0 2px 8px rgba(79,140,255,0.08);
    }
    .header-slogan {
      font-size: 1.13rem;
      color: #444;
      text-align: center;
      margin-bottom: 24px;
    }
    .header-slogan b, .header-slogan .highlight {
      color: #2563c9;
      font-weight: 700;
      background: linear-gradient(90deg, #4f8cff 60%, #21b573 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
      text-fill-color: transparent;
      letter-spacing: 1px;
    }
    .version-cards {
      display: flex !important;
      flex-direction: row !important;
      gap: 18px !important;
      align-items: stretch !important;
      justify-content: center !important;
      width: 100% !important;
      padding: 0 !important;
      margin: 0 !important;
    }
    .version-card {
      flex: 1 1 0 !important;
      min-width: 0 !important;
      max-width: 320px !important;
      margin: 0 !important;
      box-sizing: border-box !important;
      display: flex !important;
      flex-direction: column !important;
      align-items: center !important;
      background: #fff;
      border-radius: 18px;
      box-shadow: 0 6px 32px rgba(79,140,255,0.10);
      padding: 36px 18px 24px 18px;
      transition: box-shadow 0.22s, transform 0.22s, border 0.22s;
      cursor: pointer;
      border: 3px solid #fff;
      position: relative;
      overflow: hidden;
      min-height: 300px !important;
      height: 200px !important;
    }
    .version-card:hover {
      box-shadow: 0 12px 36px rgba(79,140,255,0.16);
      transform: translateY(-4px) scale(1.03);
      border: 2.5px solid #b3d2ff;
    }
    .version-card.selected {
      border: 3px solid #ff9800;
      box-shadow: 0 16px 48px rgba(255,152,0,0.18);
    }
    .version-card .version-recommend {
      position: absolute;
      top: 18px;
      left: 50%;
      transform: translateX(-50%);
      background: #21b573;
      color: #fff;
      font-size: 1rem;
      font-weight: 600;
      border-radius: 16px;
      padding: 2px 18px;
      z-index: 2;
      letter-spacing: 2px;
      box-shadow: 0 2px 8px rgba(33,181,115,0.08);
    }
    .version-card .version-icon {
      display: flex;
      align-items: center;
      justify-content: center;
      min-height: 180px !important;
      height: 180px !important;
      margin: 0 0 6px 0 !important;
    }
    .version-card .version-icon svg {
      width: 220px !important;
      height: 120px !important;
      max-width: 220px !important;
      max-height: 120px !important;
      margin: 0 auto !important;
      display: block;
    }
    .version-title {
      font-size: 1.45rem;
      font-weight: bold;
      color: #222;
      margin-bottom: 0;
      letter-spacing: 1px;
      z-index: 1;
      text-align: center;
      line-height: 1.2;
    }
    .version-title .version-questions {
      color: #222;
      font-size: 2.1rem;
      font-weight: 800;
      margin-right: 8px;
      display: block;
      margin-bottom: 2px;
    }
    .version-card .version-highlight {
      display: none;
    }
    @media (max-width: 900px) {
      .version-cards {
        flex-direction: column;
        gap: 18px;
        align-items: center;
      }
      .version-card {
        width: 95%;
        min-width: unset;
        max-width: unset;
        padding: 22px 10px 12px 10px;
        min-height: 120px !important;
        height: 140px !important;
      }
      .header h1 {
        font-size: 1.4rem;
      }
    }
    @media (max-width: 700px) {
      .version-cards {
        padding: 0 !important;
        gap: 0 !important;
      }
      .version-card {
        margin: 8px 6px !important;
        padding: 6px 2px 6px 2px !important;
        min-height: 80px !important;
        height: 238px !important;
        box-sizing: border-box !important;
      }
      .version-card .version-icon {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 126px !important;
        height: 180px !important;
        margin: 0 0 6px 0 !important;
    }
      .version-icon svg {
        width: 70px !important;
        height: 28px !important;
        max-width: 70px !important;
        max-height: 28px !important;
        margin: 0 auto 2px auto !important;
        display: block;
      }
      .mbti-title {
        font-size: 1.13rem;
      }
      .mbti-desc {
        font-size: 0.98rem;
      }
      .main-start-btn-tip,
      .mbti-types-desc {
        font-size: 0.82rem;
      }
      .version-recommend {
        position: static !important;
        display: block;
        margin: 0 auto 8px auto;
        font-size: 0.75rem !important;
        padding: 2px 10px !important;
        text-align: center !important;
        left: unset !important;
        right: unset !important;
        transform: none !important;
      }
      .header-slogan {
        font-size: 0.92rem;
        margin: 20px 10px;
      }
      .mbti-types-title {
        margin-top: 8px;
      }
      .mbti-types-grid {
        grid-template-columns: 1fr;
        gap: 10px 0;
        padding: 0 8px;
      }
      .mbti-type-item {
        margin: 0 4px;
      }
      .main-start-btn {
        font-size: 0.92rem !important;
        padding: 10px 30px !important;
        border-radius: 16px !important;
        min-width: 0 !important;
        width: auto !important;
        max-width: 90vw !important;
      }
      .version-title {
        font-size: 0.98rem !important;
        margin: 10px;
      }
    }
    .container {
      max-width: 650px;
      margin: 38px auto 0 auto;
      background: rgba(255,255,255,0.98);
      border-radius: 18px;
      box-shadow: 0 4px 24px rgba(79,140,255,0.07);
      padding: 32px 28px 28px 28px;
      position: relative;
      overflow: hidden;
    }
    .container::after {
      content: '';
      position: absolute;
      right: -40px; bottom: -40px;
      width: 90px; height: 90px;
      background: rgba(79,140,255,0.07);
      border-radius: 50%;
      z-index: 0;
    }
    .mbti-title {
      font-size: 1.6rem;
      margin-bottom: 16px;
      color: #4f8cff;
      text-align: center;
      font-weight: 700;
      letter-spacing: 1px;
      z-index: 1;
      position: relative;
    }
    .mbti-desc {
      font-size: 1.13rem;
      line-height: 1.8;
      color: #444;
      text-align: justify;
      z-index: 1;
      position: relative;
    }
    .mbti-desc b {
      color: #2563c9;
      font-weight: 600;
    }
    .main-start-btn-wrap {
      width: 100%;
      display: flex;
      justify-content: center;
      margin: 32px 0 0 0;
      position: relative;
      z-index: 2;
    }
    .main-start-btn-tip {
      text-align: center;
      color: #2563c9;
      font-size: 0.7rem;
      font-weight: 600;
      margin: 36px 0 0 0;
      letter-spacing: 1px;
    }
    .main-start-btn {
      padding: 16px 60px;
      background: linear-gradient(90deg, #4f8cff 60%, #2563c9 100%);
      color: #fff;
      border: none;
      border-radius: 32px;
      font-size: 1.35rem;
      font-weight: 700;
      letter-spacing: 2px;
      box-shadow: 0 4px 18px rgba(79,140,255,0.13);
      cursor: pointer;
      transition: background 0.18s, transform 0.18s;
    }
    .main-start-btn:hover {
      background: linear-gradient(90deg, #2563c9 60%, #4f8cff 100%);
      transform: translateY(-2px) scale(1.04);
    }
    .version-cta {
      margin-top: 8px;
      font-size: 0.97rem;
      color: #2563c9;
      font-weight: 600;
      text-align: center;
      letter-spacing: 0.5px;
      min-height: 22px;
    }
    .mbti-types-section {
      background: transparent;
      border-radius: 18px;
      box-shadow: 0 4px 24px rgba(79,140,255,0.07);
      padding: 32px 18px 24px 18px;
      max-width: 900px;
      margin: 4px auto 0 auto;
    }
    .mbti-types-title {
      font-size: 1.3rem;
      font-weight: 700;
      color: #2563c9;
      text-align: center;
      margin-bottom: 24px;
      letter-spacing: 1px;
    }
    .mbti-types-desc {
      text-align: center;
      color: #2563c9;
      font-size: 0.7rem;
      font-weight: 500;
      margin-bottom: 22px;
      letter-spacing: 1px;
    }
    .mbti-types-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 18px 24px;
    }
    .mbti-type-item {
      color: #333;
      font-size: 1.08rem;
      line-height: 1.7;
      font-weight: 400;
      background: #fafdff;
      border-radius: 20px;
      border: 1.5px solid #e0e7ff;
      padding: 28px 14px 20px 14px;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 10px;
      box-shadow: 0 2px 12px rgba(79,140,255,0.06);
      min-height: 120px;
      min-width: 0;
      transition: box-shadow 0.18s, border 0.18s, transform 0.18s;
    }
    .mbti-type-name {
      font-weight: 800;
      font-size: 1.18rem;
      background: linear-gradient(90deg, #4f8cff 60%, #2563c9 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
      text-fill-color: transparent;
      letter-spacing: 1px;
      margin-bottom: 2px;
      text-align: center;
      display: block;
    }
    .mbti-type-ch {
      font-weight: 700;
      font-size: 1.05rem;
      background: linear-gradient(90deg, #21b573 60%, #4f8cff 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
      text-fill-color: transparent;
      margin-bottom: 2px;
      text-align: center;
      display: block;
    }
    @media (max-width: 900px) {
      .mbti-types-grid {
        grid-template-columns: repeat(2, 1fr);
      }
      .mbti-type-item {
        padding: 18px 6px 10px 6px;
        font-size: 1.01rem;
        min-height: 80px;
      }
    }
    @media (max-width: 600px) {
      .mbti-types-section {
        padding: 16px 2px 10px 2px;
      }
      .mbti-types-grid {
        grid-template-columns: 1fr;
        gap: 10px 0;
      }
      .mbti-type-item {
        font-size: 0.95rem;
        padding: 10px 2px 6px 2px;
        min-height: 50px;
      }
    }
    .footer-copyright {
      text-align: center;
      color: #888;
      font-size: 1rem;
      padding: 32px 0 18px 0;
      letter-spacing: 2px;
      background: none;
    }