/* ==========================================================
   components/rank-row.css — 순위 목록 한 줄 (4위부터의 밀도 높은 리스트)
   .rcard > .rlist > li > a.rrow
     .rrow-rank  순위 / 메달
     .rrow-main  학교명 · 메타 · (선택) 부가 줄 .rrow-extra
     .rrow-bar   데스크톱에서만 보이는 점수 막대
     .rrow-side  점수 + 변동
   상태: .is-mine(내 학교) · .is-found(찾기로 이동한 줄)
   기획서 6-B:  37  OO고등학교         91.4점
                    서울 · 학생 1,248명  지난달 ▲18
   ========================================================== */

.rcard { padding: 6px; }
.rlist > li + li { border-top: 1px solid var(--line-2); }

.rrow {
  display: grid; grid-template-columns: 36px minmax(0, 1fr) auto; align-items: center; gap: 12px;
  min-height: 68px; padding: 12px 12px 12px 8px; border-radius: 14px; transition: background .12s;
}
.rrow:hover { background: var(--surface-2); }

.rrow-rank { display: grid; place-items: center; }
.rrow-rank .medal { width: 32px; height: 32px; font-size: 14px; }

.rrow-main { min-width: 0; }
.rrow-name { display: flex; align-items: center; gap: 6px; min-width: 0; font-size: 15.5px; font-weight: 800; letter-spacing: -.03em; color: var(--ink); }
.rrow-name > span:first-child { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rrow-name .tag { flex: none; height: 21px; padding: 0 7px; font-size: 11px; }
.rrow-main .meta-dot { margin-top: 2px; font-size: 12.5px; }
.rrow-extra { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 6px; margin-top: 6px; font-size: 13px; font-weight: 600; color: var(--ink-2); }
.rrow-extra .ico { width: 15px; height: 15px; color: var(--ink-4); }

.rrow-bar { display: none; }

.rrow-side { display: grid; justify-items: end; gap: 5px; text-align: right; }
.rrow-side .pts { font-size: 18px; }
.rrow-side .sub { font-size: 11.5px; font-weight: 700; color: var(--ink-4); white-space: nowrap; }
.rrow-side .sub .delta { margin-left: 3px; }

/* 내 학교 · 찾은 학교 */
.rrow.is-mine { background: var(--brand-soft); box-shadow: inset 0 0 0 1.5px var(--brand-line); }
.rrow.is-found, .pod.is-found { animation: found 2.4s ease; }

/* 순위 제외 학교 */
.rrow.is-excluded .rrow-rank { font-size: 12px; font-weight: 800; color: var(--ink-4); }

/* 스켈레톤 */
.rrow.is-sk { pointer-events: none; }

@media (min-width: 768px) {
  .rcard { padding: 8px; }
  .rrow { grid-template-columns: 48px minmax(0, 1fr) 180px 104px; gap: 18px; padding: 12px 16px 12px 10px; }
  .rrow-name { font-size: 16px; }
  .rrow-bar { display: block; }
  .rrow-side .pts { font-size: 19px; }
}
