/* 포디움 (상위 3명) */
.podium{
display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;
margin:24px 0 28px;align-items:end;
}
.podium-card{
background:var(--surface);border:1px solid var(--border);border-radius:2px;
padding:20px 12px;text-align:center;
}
.podium-first{
border-color:var(--marathon);padding-top:28px;
box-shadow:0 0 0 1px var(--marathon);
}
.podium-rank{font-size:13.5px;font-weight:900;color:var(--ink-faint);margin:0 0 8px;letter-spacing:0.5px;}
.podium-first .podium-rank{color:var(--marathon);}
.podium-name{font-size:16px;font-weight:900;color:var(--ink);margin:0 0 6px;}
.podium-time{font-size:22px;font-weight:900;color:var(--ink);margin:0 0 8px;}
.podium-race{font-size:13.5px;color:var(--ink-faint);margin:0;line-height:1.4;}

.rank-list{display:flex;flex-direction:column;gap:1px;background:var(--line);margin-bottom:16px;}
.rank-row{background:var(--bg);padding:14px 16px;display:flex;align-items:center;gap:16px;}
.rank-row-me{background:rgba(255,61,26,.08);}
.rank-num{font-size:14.5px;font-weight:900;color:var(--ink-faint);width:32px;flex-shrink:0;text-align:center;}
.rank-row-me .rank-num{color:var(--marathon);}
.rank-body{flex:1;min-width:0;}
.rank-name{font-size:15px;font-weight:700;color:var(--ink);margin:0 0 3px;}
.rank-race{font-size:13.5px;color:var(--ink-faint);margin:0;}
.rank-time{font-size:15px;font-weight:900;color:var(--ink);flex-shrink:0;}

.myrank-context-card{
background:var(--surface);border:1px solid var(--border);border-radius:2px;
padding:20px;margin:8px 0 24px;
}
.myrank-context-title{font-size:14.5px;font-weight:900;color:var(--ink);margin:0 0 14px;}
.myrank-login-hint{text-align:center;padding:28px 20px;}
.myrank-login-hint p{font-size:14.5px;color:var(--ink-faint);margin:0 0 14px;}
.myrank-login-link{
display:inline-block;width:auto;padding:10px 22px;text-decoration:none;
font-size:14.5px;
}

/* 공식기록 배지 */
.official-badge{
display:inline-block;font-size:13.5px;font-weight:900;color:var(--accent-ink);
border:1px solid var(--accent);border-radius:2px;padding:1px 6px;
margin-left:4px;vertical-align:middle;letter-spacing:0.3px;
}
.official-source-link{color:var(--ink-faint);text-decoration:underline;}
.official-source-link:hover{color:var(--ink-soft);}

.official-legend{
font-size:13.5px;color:var(--ink-faint);margin:0 0 16px;line-height:1.6;
}

@media (max-width:600px){
.podium{grid-template-columns:1fr;}
.podium-first{padding-top:20px;order:-1;}
}

/* ===== 대회랭킹 고도화: 등록 유도 CTA + 챔피언 하이라이트 ===== */
.submit-record-cta{display:inline-flex;align-items:center;gap:8px;margin-top:16px;padding:12px 22px;background:var(--accent-fill);color:var(--on-accent);font-weight:700;font-size:15px;border-radius:8px;text-decoration:none;}
.submit-record-cta:hover{filter:brightness(1.08);}

.champion-section{margin:28px 0;}
.champion-title{font-size:15px;font-weight:700;margin-bottom:12px;color:var(--ink);}
.champion-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(160px, 1fr));gap:10px;}
.champion-card{display:block;padding:14px;border-radius:10px;background:var(--surface);border:1px solid var(--line);text-decoration:none;transition:border-color 0.15s ease, transform 0.15s ease;}
.champion-card:hover{border-color:var(--accent);transform:translateY(-2px);}
.champion-sport{font-size:13.5px;color:var(--ink-faint);margin-bottom:6px;}
.champion-name{font-size:15px;color:var(--ink);font-weight:700;margin-bottom:4px;}
.champion-time{font-family:var(--font-display);font-size:18px;color:var(--accent-ink);}
.champion-empty{color:var(--ink-faint);font-size:14.5px;padding:12px 0;grid-column:1/-1;}
