/* 단지 종합분석 페이지 새 틀(v3) 2판 — _aptv3_build.py. 기존 apt-page.css·apt-v2.css 위에 얹는다(차트·표·탭 조각은 그쪽 스타일 그대로).
   밝은 바탕 · 흰 카드 · 줄 맞춤(같은 줄 카드는 같은 높이) */
body{background:#f4f6f9}
.v3w{max-width:1180px;margin:0 auto;padding:0 16px}
.v3card{background:#fff;border:1px solid #e6ebf1;border-radius:16px;padding:16px 16px;min-width:0}
.v3link{display:inline-block;margin-top:10px;font-size:13px;font-weight:700;color:#15803d;text-decoration:none}
.v3link::after{content:' ›'}

/* ── 첫 화면 ── */
.v3hero{padding:12px 0 6px}
.v3top{display:flex;align-items:center;gap:10px;margin-bottom:10px;min-width:0}
.v3bc{flex:1;min-width:0;font-size:12.5px;color:#94a3b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v3bc a{color:inherit;text-decoration:none}
.v3bc i{margin:0 5px;font-style:normal;opacity:.6}
.v3act{display:flex;gap:6px;flex:none}
.v3act .tomap{margin-left:0;color:#0f172a;background:#fff;border:1px solid #dbe2ea;box-shadow:none}
.v3act .tomap:hover{background:#f1f5f9;color:#0f172a}
.v3act .tomap svg{stroke:currentColor}
/* 1단: 이름·국평 가격 + 종합 지도 + 한눈에 */
.v3first,.v3second{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin-bottom:12px}
.v3first{grid-template-areas:"id" "map" "keys"}
.v3id{grid-area:id}
.v3map{grid-area:map}
.v3glance{grid-area:keys}
.v3id h1{font-size:28px;line-height:1.2;font-weight:800;letter-spacing:-.6px;margin:0;color:#0f172a}
.v3meta{font-size:13px;color:#64748b;margin-top:5px;line-height:1.5}
.v3pbox{margin-top:12px;padding-top:12px;border-top:1px solid #eef2f6}
.v3cap{font-size:13px;color:#15803d;font-weight:800}
.v3pv{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.v3pv b{font-size:38px;font-weight:800;letter-spacing:-1px;line-height:1.15;color:#0f172a}
.v3pv span{font-size:12.5px;color:#94a3b8;font-weight:600}
.v3ds{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.v3d{font-size:12.5px;color:#475569;background:#f1f5f9;border-radius:8px;padding:3px 9px}
.v3d b{font-weight:800}
.v3d-up b{color:#dc2626}
.v3d-dn b{color:#2563eb}
.v3map{padding:0;overflow:hidden}
.v3map .mm{margin:0;max-width:none;border:0;box-shadow:none;border-radius:0}
.v3map .lbm{display:none}
@media (max-width:480px){.v3map .lbm{display:inline}.v3map .lbf{display:none}}
@media (min-width:481px){.v3map .mm-view{--cw:640;--ch:420}}
.v3glance h3,.v3factc h3,.v3ch{font-size:14.5px;font-weight:800;color:#0f172a;margin:0 0 8px}
.v3keys{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.v3keys li{display:grid;grid-template-columns:34px minmax(0,1fr);gap:8px;font-size:14px;line-height:1.6;color:#334155}
.v3keys b{color:#15803d;font-weight:800}
.v3keys em{font-style:normal;font-size:12px;color:#94a3b8;margin-left:6px}
/* 2단: 가격 흐름 + 점수·판단 */
.v3second{grid-template-areas:"chart" "eval"}
.v3price{grid-area:chart}
.v3eval{grid-area:eval}
.v3chart .chh{flex-wrap:wrap;row-gap:4px}
.v3chart .chleg{margin-left:0}
.v3chw svg{display:block;width:100%;height:auto}
.v3chw text{font-size:13px}
@media (max-width:600px){.v3chw text{font-size:17px}}
.v3score{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
.v3sr{min-width:0}
.v3srh{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.v3srh span{font-size:13.5px;font-weight:700;color:#334155}
.v3srh b{font-size:26px;font-weight:800;color:#0f172a;letter-spacing:-.4px}
.v3srh b .den{font-size:13px;color:#94a3b8;font-weight:700;margin-left:2px}
.v3grade{display:flex;align-items:baseline;gap:4px}
.v3grade span{font-size:26px;font-weight:800}
.v3grade .den{font-size:13px;color:#94a3b8;font-weight:700;margin:0 6px 0 2px}
.v3bar{position:relative;display:block;height:8px;background:#eef2f6;border-radius:5px;margin:6px 0 5px;overflow:visible}
.v3bar>i{position:absolute;left:0;top:0;bottom:0;border-radius:5px}
.v3bar>i.v3bt{width:2px;background:#0f172a;top:-3px;bottom:-3px;border-radius:1px;opacity:.55}
.v3srx{font-size:12.5px;color:#64748b;line-height:1.5}
.v3verd{display:grid;gap:0;padding-top:6px;padding-bottom:6px}
.v3v{padding:10px 0}
.v3v+.v3v{border-top:1px solid #f0f3f6}
.v3v .v3vh{display:flex;align-items:center;gap:8px;margin-bottom:4px}
.v3v .v3vh>span:first-child{font-size:14.5px;font-weight:800;color:#0f172a}
.v3v .vtag{font-size:12px;font-weight:800;border-radius:6px;padding:2px 8px}
.v3v p{margin:0;font-size:14px;line-height:1.7;color:#334155}
/* 단지 정보 */
.v3factc{margin-bottom:12px}
.v3facts{display:grid;grid-template-columns:minmax(0,1fr);gap:0 18px}
.v3f{display:flex;justify-content:space-between;gap:8px;padding:7px 0;border-top:1px solid #f0f3f6;font-size:13px;min-width:0}
.v3f span{color:#64748b;flex:none}
.v3f b{color:#0f172a;font-weight:700;text-align:right;min-width:0}
.v3f .dlink{background:none;border:0;padding:0;font:inherit;font-weight:700;color:#0f172a;cursor:pointer;text-decoration:underline dotted #94a3b8;text-underline-offset:3px}
.v3f .dlink i{display:none}

/* ── 섹션 이동 막대(휴대폰·태블릿 — 머리글 아래 따라옴) ── */
.v3nav{position:sticky;top:60px;z-index:40;background:rgba(244,246,249,.96);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid #e6ebf1}
.v3nav .v3w{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none}
.v3nav .v3w::-webkit-scrollbar{display:none}
.v3nav a{flex:none;padding:12px 12px 10px;font-size:14.5px;font-weight:700;color:#64748b;text-decoration:none;border-bottom:2.5px solid transparent}
.v3nav a.on{color:#0f172a;border-bottom-color:#16a34a}

/* ── 본문 ── */
.v3main{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;margin-top:12px;margin-bottom:60px}
.v3col{min-width:0}
.v3sec{background:#fff;border:1px solid #e6ebf1;border-radius:16px;padding:20px 16px;margin-bottom:14px;scroll-margin-top:112px;box-shadow:none}
.v3sec>*{max-width:100%}
.v3h h2{font-size:21px;font-weight:800;margin:0 0 14px;color:#0f172a;letter-spacing:-.3px}
.v3blk{margin-top:22px;padding-top:20px;border-top:1px solid #f0f3f6;scroll-margin-top:112px}
.v3h+.v3blk{margin-top:0;padding-top:0;border-top:0}
.v3blk h3,.v3blk .ct{font-size:16.5px;font-weight:800;margin:0 0 2px;color:#111c30;letter-spacing:-.2px}
.v3note{background:#f8fafc;border-radius:12px;padding:12px 14px;margin-top:16px;font-size:14px;line-height:1.75;color:#334155}
.v3note>b{display:block;font-size:13px;color:#0f172a;margin-bottom:2px}
.v3note p{margin:4px 0 0}
.v3fv .fvwrap{margin:0}
.v3fv section{box-shadow:none;padding:0;margin:0;border:0}
/* 입지 종합 */
.v3locsum{margin-bottom:22px}
.v3lsh{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:8px}
.v3lsh h3{font-size:16.5px;font-weight:800;margin:0;color:#0f172a}
.v3lsh span{font-size:13.5px;color:#64748b}
.v3lsh b{font-size:19px;color:#0f172a;font-weight:800;margin-left:4px}
.v3lsg{display:grid;gap:14px}
.v3radar .rdtabs{text-align:center}
.v3cats{display:flex;flex-direction:column;gap:2px}
.v3catsh{font-size:12.5px;color:#94a3b8;margin:0 0 4px}
.v3catsn{font-size:12px;color:#94a3b8;margin:6px 0 0}
.v3cat{display:grid;grid-template-columns:72px minmax(0,1fr) 54px;align-items:center;gap:10px;width:100%;background:none;border:0;border-radius:10px;padding:7px 6px;font:inherit;cursor:pointer;text-align:left}
.v3cat:hover{background:#f6f8fa}
.v3catn{font-size:14px;font-weight:700;color:#334155}
.v3cat .v3bar{margin:0}
.v3catv{font-size:13px;color:#94a3b8;text-align:right}
.v3catv b{font-size:15px;color:#0f172a;font-weight:800}
.v3maps{border-top:1px solid #f0f3f6;padding-top:18px}
.v3det{margin-top:16px}
.v3det .cc{box-shadow:none;border:1px solid #eef1f6;border-radius:12px;margin-top:10px}
.v3cmt{margin-top:16px}
.v3cmt h4{font-size:15px;font-weight:800;margin:0 0 2px;color:#111c30}
.v3cmt .csub{margin-bottom:10px}
/* 오른쪽 따라오는 요약(데스크톱) */
.v3rail{display:none}
.v3rc{background:#fff;border:1px solid #e6ebf1;border-radius:16px;padding:16px 18px}
.v3rn{font-size:14.5px;font-weight:800;color:#0f172a}
.v3rp{font-size:24px;font-weight:800;letter-spacing:-.4px;margin-top:4px;color:#0f172a}
.v3rk{font-size:12px;color:#94a3b8;font-weight:600}
.v3rd{font-size:13px;color:#475569;margin-top:6px}
.v3toc{display:flex;flex-direction:column;background:#fff;border:1px solid #e6ebf1;border-radius:16px;padding:8px;margin-top:12px}
.v3toc a{padding:9px 12px;border-radius:10px;color:#475569;font-weight:700;text-decoration:none;font-size:14px}
.v3toc a.on{background:#effaf3;color:#15803d}

@media (min-width:760px){
  .v3lsg{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center}
}
@media (min-width:1000px){
  .v3w{padding:0 24px}
  .v3hero{padding:16px 0 8px}
  .v3first{grid-template-columns:minmax(0,4fr) minmax(0,8fr);grid-template-areas:"id map" "keys map";align-items:stretch;gap:12px;margin-bottom:12px}
  .v3second{grid-template-columns:minmax(0,4fr) minmax(0,8fr);grid-template-areas:"chart eval";align-items:stretch;gap:12px;margin-bottom:12px}
  .v3id h1{font-size:34px}
  .v3pv b{font-size:44px}
  .v3card{padding:16px 18px}
  .v3map{padding:0}
  .v3score{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-content:start}
  .v3score .v3srh{flex-direction:column;align-items:flex-start;gap:2px}
  .v3score .v3sr .v3link{margin-top:6px}
  .v3v{display:grid;grid-template-columns:96px minmax(0,1fr);gap:10px;align-items:baseline;padding:9px 0}
  .v3v .v3vh{margin:0}
  .v3facts{grid-template-columns:repeat(4,minmax(0,1fr))}
  .v3nav{display:none}
  .v3main{grid-template-columns:minmax(0,1fr) 280px;margin-top:16px}
  .v3rail{display:block;position:sticky;top:76px;align-self:start}
  .v3sec{padding:24px 26px;scroll-margin-top:76px}
  .v3blk{scroll-margin-top:76px}
}
@media (min-width:600px) and (max-width:999px){.v3facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* 시세 섹션 — 그래프(정사각형에 가깝게) 왼쪽 · 설명 오른쪽 */
.v3chblk{margin-top:14px}
@media (min-width:760px){
  .v3chblk{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"h h" "c n";gap:6px 20px;align-items:start}
  .v3chblk>.chh{grid-area:h}
  .v3chblk>.v3chw{grid-area:c}
  .v3chblk>.chnote{grid-area:n;margin:0}
  .v3chblk:not(:has(.v3chw)){display:block}
}
/* 입지 종합 — 지역 평균 세로선 */
.v3bar>i.v3tk{width:2px;top:-4px;bottom:-4px;border-radius:1px;background:#94a3b8;opacity:.9}
.v3bar>i.v3tk-d,.v3bar>i.v3tk-s,.v3bar>i.v3tk-c{background:#0f172a}
.v3bar>i.v3tk{display:none;width:3px;top:-5px;bottom:-5px}
.v3locsum:has(#rdd:checked) .v3tk-d,.v3locsum:has(#rds:checked) .v3tk-s,.v3locsum:has(#rdc:checked) .v3tk-c{display:block}
.v3tkl span{display:none}
.v3locsum:has(#rdd:checked) .v3tkl-d,.v3locsum:has(#rds:checked) .v3tkl-s,.v3locsum:has(#rdc:checked) .v3tkl-c{display:inline-flex}
.v3tkl{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12px;color:#64748b;margin:8px 0 0}
.v3tkl span{display:inline-flex;align-items:center;gap:5px}
.v3tkl i{display:inline-block;width:3px;height:12px;border-radius:1px;background:#94a3b8}
.v3tkl i{background:#0f172a}
}
/* 그래프 없는 단지 — 평형별 최근 실거래 */
.v3pt{margin-top:4px}
.v3pth{font-size:13.5px;font-weight:800;color:#334155;margin-bottom:6px}
.v3pt table{width:100%;border-collapse:collapse;font-size:14px}
.v3pt td{padding:8px 4px;border-top:1px solid #f0f3f6;color:#475569}
.v3pt td.v3tp{font-weight:800;color:#0f172a;text-align:right}
.v3pt td:last-child{text-align:right;color:#94a3b8;font-size:12.5px;width:80px}
.v3pt .up{display:none}
.v3ptn{font-size:12.5px;color:#94a3b8;margin:8px 0 0}

/* 4판: 평가 카드(점수 + 판단 한 카드) · 첫 화면 명목 시세 그래프 */
.v3eval .v3verd{margin-top:14px;border-top:1px solid #eef2f6;padding-top:2px}
.v3eval .v3score{gap:14px}
.v3nch{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 10px;font-size:12.5px;color:#64748b;margin-bottom:6px}
.v3nch span:last-child{color:#0f172a;font-weight:700}
.v3nchart svg{display:block;width:100%;height:auto}
.v3nchart .nl{font-size:13px;fill:#94a3b8}
.v3nchart .nlb{fill:#0f172a;font-weight:700}
@media (max-width:600px){.v3nchart .nl{font-size:17px}}
.v3map .mm-sb{bottom:10px}
/* 4판 다듬기: 범례는 고른 지역만 · 평가 카드 휴대폰도 빽빽하게 */
.v3locsum .v3tkl span{display:none}
.v3locsum:has(#rdd:checked) .v3tkl .v3tkl-d,.v3locsum:has(#rds:checked) .v3tkl .v3tkl-s,.v3locsum:has(#rdc:checked) .v3tkl .v3tkl-c{display:inline-flex}
.v3v{display:grid;grid-template-columns:88px minmax(0,1fr);gap:8px;align-items:baseline}
.v3v .v3vh{margin:0;flex-wrap:wrap;gap:4px 6px}
@media (max-width:999px){
  .v3eval .v3score{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
  .v3eval .v3srh{flex-direction:column;align-items:flex-start;gap:0}
  .v3eval .v3srh span{font-size:12px}
  .v3eval .v3srh b,.v3eval .v3grade span{font-size:22px}
  .v3eval .v3srh b .den,.v3eval .v3grade .den{font-size:11px}
  .v3eval .v3srx{font-size:11px;line-height:1.45}
  .v3eval .v3sr .v3link{font-size:11.5px;margin-top:4px}
  .v3eval .v3verd{margin-top:12px}
  .v3v{grid-template-columns:72px minmax(0,1fr)}
  .v3v .v3vh>span:first-child{font-size:14px}
  .v3v p{font-size:13.5px;line-height:1.6}
}
@media (max-width:999px){.v3v{grid-template-columns:104px minmax(0,1fr)}.v3v .v3vh{flex-wrap:nowrap}}
@media (max-width:599px){
  .v3facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}
  .v3f{flex-direction:column;justify-content:flex-start;gap:1px;padding:7px 0}
  .v3f b{text-align:left;font-size:13.5px}
}
/* 5판: 시세 흐름 제목 옆 크기 · 단지 칩 · 평형별 시세(검색 평형 카드) · 평균선 색(이상/미만) · 10년 안내 */
.v3ch span{font-size:12.5px;font-weight:600;color:#94a3b8;margin-left:8px}
.v3cps{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}
.v3cp{display:inline-flex;align-items:center;font-size:12px;font-weight:600;border-radius:6px;padding:2px 8px;line-height:1.5}
.v3areas{margin-bottom:12px;padding-bottom:12px}
.v3ah{display:flex;align-items:baseline;gap:10px;margin-bottom:10px}
.v3ah h3{font-size:14.5px;font-weight:800;color:#0f172a;margin:0}
.v3ah span{font-size:12.5px;color:#94a3b8}
.v3astrip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(232px,1fr);gap:10px;overflow-x:auto;scrollbar-width:thin;padding-bottom:4px}
.v3ac{display:grid;grid-template-columns:minmax(0,1fr) 96px;gap:8px;border:1px solid #e6ebf1;border-radius:12px;padding:11px 12px;text-decoration:none;color:inherit;background:#fff;min-width:0}
.v3ac:hover{border-color:#cbd5e1;background:#fafbfc}
.v3ac.rep{border-color:#16a34a;box-shadow:inset 0 0 0 1px #16a34a}
.v3acl{min-width:0}
.v3acp{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.v3acp b{font-size:21px;font-weight:800;letter-spacing:-.4px;color:#0f172a}
.v3kp{font-size:11px;font-weight:800;color:#15803d;background:#dcfce7;border-radius:5px;padding:1px 6px}
.v3xt{font-size:11px;font-weight:800;color:#b91c1c;background:#fee2e2;border-radius:5px;padding:1px 6px}
.v3aca{font-size:13px;font-weight:700;color:#334155;margin-top:2px}
.v3acb{font-size:12px;color:#94a3b8;margin-top:1px}
.v3acb.warn{color:#b45309}
.v3vl{display:inline-block;font-size:11.5px;font-weight:700;border-radius:6px;padding:1px 7px;margin-top:6px}
.v3acs{display:flex;flex-direction:column;align-items:stretch;justify-content:center;font-size:11px;text-align:center}
.v3acs svg{display:block;width:96px;height:56px}
.v3syr{display:flex;justify-content:space-between;font-size:10.5px;color:#94a3b8;padding:0 3px}
.v3syr b{font-weight:600}
.v3slb{font-weight:800;font-size:11.5px;margin-top:1px}
.v3sna{color:#94a3b8;font-size:11.5px}
/* 평균선 색 — 평균 이상 초록 · 미만 주황(튀지 않게 진한 톤) */
.v3bar>i.v3bt.v3up,.v3bar>i.v3tk.v3up{background:#15803d;opacity:.85}
.v3bar>i.v3bt.v3dn,.v3bar>i.v3tk.v3dn{background:#c2410c;opacity:.85}
.v3tkl i{width:3px;height:12px}
.v3tkl i.v3up{background:#15803d}
.v3tkl i.v3dn{background:#c2410c;margin-right:2px}
.v3no10{font-size:13.5px;color:#475569;background:#f8fafc;border-radius:10px;padding:10px 13px;margin:16px 0 0}
@media (max-width:599px){
  .v3astrip{grid-auto-columns:82%}
  .v3acp b{font-size:20px}
}
.v3astrip{grid-auto-columns:minmax(262px,1fr)}
.v3ac{grid-template-columns:minmax(0,1fr) 92px}
.v3aca{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12.5px}
.v3acb{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v3acs svg{width:92px}
.v3no10{margin:0 0 4px}
@media (min-width:1000px){.v3second.v3one{grid-template-columns:minmax(0,1fr);grid-template-areas:"eval"}}
/* 6판: 첫 줄 = 검색 카드(평형 고르기) + 지도 */
.v3first2{grid-template-areas:"sc" "map"}
.v3sc{grid-area:sc;display:flex;flex-direction:column;gap:10px}
.v3sch{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.v3sch h1{font-size:27px;line-height:1.2;font-weight:800;letter-spacing:-.6px;margin:0;color:#0f172a}
.v3yc{font-size:12px;font-weight:700;border-radius:7px;padding:3px 9px}
.v3scr{font-size:13.5px;color:#64748b;margin-top:-6px}
.v3pys{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:2px 1px}
.v3pys::-webkit-scrollbar{display:none}
.v3pys input{position:absolute;opacity:0;pointer-events:none}
.v3pys label{flex:none;font-size:13px;font-weight:700;color:#475569;background:#f1f5f9;border:1px solid transparent;border-radius:999px;padding:5px 11px;cursor:pointer;white-space:nowrap}
.v3pys label em{font-style:normal;font-size:10.5px;color:#15803d;margin-left:3px}
.v3pys input:checked+label{background:#0f172a;color:#fff}
.v3pys input:checked+label em{color:#86efac}
.v3pys input:focus-visible+label{outline:2px solid #16a34a;outline-offset:1px}
.v3scg{display:grid;grid-template-columns:minmax(0,1fr) 112px;gap:12px;align-items:start}
.v3pp{display:none}
.v3pr{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px}
.v3pr b{font-size:34px;font-weight:800;letter-spacing:-.9px;line-height:1.15;color:#0f172a}
.v3pr span{font-size:13.5px;font-weight:700;color:#334155}
.v3pr .v3kp,.v3pr .v3xt{font-size:11px;font-weight:800}
.v3pb{font-size:12.5px;color:#94a3b8;margin-top:2px}
.v3pb.warn{color:#b45309}
.v3mcs{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}
.v3mc{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;font-weight:600;color:#475569;background:#f1f5f9;border-radius:7px;padding:3px 8px}
.v3mc b{color:#0f172a;font-weight:800}
.v3gl{font-style:normal;font-size:11px;font-weight:800;color:#0f172a;border-radius:4px;padding:0 5px;line-height:16px}
.v3mcs .v3vl{margin-top:0;font-size:12.5px;padding:3px 8px;border-radius:7px}
.v3scv{display:flex;flex-direction:column;align-items:center;gap:4px}
.v3rad{width:104px;height:auto;display:block}
.v3rad .rg{fill:none;stroke:#e2e8f0;stroke-width:.8}
.v3rad .lb text{font-size:6.4px;font-weight:700;fill:#94a3b8}
.v3psp{width:100%;text-align:center;font-size:11px}
.v3psp svg{width:100%;height:auto;display:block}
.v3sc .v3cps{margin-top:0}
.v3irs{display:flex;flex-direction:column;gap:6px;font-size:13.5px;color:#334155}
.v3ir{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.v3ir b{color:#0f172a}
.v3lps{display:inline-flex;gap:4px;flex-wrap:wrap}
.v3lp{display:inline-flex;align-items:center;gap:3px;font-size:10.5px;font-weight:700;padding:1px 7px;border-radius:9px;line-height:1.5}
.v3lp i{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.9}
.v3lpx{padding:1px 6px;margin-left:-2px}
.v3cpb{font-size:11.5px;font-weight:800;border-radius:5px;padding:1px 6px}
.v3cpb1{background:#dcfce7;color:#166534}
.v3cpb2{background:#fef3c7;color:#92400e}
.v3cmr{color:#475569}
.v3cmr b{color:#15803d;font-weight:800}
.v3cml{color:#0f172a;font-weight:700}
.v3cav{font-size:12.5px;color:#b45309;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:5px 10px}
@media (min-width:1000px){
  .v3first2{grid-template-columns:minmax(0,5fr) minmax(0,7fr);grid-template-areas:"sc map"}
}
@media (max-width:599px){
  .v3pr b{font-size:30px}
  .v3scg{grid-template-columns:minmax(0,1fr) 96px}
  .v3rad{width:90px}
}
.v3cmr{gap:6px}
@media (min-width:1000px){.v3psp svg{max-height:70px}}
/* 평형별 시세 줄 — 휠·끌기로 좌우(스냅 없음) */
.v3astrip{cursor:grab;scroll-behavior:auto;overscroll-behavior-x:contain}
.v3astrip.dragging{cursor:grabbing;user-select:none}
.v3astrip.dragging .v3ac{pointer-events:none}
/* 10-13 7판: 시세 흐름 카드 — 그래프 아래 대표 평형 최근 거래, 링크는 카드 바닥 */
.v3price{display:flex;flex-direction:column}
.v3price .v3link{margin-top:auto;padding-top:10px}
.v3recent{margin-top:12px;border-top:1px solid #eef2f6;padding-top:10px}
.v3rh{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:4px}
.v3rh span{font-size:13px;font-weight:800;color:#0f172a}
.v3rh em{font-style:normal;font-size:12px;color:#64748b}
.v3recent table{width:100%;border-collapse:collapse;font-size:13px}
.v3recent td{padding:4px 0;color:#64748b;border-bottom:1px solid #f4f6f9}
.v3recent tr:last-child td{border-bottom:0}
.v3recent td.v3rp{text-align:right;font-weight:800;color:#0f172a}
/* 종합 — 한 문장씩 */
.v3vsum p{line-height:1.75}
.v3price .v3recent table td{font-size:13px;line-height:1.4;padding:5px 0}
.v3price .v3recent table td.v3rp{font-size:14px}
/* 10-13 8판: 종합 = 한 줄 결론 + 요점 3줄(문장 나열 대신) */
.v3sb{min-width:0}
.v3sh{margin:0 0 6px;font-size:14.5px;line-height:1.6;font-weight:800;color:#0f172a}
.v3sk{margin:0;display:grid;gap:5px}
.v3sk>div{display:grid;grid-template-columns:104px minmax(0,1fr);gap:8px;align-items:baseline}
.v3sk dt{font-size:12.5px;font-weight:700;color:#64748b}
.v3sk dd{margin:0;font-size:14px;line-height:1.6;color:#0f172a;font-weight:700;display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px}
.v3sk .v3cx{font-weight:500;color:#64748b;font-size:13px}
.v3c{font-style:normal;font-size:12.5px;font-weight:700;line-height:1;padding:4px 8px;border-radius:999px}
.v3c-up{background:#ecfdf3;color:#15803d}
.v3c-dn{background:#fff4ec;color:#c2410c}
.v3c-n{background:#f1f5f9;color:#475569}
@media (max-width:480px){.v3v.v3vsum{display:block}.v3vsum .v3vh{margin-bottom:8px}.v3sk>div{grid-template-columns:96px minmax(0,1fr)}}
.v3sk .v3nw{white-space:nowrap}
.v3sk .v3dot{color:#94a3b8;font-weight:500}
@media (max-width:480px){.v3sk .v3dot{display:none}.v3sk dd>.v3nw{flex-basis:100%}}
/* 10-13 10판: 실거주·투자 꼬리표 오른쪽 정렬(이름 길이와 무관하게 한 줄로) · 종합 = 풀어 쓴 문장 */
.v3v{grid-template-columns:128px minmax(0,1fr);gap:14px}
.v3v .v3vh{flex-wrap:nowrap;justify-content:space-between;gap:6px}
.v3vsum .v3vh{justify-content:flex-start}
.v3st{margin:0;font-size:14px;line-height:1.75;color:#334155}
@media (max-width:480px){.v3v{grid-template-columns:116px minmax(0,1fr);gap:10px}}
/* 10-13 11판: 실거주·투자·종합 꼬리표 = 같은 6단계(수도권 순위) · 가장 좋은 게 파랑 */
.v3tg{display:inline-block;font-size:12px;font-weight:800;line-height:1;border-radius:6px;padding:5px 8px;white-space:nowrap}
.v3tg0{background:#1d4ed8;color:#fff}
.v3tg1{background:#dbeafe;color:#1e40af}
.v3tg2{background:#dcfce7;color:#15803d}
.v3tg3{background:#f1f5f9;color:#475569}
.v3tg4{background:#ffedd5;color:#9a3412}
.v3tg5{background:#fee2e2;color:#991b1b}
.v3tgn{background:#fff;color:#94a3b8;box-shadow:inset 0 0 0 1px #e2e8f0}
.v3vsum .v3vh{justify-content:space-between}
@media (max-width:480px){.v3vsum .v3vh{justify-content:flex-start;gap:8px}}
@media (max-width:480px){.v3vsum .v3vh{width:116px;justify-content:space-between}}
/* 10-16 지역 리포트 카드(송도·동탄·기흥 458쪽) — 새 틀이 바깥 링크(a.repc)를 벗기고 스타일도 없어 1200px 그림이 화면 밖으로 넘쳤다. 옛 틀(44 _V2_SHARED_CSS) 그대로 */
.repc{text-decoration:none;display:grid;grid-template-columns:280px minmax(0,1fr);gap:22px;align-items:center;background:linear-gradient(118deg,#0b1626,#123227);border-radius:16px;padding:20px 24px;color:#fff;margin-bottom:16px}
.repc img{width:100%;height:auto;border-radius:10px;display:block}
.repc .rt{font-size:11px;font-weight:800;color:#4ade80;letter-spacing:.14em;margin-bottom:4px}
.repc h3{font-size:17.5px;font-weight:800;letter-spacing:-.3px;margin:0;color:#fff}
.repc p{font-size:12.5px;color:rgba(255,255,255,.72);margin-top:4px}
.repc .go{display:inline-block;margin-top:13px;font-size:13px;font-weight:800;color:#0b1626;background:#4ade80;border-radius:11px;padding:10px 17px}
@media (max-width:960px){.repc{grid-template-columns:1fr}}
