/* 모바일(≤767px) 홈 3단 — ① 오늘의 랭킹 ② 마감임박 경기 ③ 실시간 픽 피드. 마크업·데이터는 portal_home.html / portal_home_data.php. PC·태블릿에서는 이 섹션들을 그리지 않고, 숨김 규칙도 ≤767px 안에서만 건다. 애니메이션 없음. */
.rt-home .hm-m { display: none; }
.rt-home .hm-m-sh-pb, .rt-home .hm-m-pbcards { display: none; }

@media (max-width: 767px) {
  .rt-home .hm-m { display: block; min-width: 0; }

  /* 모바일 홈의 메인 섹션은 오늘의 랭킹·마감임박 경기·실시간 픽 피드 셋뿐 — 나머지(마크업은 PC·태블릿 공용이라 지우지 않는다)는 모바일에서만 숨긴다. */
  html:root:root .rt-home .hm-main > :not(.hm-m):not(.hm-pickbook) { display: none; }
  .rt-home .hm-main > .hm-m-rank { order: 0; } .rt-home .hm-main > .hm-m-close { order: 1; } .rt-home .hm-main > .hm-m-t5.is-profit { order: 2; } .rt-home .hm-main > .hm-m-t5.is-rate { order: 3; } .rt-home .hm-main > .hm-m-t5.is-h100 { order: 4; }
  /* 팁스터 최신 픽 = 공식 월 수익 4~13위의 최신 공개 픽(portal_pickbook, 최대 10건). 제목만 모바일용 문구로 바꾼다 */
  html:root:root .rt-home .hm-main > .hm-pickbook { display: block; order: 5; --sc: 167, 139, 250; }
  /* 팁스터 최신 픽 헤더: 수익 TOP3 픽 헤더(.hm-m-sh)와 같은 아이콘 박스·제목·전체보기. 기존 .hm-head 는 모바일에서만 숨긴다 */
  html:root:root .rt-home .hm-main > .hm-pickbook > .hm-head { display: none; }
  html:root:root .rt-home .hm-main > .hm-pickbook { padding: 10px 10px 4px; }
  html:root:root .rt-home .hm-main > .hm-pickbook > .hm-m-sh-pb { display: flex; --sc: 167, 139, 250; }
  html:root:root .rt-home .hm-main > .hm-pickbook > a.hm-feed-row { margin-left: 0; margin-right: 0; }
  html:root:root .rt-home .hm-main > .hm-pickbook > .hm-m-sh-pb .hm-m-more { color: rgb(var(--sc)); }

  /* ── 오늘의 랭킹 ── */
  .rt-home .hm-m-rank { position: relative; overflow: hidden; padding: 14px 10px 10px; border: 1px solid rgba(149, 107, 255, .4); border-radius: 18px;
    background: radial-gradient(70% 55% at 88% 0%, rgba(149, 107, 255, .34), transparent 70%), radial-gradient(60% 50% at 0% 100%, rgba(70, 120, 255, .16), transparent 70%), linear-gradient(180deg, #0f1636, #080d22);
    box-shadow: 0 10px 28px rgba(0, 0, 0, .35), inset 0 1px 0 rgba(255, 255, 255, .06); }
  .rt-home .hm-m-rank-head { padding: 0 4px 12px; }
  .rt-home .hm-m-rank-head h2 { display: flex; align-items: center; gap: 8px; color: #fff; font-size: 24px; font-weight: 850; letter-spacing: -.8px; line-height: 1.2; }
  .rt-home .hm-m-rank-head h2 svg { flex: none; width: 26px; height: 26px; color: #f1c45b; filter: drop-shadow(0 0 8px rgba(241, 196, 91, .5)); }
  .rt-home .hm-m-rank-t { color: #fff; }
  .rt-home .hm-m-rank-head p { margin-top: 4px; color: var(--h-text2); font-size: 12.5px; }

  .rt-home .hm-m-rk3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
  .rt-home .hm-m-card { --k: 241, 196, 91; display: flex; flex-direction: column; min-width: 0; padding: 9px 6px 8px; border: 1px solid rgba(var(--k), .4); border-radius: 13px;
    background: linear-gradient(180deg, rgba(var(--k), .13), rgba(var(--k), .02) 55%), rgba(8, 13, 34, .72); }
  .rt-home .hm-m-card.is-rate { --k: 96, 150, 255; }
  .rt-home .hm-m-card.is-h100 { --k: 80, 200, 176; }
  .rt-home .hm-m-card-head { display: flex; align-items: center; justify-content: space-between; gap: 2px; color: #fff; font-size: 14px; font-weight: 800; letter-spacing: -.4px; white-space: nowrap; }
  .rt-home .hm-m-card-head b { overflow: hidden; text-overflow: ellipsis; }
  .rt-home .hm-m-card-head span { flex: none; color: rgb(var(--k)); font-size: 18px; line-height: 1; }
  .rt-home .hm-m-card-sub { margin: 2px 0 7px; min-height: 28px; color: var(--h-text2); font-size: 10.5px; line-height: 1.3; }
  .rt-home .hm-m-none { padding: 14px 4px; color: var(--h-text2); font-size: 11px; text-align: center; }

  .rt-home .hm-m-first { display: flex; align-items: center; gap: 5px; min-width: 0; margin-bottom: 4px; padding: 7px 5px; border: 1px solid rgba(var(--k), .35); border-radius: 10px; background: rgba(var(--k), .1); }
  .rt-home .hm-m-medal { display: inline-flex; flex: none; align-items: center; justify-content: center; width: 20px; height: 20px; border-radius: 50%; background: rgb(var(--k)); color: #0b1030; font-size: 11px; font-weight: 900; }
  .rt-home .hm-m-first-t { display: flex; flex-direction: column; min-width: 0; line-height: 1.2; }
  .rt-home .hm-m-first-t .hm-m-nick { color: #fff; font-size: 11.5px; font-weight: 700; }
  .rt-home .hm-m-first-t strong { color: rgb(var(--k)); font-size: 15px; font-weight: 850; letter-spacing: -.5px; white-space: nowrap; }
  .rt-home .hm-m-nick { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .rt-home .hm-m-li { display: flex; align-items: center; gap: 4px; min-width: 0; padding: 5px 2px; border-top: 1px solid rgba(148, 163, 200, .12); font-size: 11px; }
  .rt-home .hm-m-li .hm-m-nick { flex: 1 1 0; min-width: 0; color: #dfe3f2; }
  .rt-home .hm-m-li b { flex: none; color: rgb(var(--k)); font-size: 11px; font-weight: 800; white-space: nowrap; }
  .rt-home .hm-m-no { display: inline-flex; flex: none; align-items: center; justify-content: center; width: 15px; height: 15px; border-radius: 5px; background: rgba(148, 163, 200, .2); color: #dfe3f2; font-size: 9.5px; font-weight: 800; }
  .rt-home .hm-m-card .is-down { color: #ff8b8b; }
  .rt-home .hm-m-all { display: flex; align-items: center; justify-content: center; gap: 3px; margin-top: auto; min-height: 30px; padding: 0 4px; border: 1px solid rgba(var(--k), .5); border-radius: 9px; color: rgb(var(--k)); font-size: 10.5px; font-weight: 700; line-height: 1.15; text-align: center; }
  .rt-home .hm-m-card > .hm-m-li:last-of-type { margin-bottom: 7px; }
  .rt-home .hm-m-card > .hm-m-first:last-of-type { margin-bottom: 7px; }

  /* ── 공통 섹션 헤더(마감임박 경기·실시간 픽 피드) ── */
  .rt-home .hm-m-close, .rt-home .hm-m-t5 { padding: 10px 10px 10px; border: 1px solid rgba(var(--sc), .38); border-radius: 16px; background: linear-gradient(180deg, rgba(var(--sc), .09), rgba(var(--sc), 0) 90px), #0a1030; }
  .rt-home .hm-m-close { --sc: 255, 138, 76; }   /* #FF8A4C — PC 홈 타이머 아이콘색, 헤더 포인트색(--hd)과 같은 값 */
  .rt-home .hm-m-t5.is-profit { --sc: 241, 196, 91; }
  .rt-home .hm-m-t5.is-rate { --sc: 180, 154, 255; }   /* #B49AFF — 헤더 포인트색(--hd)과 같은 값 */
  .rt-home .hm-m-t5.is-h100 { --sc: 46, 230, 166; }
  .rt-home .hm-m-sh { display: flex; align-items: center; gap: 8px; padding: 2px 2px 10px; }
  .rt-home .hm-m-sh-ico { display: inline-flex; flex: none; align-items: center; justify-content: center; width: 30px; height: 30px; border: 1px solid rgba(var(--sc), .5); border-radius: 10px; background: rgba(var(--sc), .14); color: rgb(var(--sc)); }
  .rt-home .hm-m-sh h2 { flex: 1 1 auto; min-width: 0; overflow: hidden; color: #fff; font-size: 17px; font-weight: 800; letter-spacing: -.4px; text-overflow: ellipsis; white-space: nowrap; }
  .rt-home .hm-m-more { flex: none; color: #dfe3f2; font-size: 12.5px; font-weight: 650; white-space: nowrap; }
  .rt-home .hm-m-empty { padding: 18px 8px; border: 1px dashed rgba(148, 163, 200, .25); border-radius: 12px; color: var(--h-text2); font-size: 12.5px; text-align: center; }

  /* ── 마감임박 경기: 가로 스크롤 카드 ── */
  .rt-home .hm-m-close-track { display: flex; gap: 8px; margin: 0 -10px; padding: 0 10px 2px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x proximity; scroll-padding: 0 10px; scrollbar-width: none; }
  .rt-home .hm-m-close-track::-webkit-scrollbar { display: none; }
  .rt-home .hm-m-ev { display: flex; flex: 0 0 138px; flex-direction: column; gap: 8px; min-width: 0; padding: 9px 8px 10px; border: 1px solid rgba(80, 140, 255, .3); border-radius: 12px; background: rgba(8, 13, 34, .75); scroll-snap-align: start; }
  .rt-home .hm-m-ev.is-closed { opacity: .5; }
  .rt-home .hm-m-ev-top { display: flex; align-items: center; justify-content: space-between; gap: 4px; min-width: 0; }
  .rt-home .hm-m-ev-lg { min-width: 0; overflow: hidden; color: #dfe3f2; font-size: 11.5px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
  .rt-home .hm-m-left { display: inline-flex; flex: none; align-items: center; gap: 3px; padding: 2px 6px; border-radius: 999px; background: rgba(255, 85, 85, .14); color: #ff6b6b; font-size: 10.5px; font-weight: 800; font-variant-numeric: tabular-nums; }
  .rt-home .hm-m-ev-teams { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: start; gap: 2px; }
  .rt-home .hm-m-ev-team { display: flex; flex-direction: column; align-items: center; gap: 4px; min-width: 0; text-align: center; }
  .rt-home .hm-m-ev-team b { max-width: 100%; color: #fff; font-size: 11.5px; font-weight: 700; line-height: 1.25; overflow-wrap: anywhere; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
  .rt-home .hm-m-ev-logo { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; }
  .rt-home .hm-m-ev-logo img { width: 34px; height: 34px; object-fit: contain; }
  .rt-home .hm-m-ev-vs { padding-top: 10px; color: var(--h-text2); font-size: 10.5px; font-weight: 700; }
  .rt-home .hm-m-ev-title { color: #fff; font-size: 12.5px; font-weight: 700; line-height: 1.35; overflow-wrap: anywhere; }

}
@media (max-width: 359px) {
  .rt-home .hm-m-rank-head h2 { font-size: 21px; }
  .rt-home .hm-m-first-t strong { font-size: 13.5px; }
}
@media (max-width: 400px) {   /* 360~390px: 1위 칸 수치(+98,800 / 80.00%)가 카드 안에 들어오도록 */
  .rt-home .hm-m-first { gap: 4px; padding: 6px 4px; }
  .rt-home .hm-m-medal { width: 17px; height: 17px; font-size: 10px; }
  .rt-home .hm-m-first-t strong { font-size: 12.5px; letter-spacing: -.6px; }
  .rt-home .hm-m-first-t .hm-m-nick { font-size: 11px; }
}
@media (max-width: 767px) {   /* 2~5위: 칸이 좁아 닉네임이 잘리므로 [순위] [닉네임 / 수치] 2단 */
  .rt-home .hm-m-li { display: grid; grid-template-columns: 15px minmax(0, 1fr); column-gap: 5px; align-items: center; padding: 4px 2px; }
  .rt-home .hm-m-li .hm-m-no { grid-row: 1 / span 2; }
  .rt-home .hm-m-li .hm-m-nick { grid-column: 2; line-height: 1.25; }
  .rt-home .hm-m-li b { grid-column: 2; line-height: 1.2; }
}

@media (min-width: 768px) {   /* 모바일 전용 섹션: .hm-top 등 기존 클래스를 함께 쓰는 TOP5 카드가 PC·태블릿 규칙에 걸려 보이지 않도록 */
  html:root:root .rt-home .hm-main > .hm-m { display: none; }
}

@media (max-width: 767px) {   /* ── TOP5 픽 카드(B안): 순위별 독립 카드 · 상단 메달/닉네임/결과 · 중앙 팀 · 하단 PICK 강조 + 배당 ── */
  .rt-home .hm-m-t5 { display: flex; flex-direction: column; gap: 8px; }
  .rt-home .hm-m-t5 .hm-m-sh { padding-bottom: 2px; }
  .rt-home .hm-m-t5 .hm-m-sh-ico { border-color: rgba(var(--sc), .5); }
  .rt-home .hm-m-t5 .hm-m-more { color: rgb(var(--sc)); }
  .rt-home .hm-m-t5 .hm-m-empty { margin: 0; }
  .rt-home .hm-m-pc { display: block; padding: 9px 10px 10px; border: 1px solid rgba(149, 107, 255, .26); border-radius: 13px; background: linear-gradient(180deg, rgba(20, 28, 66, .9), rgba(10, 15, 40, .95)); }
  .rt-home .hm-m-pc.is-rank1 { border-color: rgba(var(--sc), .75); background: linear-gradient(180deg, rgba(var(--sc), .16), rgba(10, 15, 40, .95) 70%); box-shadow: 0 0 0 1px rgba(var(--sc), .18) inset, 0 4px 16px rgba(var(--sc), .12); }
  .rt-home .hm-m-pc.pd-pick-win { border-color: rgba(46, 230, 166, .4); background: #0D2728; }
  .rt-home .hm-m-pc.pd-pick-lose, .rt-home .hm-m-pc.pd-pick-lost { border-color: rgba(200, 110, 150, .4); background: #241A30; }
  .rt-home .hm-m-pc-top { display: flex; align-items: center; gap: 8px; min-width: 0; }
  .rt-home .hm-m-pc .hm-rank-no { flex: none; width: 24px; height: 24px; font-size: 12px; }
  .rt-home .hm-m-pc-nick { flex: 1 1 auto; min-width: 0; overflow: hidden; color: #fff; font-size: 14.5px; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
  .rt-home .hm-m-pc-st { flex: none; min-width: 48px; padding: 2px 10px; border: 1px solid rgba(149, 107, 255, .55); border-radius: 999px; background: rgba(149, 107, 255, .14); color: #e3d9ff; font-size: 11.5px; font-style: normal; font-weight: 700; text-align: center; white-space: nowrap; }
  .rt-home .hm-m-pc.pd-pick-win .hm-m-pc-st { border-color: rgba(46, 230, 166, .6); background: rgba(46, 230, 166, .12); color: #2ee6a6; }
  .rt-home .hm-m-pc.pd-pick-lose .hm-m-pc-st, .rt-home .hm-m-pc.pd-pick-lost .hm-m-pc-st { border-color: rgba(255, 120, 140, .55); background: rgba(255, 120, 140, .1); color: #ff8fa3; }
  .rt-home .hm-m-pc-match { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; column-gap: 8px; margin-top: 9px; }
  /* 팀명 줄: [좌 1fr][VS][우 1fr] — VS 는 항상 카드 정중앙, 두 팀은 VS 쪽으로 붙어(좌=오른쪽 정렬, 우=왼쪽 정렬) 짧으면 가운데에 모이고, 길면 각자 바깥쪽으로 늘어나 반 폭 안에서 줄바꿈한다. 로고는 팀명 바깥쪽. */
  .rt-home .hm-m-pc-team { display: flex; align-items: center; justify-content: flex-end; gap: 5px; min-width: 0; text-align: right; }
  .rt-home .hm-m-pc-team:last-child { flex-direction: row-reverse; justify-content: flex-end; text-align: left; }
  .rt-home .hm-m-pc-team b { flex: 0 1 auto; }
  .rt-home .hm-m-pc-team b { min-width: 0; color: #f2f4fb; font-size: 13px; font-weight: 700; line-height: 1.25; overflow-wrap: anywhere; }
  .rt-home .hm-m-pc-logo { display: inline-flex; flex: none; width: 28px; height: 28px; }
  .rt-home .hm-m-pc-logo img { width: 28px; height: 28px; object-fit: contain; }
  .rt-home .hm-m-pc-vs { color: var(--h-text2); font-size: 11px; font-weight: 700; }
  .rt-home .hm-m-pc-ev { grid-column: 1 / -1; color: #f2f4fb; font-size: 13px; font-weight: 700; overflow-wrap: anywhere; }
  .rt-home .hm-m-pc-meta { display: flex; align-items: center; justify-content: center; gap: 6px; min-width: 0; margin-top: 4px; color: var(--h-text2); font-size: 11px; }
  .rt-home .hm-m-pc-meta b { min-width: 0; overflow: hidden; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
  .rt-home .hm-m-pc-meta u { text-decoration: none; opacity: .5; }
  .rt-home .hm-m-pc-pick { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 6px; margin-top: 8px; }
  .rt-home .hm-m-pc-pick > i, .rt-home .hm-m-pc-pick > b, .rt-home .hm-m-pc-odds { display: flex; align-items: center; min-height: 36px; }
  .rt-home .hm-m-pc-pick > i { padding: 0 9px; border-radius: 9px 0 0 9px; background: rgba(var(--sc), .3); color: #fff; font-size: 11px; font-style: normal; font-weight: 800; letter-spacing: .5px; }
  .rt-home .hm-m-pc-pick > b { grid-column: 2; justify-content: center; margin-left: -6px; padding: 4px 8px; border: 1px solid rgba(var(--sc), .55); border-left: 0; border-radius: 0 9px 9px 0; background: rgba(var(--sc), .1); color: #fff; font-size: 14px; font-weight: 850; line-height: 1.25; text-align: center; overflow-wrap: anywhere; }
  .rt-home .hm-m-pc-odds { flex-direction: column; justify-content: center; min-width: 64px; padding: 2px 10px; border: 1px solid rgba(148, 163, 200, .3); border-radius: 9px; background: rgba(8, 13, 34, .6); line-height: 1.15; }
  .rt-home .hm-m-pc-odds small { color: var(--h-text2); font-size: 10px; }
  .rt-home .hm-m-pc-odds span { color: #fff; font-size: 15px; font-weight: 850; font-variant-numeric: tabular-nums; }
  .rt-home .hm-m-t5.is-profit .hm-m-pc-odds span { color: #f1c45b; }
  .rt-home .hm-m-t5.is-h100 .hm-m-pc-odds span { color: #2ee6a6; }
}

@media (max-width: 767px) {   /* ── 섹션 헤더 B안: 핵심 단어만 포인트색 + 은은한 하단 라인 ── */
  .rt-home .hm-m-acc { color: var(--hd, #b49aff); font-weight: inherit; }
  .rt-home .hm-m-rank { --hd: #B49AFF; --hd-rgb: 180, 154, 255; }
  .rt-home .hm-pickbook { --hd: #A78BFA; --hd-rgb: 167, 139, 250; }
  .rt-home .hm-m-close { --hd: #FF8A4C; --hd-rgb: 255, 138, 76; }
  .rt-home .hm-m-t5.is-profit { --hd: #E9C16D; --hd-rgb: 233, 193, 109; }
  .rt-home .hm-m-t5.is-rate { --hd: #B49AFF; --hd-rgb: 180, 154, 255; }
  .rt-home .hm-m-t5.is-h100 { --hd: #50C8B0; --hd-rgb: 80, 200, 176; }
  .rt-home .hm-m-sh { padding-bottom: 8px; border-bottom: 1px solid rgba(var(--hd-rgb), .35); }
  .rt-home .hm-m-close > .hm-m-sh, .rt-home .hm-pickbook > .hm-m-sh { margin-bottom: 8px; }
  .rt-home .hm-m-rank-head { margin-bottom: 10px; padding-bottom: 10px; border-bottom: 1px solid rgba(var(--hd-rgb), .35); }
  .rt-home .hm-m-more { color: rgb(var(--sc, var(--hd-rgb))); }
  .rt-home .hm-m-sh h2 { min-width: 0; }
}
@media (max-width: 767px) {   /* 헤더 아이콘 색 = PC 홈 같은 섹션 아이콘의 최종 computed color(다크 rgb · 라이트 color(srgb)). 전체보기 링크는 제목 포인트색(--hd) */
  .rt-home .hm-pickbook { --ic: 167, 139, 250; --icl: #6433f6; }
  .rt-home .hm-m-t5.is-profit { --ic: 229, 168, 75; --icl: color(srgb 0.504627 0.391529 0.243294); }
  .rt-home .hm-m-t5.is-h100 { --ic: 46, 230, 166; --icl: color(srgb 0.131451 0.517961 0.428863); }
  html:root:root .rt-home .hm-main > .hm-m .hm-m-sh .hm-m-sh-ico, html:root:root .rt-home .hm-main > .hm-pickbook > .hm-m-sh .hm-m-sh-ico { border-color: rgba(var(--ic, var(--hd-rgb)), .5); background: rgba(var(--ic, var(--hd-rgb)), .14); color: rgb(var(--ic, var(--hd-rgb))); }
  html:root:root[data-theme="light"] .rt-home .hm-main > .hm-m .hm-m-sh .hm-m-sh-ico, html:root:root[data-theme="light"] .rt-home .hm-main > .hm-pickbook > .hm-m-sh .hm-m-sh-ico { color: var(--icl, #444); }
  html:root:root .rt-home .hm-main > .hm-m .hm-m-sh .hm-m-more, html:root:root .rt-home .hm-main > .hm-pickbook > .hm-m-sh .hm-m-more { color: rgb(var(--hd-rgb)); }
}
@media (max-width: 767px) {   /* 라이트: 마감임박 경기·적중률 TOP3 픽의 헤더 아이콘·전체보기를 제목 강조색(라이트 계산색)과 일치 */
  html:root:root[data-theme="light"] .rt-home .hm-main > .hm-m-close { --hd: color(srgb 0.557647 0.330353 0.245333); }   /* PC 홈 타이머 아이콘의 라이트 계산색 */
  html:root:root[data-theme="light"] .rt-home .hm-main > .hm-m-close > .hm-m-sh :is(.hm-m-sh-ico, .hm-m-more) { color: color(srgb 0.557647 0.330353 0.245333); }
  html:root:root[data-theme="light"] .rt-home .hm-main > .hm-m-t5.is-rate > .hm-m-sh .hm-m-more { color: rgb(100, 47, 255); }   /* 아이콘은 제외 — PC 홈 실측색(--icl) 유지 */
}
@media (max-width: 767px) {   /* ── 팁스터 최신 픽: TOP3 B안 카드(순위 메달 없음, 컴팩트). 기존 PC 행은 모바일에서 숨긴다 ── */
  html:root:root .rt-home .hm-main > .hm-pickbook > a.hm-feed-row { display: none; }
  html:root:root .rt-home .hm-main > .hm-pickbook > .hm-pbempty { display: none; }
  html:root:root .rt-home .hm-main > .hm-pickbook > .hm-m-pbcards { display: flex; flex-direction: column; gap: 8px; padding-bottom: 6px; }
  .rt-home .hm-m-pbcards .hm-m-pc.is-compact { padding: 8px 10px 9px; }
  .rt-home .hm-m-pbcards .hm-m-pc.is-compact .hm-m-pc-match { margin-top: 6px; }
  .rt-home .hm-m-pbcards .hm-m-pc.is-compact .hm-m-pc-meta { margin-top: 3px; }
  .rt-home .hm-m-pbcards .hm-m-pc.is-compact .hm-m-pc-pick { margin-top: 6px; }
  .rt-home .hm-m-pbcards .hm-m-pc.is-compact .hm-m-pc-pick > i, .rt-home .hm-m-pbcards .hm-m-pc.is-compact .hm-m-pc-pick > b, .rt-home .hm-m-pbcards .hm-m-pc.is-compact .hm-m-pc-odds { min-height: 32px; }
  .rt-home .hm-m-pbcards .hm-m-pc.is-compact .hm-m-pc-odds { margin: 0; }
  .rt-home .hm-m-pbcards .hm-m-pc.is-compact .hm-m-pc-odds span { font-size: 14px; }
  .rt-home .hm-m-pbcards .hm-m-pc.is-compact .hm-m-pc-logo, .rt-home .hm-m-pbcards .hm-m-pc.is-compact .hm-m-pc-logo img { width: 24px; height: 24px; }
}
@media (max-width: 767px) {   /* ── 팁스터 최신 픽 고밀도 카드: 여백·간격 우선 축소(높이 고정 없음). 글꼴은 닉네임 13.5 · 팀명 12.5 · 일시/리그 10.5 ── */
  html:root:root .rt-home .hm-main > .hm-pickbook > .hm-m-pbcards { gap: 6px; }
  html:root:root .rt-home .hm-m-pbcards .hm-m-pc.is-compact { padding: 5px 9px 6px; border-radius: 12px; }
  html:root:root .rt-home .hm-m-pbcards .hm-m-pc.is-compact .hm-m-pc-top { gap: 6px; }
  html:root:root .rt-home .hm-m-pbcards .hm-m-pc.is-compact .hm-m-pc-nick { font-size: 13.5px; line-height: 1.25; }
  html:root:root .rt-home .hm-m-pbcards .hm-m-pc.is-compact .hm-m-pc-st { min-width: 44px; padding: 1px 9px; font-size: 11px; line-height: 1.35; }
  html:root:root .rt-home .hm-m-pbcards .hm-m-pc.is-compact .hm-m-pc-match { margin-top: 4px; column-gap: 6px; }
  html:root:root .rt-home .hm-m-pbcards .hm-m-pc.is-compact .hm-m-pc-team { gap: 4px; }
  html:root:root .rt-home .hm-m-pbcards .hm-m-pc.is-compact .hm-m-pc-team b { font-size: 12.5px; line-height: 1.2; }
  html:root:root .rt-home .hm-m-pbcards .hm-m-pc.is-compact .hm-m-pc-logo, html:root:root .rt-home .hm-m-pbcards .hm-m-pc.is-compact .hm-m-pc-logo img { width: 20px; height: 20px; }
  html:root:root .rt-home .hm-m-pbcards .hm-m-pc.is-compact .hm-m-pc-vs { font-size: 10.5px; }
  html:root:root .rt-home .hm-m-pbcards .hm-m-pc.is-compact .hm-m-pc-meta { margin-top: 1px; gap: 5px; font-size: 10.5px; line-height: 1.25; }
  html:root:root .rt-home .hm-m-pbcards .hm-m-pc.is-compact .hm-m-pc-pick { margin-top: 5px; gap: 5px; }
  html:root:root .rt-home .hm-m-pbcards .hm-m-pc.is-compact .hm-m-pc-pick > i, html:root:root .rt-home .hm-m-pbcards .hm-m-pc.is-compact .hm-m-pc-pick > b, html:root:root .rt-home .hm-m-pbcards .hm-m-pc.is-compact .hm-m-pc-odds { min-height: 28px; }
  html:root:root .rt-home .hm-m-pbcards .hm-m-pc.is-compact .hm-m-pc-pick > i { padding: 0 8px; font-size: 10.5px; }
  html:root:root .rt-home .hm-m-pbcards .hm-m-pc.is-compact .hm-m-pc-pick > b { padding: 2px 8px; font-size: 13.5px; line-height: 1.2; }
  html:root:root .rt-home .hm-m-pbcards .hm-m-pc.is-compact .hm-m-pc-odds { min-width: 58px; padding: 1px 8px; }
  html:root:root .rt-home .hm-m-pbcards .hm-m-pc.is-compact .hm-m-pc-odds small { font-size: 9.5px; line-height: 1.1; }
  html:root:root .rt-home .hm-m-pbcards .hm-m-pc.is-compact .hm-m-pc-odds span { font-size: 13.5px; line-height: 1.1; }
}
@media (max-width: 767px) {   /* 적중률 TOP3 픽 헤더 아이콘만 PC 홈 아이콘 실측색(다크 rgb(242,123,181) · 라이트 color(srgb 0.5311 0.2998 0.4595))으로. 제목·구분선·외곽은 퍼플 그대로 */
  .rt-home .hm-m-t5.is-rate { --ic: 242, 123, 181; --icl: color(srgb 0.531137 0.299765 0.459451); }
}

/* ── 모바일 홈 랭커픽 TOP3 4섹션 래퍼(.hm-m-hub): 모바일 /top3 마크업을 그대로 담는다. PC·태블릿에서는 그리지 않는다. 래퍼의 .pd-wrap 여백은 홈 폭에 맞게 0 ── */
.rt-home .hm-main > .hm-m-hub { display: none; }
@media (max-width: 767px) {
  html:root:root .rt-home .hm-main > .hm-m-hub { display: block; order: 2; margin: 0; padding: 0; max-width: none; width: auto; background: none; border: 0; line-height: normal; }
}
@media (min-width: 768px) {
  html:root:root .rt-home .hm-main > .hm-m-hub { display: none; }
}

@media (max-width: 767px) {   /* 홈 랭커픽 섹션 헤더 '전체보기 →' — 다른 홈 섹션(.hm-m-more)과 같은 글꼴·크기, 색은 섹션 포인트색(--hd, 라이트는 파생 라이트 값) */
  html:root:root:root:root .rt-home .hm-m-hub .pd-pick-hub .pd-hub-section-head a.pd-hub-more, html:root:root:root:root .rt-home .hm-m-hub.pd-pick-hub .pd-hub-section-head a.pd-hub-more { flex: none; color: var(--hd); font-size: 12.5px; font-weight: 650; line-height: 1.5; white-space: nowrap; text-decoration: none; }
}

@media (max-width: 767px) {   /* ── 팁스터 최신 픽 카드: 수익 TOP3 픽(랭커픽 카드)와 같은 카드 면·테두리와 연결형 PICK·배당 박스. 높이·안쪽 여백·글꼴은 그대로(border-box 로 높이 유지), 결과 상태 배경은 건드리지 않는다 ── */
 html:root:root .rt-home .hm-m-pbcards .hm-m-pc.is-compact:not(.pd-pick-win):not(.pd-pick-lose):not(.pd-pick-lost) { border-color: rgba(149, 107, 255, .16); background: linear-gradient(rgba(16, 22, 52, .98), rgba(10, 15, 38, .98)); }
 html:root:root .rt-home .hm-m-pbcards .hm-m-pc.is-compact .hm-m-pc-pick { gap: 0; }
 html:root:root .rt-home .hm-m-pbcards .hm-m-pc.is-compact .hm-m-pc-pick > i { box-sizing: border-box; border: 1px solid rgba(var(--sc), .55); border-right: 0; }
 html:root:root .rt-home .hm-m-pbcards .hm-m-pc.is-compact .hm-m-pc-pick > b { box-sizing: border-box; border: 1px solid rgba(var(--sc), .55); border-width: 1px 0; border-radius: 0; margin-left: 0; justify-content: flex-start; padding-left: 12px; text-align: left; }
 html:root:root .rt-home .hm-m-pbcards .hm-m-pc.is-compact .hm-m-pc-odds { box-sizing: border-box; border: 1px solid rgba(var(--sc), .55); border-left-color: rgba(148, 163, 200, .35); border-radius: 0 9px 9px 0; background: rgba(var(--sc), .1); }
}

@media (max-width: 767px) {   /* 팁스터 최신 픽: 닉네임·결과 배지 줄 아래 1px 구분선 — 수익 TOP3 카드(.pd-hub-row-event 의 1px rgba(148,163,200,.18), 카드 안쪽 여백 13px 안쪽)와 같은 선·위치. 선은 배경 그림으로 그려 카드 높이(104px)·내용 폭을 바꾸지 않는다 */
 html:root:root .rt-home .hm-m-pbcards .hm-m-pc.is-compact .hm-m-pc-match { margin-top: 2px; padding-top: 2px; background: linear-gradient(rgba(148, 163, 200, .18), rgba(148, 163, 200, .18)) 3px 0 / calc(100% - 6px) 1px no-repeat; }
}

@media (max-width: 767px) {   /* 팁스터 최신 픽: PICK·배당 박스를 카드 결과 상태색으로 — 적중=청록(46,230,166), 실패=코랄(255,120,140), 대기=섹션 블루 그대로. 박스가 쓰는 색 변수(--sc)만 카드 단위로 바꾼다(구조·높이 불변) */
 html:root:root .rt-home .hm-m-pbcards .hm-m-pc.is-compact.pd-pick-win { --sc: 46, 230, 166; }
 html:root:root .rt-home .hm-m-pbcards .hm-m-pc.is-compact:is(.pd-pick-lose, .pd-pick-lost) { --sc: 255, 120, 140; }
}
@media (max-width: 767px) {   /* 실패 카드: 선택 영역·배당 영역 바탕은 플럼 톤(테두리·PICK 라벨은 코랄) */
 html:root:root .rt-home .hm-m-pbcards .hm-m-pc.is-compact:is(.pd-pick-lose, .pd-pick-lost) .hm-m-pc-pick > b, html:root:root .rt-home .hm-m-pbcards .hm-m-pc.is-compact:is(.pd-pick-lose, .pd-pick-lost) .hm-m-pc-odds { background: rgba(176, 82, 140, .16); }
}

@media (max-width: 767px) {   /* 팁스터 최신 픽 세로 여백 소폭 확대(104px → 약 114px): 카드 위·아래 안쪽 여백, 닉네임↔구분선, 구분선↔경기명, 경기명↔일시·리그, 일시·리그↔PICK 간격만. 글꼴·로고·박스 높이·카드 사이 간격은 그대로, 높이는 고정하지 않는다 */
 html:root:root .rt-home .hm-m-pbcards .hm-m-pc.is-compact { padding-top: 6px; padding-bottom: 7px; }
 html:root:root .rt-home .hm-m-pbcards .hm-m-pc.is-compact .hm-m-pc-match { margin-top: 4px; padding-top: 4px; }
 html:root:root .rt-home .hm-m-pbcards .hm-m-pc.is-compact .hm-m-pc-meta { margin-top: 3px; }
 html:root:root .rt-home .hm-m-pbcards .hm-m-pc.is-compact .hm-m-pc-pick { margin-top: 7px; }
}

@media (max-width: 767px) {   /* 팁스터 최신 픽: 경기명(홈팀 로고·팀명 · VS · 원정팀 로고·팀명)과 일시·리그를 같은 좌측 기준선의 한 줄로(VS 중앙 고정 해제). 높이·박스·상태색은 그대로 */
 html:root:root:root .rt-home .hm-m-pbcards .hm-m-pc.is-compact .hm-m-pc-match { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-start; gap: 2px 8px; text-align: left; }
 html:root:root:root .rt-home .hm-m-pbcards .hm-m-pc.is-compact .hm-m-pc-team, html:root:root:root .rt-home .hm-m-pbcards .hm-m-pc.is-compact .hm-m-pc-team:last-child { flex: 0 1 auto; flex-direction: row; justify-content: flex-start; min-width: 0; text-align: left; }
 html:root:root:root .rt-home .hm-m-pbcards .hm-m-pc.is-compact .hm-m-pc-meta { justify-content: flex-start; }
}

@media (max-width: 767px) {   /* 모바일 홈 적중률 TOP3(10~20픽) 섹션 포인트색을 블루 #59B6F9 로(홈에서만 — 랭커픽 /top3 은 공유 CSS 의 핑크 그대로). 결과 상태 색은 카드 단위 규칙이 따로 쓰므로 덮이지 않는다 */
 html:root:root:root:root .rt-home .hm-m-hub.pd-pick-hub.pd-hub-v2 .pd-hub-section[data-hub-sort="percentage_pick_10_to_20"] { --sc: 89, 182, 249; --hd: #59B6F9; --hd-rgb: 89, 182, 249; --ic: 89, 182, 249; }
 html:root:root:root:root .rt-home .hm-m-hub.pd-pick-hub.pd-hub-v2 .pd-hub-section[data-hub-sort="percentage_pick_10_to_20"] .pd-hub-section-icon { color: rgb(89, 182, 249); }
 html:root:root:root:root[data-theme="light"] .rt-home .hm-m-hub.pd-pick-hub.pd-hub-v2 .pd-hub-section[data-hub-sort="percentage_pick_10_to_20"] .pd-hub-section-icon { color: #0662a4; }
}

@media (max-width: 767px) {   /* 라이트: 팁스터 최신 픽 헤더 포인트(--hd)를 라벤더의 라이트 계산색으로(생성 규칙이 블루로 남아 있어 홈 전용으로 덮는다) */
  html:root:root[data-theme="light"] .rt-home .hm-pickbook { --hd: #6433f6; }
  html:root:root[data-theme="light"] .rt-home .hm-main > .hm-pickbook > .hm-m-sh-pb .hm-m-more { color: #6433f6; }
}

@media (max-width: 767px) {   /* 오늘의 랭킹 100% 적중 카드: 제목('100% 적중')도 민트(#50C8B0) — 라이트는 화살표와 같은 어두운 혼합색 */
  .rt-home .hm-m-card.is-h100 .hm-m-card-head b { color: rgb(var(--k)); }
  html:root:root[data-theme="light"] .rt-home .hm-m-card.is-h100 .hm-m-card-head b { color: color-mix(in srgb, rgb(var(--k)) 52%, #141a30); }
}


/* 모바일(≤767px) 홈 '오늘의 랭킹' 순위 아이콘 — 랭킹·랭커픽·피드와 같은 TOP10 배지(1~3위 금·은·동 월계관 메달, 1위 왕관 · 4~5위 퍼플 · 6~7위 블루 · 8~10위 시안블루 육각형).
   색은 prediction.css 의 --rt-hex-* 와 TOP3 메달 값 그대로. 배지 칸(15~17px)·카드 높이·간격은 그대로이고 월계관·왕관은 배지 크기에 비례(%)해 절대 위치로 얹는다.
   (홈 TOP3픽 카드의 번호 메달은 랭커픽과 같은 CSS 를 ranking_hub_v2.css 에서 쓴다.) PC·태블릿(≥768)은 이 블록 밖. */
.hm-m-laurel, .hm-m-crown { display: none; }
@media (max-width: 767px) {
 html:root .rt-home .hm-m-medal, html:root .rt-home .hm-m-no:is(.is-r2, .is-r3) { position: relative; isolation: isolate; overflow: visible; border-radius: 50%; color: #2a1d05; font-weight: 900; text-shadow: 0 1px 0 rgba(255,255,255,.35); box-shadow: inset 0 0 0 1.5px rgba(255,255,255,.45), 0 1px 5px rgba(0,0,0,.4); }
 html:root .rt-home .hm-m-medal { background: radial-gradient(circle at 32% 24%, rgba(255,255,255,.55), transparent 55%), linear-gradient(160deg, #ffe38a, #d9a21f); }
 html:root .rt-home .hm-m-no.is-r2 { background: radial-gradient(circle at 32% 24%, rgba(255,255,255,.6), transparent 55%), linear-gradient(160deg, #e8edf8, #9aa6bf); }
 html:root .rt-home .hm-m-no.is-r3 { background: radial-gradient(circle at 32% 24%, rgba(255,255,255,.5), transparent 55%), linear-gradient(160deg, #f0b184, #a8653a); }
 html:root .rt-home :is(.hm-m-medal, .hm-m-no) .hm-m-laurel { position: absolute; z-index: -1; left: 50%; top: 50%; display: block; width: 150%; height: 146%; transform: translate(-50%, -50%); opacity: .95; pointer-events: none; }
 html:root .rt-home :is(.hm-m-medal, .hm-m-no) .hm-m-laurel use { fill: inherit; }
 html:root .rt-home .hm-m-medal .hm-m-laurel { fill: #d9a21f; filter: drop-shadow(0 0 3px rgba(240,190,60,.45)); }
 html:root .rt-home .hm-m-no.is-r2 .hm-m-laurel { fill: #9aa6bf; filter: drop-shadow(0 0 3px rgba(160,176,226,.4)); }
 html:root .rt-home .hm-m-no.is-r3 .hm-m-laurel { fill: #a8653a; filter: drop-shadow(0 0 3px rgba(226,140,88,.4)); }
 html:root .rt-home .hm-m-medal .hm-m-crown { position: absolute; z-index: 1; left: 50%; top: -50%; display: block; width: 62%; height: 46%; transform: translateX(-50%); fill: #ffe38a; filter: drop-shadow(0 1px 2px rgba(240,190,60,.6)); pointer-events: none; }
 html:root .rt-home .hm-m-no:is(.is-r4, .is-r5, .is-r6, .is-r7, .is-r8, .is-r9, .is-r10) { border-radius: 0; background-color: transparent; background-repeat: no-repeat; background-position: center; background-size: 100% 100%; color: #fff; font-weight: 800; text-shadow: 0 1px 1px rgba(0,0,0,.35); }
 html:root .rt-home .hm-m-no.is-r4 { background-image: var(--rt-hex-r4); filter: var(--rt-hex-r4-glow); }
 html:root .rt-home .hm-m-no.is-r5 { background-image: var(--rt-hex-r5); filter: var(--rt-hex-r5-glow); }
 html:root .rt-home .hm-m-no:is(.is-r6, .is-r7) { background-image: var(--rt-hex-blue); filter: var(--rt-hex-blue-glow); }
 html:root .rt-home .hm-m-no.is-r8 { background-image: var(--rt-hex-r8); filter: var(--rt-hex-r8-glow); }
 html:root .rt-home .hm-m-no.is-r9 { background-image: var(--rt-hex-r9); filter: var(--rt-hex-r9-glow); }
 html:root .rt-home .hm-m-no.is-r10 { background-image: var(--rt-hex-r10); filter: var(--rt-hex-r10-glow); }
}

/* 모바일(≤767px) 홈 '팁스터 최신 픽'(수익순 4~13위) 카드 — 닉네임 앞에 순위 배지. 4~5위 퍼플 · 6~7위 블루 · 8~10위 시안블루 육각형(랭킹·랭커픽·피드와 같은 값, 색은 prediction.css 의 --rt-hex-*), 11~13위는 원형 숫자 배지.
   배지(20px)는 카드 윗줄의 상태 배지 높이 안에 들어가 카드 높이를 키우지 않는다. 순위 번호는 기존 공식 순위 값 그대로. PC·태블릿은 이 카드가 숨겨져 있다. */
.hm-m-pc-no { display: none; }
@media (max-width: 767px) {
 html:root .rt-home .hm-m-pbcards .hm-m-pc.is-compact .hm-m-pc-no { display: inline-flex; flex: none; align-items: center; justify-content: center; box-sizing: border-box; width: 20px; height: 20px; margin: -1px 0; border: 1px solid rgba(149, 107, 255, .45); border-radius: 50%; background: rgba(149, 107, 255, .12); color: #e6ebf7; font-size: 11px; font-weight: 800; line-height: 1; }
 html:root .rt-home .hm-m-pbcards .hm-m-pc.is-compact .hm-m-pc-no:is(.is-r4, .is-r5, .is-r6, .is-r7, .is-r8, .is-r9, .is-r10) { border: 0; border-radius: 0; background-color: transparent; background-repeat: no-repeat; background-position: center; background-size: 100% 100%; color: #fff; text-shadow: 0 1px 1px rgba(0,0,0,.35); }
 html:root .rt-home .hm-m-pbcards .hm-m-pc.is-compact .hm-m-pc-no.is-r4 { background-image: var(--rt-hex-r4); filter: var(--rt-hex-r4-glow); }
 html:root .rt-home .hm-m-pbcards .hm-m-pc.is-compact .hm-m-pc-no.is-r5 { background-image: var(--rt-hex-r5); filter: var(--rt-hex-r5-glow); }
 html:root .rt-home .hm-m-pbcards .hm-m-pc.is-compact .hm-m-pc-no:is(.is-r6, .is-r7) { background-image: var(--rt-hex-blue); filter: var(--rt-hex-blue-glow); }
 html:root .rt-home .hm-m-pbcards .hm-m-pc.is-compact .hm-m-pc-no.is-r8 { background-image: var(--rt-hex-r8); filter: var(--rt-hex-r8-glow); }
 html:root .rt-home .hm-m-pbcards .hm-m-pc.is-compact .hm-m-pc-no.is-r9 { background-image: var(--rt-hex-r9); filter: var(--rt-hex-r9-glow); }
 html:root .rt-home .hm-m-pbcards .hm-m-pc.is-compact .hm-m-pc-no.is-r10 { background-image: var(--rt-hex-r10); filter: var(--rt-hex-r10-glow); }
}

/* 모바일(≤767px) 홈 TOP3픽 섹션(수익 · 적중률 10~20픽 · 21픽 이상 · 100%) — 제목 줄과 그 아래 실선 사이가 2px 로 붙어 있어, '팁스터 최신 픽'(8px)과 같게 벌린다.
   홈 전용(.hm-m-hub)이라 랭커픽 페이지의 모바일 모양은 그대로다. */
@media (max-width: 767px) {
 html:root:root:root:root:root .rt-home .hm-m-hub .pd-hub-section .pd-hub-section-head { padding-bottom: 8px; }
}
