/* 러너 등급(티어) 페이지 — 자체 완결 스코프(.rt-*), 다크/라이트 대응 */
.rt-wrap{
  --rt-text:#1a2230; --rt-sub:#5b6675; --rt-card:#ffffff; --rt-line:rgba(20,30,50,.09);
  --rt-shadow:0 18px 44px -22px rgba(20,30,60,.32);
  max-width:760px;margin:0 auto;padding:28px 18px 72px;
  color:var(--rt-text);
}
@media (prefers-color-scheme:dark){
  .rt-wrap{--rt-text:#eef2f8;--rt-sub:#9aa6b6;--rt-card:#161c26;--rt-line:rgba(255,255,255,.08);--rt-shadow:0 20px 48px -22px rgba(0,0,0,.6);}
}
:root[data-theme="dark"] .rt-wrap{--rt-text:#eef2f8;--rt-sub:#9aa6b6;--rt-card:#161c26;--rt-line:rgba(255,255,255,.08);--rt-shadow:0 20px 48px -22px rgba(0,0,0,.6);}
:root[data-theme="light"] .rt-wrap{--rt-text:#1a2230;--rt-sub:#5b6675;--rt-card:#ffffff;--rt-line:rgba(20,30,50,.09);--rt-shadow:0 18px 44px -22px rgba(20,30,60,.32);}

/* ── 메달리온 (공통) ── */
.rt-medallion{
  flex:0 0 auto;display:grid;place-items:center;
  width:54px;height:54px;border-radius:50%;
  font-weight:900;font-size:22px;letter-spacing:.5px;color:#fff;
  background:radial-gradient(circle at 32% 28%, var(--c1), var(--c2) 78%);
  box-shadow:inset 0 2px 6px rgba(255,255,255,.55), inset 0 -6px 12px rgba(0,0,0,.22), 0 6px 16px -6px var(--glow);
  text-shadow:0 1px 2px rgba(0,0,0,.3);
}
.rt-medallion--lg{width:66px;height:66px;font-size:28px;position:absolute;inset:0;margin:auto;}

/* ── 히어로 ── */
.rt-hero{position:relative;text-align:center;padding:30px 22px;border-radius:22px;
  background:var(--rt-card);border:1px solid var(--rt-line);box-shadow:var(--rt-shadow);overflow:hidden;}
.rt-hero--me::before{content:"";position:absolute;inset:-40% 20% auto;height:220px;
  background:radial-gradient(closest-side, var(--glow), transparent 70%);opacity:.6;pointer-events:none;}
.rt-hero__ring{position:relative;width:132px;height:132px;margin:0 auto 8px;}
.rt-hero__ring svg{width:132px;height:132px;transform:rotate(-90deg);}
.rt-ring-bg{fill:none;stroke:var(--rt-line);stroke-width:9;}
.rt-ring-fg{fill:none;stroke:var(--c1);stroke-width:9;stroke-linecap:round;
  transition:stroke-dasharray 1.1s cubic-bezier(.2,.8,.2,1);filter:drop-shadow(0 0 5px var(--glow));}
.rt-eyebrow{margin:0 0 2px;font-size:12px;font-weight:800;letter-spacing:.14em;color:var(--rt-sub);text-transform:uppercase;}
.rt-hero__name{margin:2px 0 4px;font-size:29px;font-weight:900;letter-spacing:-.02em;}
.rt-hero__tag{margin:0 0 12px;color:var(--rt-sub);font-size:15px;}
.rt-hero__km{margin:0 0 6px;font-size:15px;color:var(--rt-sub);}
.rt-hero__km strong{font-size:30px;font-weight:900;color:var(--rt-text);margin-right:4px;}
.rt-hero__next{margin:8px 0 0;font-size:15px;color:var(--rt-sub);}
.rt-hero__next strong{color:var(--rt-text);}
.rt-hero__next--max{color:var(--c2);font-weight:800;}
.rt-pct{display:inline-block;margin-left:8px;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:800;
  color:#fff;background:linear-gradient(135deg,var(--c1),var(--c2));}
.rt-hero__sub{margin:6px auto 0;max-width:44ch;color:var(--rt-sub);font-size:15.5px;line-height:1.6;}
.rt-hero__cta{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:18px;}
.rt-btn{display:inline-block;padding:11px 20px;border-radius:12px;font-weight:800;font-size:14.5px;
  text-decoration:none;transition:transform .12s ease, box-shadow .2s ease;}
.rt-btn:active{transform:translateY(1px);}
.rt-btn--solid{color:#fff;background:linear-gradient(135deg,#3d7bff,#5b46ff);box-shadow:0 10px 22px -10px rgba(70,90,255,.7);}
.rt-btn--ghost{color:var(--rt-text);background:transparent;border:1px solid var(--rt-line);}

/* ── 사다리 ── */
.rt-ladder{list-style:none;margin:26px 0 0;padding:0;display:flex;flex-direction:column;gap:12px;}
.rt-tier{display:flex;align-items:center;gap:15px;padding:15px 16px;border-radius:16px;
  background:var(--rt-card);border:1px solid var(--rt-line);box-shadow:0 8px 22px -18px rgba(20,30,60,.5);
  position:relative;opacity:0;transform:translateY(10px);animation:rtIn .5s forwards;}
.rt-tier:nth-child(1){animation-delay:.04s}.rt-tier:nth-child(2){animation-delay:.10s}
.rt-tier:nth-child(3){animation-delay:.16s}.rt-tier:nth-child(4){animation-delay:.22s}
.rt-tier:nth-child(5){animation-delay:.28s}
@keyframes rtIn{to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.rt-tier{opacity:1;transform:none;animation:none}.rt-ring-fg{transition:none}}
.rt-tier.is-mine{border-color:transparent;box-shadow:0 0 0 2px var(--c1), 0 14px 30px -16px var(--glow);}
.rt-tier.is-mine::after{content:"";position:absolute;inset:0;border-radius:16px;pointer-events:none;
  background:linear-gradient(120deg, transparent, var(--glow), transparent);opacity:.14;}
.rt-tier__body{min-width:0;flex:1;}
.rt-tier__head{display:flex;align-items:center;gap:9px;flex-wrap:wrap;}
.rt-tier__name{font-weight:900;font-size:17px;letter-spacing:-.01em;}
.rt-tier__range{font-size:12.5px;font-weight:800;color:var(--rt-sub);
  padding:2px 9px;border-radius:999px;border:1px solid var(--rt-line);white-space:nowrap;}
.rt-badge-now{font-size:11px;font-weight:900;color:#fff;padding:2px 9px;border-radius:999px;
  background:linear-gradient(135deg,var(--c1),var(--c2));letter-spacing:.02em;}
.rt-tier__tag{margin:4px 0 0;color:var(--rt-sub);font-size:13.5px;line-height:1.5;}
.rt-foot{margin:24px 4px 0;text-align:center;color:var(--rt-sub);font-size:13px;line-height:1.6;}
.rt-foot strong{color:var(--rt-text);}

@media (max-width:480px){
  .rt-hero__name{font-size:25px;}
  .rt-medallion{width:48px;height:48px;font-size:20px;}
}
