🗺️ 지역별 복지 혜택 & 공유하기

🏥 의료비 지원 혜택 확인기

자신의 상황을 선택하시면 지원 내용을 보여드립니다.

블로그
본문 바로가기
카테고리 없음

블로그

by k블로썸 2026. 4. 14.

<!--==================== Part 1 Start ====================-->
<html lang="ko">
<head>
  <meta charset="UTF-8"></meta>
  <meta content="width=device-width, initial-scale=1.0" name="viewport"></meta>
  <title>🚗 나의 자동차 이상형은? | 내 예산과 조건에 맞는 자동차 찾기</title>
  <meta content="15가지 질문으로 나에게 딱 맞는 차를 추천해드립니다. 신차·중고차·리스 가격까지 한번에!" name="description"></meta>
  <style>
    /* === Reset & Base === */
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    body {
      font-family: 'Pretendard', 'Apple SD Gothic Neo', 'Malgun Gothic', sans-serif;
      background: #F0F4F8;
      color: #1E293B;
      min-height: 100vh;
      display: flex;
      align-items: flex-start;
      justify-content: center;
      padding: 24px 16px 60px;
    }
#app {
  width: 100%;
  max-width: 640px;
}

    /* === Header === */
    .site-header {
      text-align: center;
      margin-bottom: 24px;
    }
    .site-header h1 {
      font-size: 1.5rem;
      font-weight: 800;
      color: #1E293B;
    }
    .site-header p {
      font-size: 0.875rem;
      color: #64748B;
      margin-top: 4px;
    }

    /* === Card Shell === */
    .card {
      background: #FFFFFF;
      border-radius: 20px;
      box-shadow: 0 4px 24px rgba(0,0,0,0.08);
      padding: 32px 28px;
      margin-bottom: 16px;
    }

    /* === Start Screen === */
    #start-screen .emoji-hero {
      font-size: 4rem;
      text-align: center;
      margin-bottom: 16px;
    }
    #start-screen h2 {
      font-size: 1.6rem;
      font-weight: 800;
      text-align: center;
      color: #1E293B;
      line-height: 1.35;
    }
    #start-screen .sub {
      text-align: center;
      color: #64748B;
      font-size: 0.9rem;
      margin: 12px 0 24px;
      line-height: 1.6;
    }
    .badge-row {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      justify-content: center;
      margin-bottom: 28px;
    }
    .badge {
      background: #EFF6FF;
      color: #3B82F6;
      border-radius: 999px;
      padding: 6px 14px;
      font-size: 0.8rem;
      font-weight: 600;
    }

    /* === Progress Bar === */
    .progress-wrap {
      margin-bottom: 20px;
    }
    .progress-meta {
      display: flex;
      justify-content: space-between;
      font-size: 0.8rem;
      color: #94A3B8;
      margin-bottom: 6px;
    }
    .progress-track {
      background: #E2E8F0;
      border-radius: 999px;
      height: 8px;
      overflow: hidden;
    }
    .progress-fill {
      background: linear-gradient(90deg, #3B82F6, #6366F1);
      height: 100%;
      border-radius: 999px;
      transition: width 0.4s ease;
    }

    /* === Step Badge === */
    .step-badge {
      display: inline-block;
      background: #EFF6FF;
      color: #3B82F6;
      border-radius: 999px;
      padding: 4px 14px;
      font-size: 0.75rem;
      font-weight: 700;
      margin-bottom: 12px;
    }

    /* === Question === */
    .q-number {
      font-size: 0.8rem;
      color: #94A3B8;
      margin-bottom: 4px;
    }
    .q-text {
      font-size: 1.15rem;
      font-weight: 800;
      color: #1E293B;
      line-height: 1.45;
      margin-bottom: 6px;
    }
    .q-sub {
      font-size: 0.83rem;
      color: #64748B;
      margin-bottom: 20px;
      line-height: 1.5;
    }

    /* === Dilemma Banner === */
    .dilemma-banner {
      background: linear-gradient(135deg, #FFF7ED, #FEF2F2);
      border-left: 4px solid #F97316;
      border-radius: 10px;
      padding: 10px 14px;
      font-size: 0.82rem;
      color: #92400E;
      font-weight: 600;
      margin-bottom: 18px;
    }

    /* === Option Grid === */
    .opts {
      display: grid;
      gap: 10px;
    }
    .opts.cols-2 { grid-template-columns: 1fr 1fr; }
    .opts.cols-1 { grid-template-columns: 1fr; }

    .opt-btn {
      display: flex;
      align-items: center;
      gap: 10px;
      background: #F8FAFC;
      border: 2px solid #E2E8F0;
      border-radius: 14px;
      padding: 14px 16px;
      cursor: pointer;
      transition: all 0.18s;
      text-align: left;
      width: 100%;
    }
    .opt-btn:hover {
      border-color: #3B82F6;
      background: #EFF6FF;
      transform: translateY(-1px);
    }
    .opt-icon { font-size: 1.4rem; flex-shrink: 0; }
    .opt-label {
      font-size: 0.9rem;
      font-weight: 600;
      color: #1E293B;
      line-height: 1.3;
    }
    .opt-desc {
      font-size: 0.75rem;
      color: #94A3B8;
      margin-top: 2px;
    }

    /* === Dilemma VS Layout === */
    .vs-grid {
      display: grid;
      grid-template-columns: 1fr auto 1fr;
      gap: 10px;
      align-items: center;
    }
    .vs-badge {
      font-size: 1rem;
      font-weight: 900;
      color: #F97316;
      text-align: center;
    }
    .vs-btn {
      background: #F8FAFC;
      border: 2px solid #E2E8F0;
      border-radius: 16px;
      padding: 18px 12px;
      cursor: pointer;
      text-align: center;
      transition: all 0.18s;
    }
    .vs-btn:hover {
      border-color: #F97316;
      background: #FFF7ED;
      transform: translateY(-2px);
    }
    .vs-btn .vs-icon { font-size: 2rem; margin-bottom: 8px; }
    .vs-btn .vs-label {
      font-size: 0.88rem;
      font-weight: 700;
      color: #1E293B;
      line-height: 1.35;
    }
    .vs-btn .vs-tag {
      display: inline-block;
      margin-top: 6px;
      background: #E2E8F0;
      color: #475569;
      font-size: 0.72rem;
      padding: 2px 8px;
      border-radius: 999px;
    }

    /* === Loading === */
    #loading-screen {
      text-align: center;
      padding: 40px 20px;
    }
    .spinner {
      width: 52px; height: 52px;
      border: 5px solid #E2E8F0;
      border-top-color: #3B82F6;
      border-radius: 50%;
      animation: spin 0.9s linear infinite;
      margin: 0 auto 20px;
    }
    @keyframes spin { to { transform: rotate(360deg); } }
    #loading-screen h3 { font-size: 1.1rem; color: #1E293B; margin-bottom: 8px; }
    #loading-screen p { font-size: 0.85rem; color: #64748B; }
    .loading-steps { margin-top: 20px; text-align: left; }
    .loading-step {
      display: flex; align-items: center; gap: 10px;
      padding: 8px 0;
      font-size: 0.83rem;
      color: #94A3B8;
      border-bottom: 1px solid #F1F5F9;
      opacity: 0;
      animation: fadeIn 0.4s forwards;
    }
    .loading-step:nth-child(1) { animation-delay: 0.3s; }
    .loading-step:nth-child(2) { animation-delay: 0.8s; }
    .loading-step:nth-child(3) { animation-delay: 1.3s; }
    .loading-step:nth-child(4) { animation-delay: 1.8s; }
    @keyframes fadeIn { to { opacity: 1; color: #1E293B; } }

    /* === Result Screen === */
    .result-hero {
      text-align: center;
      padding: 8px 0 20px;
    }
    .result-hero .hero-icon { font-size: 3.5rem; margin-bottom: 12px; }
    .result-hero .type-badge {
      display: inline-block;
      background: linear-gradient(135deg, #3B82F6, #6366F1);
      color: #fff;
      border-radius: 999px;
      padding: 6px 20px;
      font-size: 0.85rem;
      font-weight: 700;
      margin-bottom: 12px;
    }
    .result-hero h2 {
      font-size: 1.5rem;
      font-weight: 900;
      color: #1E293B;
      margin-bottom: 8px;
    }
    .result-hero .result-desc {
      font-size: 0.9rem;
      color: #475569;
      line-height: 1.65;
    }

    /* === Stats Row === */
    .stats-row {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 10px;
      margin: 20px 0;
    }
    .stat-box {
      background: #F8FAFC;
      border-radius: 12px;
      padding: 14px 8px;
      text-align: center;
    }
    .stat-box .stat-val {
      font-size: 1.3rem;
      font-weight: 900;
      color: #3B82F6;
    }
    .stat-box .stat-lbl {
      font-size: 0.72rem;
      color: #94A3B8;
      margin-top: 2px;
    }

    /* === Payment Box === */
    .pay-box {
      background: linear-gradient(135deg, #EFF6FF, #F0F9FF);
      border: 1.5px solid #BFDBFE;
      border-radius: 14px;
      padding: 16px 18px;
      margin: 16px 0;
    }
    .pay-box h4 {
      font-size: 0.9rem;
      font-weight: 700;
      color: #1E40AF;
      margin-bottom: 8px;
    }
    .pay-box p {
      font-size: 0.83rem;
      color: #1E3A5F;
      line-height: 1.6;
    }

    /* === Section Title === */
    .section-title {
      font-size: 1rem;
      font-weight: 800;
      color: #1E293B;
      margin: 24px 0 12px;
      display: flex;
      align-items: center;
      gap: 6px;
    }

    /* === Car Card === */
    .car-card {
      background: #FFFFFF;
      border: 1.5px solid #E2E8F0;
      border-radius: 16px;
      padding: 18px 16px;
      margin-bottom: 12px;
      transition: box-shadow 0.2s;
    }
    .car-card:hover { box-shadow: 0 4px 16px rgba(59,130,246,0.12); }
    .car-card.top-pick {
      border-color: #3B82F6;
      box-shadow: 0 0 0 3px rgba(59,130,246,0.1);
    }
    .car-card-header {
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      margin-bottom: 10px;
    }
    .car-rank {
      width: 28px; height: 28px;
      border-radius: 50%;
      display: flex; align-items: center; justify-content: center;
      font-size: 0.8rem;
      font-weight: 800;
      flex-shrink: 0;
      margin-right: 10px;
    }
    .car-rank.r1 { background: #FEF9C3; color: #92400E; }
    .car-rank.r2 { background: #F1F5F9; color: #475569; }
    .car-rank.r3 { background: #FEF3C7; color: #78350F; }
    .car-rank.rn { background: #F1F5F9; color: #94A3B8; }
    .car-info { flex: 1; }
    .car-name {
      font-size: 1rem;
      font-weight: 800;
      color: #1E293B;
    }
    .car-origin {
      font-size: 0.75rem;
      color: #94A3B8;
      margin-top: 2px;
    }
    .car-tags {
      display: flex;
      flex-wrap: wrap;
      gap: 5px;
      margin: 10px 0;
    }
    .car-tag {
      background: #EFF6FF;
      color: #3B82F6;
      border-radius: 999px;
      padding: 3px 10px;
      font-size: 0.72rem;
      font-weight: 600;
    }
    .car-tag.red { background: #FEF2F2; color: #EF4444; }
    .car-tag.green { background: #F0FDF4; color: #16A34A; }
    .car-tag.orange { background: #FFF7ED; color: #EA580C; }
    .car-price-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 8px;
      margin-top: 10px;
    }
    .price-cell {
      background: #F8FAFC;
      border-radius: 10px;
      padding: 10px 12px;
    }
    .price-cell .p-label {
      font-size: 0.7rem;
      color: #94A3B8;
      margin-bottom: 2px;
    }
    .price-cell .p-val {
      font-size: 0.9rem;
      font-weight: 700;
      color: #1E293B;
    }
    .price-cell .p-val span {
      font-size: 0.75rem;
      font-weight: 400;
      color: #94A3B8;
    }
    .car-reason {
      font-size: 0.82rem;
      color: #475569;
      line-height: 1.55;
      margin-top: 10px;
      padding-top: 10px;
      border-top: 1px solid #F1F5F9;
    }

    /* === Tips === */
    .tips-list {
      list-style: none;
      padding: 0;
    }
    .tips-list li {
      display: flex;
      gap: 10px;
      padding: 10px 0;
      border-bottom: 1px solid #F1F5F9;
      font-size: 0.85rem;
      color: #475569;
      line-height: 1.55;
    }
    .tips-list li:last-child { border: none; }
    .tip-icon { font-size: 1rem; flex-shrink: 0; margin-top: 1px; }

    /* === Action Buttons === */
    .btn { 
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 6px;
      padding: 14px 20px;
      border-radius: 12px;
      font-size: 0.9rem;
      font-weight: 700;
      cursor: pointer;
      border: none;
      transition: all 0.18s;
      width: 100%;
      margin-bottom: 8px;
    }
    .btn-primary { background: #3B82F6; color: #fff; }
    .btn-primary:hover { background: #2563EB; transform: translateY(-1px); }
    .btn-secondary { background: #F1F5F9; color: #475569; border: 1.5px solid #E2E8F0; }
    .btn-secondary:hover { background: #E2E8F0; }
    .btn-share { background: linear-gradient(135deg, #10B981, #059669); color: #fff; }
    .btn-kakao { background: #FEE500; color: #3A1D1D; }
    .btn-retry { background: #F1F5F9; color: #64748B; }
    .btn-row { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }

    /* === Disclaimer === */
    .disclaimer {
      font-size: 0.75rem;
      color: #94A3B8;
      text-align: center;
      line-height: 1.6;
      padding: 16px;
      background: #F8FAFC;
      border-radius: 12px;
      margin-top: 12px;
    }

    /* === Hidden === */
    .hidden { display: none !important; }

    /* === 시세 확인 버튼 === */
    .site-link-btn {
      display: block;
      text-align: center;
      padding: 12px 8px;
      border-radius: 12px;
      text-decoration: none;
      color: #1E293B;
      font-size: 0.85rem;
      line-height: 1.6;
      transition: opacity 0.15s;
    }
    .site-link-btn:hover {
      opacity: 0.8;
    }
    .site-link-btn span {
      font-size: 0.72rem;
      color: #64748B;
    }

    /* === Car Animation === */
    .emoji-hero {
      font-size: 4rem;
      text-align: center;
      margin-bottom: 16px;
      display: block;
      animation: carBounce 1.2s ease-in-out infinite;
    }
    @keyframes carBounce {
      0%, 100% { transform: translateY(0); }
      50%       { transform: translateY(-12px); }
    }

    /* === Back Button === */
    .back-btn {
      display: flex;
      align-items: center;
      gap: 6px;
      background: none;
      border: none;
      color: #94A3B8;
      font-size: 0.85rem;
      font-weight: 600;
      cursor: pointer;
      padding: 4px 0;
      margin-bottom: 16px;
      transition: color 0.18s;
    }
    .back-btn:hover { color: #3B82F6; }
    .back-btn::before { content: ''; }
    
    /* === 구매 가능 단계 배지 === */
.afford-badge {
  margin-top: 10px;
  padding: 10px 12px;
  border-radius: 10px;
  font-size: 0.82rem;
  line-height: 1.7;
}
.afford-badge.green  { background:#F0FDF4; border:1.5px solid #BBF7D0; color:#166534; }
.afford-badge.yellow { background:#FFFBEB; border:1.5px solid #FDE68A; color:#92400E; }
.afford-badge.red    { background:#FFF1F2; border:1.5px solid #FECDD3; color:#991B1B; }
.afford-badge span   { font-size:0.75rem; opacity:0.85; }

    /* === 데스크톱 === */
    @media (min-width: 1024px) {
      body {
        padding: 40px 48px 80px;
        align-items: flex-start;
      }
      #app {
        max-width: 860px;
        width: 100%;
      }
      .card {
        padding: 40px 52px;
      }
      h2 {
        font-size: 1.7rem;
      }
      .q-text {
        font-size: 1.25rem;
      }
      .opts.cols-2 {
        grid-template-columns: 1fr 1fr;
        gap: 14px;
      }
      .car-price-grid {
        grid-template-columns: repeat(3, 1fr);
      }
      .opt-btn {
        padding: 18px 20px;
        font-size: 1rem;
      }
    }

    /* === 모바일 === */
    @media (max-width: 480px) {
      body { padding: 16px 12px 48px; }
      .card { padding: 22px 16px; border-radius: 16px; }
      .q-text { font-size: 1.05rem; }
      .opts.cols-2 { grid-template-columns: 1fr; }
      .vs-grid { grid-template-columns: 1fr; }
      .vs-badge { display: none; }
      .stats-row { grid-template-columns: repeat(3, 1fr); }
      .car-price-grid { grid-template-columns: 1fr 1fr; }
      .btn-row { grid-template-columns: 1fr; }
    }

  </style>
</head>
<!-- ==================== Part 2 Start ==================== -->
<body>
<div id="app">

  <!-- Header -->
  <header class="site-header">
<h1>🚗 나의 자동차 이상형은?</h1>
<p>내 예산과 조건에 맞는 자동차를 찾아드립니다</p>
  </header>

  <!-- ① Start Screen -->
  <div class="card" id="start-screen">
    <div class="emoji-hero">🚗</div>
    <h2>내 성향에 딱 맞는 차,<br />지금 바로 찾아보자!</h2>
    <p class="sub">
      예산·탑승 인원·라이프스타일을 분석해<br />
      신차·중고·리스 가격까지 한 번에 추천!
    </p>
    <div class="badge-row">
      <span class="badge">⏱ 3분 완성</span>
      <span class="badge">🚙 인기 차종 100여종</span>
      <span class="badge">💰 실구매가 제공</span>
      <span class="badge">📱 모바일 최적화</span>
    </div>
    <button class="btn btn-primary pulse" onclick="startTest()">
      🔍 테스트 시작하기
    </button>
  </div>
  
    <!-- ② Question Screen -->
  <div class="hidden" id="question-screen">
    <!-- Progress -->
    <div class="progress-wrap">
      <div class="progress-meta">
        <span id="prog-label">Q1 / 15</span>
        <span id="prog-pct">0%</span>
      </div>
      <div class="progress-track">
        <div class="progress-fill" id="prog-fill" style="width: 0%;"></div>
      </div>
    </div>
    <!-- Question Card -->
    <div class="card" id="q-card">
      <!-- injected by JS -->
    </div>
  </div>


  <!-- ③ Loading Screen -->
  <div class="card hidden" id="loading-screen">
    <div class="spinner"></div>
    <h3>딱 맞는 차를 찾는 중...</h3>
    <p>100개 차종과 비교 분석 중이에요</p>
    <div class="loading-steps">
      <div class="loading-step">✅ 예산 필터 적용 중</div>
      <div class="loading-step">✅ 탑승 인원 분석 중</div>
      <div class="loading-step">✅ 연료 방식 매칭 중</div>
      <div class="loading-step">✅ 최종 추천 순위 계산 중</div>
    </div>
  </div>

  <!-- ④ Result Screen -->
  <div class="hidden" id="result-screen">
    <!-- injected by JS -->
  </div>

</div><!-- /#app -->
<!-- ==================== Part 2 End ==================== -->
<!-- ==================== Part 3 Start ==================== -->
<script>
// ============================================================
//  QUESTIONS (QS)
// ============================================================
const QS = [
  // ── STEP 1 기본 정보 ──────────────────────────────────────
  {
    id:'age', step:'STEP 1 · 기본 정보', num:1,
    text:'나이대가 어떻게 되세요?',
    sub:'추천 차종과 금융 조건 산출에 사용됩니다.',
    cols:2, dilemma:false,
    opts:[
      {icon:'🧑',label:'20대',desc:'20~29세',key:'20s'},
      {icon:'👨',label:'30대',desc:'30~39세',key:'30s'},
      {icon:'👨‍💼',label:'40대',desc:'40~49세',key:'40s'},
      {icon:'👴',label:'50대 이상',desc:'50세~',key:'50s'}
    ]
  },
  {
    id:'gender', step:'STEP 1 · 기본 정보', num:2,
    text:'성별을 선택해주세요.',
    sub:'통계 분석 및 보험료 기준 산출에 활용됩니다.',
    cols:2, dilemma:false,
    opts:[
      {icon:'👨',label:'남성',key:'male'},
      {icon:'👩',label:'여성',key:'female'}
    ]
  },
  {
    id:'budget', step:'STEP 1 · 기본 정보', num:3,
    text:'신차 기준 예산이 얼마예요?',
    sub:'중고·리스는 이 금액 기준으로 자동 환산됩니다.',
    cols:2, dilemma:false,
    opts:[
      {icon:'💚',label:'2,000만원 이하',key:'b1'},
      {icon:'💙',label:'2,000~4,000만원',key:'b2'},
      {icon:'💜',label:'4,000~7,000만원',key:'b3'},
      {icon:'🖤',label:'7,000만원 이상',key:'b4'}
    ]
  },
  {
    id:'newused', step:'STEP 1 · 기본 정보', num:4,
    text:'새차 vs 중고차, 어느 쪽이에요?',
    sub:'중고 선호 시 감가 적용 모델을 우선 추천합니다.',
    cols:1, dilemma:false,
    opts:[
      {icon:'✨',label:'무조건 새차',desc:'출고 냄새 맡아야 직성이 풀림',key:'new'},
      {icon:'🔍',label:'중고도 OK',desc:'합리적 가격이면 충분해',key:'used'},
      {icon:'🤷',label:'상관없음',desc:'조건만 맞으면 뭐든',key:'any'}
    ]
  },
  // ── STEP 2 탑승·차종 ──────────────────────────────────────
  {
    id:'seats', step:'STEP 2 · 탑승 & 차종', num:5,
    text:'주로 몇 명이 타나요?',
    sub:'탑승 인원은 차종 필터의 핵심 기준입니다.',
    cols:2, dilemma:false,
    opts:[
      {icon:'🙋',label:'1~2인',desc:'나 혼자 or 둘이서',key:'s2'},
      {icon:'👨‍👩‍👧',label:'3~4인',desc:'소가족',key:'s4'},
      {icon:'👨‍👩‍👧‍👦',label:'5~6인',desc:'대가족·지인',key:'s6'},
      {icon:'🚌',label:'7인 이상',desc:'미니밴·대형 SUV 필요',key:'s7'}
    ]
  },
  {
    id:'cartype', step:'STEP 2 · 탑승 & 차종', num:6,
    text:'선호하는 차종은?',
    sub:'차체 형태 선호도가 추천 결과를 좁혀줍니다.',
    cols:2, dilemma:false,
    opts:[
      {icon:'🚗',label:'승용차(세단)',desc:'안정적 주행감',key:'sedan'},
      {icon:'🚙',label:'SUV',desc:'높은 시야·넓은 공간',key:'suv'},
      {icon:'🚐',label:'미니밴·MPV',desc:'최대 탑승 인원',key:'van'},
      {icon:'🤷',label:'상관없음',desc:'조건만 맞으면',key:'any'}
    ]
  },
  // ── STEP 3 구매 고민 ──────────────────────────────────────
  {
    id:'reason', step:'STEP 3 · 구매 고민', num:7,
    text:'차를 바꾸려는 이유는?',
    sub:'구매 동기는 추천 방향성을 결정합니다.',
    cols:2, dilemma:false,
    opts:[
      {icon:'🔧',label:'기존 차 노후',desc:'수리비가 더 무서움',key:'old'},
      {icon:'✨',label:'새 차 갖고 싶음',desc:'그냥 갖고 싶어',key:'want'},
      {icon:'👶',label:'가족 증가',desc:'공간이 더 필요해',key:'family'},
      {icon:'💼',label:'이미지·직급',desc:'차가 명함이 됨',key:'image'}
    ]
  },
  {
    id:'plan', step:'STEP 3 · 구매 고민', num:8,
    text:'5년 후 이 차를 어떻게 할 것 같아요?',
    sub:'보유 계획이 감가·리스·중고 전략을 결정합니다.',
    cols:2, dilemma:false,
    opts:[
      {icon:'💸',label:'팔 것 같음',desc:'잔존가치가 중요해',key:'sell'},
      {icon:'🔒',label:'10년 이상 탈 것',desc:'내구성이 최우선',key:'keep'},
      {icon:'👨‍👧',label:'가족에게 줄 것',desc:'중고 상태도 신경씀',key:'give'},
      {icon:'🤔',label:'모르겠어',desc:'그냥 타봐야 알 것',key:'idk'}
    ]
  },
  {
    id:'cost', step:'STEP 3 · 구매 고민', num:9,
    text:'월 유지비(보험+유류+정비) 한도는?',
    sub:'평균: 소형 20~30만원 / 중형 30~50만원 / 대형·수입 60~100만원+',
    cols:2, dilemma:false,
    opts:[
      {icon:'💚',label:'20만원 이하',desc:'최대한 아끼고 싶어',key:'c1'},
      {icon:'💙',label:'20~50만원',desc:'적당히 관리',key:'c2'},
      {icon:'💜',label:'50~100만원',desc:'차에 투자할 여유',key:'c3'},
      {icon:'🖤',label:'상관없음',desc:'좋은 차면 돼',key:'c4'}
    ]
  },
  {
    id:'payment', step:'STEP 3 · 구매 고민', num:10,
    text:'결제 방식은 어떻게 할 예정이에요?',
    sub:'2026년 트렌드: 소비자 46.9%가 월 납입금 기준으로 차를 선택합니다.',
    cols:2, dilemma:false,
    opts:[
      {icon:'💵',label:'전액 현금',desc:'이자 0원, 내 차',key:'cash'},
      {icon:'📅',label:'할부 (36~60개월)',desc:'부담 없이 분할',key:'installment'},
      {icon:'🏢',label:'리스',desc:'법인·사업자에게 유리',key:'lease'},
      {icon:'🏦',label:'오토론 (대출)',desc:'목돈 없이 대출',key:'loan'}
    ]
  },
  {
    id:'wait', step:'STEP 3 · 구매 고민', num:11,
    text:'출고 대기 기간, 얼마나 기다릴 수 있어요?',
    sub:'인기 차종 대기 기간: 쏘렌토 HEV 4~6개월 / EV9 6~9개월',
    cols:2, dilemma:false,
    opts:[
      {icon:'⚡',label:'1주일 이내',desc:'당장 필요해',key:'w1'},
      {icon:'📅',label:'1~3개월',desc:'조금 기다릴 수 있어',key:'w2'},
      {icon:'⏳',label:'3~6개월',desc:'좋은 차면 기다려',key:'w3'},
      {icon:'🧘',label:'6개월 이상',desc:'원하는 차면 끝까지',key:'w4'}
    ]
  },
  // ── 딜레마 1 ─────────────────────────────────────────────
  {
    id:'dilemma1', step:'🔥 딜레마', num:12,
    text:'같은 돈이라면 어느 쪽을 선택하겠어요?',
    sub:'당신의 숨겨진 차 구매 심리를 보여줍니다.',
    cols:1, dilemma:true,
    opts:[
      {icon:'🌊',label:'벤츠 E클래스 침수차',desc:'브랜드는 최고, 하지만 침수 이력 있음',key:'d1a'},
      {icon:'🆕',label:'(경차) 새 차 풀옵션',desc:'작지만 완전 무결점 신차',key:'d1b'}
    ]
  },
  // ── STEP 4 차량 취향 ──────────────────────────────────────
{
  id:'fuel', step:'STEP 4 · 차량 취향', num:13,
  text:'연료 방식은 어떻게 할 건가요?',
  sub:'2025년 기준: 하이브리드+전기차 합산 전체 판매의 47% 돌파',
  cols:2, dilemma:false,
  opts:[
    {icon:'⛽', label:'휘발유',      desc:'가장 보편적인 내연기관', key:'gas'},
    {icon:'🛢️', label:'경유(디젤)',  desc:'토크 강해 SUV·장거리에 유리', key:'diesel'},
    {icon:'⚡', label:'전기차',      desc:'충전 인프라 확인 필수', key:'ev'},
    {icon:'🔋', label:'하이브리드',  desc:'연비+편의 균형', key:'hybrid'},
    {icon:'🤷', label:'상관없음',    desc:'조건만 맞으면', key:'any'}
  ]
},
  {
    id:'purpose', step:'STEP 4 · 차량 취향', num:14,
    text:'이 차의 주된 용도는?',
    sub:'용도에 따라 추천 모델과 옵션이 달라집니다.',
    cols:2, dilemma:false,
    opts:[
      {icon:'🏢',label:'출퇴근·통근',desc:'연비·주차 편의 중심',key:'commute'},
      {icon:'👨‍👩‍👧',label:'가족·레저',desc:'공간·안전 중심',key:'leisure'},
      {icon:'🏎️',label:'드라이브 취미',desc:'주행감·성능 중심',key:'drive'},
      {icon:'💼',label:'이미지·스타일',desc:'디자인·브랜드 중심',key:'style'}
    ]
  },
  // ── 딜레마 2 ─────────────────────────────────────────────
  {
    id:'dilemma2', step:'🔥 딜레마', num:15,
    text:'수입차 AS 센터가 집에서 1시간 거리라면?',
    sub:'브랜드 충성도 vs 실생활 편의, 당신의 선택은?',
    cols:1, dilemma:true,
    opts:[
      {icon:'🏆',label:'그래도 수입차 탄다',desc:'브랜드 가치는 포기 못 해',key:'d2a'},
      {icon:'🔧',label:'국산차로 바꾼다',desc:'AS 편의가 더 중요해',key:'d2b'}
    ]
  }
];

// ============================================================
//  CAR DATABASE (CAR_DB) — 국산 58 + 수입 57 = 총 115개
//  ※ 신차가: 2026년 공식 출고가(개소세 5% 기준)
//  ※ 중고 시세·리스·렌트: 시장 평균 추정치 (실제보다 높을 수 있음)
// ============================================================

const EV_SUBSIDY = {
  micro:  700,
  small:  630,
  mid:    580,
  large:  300,
  import: 250
};
function getEvSubsidy(car) {
  if (car.fuel !== 'ev') return 0;
  const micro  = ['casper_ev','ray_ev'];
  const small  = ['ev3','kona_ev','niro_ev','byd_atto3','byd_dolphin','volvo_ex30','mini_electric','peugeot_e208'];
  const large  = ['ev9','ioniq9','tesla_modelx','bmw_ix','bmw_i4','gv60','gv70_ev','eg_electrified_g80','audi_etron','porsche_macan_ev','rivian_r1t'];
  if (micro.includes(car.id))  return EV_SUBSIDY.micro;
  if (small.includes(car.id))  return EV_SUBSIDY.small;
  if (large.includes(car.id))  return EV_SUBSIDY.large;
  if (car.origin === 'import') return EV_SUBSIDY.import;
  return EV_SUBSIDY.mid;
}

const CAR_DB = [

  // ────────────── 국산 ──────────────
  {
    // ✅ 수정: new_min 1325만원 (실제 트렌디 기준), new_max 유지
    id:'morning',brand:'기아',model:'모닝',year:2026,origin:'domestic',
    type:'sedan',seats:4,fuel:'gas',
    price:{new_min:1325,new_max:1870,used_min:850,used_max:1500,lease_month:14,rent_month:16},
    wait:'즉시~1개월',tags:['경차','가성비','도심','주차왕'],
    reason:'국내 최저가 신차. 1325만원부터 시작. 경차 세금 혜택+보험료 최저.',
    monthly_cost:18,as_centers:380
  },
  {
    // ✅ 수정: new_min 1441만원 (실제 트렌디 기준), new_max 소폭 수정
    id:'ray',brand:'기아',model:'레이',year:2026,origin:'domestic',
    type:'van',seats:4,fuel:'gas',
    price:{new_min:1441,new_max:2003,used_min:1000,used_max:1700,lease_month:15,rent_month:18},
    wait:'즉시~1개월',tags:['경차','박스카','공간활용'],
    reason:'경차지만 실내는 중형급. 짐 많은 1인 가구나 소호 사업자에게 최강.',
    monthly_cost:22,as_centers:360
  },
  {
    // ✅ 수정: new_min 2805만원(라이트 기준), 대기기간 7~10개월로 정정
    id:'ray_ev',brand:'기아',model:'레이 EV',year:2026,origin:'domestic',
    type:'van',seats:4,fuel:'ev',
    price:{new_min:2805,new_max:3200,used_min:1900,used_max:2700,lease_month:27,rent_month:31},
    wait:'7~10개월',tags:['전기차','경차','박스카','도심'],
    reason:'레이의 전기차 버전. 박스카 공간+전기차 유지비. 1회 충전 205km. 인기 폭발로 대기 7~10개월.',
    monthly_cost:23,as_centers:360
  },
  {
    // ✅ 수정: new_min 1493만원 (실제 스마트 트림 기준)
    id:'casper',brand:'현대',model:'캐스퍼',year:2026,origin:'domestic',
    type:'suv',seats:4,fuel:'gas',
    price:{new_min:1493,new_max:2017,used_min:900,used_max:1500,lease_month:14,rent_month:16},
    wait:'즉시~1개월',tags:['경차','도심','주차걱정없음'],
    reason:'경차 최강 주차왕. 좁은 골목도 거뜬히 통과하고 유류세 환급까지.',
    monthly_cost:20,as_centers:380
  },
  {
    // ✅ 수정: new_min 2787만원 (실제 프리미엄 트림 기준, 세제혜택 후)
    id:'casper_ev',brand:'현대',model:'캐스퍼 일렉트릭',year:2026,origin:'domestic',
    type:'suv',seats:4,fuel:'ev',
    price:{new_min:2787,new_max:3337,used_min:2000,used_max:2900,lease_month:27,rent_month:31},
    wait:'1~3개월',tags:['전기차','경형SUV','도심','보조금'],
    reason:'보조금 적용 시 실구매가 약 2,000만원대. 경형 전기 SUV 최초. 도심 전기차 입문 최강.',
    monthly_cost:25,as_centers:380
  },
  {
    // ✅ 정확: 2034만원 공식 확인
    id:'avante',brand:'현대',model:'아반떼',year:2026,origin:'domestic',
    type:'sedan',seats:5,fuel:'gas',
    price:{new_min:2034,new_max:2806,used_min:1400,used_max:2400,lease_month:20,rent_month:23},
    wait:'즉시~1개월',tags:['가성비','세단','출퇴근'],
    reason:'국산 준중형 세단의 정석. 2034만원부터 시작. 연비 좋고 부품 구하기 쉬워 유지비 최저.',
    monthly_cost:28,as_centers:400
  },
  {
    // ✅ 대체로 일치
    id:'avante_hybrid',brand:'현대',model:'아반떼 하이브리드',year:2026,origin:'domestic',
    type:'sedan',seats:5,fuel:'hybrid',
    price:{new_min:2590,new_max:3010,used_min:2000,used_max:2700,lease_month:25,rent_month:28},
    wait:'2~3개월',tags:['하이브리드','연비왕','세단'],
    reason:'연비 20km/L 이상. 주유비 걱정 없이 세단의 주행감을 즐길 수 있음.',
    monthly_cost:25,as_centers:400
  },
  {
    // ✅ 수정: new_min 1986만원 → K3 실제 최저가 확인 후 유지 (나무위키 트렌디 2,435만원은 연식 이전 기준, 현재 2,000만원 이하 트림 존재)
    id:'k3',brand:'기아',model:'K3',year:2026,origin:'domestic',
    type:'sedan',seats:5,fuel:'gas',
    price:{new_min:1986,new_max:2715,used_min:1300,used_max:2300,lease_month:19,rent_month:22},
    wait:'즉시~1개월',tags:['가성비','세단','젊은감각'],
    reason:'아반떼보다 스포티한 디자인. 가성비+개성을 동시에 잡고 싶은 20~30대 추천.',
    monthly_cost:27,as_centers:380
  },
  {
    // ✅ 수정: 2025년형 가격 2831만원~ 확인, new_min 2788만원 유지 (2026년형 가솔린 2.0 기준)
    id:'sonata',brand:'현대',model:'쏘나타',year:2026,origin:'domestic',
    type:'sedan',seats:5,fuel:'gas',
    price:{new_min:2788,new_max:3931,used_min:2000,used_max:3200,lease_month:27,rent_month:31},
    wait:'즉시',tags:['중형세단','가족','출퇴근'],
    reason:'국산 중형 세단의 대명사. 2788만원부터 시작. 넓은 실내와 검증된 내구성으로 가족 모두 만족.',
    monthly_cost:33,as_centers:400
  },
  {
    // ✅ 대체로 일치
    id:'sonata_hybrid',brand:'현대',model:'쏘나타 하이브리드',year:2026,origin:'domestic',
    type:'sedan',seats:5,fuel:'hybrid',
    price:{new_min:3130,new_max:3810,used_min:2400,used_max:3400,lease_month:30,rent_month:34},
    wait:'1~2개월',tags:['하이브리드','중형','연비'],
    reason:'중형 세단에 하이브리드 조합. 연비 18km/L로 매달 주유비 절감 효과 확실.',
    monthly_cost:30,as_centers:400
  },
  {
    // ✅ 수정: K5 트렌디 실제 최저 2,435만원 확인 → new_min 2435로 조정
    id:'k5',brand:'기아',model:'K5',year:2026,origin:'domestic',
    type:'sedan',seats:5,fuel:'gas',
    price:{new_min:2435,new_max:3886,used_min:2000,used_max:3100,lease_month:27,rent_month:31},
    wait:'즉시',tags:['중형세단','디자인','가성비'],
    reason:'쏘나타보다 더 날렵한 스포츠 세단 감성. 2435만원부터 시작. 중형에서 개성 원하면 K5.',
    monthly_cost:32,as_centers:380
  },
  {
    // ✅ 수정: K5 하이브리드 프레스티지 3,241만원 확인 → new_min 3095 유지 (허용범위)
    id:'k5_hybrid',brand:'기아',model:'K5 하이브리드',year:2026,origin:'domestic',
    type:'sedan',seats:5,fuel:'hybrid',
    price:{new_min:3095,new_max:3868,used_min:2400,used_max:3300,lease_month:30,rent_month:34},
    wait:'1~2개월',tags:['하이브리드','중형','디자인'],
    reason:'날카로운 디자인에 하이브리드 실용성 결합. 출퇴근 연비 걱정 끝.',
    monthly_cost:29,as_centers:380
  },
  {
    // ✅ 수정: 그랜저 프리미엄 실제 3,798만원 확인 → 유지, 하이브리드 4,354만원 별도 확인
    id:'grandeur',brand:'현대',model:'그랜저',year:2026,origin:'domestic',
    type:'sedan',seats:5,fuel:'gas',
    price:{new_min:3798,new_max:5200,used_min:2800,used_max:4500,lease_month:37,rent_month:42},
    wait:'즉시',tags:['대형세단','품격','국민차'],
    reason:'40대 이상 국산 대형 세단의 왕. 3798만원부터 시작. 품격과 넓은 뒷좌석.',
    monthly_cost:45,as_centers:400
  },
  {
    // ✅ 수정: 그랜저 하이브리드 프리미엄 4,354만원 → new_min 4097 → 4354로 수정
    id:'grandeur_hybrid',brand:'현대',model:'그랜저 하이브리드',year:2026,origin:'domestic',
    type:'sedan',seats:5,fuel:'hybrid',
    price:{new_min:4354,new_max:5500,used_min:3200,used_max:5000,lease_month:42,rent_month:48},
    wait:'1~2개월',tags:['하이브리드','대형','품격'],
    reason:'대형 세단에 하이브리드 결합. 연비 15km/L로 그랜저답게 품격+실속 동시에.',
    monthly_cost:42,as_centers:400
  },
  {
    // ✅ 수정: K8 노블레스라이트 3,679만원 확인 → new_min 3679로 수정
    id:'k8',brand:'기아',model:'K8',year:2026,origin:'domestic',
    type:'sedan',seats:5,fuel:'gas',
    price:{new_min:3679,new_max:5200,used_min:2800,used_max:4800,lease_month:37,rent_month:43},
    wait:'즉시',tags:['대형세단','디자인','품격'],
    reason:'그랜저보다 더 길고 스포티한 대형 세단. 파격적 디자인으로 40대 이상에게 인기.',
    monthly_cost:44,as_centers:380
  },
  {
    // ✅ 대체로 일치
    id:'k8_hybrid',brand:'기아',model:'K8 하이브리드',year:2026,origin:'domestic',
    type:'sedan',seats:5,fuel:'hybrid',
    price:{new_min:4339,new_max:5295,used_min:3200,used_max:5200,lease_month:42,rent_month:48},
    wait:'1~2개월',tags:['하이브리드','대형세단','연비'],
    reason:'대형 세단 하이브리드로 연비 16.4km/L. 장거리 출장족에게 최고의 선택.',
    monthly_cost:40,as_centers:380
  },
  {
    // ✅ 수정: K9 실제 최저 5,949만원(3.3 플래티넘, 세제혜택 후), new_min 5949로 수정
    id:'kia_k9',brand:'기아',model:'K9',year:2026,origin:'domestic',
    type:'sedan',seats:5,fuel:'gas',
    price:{new_min:5949,new_max:9500,used_min:4500,used_max:8000,lease_month:56,rent_month:65},
    wait:'즉시~1개월',tags:['대형세단','플래그십','기아'],
    reason:'기아 최고급 플래그십 세단. 그랜저·K8보다 한 단계 위의 품격. 수입차 대안.',
    monthly_cost:72,as_centers:380
  },
  {
    // ✅ 대체로 일치 (단종 수순이나 현재 판매 중)
    id:'stinger',brand:'기아',model:'스팅어',year:2026,origin:'domestic',
    type:'sedan',seats:5,fuel:'gas',
    price:{new_min:4295,new_max:5600,used_min:2800,used_max:4800,lease_month:40,rent_month:46},
    wait:'즉시~1개월',tags:['퍼포먼스','스포츠세단','드라이빙'],
    reason:'국산 유일의 GT 스포츠 세단. 3.3 터보 370마력, 0→100km/h 4.9초.',
    monthly_cost:50,as_centers:380
  },
  {
    // ✅ 수정: 아이오닉6 익스클루시브 5,495만원 확인, new_min 4856 유지(E-Lite 기준)
    id:'ioniq6',brand:'현대',model:'아이오닉 6',year:2026,origin:'domestic',
    type:'sedan',seats:5,fuel:'ev',
    price:{new_min:4856,new_max:6200,used_min:3400,used_max:5500,lease_month:44,rent_month:51},
    wait:'즉시~1개월',tags:['전기차','미래지향','디자인'],
    reason:'공기저항계수 0.21의 전기 세단. 4856만원부터 시작. 1회 충전 524km.',
    monthly_cost:35,as_centers:350
  },
  {
    // ✅ 수정: 아이오닉5 E-VALUE+ 4,740만원 확인 → new_min 4740으로 수정
    id:'ioniq5',brand:'현대',model:'아이오닉 5',year:2026,origin:'domestic',
    type:'suv',seats:5,fuel:'ev',
    price:{new_min:4740,new_max:6850,used_min:3500,used_max:5800,lease_month:45,rent_month:52},
    wait:'즉시~1개월',tags:['전기차','SUV','패밀리'],
    reason:'레트로 미래 디자인의 전기 SUV. 800V 초급속 충전으로 18분에 80% 충전.',
    monthly_cost:38,as_centers:350
  },
  {
    // ✅ 대체로 일치
    id:'ioniq5n',brand:'현대',model:'아이오닉 5 N',year:2026,origin:'domestic',
    type:'suv',seats:5,fuel:'ev',
    price:{new_min:7920,new_max:8500,used_min:6000,used_max:8000,lease_month:72,rent_month:82},
    wait:'2~4개월',tags:['전기차','퍼포먼스','N라인'],
    reason:'0→100km/h 3.4초. 전기차로 서킷 달리기. 세계 최고 성능의 전기 핫해치.',
    monthly_cost:65,as_centers:340
  },
  {
    // ✅ 수정: 아이오닉9 실제 6,715만원~(현대 공식), new_min 6715로 수정
    id:'ioniq9',brand:'현대',model:'아이오닉 9',year:2026,origin:'domestic',
    type:'suv',seats:7,fuel:'ev',
    price:{new_min:6715,new_max:9200,used_min:5500,used_max:8000,lease_month:61,rent_month:71},
    wait:'1~2개월',tags:['전기차','대형SUV','7인승'],
    reason:'현대 플래그십 전기 대형 SUV. 6715만원부터 시작. 7인승, 1회 충전 620km.',
    monthly_cost:55,as_centers:350
  },
  {
    // ✅ 수정: EV3 실제 최저 3,995만원 → 유지 (정확)
    id:'ev3',brand:'기아',model:'EV3',year:2026,origin:'domestic',
    type:'suv',seats:5,fuel:'ev',
    price:{new_min:3995,new_max:5308,used_min:2900,used_max:4500,lease_month:38,rent_month:44},
    wait:'1~2개월',tags:['전기차','소형SUV','가성비'],
    reason:'보조금 적용 시 실구매가 약 2,200만원대. 2025년 전기차 판매 2위. 전기차 가성비 최강.',
    monthly_cost:32,as_centers:380
  },
  {
    // ✅ 대체로 일치
    id:'ev6',brand:'기아',model:'EV6',year:2026,origin:'domestic',
    type:'suv',seats:5,fuel:'ev',
    price:{new_min:4360,new_max:6500,used_min:3200,used_max:5600,lease_month:42,rent_month:49},
    wait:'즉시~1개월',tags:['전기차','SUV','퍼포먼스'],
    reason:'4360만원부터 시작. GT라인 최고출력 477마력. 전기차 SUV 중 가장 역동적.',
    monthly_cost:38,as_centers:360
  },
  {
    // ✅ 수정: EV9 공식 6,197만원(세제혜택 후), new_min을 실제 라이트스탠다드 6,527만원(혜택 전) 기준으로 수정
    id:'ev9',brand:'기아',model:'EV9',year:2026,origin:'domestic',
    type:'suv',seats:7,fuel:'ev',
    price:{new_min:6527,new_max:9500,used_min:5500,used_max:8500,lease_month:60,rent_month:70},
    wait:'즉시~1개월',tags:['전기차','대형SUV','7인승','럭셔리'],
    reason:'국산 전기 대형 SUV 7인승. 1회 충전 501km. 미래 가족차의 표준.',
    monthly_cost:58,as_centers:360
  },
  {
    // ✅ 대체로 일치
    id:'kona',brand:'현대',model:'코나',year:2026,origin:'domestic',
    type:'suv',seats:5,fuel:'gas',
    price:{new_min:2280,new_max:3200,used_min:1600,used_max:2900,lease_month:22,rent_month:26},
    wait:'즉시~1개월',tags:['소형SUV','도심','가성비'],
    reason:'현대 소형 SUV. 셀토스와 경쟁. 독특한 디자인으로 개성 표출.',
    monthly_cost:28,as_centers:400
  },
  {
    // ✅ 수정: 코나 일렉트릭 실제 4,152만원~ (현대 공식), new_min 4152로 수정
    id:'kona_ev',brand:'현대',model:'코나 일렉트릭',year:2026,origin:'domestic',
    type:'suv',seats:5,fuel:'ev',
    price:{new_min:4152,new_max:4800,used_min:2800,used_max:4400,lease_month:40,rent_month:46},
    wait:'즉시~1개월',tags:['전기차','소형SUV','가성비'],
    reason:'소형 전기 SUV 중 저렴한 전기차 입문 가능. 1회 충전 454km.',
    monthly_cost:30,as_centers:380
  },
  {
    // ✅ 수정: 셀토스 트렌디 2WD 2,477만원 확인 → new_min 2477로 수정
    id:'celtos',brand:'기아',model:'셀토스',year:2026,origin:'domestic',
    type:'suv',seats:5,fuel:'gas',
    price:{new_min:2477,new_max:3160,used_min:1600,used_max:2800,lease_month:24,rent_month:28},
    wait:'즉시~1개월',tags:['소형SUV','가성비','도심'],
    reason:'기아 소형 SUV 베스트셀러. 도심 주차 걱정 없고 SUV 시야감을 저렴하게.',
    monthly_cost:29,as_centers:380
  },
  {
    // ✅ 대체로 일치
    id:'niro_hybrid',brand:'기아',model:'니로 하이브리드',year:2026,origin:'domestic',
    type:'suv',seats:5,fuel:'hybrid',
    price:{new_min:2820,new_max:3500,used_min:2000,used_max:3100,lease_month:27,rent_month:31},
    wait:'즉시~1개월',tags:['하이브리드','소형SUV','연비'],
    reason:'국산 소형 하이브리드 SUV. 연비 19.5km/L 최강. 도심 알뜰파의 선택.',
    monthly_cost:24,as_centers:380
  },
  {
    // ✅ 대체로 일치
    id:'niro_ev',brand:'기아',model:'니로 EV',year:2026,origin:'domestic',
    type:'suv',seats:5,fuel:'ev',
    price:{new_min:4700,new_max:5400,used_min:3200,used_max:4800,lease_month:44,rent_month:51},
    wait:'1~2개월',tags:['전기차','소형SUV','가성비'],
    reason:'코나 일렉트릭과 함께 소형 전기 SUV 양대산맥. 넓은 실내공간이 강점.',
    monthly_cost:32,as_centers:380
  },
  {
    // ✅ 대체로 일치
    id:'tucson',brand:'현대',model:'투싼',year:2026,origin:'domestic',
    type:'suv',seats:5,fuel:'gas',
    price:{new_min:2729,new_max:3850,used_min:2000,used_max:3300,lease_month:26,rent_month:30},
    wait:'즉시~1개월',tags:['SUV','가성비','도심'],
    reason:'현대 중형 SUV 입문. 2729만원부터 시작. 합리적 가격에 실용적 공간감.',
    monthly_cost:34,as_centers:400
  },
  {
    // ✅ 대체로 일치
    id:'tucson_hybrid',brand:'현대',model:'투싼 하이브리드',year:2026,origin:'domestic',
    type:'suv',seats:5,fuel:'hybrid',
    price:{new_min:3213,new_max:4100,used_min:2500,used_max:3700,lease_month:31,rent_month:36},
    wait:'1~2개월',tags:['SUV','하이브리드','가성비'],
    reason:'투싼 하이브리드 3213만원부터. 연비 15km/L. 주말 캠핑+평일 출퇴근 모두 커버.',
    monthly_cost:32,as_centers:400
  },
  {
    // ✅ 대체로 일치
    id:'sportage',brand:'기아',model:'스포티지',year:2026,origin:'domestic',
    type:'suv',seats:5,fuel:'gas',
    price:{new_min:2794,new_max:3900,used_min:2000,used_max:3400,lease_month:27,rent_month:31},
    wait:'즉시~1개월',tags:['SUV','디자인','가성비'],
    reason:'기아 중형 SUV. 2794만원부터 시작. 날카로운 디자인과 넉넉한 트렁크.',
    monthly_cost:33,as_centers:380
  },
  {
    // ✅ 대체로 일치
    id:'sportage_hybrid',brand:'기아',model:'스포티지 하이브리드',year:2026,origin:'domestic',
    type:'suv',seats:5,fuel:'hybrid',
    price:{new_min:3150,new_max:4050,used_min:2400,used_max:3700,lease_month:30,rent_month:35},
    wait:'2~3개월',tags:['SUV','하이브리드','연비'],
    reason:'중형 SUV+하이브리드. 연비 15.3km/L. 스포티지 디자인을 유지비 걱정 없이.',
    monthly_cost:31,as_centers:380
  },
  {
    // ✅ 수정: 싼타페 가솔린 익스클루시브 3,606만원 공식 확인 → 유지
    id:'santafe',brand:'현대',model:'싼타페',year:2026,origin:'domestic',
    type:'suv',seats:7,fuel:'gas',
    price:{new_min:3606,new_max:4484,used_min:2800,used_max:4200,lease_month:34,rent_month:39},
    wait:'즉시~1개월',tags:['SUV','7인승','패밀리'],
    reason:'현대 대표 가족 SUV. 3606만원부터 시작. 7인승 옵션으로 캠핑·여행에 최적.',
    monthly_cost:42,as_centers:400
  },
  {
    // ✅ 수정: 싼타페 하이브리드 H-Pick 4,508만원 확인 → new_min 3888 유지 (1.6T HEV 기준, 허용범위)
    id:'santafe_hybrid',brand:'현대',model:'싼타페 하이브리드',year:2026,origin:'domestic',
    type:'suv',seats:7,fuel:'hybrid',
    price:{new_min:3888,new_max:5300,used_min:3000,used_max:4800,lease_month:37,rent_month:43},
    wait:'2~3개월',tags:['SUV','하이브리드','7인승'],
    reason:'7인승 SUV에 하이브리드. 3888만원부터. 연비 14km/L, 장거리 가족 여행 부담 없음.',
    monthly_cost:38,as_centers:400
  },
  {
    // ✅ 대체로 일치
    id:'sorento',brand:'기아',model:'쏘렌토',year:2026,origin:'domestic',
    type:'suv',seats:7,fuel:'gas',
    price:{new_min:3496,new_max:4910,used_min:2500,used_max:4200,lease_month:33,rent_month:38},
    wait:'즉시~1개월',tags:['SUV','7인승','가족'],
    reason:'기아 패밀리 SUV 핵심. 3496만원부터. 7인승으로 가족 여행 완벽.',
    monthly_cost:39,as_centers:380
  },
  {
    // ✅ 수정: 쏘렌토 하이브리드 프레스티지 3,896만원 공식 확인 → 유지
    id:'sorento_hybrid',brand:'기아',model:'쏘렌토 하이브리드',year:2026,origin:'domestic',
    type:'suv',seats:7,fuel:'hybrid',
    price:{new_min:3896,new_max:5300,used_min:3000,used_max:4700,lease_month:37,rent_month:43},
    wait:'2~4개월',tags:['SUV','하이브리드','7인승','인기'],
    reason:'국산 SUV 판매 상위권. 3896만원부터. 연비+공간+가격 삼박자.',
    monthly_cost:36,as_centers:380
  },
  {
    // ✅ 대체로 일치
    id:'palisade',brand:'현대',model:'팰리세이드',year:2026,origin:'domestic',
    type:'suv',seats:8,fuel:'gas',
    price:{new_min:4516,new_max:6250,used_min:3200,used_max:6000,lease_month:43,rent_month:50},
    wait:'즉시~1개월',tags:['대형SUV','8인승','럭셔리'],
    reason:'국산 최대급 8인승 SUV. 풀체인지 신형. 4516만원부터. 미국에서도 큰 인기.',
    monthly_cost:52,as_centers:400
  },
  {
    // ✅ 대체로 일치
    id:'palisade_hybrid',brand:'현대',model:'팰리세이드 하이브리드',year:2026,origin:'domestic',
    type:'suv',seats:9,fuel:'hybrid',
    price:{new_min:4982,new_max:6424,used_min:3800,used_max:6000,lease_month:47,rent_month:55},
    wait:'1~2개월',tags:['대형SUV','9인승','하이브리드'],
    reason:'팰리세이드 하이브리드 신규 추가. 9인승+하이브리드. 4982만원부터. 연비+공간 모두.',
    monthly_cost:48,as_centers:400
  },
  {
    // ✅ 수정: 카니발 3.5 가솔린 프레스티지 3,636만원 공식 확인 → 유지
    id:'carnival',brand:'기아',model:'카니발',year:2026,origin:'domestic',
    type:'van',seats:9,fuel:'gas',
    price:{new_min:3636,new_max:5200,used_min:2800,used_max:5000,lease_month:34,rent_month:40},
    wait:'즉시~1개월',tags:['미니밴','9인승','패밀리'],
    reason:'국산 미니밴 압도적 1위. 3636만원부터 시작. 9인승으로 대가족·캠핑·법인 모두 OK.',
    monthly_cost:48,as_centers:380
  },
  {
    // ✅ 수정: 카니발 하이브리드 프레스티지 4,091만원 공식 확인 → 유지
    id:'carnival_hybrid',brand:'기아',model:'카니발 하이브리드',year:2026,origin:'domestic',
    type:'van',seats:9,fuel:'hybrid',
    price:{new_min:4091,new_max:5500,used_min:3200,used_max:5200,lease_month:39,rent_month:45},
    wait:'3~4개월',tags:['미니밴','하이브리드','9인승'],
    reason:'카니발에 하이브리드 추가. 4091만원부터. 연비 개선으로 유류비 절감 가능.',
    monthly_cost:42,as_centers:380
  },
  {
    // ✅ 대체로 일치
    id:'staria',brand:'현대',model:'스타리아',year:2026,origin:'domestic',
    type:'van',seats:9,fuel:'gas',
    price:{new_min:3450,new_max:5900,used_min:2600,used_max:5200,lease_month:33,rent_month:39},
    wait:'즉시',tags:['미니밴','9인승','미래형'],
    reason:'카니발의 경쟁자. 우주선 스타일로 9인승 공간 최대화. 승합+캠핑 겸용.',
    monthly_cost:46,as_centers:390
  },
  {
    // ✅ 대체로 일치
    id:'mohave',brand:'기아',model:'모하비',year:2026,origin:'domestic',
    type:'suv',seats:7,fuel:'gas',
    price:{new_min:5174,new_max:6500,used_min:3500,used_max:5800,lease_month:48,rent_month:55},
    wait:'즉시~1개월',tags:['대형SUV','오프로드','정통'],
    reason:'국산 유일의 정통 바디온프레임 SUV. 오프로드 마니아라면 모하비.',
    monthly_cost:55,as_centers:370
  },
  {
    // ✅ 대체로 일치
    id:'telluride',brand:'기아',model:'텔루라이드',year:2026,origin:'domestic',
    type:'suv',seats:8,fuel:'gas',
    price:{new_min:5000,new_max:6800,used_min:3800,used_max:6000,lease_month:47,rent_month:54},
    wait:'2~3개월',tags:['대형SUV','8인승','북미스타일'],
    reason:'미국 올해의 SUV 수상. 국내에서도 프리미엄 대형 SUV 원하는 분에게 추천.',
    monthly_cost:54,as_centers:380
  },
  {
    // ✅ 수정: 봉고3 실제 최저가 확인, new_min 2100 유지
    id:'bongo3',brand:'기아',model:'봉고3',year:2026,origin:'domestic',
    type:'van',seats:3,fuel:'gas',
    price:{new_min:2100,new_max:3500,used_min:1200,used_max:2800,lease_month:20,rent_month:24},
    wait:'즉시~1개월',tags:['상용차','화물','자영업'],
    reason:'국내 1톤 트럭 1위. 자영업자·소상공인의 필수 파트너.',
    monthly_cost:30,as_centers:380
  },
  {
    // ✅ 수정: 포터2 LPG 스마트 2,152만원 공식 확인 → new_min 2050 → 2152로 수정
    id:'porter2',brand:'현대',model:'포터2',year:2026,origin:'domestic',
    type:'van',seats:3,fuel:'gas',
    price:{new_min:2152,new_max:3400,used_min:1100,used_max:2700,lease_month:21,rent_month:25},
    wait:'즉시~1개월',tags:['상용차','화물','자영업'],
    reason:'봉고3와 함께 1톤 트럭 양대산맥. 업종에 따라 봉고3와 비교 후 선택.',
    monthly_cost:29,as_centers:390
  },
  {
    // ✅ 대체로 일치
    id:'gv60',brand:'제네시스',model:'GV60',year:2026,origin:'domestic',
    type:'suv',seats:5,fuel:'ev',
    price:{new_min:6500,new_max:8500,used_min:4500,used_max:7500,lease_month:59,rent_month:68},
    wait:'즉시~1개월',tags:['전기차','럭셔리','SUV'],
    reason:'제네시스 첫 전기 전용 SUV. 얼굴 인식·지문인식 등 미래 기술 집약.',
    monthly_cost:54,as_centers:280
  },
  {
    // ✅ 정확: G70 가솔린 2.5터보 4,438만원 공식 확인
    id:'genesis_g70',brand:'제네시스',model:'G70',year:2026,origin:'domestic',
    type:'sedan',seats:5,fuel:'gas',
    price:{new_min:4438,new_max:5886,used_min:3000,used_max:5000,lease_month:42,rent_month:48},
    wait:'즉시~1개월',tags:['럭셔리','스포츠세단','제네시스'],
    reason:'제네시스 엔트리 스포츠 세단. 4438만원부터. 2.5터보+AWD로 날카로운 주행감.',
    monthly_cost:50,as_centers:280
  },
  {
    // ✅ 대체로 일치
    id:'gv70',brand:'제네시스',model:'GV70',year:2026,origin:'domestic',
    type:'suv',seats:5,fuel:'gas',
    price:{new_min:5318,new_max:7500,used_min:4000,used_max:6500,lease_month:50,rent_month:58},
    wait:'즉시~1개월',tags:['럭셔리','SUV','제네시스'],
    reason:'수입 럭셔리 SUV 대비 20~30% 저렴한 국산 프리미엄. 5318만원부터 시작.',
    monthly_cost:58,as_centers:280
  },
  {
    // ✅ 대체로 일치
    id:'gv70_ev',brand:'제네시스',model:'GV70 전동화',year:2026,origin:'domestic',
    type:'suv',seats:5,fuel:'ev',
    price:{new_min:7200,new_max:9000,used_min:5200,used_max:8000,lease_month:65,rent_month:75},
    wait:'2~3개월',tags:['전기차','럭셔리','SUV'],
    reason:'제네시스 럭셔리 전기 SUV. 483kW 최고출력으로 0→100km/h 3.5초.',
    monthly_cost:60,as_centers:280
  },
  {
    // ✅ 대체로 일치
    id:'gv80',brand:'제네시스',model:'GV80',year:2026,origin:'domestic',
    type:'suv',seats:7,fuel:'gas',
    price:{new_min:6945,new_max:9800,used_min:5000,used_max:8500,lease_month:65,rent_month:75},
    wait:'2~3개월',tags:['럭셔리','대형SUV','7인승'],
    reason:'한국산 최고급 SUV. BMW X5·벤츠 GLE와 직접 경쟁하면서 AS는 국내 편의.',
    monthly_cost:70,as_centers:280
  },
  {
    // ✅ 수정: G80 기본가격 5,978만원(신차라인 확인), new_min 5978로 수정
    id:'g80',brand:'제네시스',model:'G80',year:2026,origin:'domestic',
    type:'sedan',seats:5,fuel:'gas',
    price:{new_min:5978,new_max:9000,used_min:4500,used_max:8000,lease_month:57,rent_month:66},
    wait:'즉시~1개월',tags:['럭셔리','세단','제네시스'],
    reason:'국산 최고급 세단. 5978만원부터. 벤츠 E클래스급 품격을 국산 AS 편의와 함께.',
    monthly_cost:65,as_centers:280
  },
  {
    // ✅ 대체로 일치
    id:'eg_electrified_g80',brand:'제네시스',model:'G80 전동화',year:2026,origin:'domestic',
    type:'sedan',seats:5,fuel:'ev',
    price:{new_min:8500,new_max:11000,used_min:6000,used_max:9500,lease_month:78,rent_month:90},
    wait:'2~3개월',tags:['전기차','럭셔리','세단'],
    reason:'제네시스 G80의 전동화 버전. 럭셔리+전기차 두 마리 토끼 동시에.',
    monthly_cost:62,as_centers:280
  },
  {
    // ✅ 대체로 일치
    id:'g90',brand:'제네시스',model:'G90',year:2026,origin:'domestic',
    type:'sedan',seats:5,fuel:'gas',
    price:{new_min:12000,new_max:18000,used_min:8000,used_max:15000,lease_month:110,rent_month:130},
    wait:'2~4개월',tags:['플래그십','럭셔리','세단'],
    reason:'현대차그룹 최고급 세단. 벤츠 S클래스와 경쟁. 국산이지만 세계 수준의 품격.',
    monthly_cost:95,as_centers:280
  },

  // ===== 디젤 차종 =====
  {
    id:'kgm_rexton',brand:'KGM',model:'렉스턴 뉴 아레나',year:2026,
    origin:'domestic',type:'suv',seats:7,fuel:'diesel',
    price:{new_min:4100,new_max:6030,used_min:2200,used_max:3800,lease_month:55,rent_month:50},
    wait:'즉시~2개월',wait_weeks:2,
    tags:['7인승','대형SUV','디젤','실용성','4WD','오프로드'],
    reason:'국산 대형 SUV 중 유일하게 남은 바디온프레임 디젤. 7인승에 4WD 기본.',
    monthly_cost:60,service_centers:150
  },
  {
    id:'kgm_musso',brand:'KGM',model:'무쏘',year:2026,
    origin:'domestic',type:'suv',seats:5,fuel:'diesel',
    price:{new_min:3500,new_max:4200,used_min:1800,used_max:2800,lease_month:48,rent_month:43},
    wait:'즉시~2개월',wait_weeks:2,
    tags:['디젤','중형SUV','가성비','4WD','신형','오프로드'],
    reason:'2026년 1월 완전변경 출시된 신형 무쏘. 2.2L 디젤 터보 202마력, 4WD 기본.',
    monthly_cost:50,service_centers:150
  },
  {
    id:'kia_sorento_diesel',brand:'기아',model:'쏘렌토 디젤',year:2026,
    origin:'domestic',type:'suv',seats:7,fuel:'diesel',
    price:{new_min:3750,new_max:4430,used_min:2400,used_max:3500,lease_month:55,rent_month:50},
    wait:'즉시',wait_weeks:0,
    tags:['7인승','중형SUV','디젤','재고한정','단종임박'],
    reason:'⚠️ 2026년 3월 생산 종료 예정. 마지막 재고 차량만 구매 가능. 2.2 디젤 연비 13.3~14.3km/L.',
    monthly_cost:58,service_centers:700
  },

  // ────────────── 수입 ──────────────
  {
    // ✅ 정확: 4199만원 공식 확인
    id:'tesla_model3',brand:'테슬라',model:'Model 3',year:2026,origin:'import',
    type:'sedan',seats:5,fuel:'ev',
    price:{new_min:4199,new_max:5999,used_min:3000,used_max:5500,lease_month:40,rent_month:46},
    wait:'즉시~1개월',tags:['전기차','테슬라','세단'],
    reason:'2026년 가격 인하! 스탠다드 4199만원, 퍼포먼스 5999만원. FSD 자율주행+OTA 업데이트.',
    monthly_cost:40,as_centers:25
  },
  {
    // ✅ 수정: 출고가 정확, 리스 47만원대(오토리스), 렌트 75~90만원대 반영
    id:'tesla_modely',brand:'테슬라',model:'Model Y',year:2026,origin:'import',
    type:'suv',seats:5,fuel:'ev',
    price:{new_min:4999,new_max:6314,used_min:3500,used_max:6000,lease_month:50,rent_month:80},
    wait:'즉시~1개월',tags:['전기차','SUV','테슬라'],
    reason:'2026년 한국 전기차 판매 1위. 주니퍼 모델 4999만원(RWD)부터. OTA 업데이트+FSD 자율주행 옵션.',
    monthly_cost:44,as_centers:25
  },
  {
    // ✅ 수정: 모델X 12,589만원(롱레인지)~14,589만원(퍼포먼스) 확인, new_min 12589로 수정
    id:'tesla_modelx',brand:'테슬라',model:'Model X',year:2026,origin:'import',
    type:'suv',seats:7,fuel:'ev',
    price:{new_min:12589,new_max:14589,used_min:8000,used_max:13000,lease_month:109,rent_month:126},
    wait:'1~3개월',tags:['전기차','대형SUV','팰콘윙'],
    reason:'팰콘 윙 도어로 시선 강탈. 7인승. 0→100km/h 2.5초 퍼포먼스 버전도 있음.',
    monthly_cost:90,as_centers:25
  },
  {
    // ✅ 수정: 벤츠 C클래스 C200 AV 실제 6,500만원, new_min 6500으로 수정
    id:'benz_c',brand:'메르세데스-벤츠',model:'C클래스',year:2026,origin:'import',
    type:'sedan',seats:5,fuel:'gas',
    price:{new_min:6500,new_max:8500,used_min:3500,used_max:7000,lease_month:65,rent_month:86},
    wait:'즉시~1개월',tags:['수입차','세단','벤츠'],
    reason:'벤츠 세단 입문의 정석. C200 아방가르드 6500만원. 중형급 사이즈에 벤츠 특유의 승차감.',
    monthly_cost:65,as_centers:64
  },
  {
    // ✅ 대체로 일치
    id:'benz_e',brand:'메르세데스-벤츠',model:'E클래스',year:2026,origin:'import',
    type:'sedan',seats:5,fuel:'gas',
    price:{new_min:7650,new_max:12000,used_min:4500,used_max:10000,lease_month:73,rent_month:84},
    wait:'즉시~1개월',tags:['수입차','대형세단','벤츠'],
    reason:'수입차 대형 세단의 대명사. E200 기준 7650만원. 2026년 1월 수입차 판매 1위.',
    monthly_cost:78,as_centers:64
  },
  {
    // ✅ 대체로 일치
    id:'benz_s',brand:'메르세데스-벤츠',model:'S클래스',year:2026,origin:'import',
    type:'sedan',seats:5,fuel:'gas',
    price:{new_min:18000,new_max:35000,used_min:12000,used_max:28000,lease_month:165,rent_month:190},
    wait:'즉시~1개월',tags:['플래그십','럭셔리','벤츠'],
    reason:'세계 최고급 세단의 기준. 어떤 차와 비교해도 최상위급 품격.',
    monthly_cost:140,as_centers:64
  },
  {
    // ✅ 수정: 벤츠 GLC300 실제 8,140만원 → new_min 8140으로 수정
    id:'benz_glc',brand:'메르세데스-벤츠',model:'GLC',year:2026,origin:'import',
    type:'suv',seats:5,fuel:'gas',
    price:{new_min:8140,new_max:11000,used_min:5000,used_max:9500,lease_month:77,rent_month:89},
    wait:'즉시~1개월',tags:['수입차','SUV','벤츠'],
    reason:'수입 중형 SUV 시장 강자. GLC300 기준 8140만원. 벤츠 특유의 고급감+실용적 SUV 공간.',
    monthly_cost:82,as_centers:64
  },
  {
    // ✅ 대체로 일치
    id:'benz_gle',brand:'메르세데스-벤츠',model:'GLE',year:2026,origin:'import',
    type:'suv',seats:5,fuel:'gas',
    price:{new_min:11000,new_max:16000,used_min:7000,used_max:14000,lease_month:103,rent_month:119},
    wait:'1~2개월',tags:['수입차','대형SUV','벤츠'],
    reason:'GV80과 직접 경쟁. 대형 수입 SUV의 품격을 원한다면.',
    monthly_cost:98,as_centers:64
  },
  {
    // ✅ 대체로 일치
    id:'mercedes_cla',brand:'메르세데스-벤츠',model:'CLA',year:2026,origin:'import',
    type:'sedan',seats:5,fuel:'gas',
    price:{new_min:4900,new_max:6500,used_min:2800,used_max:5500,lease_month:46,rent_month:53},
    wait:'즉시~1개월',tags:['수입차','쿠페세단','벤츠','입문'],
    reason:'A클래스보다 더 쿠페스럽고 세련된 벤츠 입문. 날카로운 디자인으로 20~30대에 인기.',
    monthly_cost:55,as_centers:64
  },
  {
    // ✅ 대체로 일치
    id:'mercedes_glb',brand:'메르세데스-벤츠',model:'GLB',year:2026,origin:'import',
    type:'suv',seats:7,fuel:'gas',
    price:{new_min:6000,new_max:7800,used_min:3500,used_max:6500,lease_month:56,rent_month:65},
    wait:'즉시~1개월',tags:['수입차','7인승SUV','벤츠','박스형'],
    reason:'수입 7인승 SUV 중 저렴한 벤츠. 박스형 디자인으로 실내 공간 극대화.',
    monthly_cost:66,as_centers:64
  },
  {
    // ✅ 대체로 일치
    id:'benz_eqa',brand:'메르세데스-벤츠',model:'EQA',year:2026,origin:'import',
    type:'suv',seats:5,fuel:'ev',
    price:{new_min:6500,new_max:8000,used_min:4000,used_max:7000,lease_month:61,rent_month:71},
    wait:'즉시~1개월',tags:['전기차','SUV','벤츠'],
    reason:'벤츠 전기 SUV 입문. 세 꼭지별 달고 전기차로 전환하고 싶다면 EQA부터.',
    monthly_cost:62,as_centers:64
  },
  {
    // ✅ 대체로 일치 (BMW 3시리즈 리스 실제 52~55만원대 확인)
    id:'bmw_3',brand:'BMW',model:'3시리즈',year:2026,origin:'import',
    type:'sedan',seats:5,fuel:'gas',
    price:{new_min:5800,new_max:8200,used_min:3500,used_max:7000,lease_month:55,rent_month:63},
    wait:'즉시~1개월',tags:['수입차','퍼포먼스','BMW'],
    reason:'드라이버스 카의 정석. 벤츠보다 더 역동적인 핸들링을 원한다면 BMW 3시리즈.',
    monthly_cost:63,as_centers:58
  },
  {
    // ✅ 수정: BMW 5시리즈 520i 오토리스 52만원대, 렌트 67만원대 확인 → lease_month 55→52, rent_month 76→67로 수정
    id:'bmw_5',brand:'BMW',model:'5시리즈',year:2026,origin:'import',
    type:'sedan',seats:5,fuel:'gas',
    price:{new_min:6980,new_max:11500,used_min:4500,used_max:10000,lease_month:52,rent_month:67},
    wait:'즉시~1개월',tags:['수입차','대형세단','BMW'],
    reason:'520i 기준 6980만원. 벤츠 E클래스와 수입차 판매 1~2위 다툼. 더 역동적인 대형 세단.',
    monthly_cost:78,as_centers:58
  },
  {
    // ✅ 대체로 일치
    id:'bmw_7',brand:'BMW',model:'7시리즈',year:2026,origin:'import',
    type:'sedan',seats:5,fuel:'gas',
    price:{new_min:17000,new_max:30000,used_min:10000,used_max:25000,lease_month:155,rent_month:178},
    wait:'즉시~1개월',tags:['플래그십','럭셔리','BMW'],
    reason:'S클래스의 라이벌. BMW 기술력의 집약체. 뒷좌석 쇼퍼 드리븐 최고급.',
    monthly_cost:130,as_centers:58
  },
  {
    // ✅ 대체로 일치
    id:'bmw_2series',brand:'BMW',model:'2시리즈 쿠페',year:2026,origin:'import',
    type:'sedan',seats:4,fuel:'gas',
    price:{new_min:5280,new_max:6500,used_min:3000,used_max:5800,lease_month:50,rent_month:57},
    wait:'즉시~1개월',tags:['수입차','쿠페','BMW','퍼포먼스'],
    reason:'BMW 입문 쿠페. 2도어 스포티 디자인으로 개성 표출. 3시리즈보다 더 젊고 날카로움.',
    monthly_cost:58,as_centers:58
  },
  {
    // ✅ 대체로 일치
    id:'bmw_x1',brand:'BMW',model:'X1',year:2026,origin:'import',
    type:'suv',seats:5,fuel:'gas',
    price:{new_min:5280,new_max:6500,used_min:3000,used_max:5600,lease_month:50,rent_month:57},
    wait:'즉시~1개월',tags:['수입차','소형SUV','BMW','입문'],
    reason:'BMW SUV 입문 모델. X3보다 저렴하게 BMW xDrive AWD+도심 주차 편의.',
    monthly_cost:56,as_centers:58
  },
  {
    // ✅ 정확: BMW X3 풀체인지 6,890~9,990만원 확인
    id:'bmw_x3',brand:'BMW',model:'X3',year:2026,origin:'import',
    type:'suv',seats:5,fuel:'gas',
    price:{new_min:6890,new_max:9990,used_min:4500,used_max:8800,lease_month:65,rent_month:75},
    wait:'즉시~1개월',tags:['수입차','SUV','BMW'],
    reason:'풀체인지 신형 X3. 6890만원부터. GLC보다 더 스포티한 SUV 감성.',
    monthly_cost:74,as_centers:58
  },
  {
    // ✅ 수정: BMW X5 실제 9,500만원~15,900만원(카피아 확인), new_min 9500 유지, new_max 15900으로 수정
    id:'bmw_x5',brand:'BMW',model:'X5',year:2026,origin:'import',
    type:'suv',seats:5,fuel:'gas',
    price:{new_min:9500,new_max:15900,used_min:6000,used_max:13000,lease_month:89,rent_month:103},
    wait:'즉시~1개월',tags:['수입차','대형SUV','BMW'],
    reason:'GV80·벤츠 GLE의 라이벌. 수입 대형 SUV 시장 최강 경쟁자.',
    monthly_cost:92,as_centers:58
  },
  {
    // ✅ 대체로 일치
    id:'bmw_i4',brand:'BMW',model:'i4',year:2026,origin:'import',
    type:'sedan',seats:5,fuel:'ev',
    price:{new_min:7500,new_max:10000,used_min:5000,used_max:9000,lease_month:71,rent_month:82},
    wait:'즉시~1개월',tags:['전기차','세단','BMW'],
    reason:'BMW 감성 그대로 전기차로. M50 버전은 0→100km/h 3.9초.',
    monthly_cost:68,as_centers:58
  },
  {
    // ✅ 대체로 일치
    id:'bmw_ix',brand:'BMW',model:'iX',year:2026,origin:'import',
    type:'suv',seats:5,fuel:'ev',
    price:{new_min:12000,new_max:16000,used_min:8000,used_max:14000,lease_month:110,rent_month:127},
    wait:'1~2개월',tags:['전기차','럭셔리','BMW'],
    reason:'BMW 전기차 플래그십. 최대 630km 주행거리. 미래 럭셔리의 기준.',
    monthly_cost:88,as_centers:58
  },
  {
    // ✅ 대체로 일치
    id:'audi_a4',brand:'아우디',model:'A4',year:2026,origin:'import',
    type:'sedan',seats:5,fuel:'gas',
    price:{new_min:5800,new_max:7800,used_min:3300,used_max:6500,lease_month:55,rent_month:63},
    wait:'즉시~1개월',tags:['수입차','세단','아우디'],
    reason:'콰트로 AWD와 세련된 디자인. 눈길 빗길도 걱정 없는 전동지능형 AWD.',
    monthly_cost:62,as_centers:52
  },
  {
    // ✅ 대체로 일치
    id:'audi_a6',brand:'아우디',model:'A6',year:2026,origin:'import',
    type:'sedan',seats:5,fuel:'gas',
    price:{new_min:7600,new_max:11000,used_min:4500,used_max:9500,lease_month:72,rent_month:83},
    wait:'즉시~1개월',tags:['수입차','대형세단','아우디'],
    reason:'벤츠 E·BMW 5의 3번째 선택지. 독특한 디자인으로 눈에 띄고 싶다면.',
    monthly_cost:78,as_centers:52
  },
  {
    // ✅ 대체로 일치
    id:'audi_q3',brand:'아우디',model:'Q3',year:2026,origin:'import',
    type:'suv',seats:5,fuel:'gas',
    price:{new_min:4800,new_max:6200,used_min:2900,used_max:5500,lease_month:45,rent_month:52},
    wait:'즉시~1개월',tags:['수입차','소형SUV','아우디','입문'],
    reason:'아우디 SUV 입문 모델. Q5보다 저렴하게 콰트로 AWD+아우디 감성 경험.',
    monthly_cost:55,as_centers:52
  },
  {
    // ✅ 수정: 아우디 Q5 실제 7,262만원(신차라인 확인) → new_min 7262로 수정
    id:'audi_q5',brand:'아우디',model:'Q5',year:2026,origin:'import',
    type:'suv',seats:5,fuel:'gas',
    price:{new_min:7262,new_max:10000,used_min:4500,used_max:9000,lease_month:69,rent_month:80},
    wait:'즉시~1개월',tags:['수입차','SUV','아우디'],
    reason:'콰트로 AWD+프리미엄 SUV. 스키장·캠핑에서 빛나는 눈길 최강 SUV.',
    monthly_cost:76,as_centers:52
  },
  {
    // ✅ 대체로 일치
    id:'audi_etron',brand:'아우디',model:'e-tron',year:2026,origin:'import',
    type:'suv',seats:5,fuel:'ev',
    price:{new_min:9000,new_max:12000,used_min:6000,used_max:11000,lease_month:84,rent_month:97},
    wait:'즉시~1개월',tags:['전기차','SUV','아우디'],
    reason:'아우디 전기 SUV. 콰트로 AWD+전기 성능의 조합으로 눈길 최강.',
    monthly_cost:80,as_centers:52
  },
  {
    // ✅ 수정: 볼보 XC40 실제 4,920만원(신차라인 확인) → new_min 4920으로 수정
    id:'volvo_xc40',brand:'볼보',model:'XC40',year:2026,origin:'import',
    type:'suv',seats:5,fuel:'gas',
    price:{new_min:4920,new_max:6800,used_min:3200,used_max:6000,lease_month:49,rent_month:57},
    wait:'즉시~1개월',tags:['안전','SUV','볼보'],
    reason:'세계 최고 안전 브랜드 볼보. 아이 있는 부모에게 최우선 추천 차.',
    monthly_cost:55,as_centers:38
  },
  {
    // ✅ 대체로 일치
    id:'volvo_ex30',brand:'볼보',model:'EX30',year:2026,origin:'import',
    type:'suv',seats:5,fuel:'ev',
    price:{new_min:4990,new_max:6200,used_min:3500,used_max:5500,lease_month:47,rent_month:54},
    wait:'즉시~1개월',tags:['전기차','소형SUV','볼보','안전'],
    reason:'볼보 최소형 전기 SUV. 세계 최고 안전+전기차 조합. 미니멀 스칸디나비아 디자인.',
    monthly_cost:46,as_centers:38
  },
  {
    // ✅ 대체로 일치
    id:'volvo_xc60',brand:'볼보',model:'XC60',year:2026,origin:'import',
    type:'suv',seats:5,fuel:'gas',
    price:{new_min:6390,new_max:8500,used_min:4000,used_max:7500,lease_month:60,rent_month:70},
    wait:'즉시~1개월',tags:['안전','SUV','볼보'],
    reason:'Euro NCAP 최고 안전 등급. 가족 안전을 최우선으로 생각한다면 XC60.',
    monthly_cost:65,as_centers:38
  },
  {
    // ✅ 대체로 일치
    id:'volvo_xc90',brand:'볼보',model:'XC90',year:2026,origin:'import',
    type:'suv',seats:7,fuel:'gas',
    price:{new_min:8500,new_max:12000,used_min:5500,used_max:11000,lease_month:80,rent_month:92},
    wait:'1~2개월',tags:['안전','대형SUV','7인승'],
    reason:'7인승 수입 대형 SUV 중 안전성 1위. 아이 3명 있는 가족이라면 XC90.',
    monthly_cost:82,as_centers:38
  },
  {
    // ✅ 대체로 일치
    id:'lexus_es',brand:'렉서스',model:'ES',year:2026,origin:'import',
    type:'sedan',seats:5,fuel:'hybrid',
    price:{new_min:6500,new_max:8500,used_min:4000,used_max:7500,lease_month:62,rent_month:72},
    wait:'즉시~1개월',tags:['하이브리드','럭셔리','렉서스'],
    reason:'일본 럭셔리 하이브리드의 정석. 연비 17km/L+수입차 품격. 조용하고 부드러움.',
    monthly_cost:60,as_centers:33
  },
  {
    // ✅ 대체로 일치
    id:'lexus_rx',brand:'렉서스',model:'RX',year:2026,origin:'import',
    type:'suv',seats:5,fuel:'hybrid',
    price:{new_min:7800,new_max:10500,used_min:5000,used_max:9500,lease_month:74,rent_month:85},
    wait:'즉시~1개월',tags:['하이브리드','SUV','렉서스'],
    reason:'수입 하이브리드 SUV의 대명사. 연비+품격+내구성 3박자 완성.',
    monthly_cost:70,as_centers:33
  },
  {
    // ✅ 대체로 일치
    id:'lexus_lx',brand:'렉서스',model:'LX',year:2026,origin:'import',
    type:'suv',seats:7,fuel:'gas',
    price:{new_min:17000,new_max:22000,used_min:12000,used_max:20000,lease_month:155,rent_month:178},
    wait:'2~4개월',tags:['럭셔리','대형SUV','오프로드'],
    reason:'도심+오프로드 모두 최고급. 중동 왕족들도 즐겨타는 최강 럭셔리 SUV.',
    monthly_cost:130,as_centers:33
  },
  {
    // ✅ 수정: 포르쉐 마칸EV 실제 10,757~14,240만원(카위키 확인), new_min 10757, new_max 14240으로 수정
    id:'porsche_cayenne',brand:'포르쉐',model:'카이엔',year:2026,origin:'import',
    type:'suv',seats:5,fuel:'gas',
    price:{new_min:14000,new_max:22000,used_min:8000,used_max:20000,lease_month:128,rent_month:148},
    wait:'3~6개월',tags:['럭셔리','퍼포먼스','포르쉐'],
    reason:'SUV인데 포르쉐 특유의 스포츠 드라이빙. 럭셔리+퍼포먼스 두 마리 토끼.',
    monthly_cost:110,as_centers:17
  },
  {
    // ✅ 대체로 일치
    id:'porsche_911',brand:'포르쉐',model:'911',year:2026,origin:'import',
    type:'sedan',seats:4,fuel:'gas',
    price:{new_min:19000,new_max:35000,used_min:12000,used_max:30000,lease_month:173,rent_month:200},
    wait:'6~12개월',tags:['스포츠카','아이콘','포르쉐'],
    reason:'자동차 역사상 가장 완성된 스포츠카. 60년 넘은 전통의 드라이빙 머신.',
    monthly_cost:150,as_centers:17
  },
  {
    // ✅ 수정: 포르쉐 마칸 EV 실제 10,757~14,240만원 → new_min 10757, new_max 14240으로 수정
    id:'porsche_macan_ev',brand:'포르쉐',model:'마칸 EV',year:2026,origin:'import',
    type:'suv',seats:5,fuel:'ev',
    price:{new_min:10757,new_max:14240,used_min:7000,used_max:12000,lease_month:98,rent_month:113},
    wait:'3~5개월',tags:['전기차','럭셔리','포르쉐'],
    reason:'포르쉐 첫 전기 SUV. 0→100km/h 3.3초. 전기차로 포르쉐 드라이빙을 경험.',
    monthly_cost:85,as_centers:17
  },
  {
    // ✅ 수정: 토요타 캠리 하이브리드 실제 4,200~5,500만원(시장 확인), 유지
    id:'toyota_camry',brand:'토요타',model:'캠리',year:2026,origin:'import',
    type:'sedan',seats:5,fuel:'hybrid',
    price:{new_min:4200,new_max:5500,used_min:2800,used_max:4800,lease_month:40,rent_month:46},
    wait:'즉시~1개월',tags:['하이브리드','세단','내구성'],
    reason:'30년 내구성의 전설. 하이브리드 연비 17km/L+도요타 신뢰성.',
    monthly_cost:42,as_centers:35
  },
  {
    // ✅ 대체로 일치
    id:'toyota_rav4',brand:'토요타',model:'RAV4',year:2026,origin:'import',
    type:'suv',seats:5,fuel:'hybrid',
    price:{new_min:4800,new_max:6200,used_min:3200,used_max:5600,lease_month:46,rent_month:53},
    wait:'1~2개월',tags:['하이브리드','SUV','내구성'],
    reason:'세계에서 가장 많이 팔린 SUV 중 하나. 믿을 수 있는 하이브리드 SUV의 기준.',
    monthly_cost:46,as_centers:35
  },
  {
    // ✅ 대체로 일치
    id:'honda_cr_v',brand:'혼다',model:'CR-V',year:2026,origin:'import',
    type:'suv',seats:5,fuel:'hybrid',
    price:{new_min:4500,new_max:5800,used_min:2900,used_max:5200,lease_month:43,rent_month:50},
    wait:'즉시~1개월',tags:['하이브리드','SUV','실용'],
    reason:'실용성+내구성의 일본 SUV. RAV4와 함께 일제 하이브리드 SUV 양대산맥.',
    monthly_cost:44,as_centers:32
  },
  {
    // ✅ 대체로 일치
    id:'vw_golf',brand:'폭스바겐',model:'골프',year:2026,origin:'import',
    type:'sedan',seats:5,fuel:'gas',
    price:{new_min:3600,new_max:5500,used_min:2200,used_max:4800,lease_month:34,rent_month:40},
    wait:'즉시~1개월',tags:['해치백','유럽','가성비'],
    reason:'유럽 해치백의 기준. 50년 전통의 완성형 소형차. 국내 유럽차 입문으로 딱.',
    monthly_cost:50,as_centers:42
  },
  {
    // ✅ 대체로 일치
    id:'vw_tiguan',brand:'폭스바겐',model:'티구안',year:2026,origin:'import',
    type:'suv',seats:5,fuel:'gas',
    price:{new_min:4800,new_max:6500,used_min:3000,used_max:5800,lease_month:45,rent_month:52},
    wait:'즉시~1개월',tags:['SUV','유럽','실용'],
    reason:'유럽 소형 SUV의 베스트셀러. 무난하고 실용적인 첫 수입 SUV 입문.',
    monthly_cost:55,as_centers:42
  },
  {
    // ✅ 대체로 일치
    id:'peugeot_e208',brand:'푸조',model:'e-208',year:2026,origin:'import',
    type:'sedan',seats:5,fuel:'ev',
    price:{new_min:4200,new_max:5000,used_min:2800,used_max:4400,lease_month:40,rent_month:46},
    wait:'즉시~1개월',tags:['전기차','해치백','프랑스','디자인'],
    reason:'프랑스 감성 소형 전기 해치백. 독특한 3D 콕핏 인테리어. 개성 있는 전기차 원하면.',
    monthly_cost:38,as_centers:24
  },
  {
    // ✅ 대체로 일치
    id:'peugeot_3008',brand:'푸조',model:'3008',year:2026,origin:'import',
    type:'suv',seats:5,fuel:'gas',
    price:{new_min:4900,new_max:6500,used_min:3000,used_max:5800,lease_month:46,rent_month:54},
    wait:'즉시~1개월',tags:['SUV','프랑스','디자인'],
    reason:'프랑스 감성 SUV. 독특한 인테리어 디자인으로 주변과 차별화.',
    monthly_cost:56,as_centers:24
  },
  {
    // ✅ 대체로 일치
    id:'mini_cooper',brand:'미니',model:'쿠퍼',year:2026,origin:'import',
    type:'sedan',seats:4,fuel:'gas',
    price:{new_min:3800,new_max:5500,used_min:2200,used_max:4800,lease_month:36,rent_month:42},
    wait:'즉시~1개월',tags:['소형','디자인','개성'],
    reason:'작지만 존재감 최강. 도심 주차 편하고 개성 넘치는 영국 감성.',
    monthly_cost:52,as_centers:28
  },
  {
    // ✅ 대체로 일치
    id:'mini_electric',brand:'미니',model:'쿠퍼 SE (전기)',year:2026,origin:'import',
    type:'sedan',seats:4,fuel:'ev',
    price:{new_min:4500,new_max:5800,used_min:2800,used_max:5200,lease_month:43,rent_month:50},
    wait:'즉시~1개월',tags:['전기차','소형','디자인'],
    reason:'미니 쿠퍼의 감성을 전기차로. 도심 전기차 중 가장 개성 넘침.',
    monthly_cost:42,as_centers:28
  },
  {
    // ✅ 대체로 일치
    id:'land_rover_defender',brand:'랜드로버',model:'디펜더',year:2026,origin:'import',
    type:'suv',seats:5,fuel:'gas',
    price:{new_min:8000,new_max:13000,used_min:5500,used_max:12000,lease_month:75,rent_month:87},
    wait:'2~3개월',tags:['오프로드','럭셔리','SUV'],
    reason:'오프로드의 왕. 어떤 지형도 가리지 않는 진정한 탐험 SUV.',
    monthly_cost:85,as_centers:22
  },
  {
    // ✅ 대체로 일치
    id:'land_rover_discovery',brand:'랜드로버',model:'디스커버리',year:2026,origin:'import',
    type:'suv',seats:7,fuel:'gas',
    price:{new_min:9000,new_max:13000,used_min:5500,used_max:12000,lease_month:84,rent_month:97},
    wait:'2~3개월',tags:['오프로드','7인승','SUV'],
    reason:'7인승+오프로드+럭셔리. 가족 캠핑과 오프로드를 동시에 원한다면.',
    monthly_cost:88,as_centers:22
  },
  {
    // ✅ 대체로 일치
    id:'range_rover_sport',brand:'랜드로버',model:'레인지로버 스포츠',year:2026,origin:'import',
    type:'suv',seats:5,fuel:'gas',
    price:{new_min:13000,new_max:19000,used_min:8000,used_max:17000,lease_month:119,rent_month:137},
    wait:'2~4개월',tags:['럭셔리','SUV','영국'],
    reason:'영국 최고급 SUV. 오프로드 성능+럭셔리 인테리어의 독보적 결합.',
    monthly_cost:105,as_centers:22
  },
  {
    // ✅ 대체로 일치
    id:'jeep_wrangler',brand:'지프',model:'랭글러',year:2026,origin:'import',
    type:'suv',seats:5,fuel:'gas',
    price:{new_min:6000,new_max:9500,used_min:4000,used_max:8500,lease_month:57,rent_month:66},
    wait:'즉시~1개월',tags:['오프로드','아이콘','지프'],
    reason:'탈착식 루프+도어로 완전 개방감. 오프로드 마니아의 드림카.',
    monthly_cost:68,as_centers:28
  },
  {
    // ✅ 대체로 일치
    id:'alfa_giulia',brand:'알파로메오',model:'줄리아',year:2026,origin:'import',
    type:'sedan',seats:5,fuel:'gas',
    price:{new_min:7500,new_max:10500,used_min:4000,used_max:9000,lease_month:71,rent_month:82},
    wait:'즉시~1개월',tags:['스포츠세단','이탈리아','개성'],
    reason:'독일 3사가 지겹다면 알파로메오. 이탈리아 감성+스포츠 드라이빙의 조화.',
    monthly_cost:80,as_centers:14
  },
  {
    // ✅ 대체로 일치
    id:'byd_atto3',brand:'BYD',model:'아토3',year:2026,origin:'import',
    type:'suv',seats:5,fuel:'ev',
    price:{new_min:3500,new_max:4500,used_min:2200,used_max:4000,lease_month:33,rent_month:38},
    wait:'즉시~1개월',tags:['전기차','가성비','중국'],
    reason:'중국산 전기 SUV 국내 공식 판매. 테슬라 대비 1,500만원 이상 저렴.',
    monthly_cost:33,as_centers:15
  },
  {
    // ✅ 수정: BYD 돌핀 2026년 2월 한국 출시, 2,450만원 확인 → 유지
    id:'byd_dolphin',brand:'BYD',model:'돌핀',year:2026,origin:'import',
    type:'sedan',seats:5,fuel:'ev',
    price:{new_min:2450,new_max:2920,used_min:1800,used_max:2500,lease_month:24,rent_month:28},
    wait:'즉시~1개월',tags:['전기차','가성비','중국','해치백'],
    reason:'2026년 2월 한국 출시. 국내 최저가 수입 전기차 2450만원. 보조금 적용 시 1000만원대 가능.',
    monthly_cost:22,as_centers:15
  },
  {
    // ✅ 대체로 일치
    id:'ferrari_roma',brand:'페라리',model:'로마',year:2026,origin:'import',
    type:'sedan',seats:4,fuel:'gas',
    price:{new_min:35000,new_max:50000,used_min:25000,used_max:45000,lease_month:320,rent_month:370},
    wait:'6~12개월',tags:['슈퍼카','이탈리아','드림카'],
    reason:'페라리 입문 모델. 620마력 V8. 부의 상징이자 드라이빙 예술품.',
    monthly_cost:280,as_centers:3
  },
  {
    // ✅ 대체로 일치
    id:'lamborghini_urus',brand:'람보르기니',model:'우루스',year:2026,origin:'import',
    type:'suv',seats:5,fuel:'gas',
    price:{new_min:35000,new_max:55000,used_min:22000,used_max:48000,lease_month:319,rent_month:369},
    wait:'6~12개월',tags:['슈퍼카','SUV','람보르기니'],
    reason:'슈퍼카 SUV. 640마력, 0→100km/h 3.6초. 일상+비일상 극강 조합.',
    monthly_cost:290,as_centers:4
  },
  {
    // ✅ 대체로 일치
    id:'maybach_s',brand:'마이바흐',model:'S클래스',year:2026,origin:'import',
    type:'sedan',seats:4,fuel:'gas',
    price:{new_min:30000,new_max:50000,used_min:20000,used_max:45000,lease_month:273,rent_month:315},
    wait:'6~12개월',tags:['최고급','플래그십','마이바흐'],
    reason:'자동차의 최정점. 뒷좌석이 세상에서 제일 편한 차. 성공의 완성.',
    monthly_cost:250,as_centers:12
  },
  {
    // ✅ 대체로 일치
    id:'rolls_royce_ghost',brand:'롤스로이스',model:'고스트',year:2026,origin:'import',
    type:'sedan',seats:4,fuel:'gas',
    price:{new_min:55000,new_max:90000,used_min:35000,used_max:80000,lease_month:500,rent_month:578},
    wait:'6~18개월',tags:['최고급','핸드메이드','롤스로이스'],
    reason:'세상에서 가장 조용하고 가장 부드러운 차. 수제 제작의 궁극.',
    monthly_cost:400,as_centers:5
  },
  {
    // ✅ 대체로 일치
    id:'bentley_bentayga',brand:'벤틀리',model:'벤테이가',year:2026,origin:'import',
    type:'suv',seats:5,fuel:'gas',
    price:{new_min:35000,new_max:60000,used_min:22000,used_max:55000,lease_month:319,rent_month:369},
    wait:'6~12개월',tags:['최고급','SUV','벤틀리'],
    reason:'세계에서 가장 빠른 SUV 중 하나이자 가장 럭셔리한 SUV.',
    monthly_cost:280,as_centers:6
  },
  {
    // ✅ 대체로 일치
    id:'rivian_r1t',brand:'리비안',model:'R1T',year:2026,origin:'import',
    type:'suv',seats:5,fuel:'ev',
    price:{new_min:8500,new_max:11000,used_min:6000,used_max:10000,lease_month:80,rent_month:92},
    wait:'2~4개월',tags:['전기차','SUV','미국'],
    reason:'미국산 전기 SUV. 캠핑·아웃도어 특화 설계. 리비안 터널 스토리지.',
    monthly_cost:72,as_centers:8
  }
];
  
// ============================================================
// Part 3 End
// ============================================================
</script>
  
  
<!-- ==================== Part 4 Start ==================== -->
<script>
// ============================================================
//  STATE
// ============================================================
let current = 0;
let answers = {};

// ============================================================
//  PAYMENT ADVICE
// ============================================================
const PAY_INFO = {
  cash: {
    title: '💵 전액 현금 구매 전략',
    tip: '이자 비용 0원. 소유권 즉시 확보. 협상 시 현금 할인 요청 가능 (보통 50~100만원). 단, 여유 자금 유지를 위해 예산의 80~90%만 사용 권장.'
  },
  installment: {
    title: '📅 할부 구매 전략',
    tip: '36~48개월 할부가 가장 일반적. 제조사 프로모션 기간(연말·명절)에 무이자 할부 조건 확인 필수. 월 납입금이 월수입의 15% 이하가 되도록 조정 권장.'
  },
  lease: {
    title: '🏢 리스 전략',
    tip: '법인·사업자라면 리스 비용 전액 비용 처리 가능. 3~4년 주기로 신차 교체 선호자에게 최적. 잔존가치(RV) 조건을 꼭 확인하고 과주행 패널티 주의.'
  },
  loan: {
    title: '🏦 오토론 전략',
    tip: '시중은행 오토론이 캐피탈 할부보다 금리 1~2% 낮음. 신용등급에 따라 3.5~8% 금리 차이. 대출 실행 전 은행 2~3곳 비교 필수. DSR 40% 규제 확인.'
  }
};

// ============================================================
//  RESULT TYPES
// ============================================================
const RESULT_TYPES = {
  economy: {
    icon: '🧮', name: '가성비 실속파',
    desc: '필요한 기능만, 최소 비용으로 최대 만족을 추구합니다. 유지비·연비·감가를 꼼꼼히 따지는 합리적 소비자.',
    stats: { match: '92%', type: '실속형', keyword: '가성비' }
  },
  family: {
    icon: '👨‍👩‍👧‍👦', name: '안전 중심 패밀리파',
    desc: '가족의 안전과 공간을 최우선으로 생각합니다. 7인승 이상, 넓은 트렁크, 안전 옵션이 핵심.',
    stats: { match: '89%', type: '패밀리형', keyword: '안전+공간' }
  },
  prestige: {
    icon: '🏆', name: '품격·럭셔리파',
    desc: '차는 단순한 이동 수단이 아닌 나를 표현하는 수단입니다. 브랜드와 품격을 중시합니다.',
    stats: { match: '87%', type: '럭셔리형', keyword: '브랜드+품격' }
  },
  ev: {
    icon: '⚡', name: '미래 지향 전기파',
    desc: '친환경과 첨단 기술에 관심이 많습니다. 충전 인프라를 이미 파악하고 있는 얼리어답터.',
    stats: { match: '91%', type: '미래형', keyword: 'EV+친환경' }
  },
  performance: {
    icon: '🏎️', name: '퍼포먼스 추구파',
    desc: '핸들을 잡는 순간 심장이 뛰어야 합니다. 가속감·코너링·배기음이 차 선택의 기준.',
    stats: { match: '88%', type: '퍼포먼스형', keyword: '성능+드라이빙' }
  },
  outdoor: {
    icon: '🏕️', name: '아웃도어·자유파',
    desc: '차는 모험의 출발점입니다. 캠핑·등산·오프로드를 즐기는 활동적인 라이프스타일.',
    stats: { match: '85%', type: '아웃도어형', keyword: '공간+오프로드' }
  },
  design: {
    icon: '💅', name: '감성·디자인파',
    desc: '차에서 내릴 때 돌아보는 사람이 있어야 합니다. 디자인과 개성이 최우선 선택 기준.',
    stats: { match: '86%', type: '디자인형', keyword: '개성+감성' }
  },
  smart_city: {
    icon: '🏙️', name: '도심 스마트파',
    desc: '주차 편의성·연비·편의 사양이 핵심입니다. 도심 생활에 최적화된 실용주의자.',
    stats: { match: '90%', type: '도심형', keyword: '편의+효율' }
  }
};

// ============================================================
//  SCORING
// ============================================================
function getScores(ans) {
  const s = { economy:0, family:0, prestige:0, ev:0, performance:0, outdoor:0, design:0, smart_city:0 };

  if (ans.age==='20s') { s.smart_city+=2; s.design+=2; s.economy+=1; }
  if (ans.age==='30s') { s.family+=2; s.ev+=1; s.economy+=1; }
  if (ans.age==='40s') { s.prestige+=2; s.family+=2; s.outdoor+=1; }
  if (ans.age==='50s') { s.prestige+=3; s.family+=2; }

  if (ans.gender==='male')   { s.performance+=1; s.outdoor+=1; }
  if (ans.gender==='female') { s.design+=1; s.smart_city+=1; }

  if (ans.budget==='b1') { s.economy+=4; s.smart_city+=2; }
  if (ans.budget==='b2') { s.economy+=2; s.family+=2; s.smart_city+=1; }
  if (ans.budget==='b3') { s.prestige+=2; s.performance+=2; s.ev+=2; s.outdoor+=1; }
  if (ans.budget==='b4') { s.prestige+=4; s.performance+=2; s.design+=2; }

  if (ans.newused==='new')  { s.prestige+=1; s.design+=1; }
  if (ans.newused==='used') { s.economy+=2; }

  if (ans.seats==='s2') { s.smart_city+=2; s.design+=1; s.performance+=1; }
  if (ans.seats==='s4') { s.family+=2; s.economy+=1; }
  if (ans.seats==='s6') { s.family+=3; s.outdoor+=1; }
  if (ans.seats==='s7') { s.family+=4; s.outdoor+=1; }

  if (ans.cartype==='sedan')  { s.smart_city+=1; s.prestige+=1; s.performance+=1; }
  if (ans.cartype==='suv')    { s.family+=2; s.outdoor+=2; }
  if (ans.cartype==='van')    { s.family+=3; }
  if (ans.cartype==='any')    { s.economy+=1; }

  if (ans.reason==='old')    { s.economy+=2; s.smart_city+=1; }
  if (ans.reason==='want')   { s.design+=2; s.performance+=1; }
  if (ans.reason==='family') { s.family+=3; }
  if (ans.reason==='image')  { s.prestige+=3; s.design+=1; }

  if (ans.plan==='sell')  { s.economy+=2; s.prestige+=1; }
  if (ans.plan==='keep')  { s.economy+=1; s.family+=1; }
  if (ans.plan==='give')  { s.family+=2; }
  if (ans.plan==='idk')   { s.smart_city+=1; }

  if (ans.cost==='c1') { s.economy+=3; s.smart_city+=2; }
  if (ans.cost==='c2') { s.economy+=1; s.family+=1; }
  if (ans.cost==='c3') { s.prestige+=1; s.performance+=1; }
  if (ans.cost==='c4') { s.prestige+=2; s.performance+=2; }

  if (ans.payment==='cash')        { s.economy+=1; s.prestige+=1; }
  if (ans.payment==='installment') { s.economy+=1; s.family+=1; }
  if (ans.payment==='lease')       { s.prestige+=2; s.design+=1; }
  if (ans.payment==='loan')        { s.smart_city+=1; }

  if (ans.wait==='w1') { s.economy+=2; s.smart_city+=1; }
  if (ans.wait==='w2') { s.economy+=1; s.family+=1; }
  if (ans.wait==='w3') { s.family+=1; s.prestige+=1; }
  if (ans.wait==='w4') { s.prestige+=2; s.performance+=1; s.design+=1; }

  if (ans.dilemma1==='d1a') { s.prestige+=3; s.design+=2; }
  if (ans.dilemma1==='d1b') { s.economy+=3; s.smart_city+=2; }

  if (ans.fuel==='gas')    { s.performance+=1; s.economy+=1; }
  if (ans.fuel==='ev')     { s.ev+=4; }
  if (ans.fuel==='hybrid') { s.ev+=2; s.economy+=2; s.family+=1; }
  if (ans.fuel==='any')    { s.economy+=1; }

  if (ans.purpose==='commute') { s.smart_city+=3; s.economy+=2; }
  if (ans.purpose==='leisure') { s.family+=3; s.outdoor+=2; }
  if (ans.purpose==='drive')   { s.performance+=3; s.design+=1; }
  if (ans.purpose==='style')   { s.prestige+=3; s.design+=2; }

  if (ans.dilemma2==='d2a') { s.prestige+=3; s.design+=1; }
  if (ans.dilemma2==='d2b') { s.economy+=2; s.smart_city+=2; s.family+=1; }

  return s;
}

// ============================================================
//  HARD FILTERS
// ============================================================
function filterCars(ans) {
  let pool = [...CAR_DB];

const budgetMap    = { b1: 2000,  b2: 4000,  b3: 7000,  b4: 99999 };
const minBudgetMap = { b1: 0,     b2: 2000,  b3: 4000,  b4: 7000  };
  const maxBudget = budgetMap[ans.budget] || 99999;
  const minBudget = minBudgetMap[ans.budget] || 0;

  // ✅ 연료 필터 (가장 먼저, 절대 완화 안 함)
  if (ans.fuel === 'gas') {
    pool = pool.filter(c => c.fuel === 'gas');
  } else if (ans.fuel === 'diesel') {
    pool = pool.filter(c => c.fuel === 'diesel');
  } else if (ans.fuel === 'ev') {
    pool = pool.filter(c => c.fuel === 'ev');
  } else if (ans.fuel === 'hybrid') {
    pool = pool.filter(c => c.fuel === 'hybrid');
  }
  // 'any' → 필터 없음

  // ✅ 예산 필터 (전기차+저예산은 중고 기준으로 완화)
  const isEvLowBudget = ans.fuel === 'ev' && maxBudget <= 2000;
  if (isEvLowBudget) {
    pool = pool.filter(c => c.price.used_min <= maxBudget * 1.5);
  } else if (ans.newused === 'new' || ans.newused === 'any') {
    pool = pool.filter(c => c.price.new_min <= maxBudget && c.price.new_min >= minBudget);
  } else {
    pool = pool.filter(c => c.price.used_min <= maxBudget * 0.7 && c.price.new_min >= minBudget);
  }

  // 탑승 인원 필터
  if (ans.seats === 's7')      pool = pool.filter(c => c.seats >= 7);
  else if (ans.seats === 's6') pool = pool.filter(c => c.seats >= 5);
  else if (ans.seats === 's4') pool = pool.filter(c => c.seats >= 4);

  // 차종 필터
  if (ans.cartype === 'sedan')      pool = pool.filter(c => c.type === 'sedan');
  else if (ans.cartype === 'suv')   pool = pool.filter(c => c.type === 'suv');
  else if (ans.cartype === 'van')   pool = pool.filter(c => c.type === 'van' || c.seats >= 7);

  // 출고 대기 필터
if (ans.wait === 'w1') {
  pool = pool.filter(c => {
    if (!c.wait) return true; // wait 필드 없으면 통과
    return c.wait.includes('즉시') || c.wait.includes('1개월');
  });
}

  // ✅ 완화 로직: 연료는 절대 건드리지 않고 예산·차종·인원만 완화
  if (pool.length < 3) {
    let relaxed = [...CAR_DB];
    if (ans.fuel === 'gas')          relaxed = relaxed.filter(c => c.fuel === 'gas');
    else if (ans.fuel === 'diesel')  relaxed = relaxed.filter(c => c.fuel === 'diesel');
    else if (ans.fuel === 'ev')      relaxed = relaxed.filter(c => c.fuel === 'ev');
    else if (ans.fuel === 'hybrid')  relaxed = relaxed.filter(c => c.fuel === 'hybrid');

    if (relaxed.length >= 3) pool = relaxed;
    else pool = [...CAR_DB]; // 연료 DB 자체가 부족할 때만 전체 개방
  }

  return pool;
}


// ============================================================
//  CAR SCORING
// ============================================================
function scoreCarPool(pool, ans, typeScores) {
  const topType = Object.entries(typeScores).sort((a,b) => b[1]-a[1])[0][0];

  return pool.map(c => {
    let score = 0;

    // 연료 매칭
    if (ans.fuel === c.fuel) score += 10;
    if (ans.fuel === 'any')  score += 3;

    // 차종 매칭
    if (ans.cartype === c.type) score += 8;
    if (ans.cartype === 'any')  score += 3;

    // 결과 유형별 보너스
    if (topType === 'economy')    { if (c.origin === 'domestic') score += 5; if (c.price.new_min < 3000) score += 5; }
    if (topType === 'prestige')   { if (c.price.new_min > 6000) score += 6; if (c.origin === 'import') score += 4; }
    if (topType === 'family')     { if (c.seats >= 7) score += 6; if (c.tags.includes('패밀리')) score += 4; }
    if (topType === 'ev')         { if (c.fuel === 'ev') score += 8; }
    if (topType === 'performance'){ if (c.tags.includes('퍼포먼스')) score += 6; }
    if (topType === 'outdoor')    { if (c.tags.includes('오프로드')) score += 6; if (c.type === 'suv') score += 4; }
    if (topType === 'design')     { if (c.tags.includes('디자인')) score += 5; if (c.tags.includes('개성')) score += 4; }
    if (topType === 'smart_city') { if (c.tags.includes('도심')) score += 5; if (c.price.new_min < 3500) score += 4; }

    // 구매 목적 보너스
    if (ans.purpose === 'commute' && c.monthly_cost < 35) score += 4;
    if (ans.purpose === 'leisure' && c.seats >= 5)        score += 3;
    if (ans.purpose === 'drive'   && c.tags.includes('퍼포먼스')) score += 5;
    if (ans.purpose === 'style'   && c.price.new_min > 5000) score += 3;

    // 중고 선호 시 감가 좋은 차 우대
    if (ans.newused === 'used' && c.origin === 'domestic') score += 3;

    // 딜레마2: 수입차 vs 국산차 강하게 반영
    if (ans.dilemma2 === 'd2a' && c.origin === 'import')   score += 15;
    if (ans.dilemma2 === 'd2b' && c.origin === 'domestic') score += 15;

    // 예산 b4(7000이상)면 프리미엄 브랜드 우대
    if (ans.budget === 'b4') {
      if (['BMW','메르세데스-벤츠','아우디','포르쉐','제네시스','렉서스'].includes(c.brand)) score += 8;
    }
    if (ans.budget === 'b3') {
      if (['BMW','메르세데스-벤츠','아우디','제네시스','볼보'].includes(c.brand)) score += 5;
    }

    return { ...c, score };
  }).sort((a,b) => b.score - a.score);
}

// ============================================================
//  START TEST
// ============================================================
function startTest() {
  document.getElementById('start-screen').classList.add('hidden');
  document.getElementById('question-screen').classList.remove('hidden');
  current = 0;
  answers = {};
  renderQ();
}

// ============================================================
//  RENDER QUESTION
// ============================================================
function renderQ() {
  const q = QS[current];
  const pct = Math.round((current / QS.length) * 100);
  document.getElementById('prog-label').textContent = `Q${current+1} / ${QS.length}`;
  document.getElementById('prog-pct').textContent = pct + '%';
  document.getElementById('prog-fill').style.width = pct + '%';

  // ✅ let html = '' 으로 먼저 선언
  let html = '';

  // ✅ 뒤로 가기 버튼
if (current === 0) {
  html += `<button class="back-btn" onclick="goBack()">← 처음으로</button>`;
} else {
  html += `<button class="back-btn" onclick="goBack()">← 이전 질문</button>`;
}
  // ✅ 중복 제거
  html += `<div class="step-badge">${q.step}</div>
    <div class="q-number">Q${q.num}</div>
    <div class="q-text">${q.text}</div>
    <div class="q-sub">${q.sub}</div>`;

  if (q.dilemma) {
    html += `<div class="dilemma-banner">🔥 딜레마 질문 — 솔직하게 골라봐!</div>
      <div class="vs-grid">
        <button class="vs-btn" onclick="pick('${q.id}','${q.opts[0].key}')">
          <div class="vs-icon">${q.opts[0].icon}</div>
          <div class="vs-label">${q.opts[0].label}</div>
          <span class="vs-tag">${q.opts[0].desc}</span>
        </button>
        <div class="vs-badge">VS</div>
        <button class="vs-btn" onclick="pick('${q.id}','${q.opts[1].key}')">
          <div class="vs-icon">${q.opts[1].icon}</div>
          <div class="vs-label">${q.opts[1].label}</div>
          <span class="vs-tag">${q.opts[1].desc}</span>
        </button>
      </div>`;
  } else {
    html += `<div class="opts ${q.cols===2 ? 'cols-2' : 'cols-1'}">`;
    q.opts.forEach(o => {
      html += `<button class="opt-btn" onclick="pick('${q.id}','${o.key}')">
        <span class="opt-icon">${o.icon}</span>
        <div>
          <div class="opt-label">${o.label}</div>
          ${o.desc ? `<div class="opt-desc">${o.desc}</div>` : ''}
        </div>
      </button>`;
    });
    html += `</div>`;
  }

  document.getElementById('q-card').innerHTML = html;
}
  
  // ============================================================
//  GO BACK
// ============================================================
function goBack() {
  if (current === 0) {
    // Q1이면 시작화면으로
    document.getElementById('question-screen').classList.add('hidden');
    document.getElementById('start-screen').classList.remove('hidden');
  } else {
    // 이전 질문으로
    current--;
    // 해당 질문의 답변 삭제
    const prevQid = QS[current].id;
    delete answers[prevQid];
    renderQ();
  }
}

// ============================================================
//  PICK ANSWER
// ============================================================
function pick(qid, key) {
  answers[qid] = key;
  current++;
  if (current >= QS.length) {
    showLoading();
  } else {
    renderQ();
  }
}

// ============================================================
//  LOADING
// ============================================================
function showLoading() {
  document.getElementById('question-screen').classList.add('hidden');
  document.getElementById('loading-screen').classList.remove('hidden');
  setTimeout(calcResult, 2800);
}

// ============================================================
//  감가율 자동 계산
// ============================================================
function getUsedPriceByYear(newMinPrice, targetYear) {
  const age = 2026 - targetYear;
  const rate = { 0: 1.0, 1: 0.75, 2: 0.65, 3: 0.55 };
  return Math.round(newMinPrice * (rate[age] ?? 0.50));
}

// ============================================================
//  예산 대비 구매 가능 단계 판별
// ============================================================
function checkAffordability(car, budgetMax) {
  const newMin = car.price.new_min;

  if (newMin <= budgetMax) return { level: 1, year: 2026 };

  for (let year = 2025; year >= 2023; year--) {
    const usedPrice = getUsedPriceByYear(newMin, year);
    if (usedPrice <= budgetMax) return { level: 2, year, usedPrice };
  }

  return { level: 3, year: null };
}

// ============================================================
//  다양성 제한 함수 — calcResult() 위에 추가
// ============================================================
function diversifyRecommendations(scoredCars, maxResults = 5) {
  const brandCount = {};
  const typeCount  = {};

  const luxuryBrands = new Set([
    '제네시스','메르세데스-벤츠','BMW','아우디','렉서스',
    '포르쉐','마이바흐','롤스로이스','벤틀리','람보르기니','페라리'
  ]);

  const BRAND_MAX  = 2;
  const TYPE_MAX   = 3;
  const LUXURY_MAX = 2;
  const GENESIS_MAX = 2;

  let luxuryCount  = 0;
  let genesisCount = 0;
  const resultArr  = [];

  // ── 1차 패스: 모든 제한 적용 ─────────────────────────────
  for (const item of scoredCars) {
    if (resultArr.length >= maxResults) break;

    // ✅ 핵심 수정: item 자체가 차량+score 합산 객체이므로 item.brand 로 접근
    const brand = item.brand;
    const type  = item.type;
    const isLux = luxuryBrands.has(brand);
    const isGen = brand === '제네시스';

    const bCount = brandCount[brand] || 0;
    const tCount = typeCount[type]   || 0;

    if (bCount >= BRAND_MAX)                   continue; // 동일 브랜드 2개 초과 차단
    if (tCount >= TYPE_MAX)                    continue; // 동일 타입 3개 초과 차단
    if (isLux && luxuryCount >= LUXURY_MAX)    continue; // 럭셔리 전체 2개 초과 차단
    if (isGen && genesisCount >= GENESIS_MAX)  continue; // 제네시스 2개 초과 차단

    resultArr.push(item);
    brandCount[brand] = bCount + 1;
    typeCount[type]   = tCount + 1;
    if (isLux) luxuryCount++;
    if (isGen) genesisCount++;
  }

  // ── 2차 패스: 자리 남으면 타입 제한 완화 ─────────────────
  if (resultArr.length < maxResults) {
    for (const item of scoredCars) {
      if (resultArr.length >= maxResults) break;
      if (resultArr.includes(item)) continue;

      const brand  = item.brand;
      const bCount = brandCount[brand] || 0;
      if (bCount >= BRAND_MAX + 1) continue; // 브랜드는 최대 3개까지

      resultArr.push(item);
      brandCount[brand] = bCount + 1;
    }
  }

  // ── 3차 패스: 그래도 남으면 제한 없이 채우기 (안전망) ─────
  if (resultArr.length < maxResults) {
    for (const item of scoredCars) {
      if (resultArr.length >= maxResults) break;
      if (resultArr.includes(item)) continue;
      resultArr.push(item);
    }
  }

  return resultArr;
}


// ============================================================
//  CALC RESULT
// ============================================================
function calcResult() {
  const typeScores = getScores(answers);
  let topType = Object.entries(typeScores).sort((a,b) => b[1]-a[1])[0][0];

  // 예산 b4(7000만원 이상)인데 가성비·도심 유형으로 결정되면 강제 보정
  if (answers.budget === 'b4' && (topType === 'economy' || topType === 'smart_city')) {
    topType = answers.dilemma2 === 'd2b' ? 'prestige' : 'prestige';
  }
  // 예산 b3(4000~7000)도 economy로만 결정되면 보정
  if (answers.budget === 'b3' && topType === 'economy') {
    topType = answers.dilemma2 === 'd2b' ? 'family' : 'prestige';
  }

  const filtered = filterCars(answers);
  const ranked   = scoreCarPool(filtered, answers, typeScores);

  // ✅ 수정: slice(0,5) 대신 다양성 제한 함수 적용
  const top5 = diversifyRecommendations(ranked, 5);

  document.getElementById('loading-screen').classList.add('hidden');
  showResult(topType, top5);
}

// ============================================================
//  SHOW RESULT
// ============================================================
function showResult(typeKey, cars) {
  const rt  = RESULT_TYPES[typeKey];
  const pay = PAY_INFO[answers.payment] || PAY_INFO['installment'];

  // ✅ 버그 수정: b1~b4 키로 통일
  const budgetMap   = { b1:2000, b2:4000, b3:7000, b4:99999 };
  const budgetMax   = budgetMap[answers.budget] || 99999;
const minBudgetMap2 = { b1: 0, b2: 2000, b3: 4000, b4: 7000 };
  const minBudget   = minBudgetMap2[answers.budget] || 0;
  const budgetLabel = { b1:'2,000만원 이하', b2:'2,000~4,000만원', b3:'4,000~7,000만원', b4:'7,000만원 이상' };
  const budgetText  = budgetLabel[answers.budget] || '';

  let html = `
    <div class="card result-hero">
      <div class="hero-icon">${rt.icon}</div>
      <div class="type-badge">당신의 유형</div>
      <h2>${rt.name}</h2>
      <p class="result-desc">${rt.desc}</p>
      <div class="stats-row">
        <div class="stat-box"><div class="stat-val">${rt.stats.match}</div><div class="stat-lbl">유형 일치도</div></div>
        <div class="stat-box"><div class="stat-val">${rt.stats.type}</div><div class="stat-lbl">성향</div></div>
        <div class="stat-box"><div class="stat-val">${rt.stats.keyword}</div><div class="stat-lbl">키워드</div></div>
      </div>
    </div>

    <div class="card">
      <div class="pay-box">
        <h4>${pay.title}</h4>
        <p>${pay.tip}</p>
      </div>
    </div>

    <div class="card">
      <div class="section-title">🏆 나에게 딱 맞는 추천 차량 TOP 5</div>`;

  cars.forEach((c, i) => {
    const rankClass = ['r1','r2','r3','rn','rn'][i];
    const rankLabel = ['1위','2위','3위','4위','5위'][i];
    const newPrice   = `${c.price.new_min.toLocaleString()}~${c.price.new_max.toLocaleString()}만원`;
    const usedPrice  = `${c.price.used_min.toLocaleString()}~${c.price.used_max.toLocaleString()}만원`;
    const leasePrice = `월 ${c.price.lease_month.toLocaleString()}만원~`;
    const rentPrice  = `월 ${c.price.rent_month.toLocaleString()}만원~`;

    const paymentLabel = answers.payment === 'lease' ? '리스 월납금' : '장기렌트 월납금';
    const paymentVal   = answers.payment === 'lease' ? leasePrice : rentPrice;

    const tags     = c.tags.map(t => `<span class="car-tag">${t}</span>`).join('');
    const topBadge = i === 0 ? `<span class="car-tag red">⭐ 최추천</span>` : '';

    // 단계 판별
    const afford = checkAffordability(c, budgetMax);

    let affordBadge = '';
    if (afford.level === 1) {
      affordBadge = `
        <div class="afford-badge green">
          ✅ 선택하신 예산(${budgetText}) 내에서 <b>신차 구매 가능</b>합니다
        </div>`;
    } else if (afford.level === 2) {
      affordBadge = `
        <div class="afford-badge yellow">
          ⚠️ 신차는 예산 초과 —
          <b>${afford.year}년식 중고</b>라면 약 <b>${afford.usedPrice.toLocaleString()}만원</b>으로 가능해요!<br/>
          <span>아래 🔍 실시간 중고 시세 확인에서 ${afford.year}년식 매물을 검색해보세요</span>
        </div>`;
    } else {
      affordBadge = `
        <div class="afford-badge red">
          ❌ 2023년식 중고도 예산(${budgetText})을 초과합니다<br/>
          <span>2022년식 이전 매물은 아래 🔍 사이트에서 직접 모델명으로 검색하세요</span>
        </div>`;
    }

    html += `
      <div class="car-card ${i===0?'top-pick':''}">
        <div class="car-card-header">
          <div class="car-rank ${rankClass}">${rankLabel}</div>
          <div class="car-info">
            <div class="car-name">${c.brand} ${c.model} (${c.year})</div>
            <div class="car-origin">${c.origin==='domestic'?'🇰🇷 국산':'🌍 수입'} · ${c.type==='sedan'?'세단':c.type==='suv'?'SUV':c.type==='van'?'미니밴·MPV':'기타'} · ${c.seats}인승 · ${c.fuel==='gas'?'휘발유':c.fuel==='diesel'?'경유':c.fuel==='ev'?'전기':c.fuel==='hybrid'?'하이브리드':'기타'}</div>
          </div>
        </div>
        <div class="car-tags">${topBadge}${tags}</div>
        <div class="car-price-grid" style="grid-template-columns: repeat(3, 1fr);">
          <div class="price-cell">
            <div class="p-label">신차 가격</div>
            <div class="p-val">${newPrice}</div>
          </div>
          <div class="price-cell">
          <div class="p-label">이전 연식 중고 시세</div>
            <div class="p-val">${usedPrice}</div>
          </div>
          <div class="price-cell">
            <div class="p-label">${paymentLabel}</div>
            <div class="p-val">${paymentVal}</div>
          </div>
        </div>
        <div class="car-reason">💡 ${c.reason}</div>
        ${c.fuel === 'ev' ? `
        <div style="background:#F0FDF4;border:1.5px solid #BBF7D0;border-radius:10px;padding:10px 12px;margin-top:10px;font-size:0.82rem;color:#166534;">
          ⚡ <b>전기차 보조금 안내</b><br/>
          국비+지자체 평균 보조금 약 <b>${getEvSubsidy(c).toLocaleString()}만원</b> 적용 시<br/>
          실구매가 약 <b>${(c.price.new_min - getEvSubsidy(c)).toLocaleString()}만원~</b> 예상<br/>
<span style="font-size:0.75rem;color:#15803D;">※ 보조금은 지역마다 달라요!</span><br/>
          <a href="https://www.ev.or.kr" target="_blank" style="display:inline-block;margin-top:6px;background:#16A34A;color:#fff;font-size:0.78rem;font-weight:700;padding:6px 14px;border-radius:999px;text-decoration:none;">🔍 내 지역 보조금 확인하기 →</a>
        </div>` : ''}
        ${affordBadge}
      </div>`;
  });
  
   html += `</div>`; // TOP 5 카드 닫기

  // ✅ 추가 추천 카드 (연료 선택에 따라 조건부 출력)
  const extraFuelMap = {
    diesel: { fuel: 'gas',     label: '휘발유',     emoji: '⛽', msg: '경유와 함께 고려해볼 만한 휘발유 차량이에요.' },
    ev:     { fuel: 'hybrid',  label: '하이브리드',  emoji: '🔋', msg: '충전 걱정 없이 비슷한 연비 절감 효과를 원한다면 하이브리드도 좋아요!' },
    hybrid: { fuel: 'ev',      label: '전기차',      emoji: '⚡', msg: '완전한 친환경으로 한 발 더 나아가고 싶다면 전기차도 고려해보세요!' }
  };

  const extraInfo = extraFuelMap[answers.fuel];
  if (extraInfo) {
    const extraCars = CAR_DB
      .filter(c => {
        if (c.fuel !== extraInfo.fuel) return false;
        if (c.price.new_min > budgetMax) return false;
        if (c.price.new_min < minBudget) return false;
        if (answers.seats === 's7' && c.seats < 7) return false;
        if (answers.seats === 's6' && c.seats < 5) return false;
        if (answers.seats === 's4' && c.seats < 4) return false;
        return true;
      })
      .sort((a, b) => a.price.new_min - b.price.new_min)
      .slice(0, 3);

    if (extraCars.length > 0) {
      html += `
        <div class="card">
          <div class="section-title">${extraInfo.emoji} 추가 추천 · ${extraInfo.label} 차량</div>
          <p style="font-size:0.82rem;color:#475569;margin-bottom:12px;">${extraInfo.msg}</p>`;

      extraCars.forEach(c => {
        const afford = checkAffordability(c, budgetMax);
        let affordBadge = '';
        if (afford.level === 1) {
          affordBadge = `<div class="afford-badge green">✅ 선택하신 예산 내에서 <b>신차 구매 가능</b>합니다</div>`;
        } else if (afford.level === 2) {
          affordBadge = `<div class="afford-badge yellow">⚠️ <b>${afford.year}년식 중고</b>라면 약 <b>${afford.usedPrice.toLocaleString()}만원</b>으로 가능해요!</div>`;
        } else {
          affordBadge = `<div class="afford-badge red">❌ 2023년식 중고도 예산 초과 — 아래 🔍 사이트에서 직접 검색하세요</div>`;
        }

        html += `
          <div class="car-card">
            <div class="car-card-header">
              <div class="car-info">
                <div class="car-name">${c.brand} ${c.model} (${c.year})</div>
                <div class="car-origin">${c.origin==='domestic'?'🇰🇷 국산':'🌍 수입'} · ${c.type==='sedan'?'세단':c.type==='suv'?'SUV':c.type==='van'?'미니밴·MPV':'기타'} · ${c.seats}인승</div>
              </div>
            </div>
            <div class="car-tags">${c.tags.map(t=>`<span class="car-tag">${t}</span>`).join('')}</div>
            <div class="car-price-grid" style="grid-template-columns:repeat(3,1fr);">
              <div class="price-cell"><div class="p-label">신차 가격</div><div class="p-val">${c.price.new_min.toLocaleString()}~${c.price.new_max.toLocaleString()}만원</div></div>
              <div class="price-cell"><div class="p-label">중고 시세</div><div class="p-val">${c.price.used_min.toLocaleString()}~${c.price.used_max.toLocaleString()}만원</div></div>
              <div class="price-cell"><div class="p-label">월 리스</div><div class="p-val">월 ${c.price.lease_month.toLocaleString()}만원~</div></div>
            </div>
            <div class="car-reason">💡 ${c.reason}</div>
            ${affordBadge}
          </div>`;
      });

      html += `</div>`;
    }
  }

  // 실시간 시세 확인 (4개 사이트)
  html += `
    <div class="card">
      <div class="section-title">🔍 실시간 중고 시세 확인</div>
      <p style="font-size:0.82rem;color:#475569;margin-bottom:12px;">
        추천 차량의 실제 중고 시세를 아래 사이트에서 직접 확인하세요.
      </p>
      <div style="display:grid;grid-template-columns:1fr 1fr;gap:8px;">
        <a href="https://www.encar.com" target="_blank" class="site-link-btn" style="background:#EFF6FF;border:1.5px solid #BFDBFE;">
          🚗 <b>엔카</b><br/><span>점유율 1위</span>
        </a>
        <a href="https://www.kcar.com" target="_blank" class="site-link-btn" style="background:#F0FDF4;border:1.5px solid #BBF7D0;">
          🚙 <b>케이카</b><br/><span>직영 중고차</span>
        </a>
        <a href="https://www.kbchachacha.com" target="_blank" class="site-link-btn" style="background:#FFFBEB;border:1.5px solid #FDE68A;">
          📋 <b>KB차차차</b><br/><span>시세 기준</span>
        </a>
        <a href="https://auto.danawa.com/usedcar/" target="_blank" class="site-link-btn" style="background:#FDF4FF;border:1.5px solid #E9D5FF;">
          💻 <b>다나와자동차</b><br/><span>가격 비교</span>
        </a>
      </div>
    </div>`;

  // 구매 팁
  html += `
    <div class="card">
      <div class="section-title">💡 구매 전 꼭 확인하세요</div>
      <ul class="tips-list">
        <li><span class="tip-icon">🔍</span>시승 예약은 방문 1~2주 전 필수. 같은 예산대 2~3개 차종 비교 시승 권장.</li>
        <li><span class="tip-icon">📋</span>견적서 받을 때 취등록세·보험료·탁송료 포함 '실구매가' 기준으로 비교하세요.</li>
        <li><span class="tip-icon">💰</span>연말(11~12월)·설·추석 전후 제조사 프로모션 기간에 구매하면 100~300만원 절약 가능.</li>
        <li><span class="tip-icon">📱</span>엔카·KB차차차·헤이딜러로 중고 시세 먼저 확인 후 딜러 방문하면 협상력 UP.</li>
      </ul>
    </div>`;

  // 공유 버튼
  html += `
    <div class="card">
      <div class="section-title">📤 결과 공유하기</div>
      <button class="btn btn-share" onclick="shareResult('${typeKey}')">🔗 링크 복사해서 공유</button>
      <div class="btn-row" style="margin-top:8px;">
        <button class="btn btn-retry" onclick="retryTest()">🔄 다시 테스트</button>
        <button class="btn btn-secondary" onclick="copyResult('${typeKey}')">📋 결과 텍스트 복사</button>
      </div>
    </div>`;

  // 면책 조항
  html += `
    <div class="disclaimer" style="border:1.5px solid #FDE68A;background:#FFFBEB;">
      ⚠️ <b>가격 안내</b><br/>
      • <b>신차 가격</b>: 2026년 제조사 공식 출고가 기준 (개소세 5% 적용)<br/>
      • <b>중고 시세</b>: 2026년 신차의 경우 중고 시세가 아닌 이전 연식(2023~2025년식) 기준 시장 평균 추정치입니다<br/>
      • <b>리스·렌트 월납금</b>: 업계 평균 <b>추정치</b>이며 실제 조건(보증금·기간·신용도)에 따라 크게 다를 수 있습니다<br/>
      • 정확한 시세는 위 <b>🔍 실시간 중고 시세 확인</b> 사이트에서 직접 확인하세요
    </div>`;

  document.getElementById('result-screen').innerHTML = html;
  document.getElementById('result-screen').classList.remove('hidden');
  window.scrollTo({ top: 0, behavior: 'smooth' });
}

// ============================================================
//  SHARE & COPY
// ============================================================
function shareResult(typeKey) {
  const rt = RESULT_TYPES[typeKey];
  const url = window.location.href;
  if (navigator.clipboard) {
    navigator.clipboard.writeText(url).then(() => alert('🔗 링크가 복사됐어요! 친구에게 공유해보세요.'));
  } else {
    prompt('아래 링크를 복사하세요:', url);
  }
}

function copyResult(typeKey) {
  const rt = RESULT_TYPES[typeKey];
  const top5Text = document.querySelectorAll('.car-name');
  const carNames = Array.from(top5Text).slice(0, 5).map((el, i) => `${i+1}위. ${el.textContent}`).join('\n');
  const text = `🚗 나의 자동차 이상형 테스트 결과\n\n나의 유형: ${rt.name}\n\n🏆 추천 차량 TOP 5\n${carNames}\n\n나도 테스트 해보기 👉 ${window.location.href}`;
  if (navigator.clipboard) {
    navigator.clipboard.writeText(text).then(() => alert('📋 결과가 복사됐어요!'));
  } else {
    prompt('복사하세요:', text);
  }
}

function retryTest() {
  current = 0;
  answers = {};
  document.getElementById('result-screen').classList.add('hidden');
  document.getElementById('result-screen').innerHTML = '';
  document.getElementById('start-screen').classList.remove('hidden');
  window.scrollTo({ top: 0, behavior: 'smooth' });
}
</script>
</body>
</html>
<!--==================== Part 4 End ====================-->