/**
 * 주간 MVP CSS
 * AI Link Platform — 커뮤니티 페이지 통일 디자인
 */
@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/pretendard.css');

:root {
  --primary:#6C5CE7;--primary-dark:#5A4BD1;--primary-light:#A29BFE;--primary-bg:#F0EEFF;
  --success:#00B894;--success-bg:#E8FBF5;--warning:#FDCB6E;--warning-dark:#E67E22;
  --gray-50:#F4F5FA;--gray-100:#ECEDF4;--gray-200:#E0E2ED;--gray-300:#CDD0DE;
  --gray-400:#9CA0B3;--gray-500:#6B7085;--gray-600:#4E5268;--gray-700:#363A4F;--gray-800:#1A1D2E;
  --radius:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:20px;
  --shadow-xs:0 1px 2px rgba(26,29,46,0.04);--shadow-sm:0 2px 8px rgba(26,29,46,0.06);
  --shadow:0 4px 16px rgba(26,29,46,0.08);--shadow-lg:0 8px 32px rgba(26,29,46,0.10);
  --transition:0.25s cubic-bezier(0.4,0,0.2,1);
  --gold:#FFD700;--silver:#C0C0C0;--bronze:#CD7F32;
}
*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:'Pretendard',-apple-system,BlinkMacSystemFont,'Noto Sans KR',sans-serif;background:var(--gray-50);color:var(--gray-800);line-height:1.6;-webkit-font-smoothing:antialiased;}

.mvp-container{max-width:1200px;margin:0 auto;padding:24px 24px 60px;padding-top:90px;}

/* ═══════ Hero (통일 패턴) ═══════ */
.mvp-hero{
  background:linear-gradient(135deg,#FFD700 0%,#FFA502 50%,#E67E22 100%);
  border-radius:var(--radius-2xl);padding:40px 44px;
  display:flex;justify-content:space-between;align-items:center;
  margin-bottom:28px;position:relative;overflow:hidden;
}
.mvp-hero::before{content:'';position:absolute;top:-50%;right:-15%;width:460px;height:460px;background:rgba(255,255,255,0.07);border-radius:50%;pointer-events:none;}
.mvp-hero-content{position:relative;z-index:1;flex:1;}
.mvp-hero-title{font-size:1.6rem;font-weight:800;color:white;margin:0 0 8px;}
.mvp-hero-desc{font-size:0.9rem;color:rgba(255,255,255,0.8);margin:0;}

.mvp-hero-stats{display:flex;gap:36px;position:relative;z-index:1;}
.mvp-hero-stat{text-align:center;position:relative;}
.mvp-hero-stat:not(:last-child)::after{content:'';position:absolute;right:-18px;top:15%;height:70%;width:1px;background:rgba(255,255,255,0.25);}
.mvp-stat-num{display:block;font-size:1.5rem;font-weight:800;color:white;line-height:1.2;}
.mvp-stat-label{font-size:0.78rem;color:rgba(255,255,255,0.7);margin-top:4px;display:block;font-weight:500;}

/* ═══════ Section (통일 패턴) ═══════ */
.mvp-section{margin-bottom:28px;}
.mvp-section-title{font-size:1.1rem;font-weight:700;color:var(--gray-800);margin:0;}
.mvp-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;}
.mvp-section-title:not(.mvp-section-header .mvp-section-title){margin-bottom:16px;}

.mvp-empty-msg{text-align:center;padding:40px 20px;color:var(--gray-400);font-size:0.88rem;background:white;border:1px solid var(--gray-200);border-radius:var(--radius-xl);}

/* ═══════ TOP 3 ═══════ */
.mvp-top3{display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:16px;align-items:end;}

.mvp-top3-card{
  background:white;border-radius:var(--radius-xl);padding:28px 20px;
  text-align:center;position:relative;
  box-shadow:var(--shadow-sm);border:2px solid var(--gray-200);
  transition:var(--transition);
}
.mvp-top3-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);}

.mvp-top3-card.rank-1{border-color:var(--gold);order:2;background:linear-gradient(180deg,#FFFDE7,white);padding:36px 20px;}
.mvp-top3-card.rank-2{order:1;border-color:var(--silver);}
.mvp-top3-card.rank-3{order:3;border-color:var(--bronze);}

.mvp-top3-medal{font-size:2.2rem;margin-bottom:8px;}
.mvp-top3-avatar{
  width:60px;height:60px;border-radius:50%;
  background:var(--primary-bg);display:flex;align-items:center;justify-content:center;
  margin:0 auto 10px;font-size:1.4rem;font-weight:700;color:var(--primary);
  border:3px solid var(--gray-200);
}
.rank-1 .mvp-top3-avatar{border-color:var(--gold);width:68px;height:68px;font-size:1.6rem;}
.rank-2 .mvp-top3-avatar{border-color:var(--silver);}
.rank-3 .mvp-top3-avatar{border-color:var(--bronze);}

.mvp-top3-name{font-size:0.95rem;font-weight:700;color:var(--gray-800);margin:0 0 2px;}
.mvp-top3-company{font-size:0.75rem;color:var(--gray-400);margin:0 0 12px;}
.mvp-top3-score{font-size:1.5rem;font-weight:800;color:var(--primary);}
.mvp-top3-score span{font-size:0.72rem;font-weight:500;color:var(--gray-400);}

.mvp-top3-breakdown{
  display:flex;justify-content:center;gap:14px;margin-top:10px;
  font-size:0.72rem;color:var(--gray-400);
}
.mvp-top3-breakdown span{display:flex;align-items:center;gap:3px;}

/* ═══════ Period Tabs ═══════ */
.mvp-period-tabs{display:flex;gap:6px;}
.mvp-period-tab{
  padding:7px 16px;border:1px solid var(--gray-200);border-radius:100px;
  background:white;font-size:0.82rem;font-weight:600;color:var(--gray-500);
  cursor:pointer;transition:var(--transition);font-family:inherit;
}
.mvp-period-tab:hover{border-color:var(--primary-light);color:var(--primary);background:var(--primary-bg);}
.mvp-period-tab.active{background:var(--primary);border-color:var(--primary);color:white;}

/* ═══════ Table ═══════ */
.mvp-table-wrap{background:white;border-radius:var(--radius-xl);box-shadow:var(--shadow-xs);border:1px solid var(--gray-200);overflow:hidden;}
.mvp-table{width:100%;border-collapse:collapse;}
.mvp-table thead{background:var(--gray-50);}
.mvp-table th{padding:12px 16px;font-size:0.78rem;font-weight:700;color:var(--gray-500);text-align:center;border-bottom:1px solid var(--gray-200);}
.mvp-table th:nth-child(2){text-align:left;}
.mvp-table td{padding:14px 16px;font-size:0.85rem;color:var(--gray-600);text-align:center;border-bottom:1px solid var(--gray-100);}
.mvp-table td:nth-child(2){text-align:left;}
.mvp-table tr:last-child td{border-bottom:none;}
.mvp-table tr:hover{background:var(--gray-50);}
.mvp-table-empty{text-align:center;color:var(--gray-400);font-size:0.85rem;padding:30px;}

.mvp-rank-badge{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;font-size:0.75rem;font-weight:800;}
.mvp-rank-badge.r1{background:#FFF8E1;color:#F57F17;}
.mvp-rank-badge.r2{background:#F5F5F5;color:#757575;}
.mvp-rank-badge.r3{background:#FBE9E7;color:#BF360C;}
.mvp-rank-badge.rn{background:var(--gray-100);color:var(--gray-500);}

.mvp-user-cell{display:flex;align-items:center;gap:10px;}
.mvp-user-avatar{width:32px;height:32px;border-radius:50%;background:var(--primary-bg);display:flex;align-items:center;justify-content:center;font-size:0.75rem;font-weight:700;color:var(--primary);flex-shrink:0;}
.mvp-user-name{font-weight:700;color:var(--gray-800);font-size:0.85rem;}
.mvp-user-company{font-size:0.72rem;color:var(--gray-400);}
.mvp-score-highlight{font-weight:800;color:var(--primary);font-size:0.9rem;}

/* ═══════ Rewards (4열 그리드 — 뉴스레터 혜택과 동일 패턴) ═══════ */
.mvp-reward-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px;}
.mvp-reward-card{
  background:white;border:1px solid var(--gray-200);
  border-radius:var(--radius-xl);padding:24px 16px;text-align:center;
  transition:var(--transition);
}
.mvp-reward-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm);}
.mvp-reward-card.gold{border-color:var(--gold);background:linear-gradient(180deg,#FFFDE7,white);}
.mvp-reward-card.silver{border-color:var(--silver);background:linear-gradient(180deg,#FAFAFA,white);}
.mvp-reward-card.bronze{border-color:var(--bronze);background:linear-gradient(180deg,#FFF3E0,white);}
.mvp-reward-card.special{border-color:var(--primary-light);background:linear-gradient(180deg,var(--primary-bg),white);}

.mvp-reward-medal{font-size:2rem;margin-bottom:6px;}
.mvp-reward-card h3{font-size:0.92rem;font-weight:700;color:var(--gray-700);margin:0 0 8px;}
.mvp-reward-prize{font-size:0.82rem;color:var(--gray-600);margin:0 0 10px;}
.mvp-reward-badge{
  display:inline-block;font-size:0.68rem;font-weight:700;
  padding:4px 12px;border-radius:100px;
}
.mvp-reward-badge.gold-bg{background:#FFF8E1;color:#F57F17;}
.mvp-reward-badge.silver-bg{background:#F5F5F5;color:#757575;}
.mvp-reward-badge.bronze-bg{background:#FBE9E7;color:#BF360C;}
.mvp-reward-badge.special-bg{background:var(--primary-bg);color:var(--primary);}

.mvp-scoring-note{
  background:white;border:1px solid var(--gray-200);
  border-radius:var(--radius-lg);padding:16px 20px;
}
.mvp-scoring-note p{font-size:0.78rem;color:var(--gray-500);line-height:1.7;}
.mvp-scoring-note strong{color:var(--primary);font-weight:700;}

/* ═══════ History ═══════ */
.mvp-history-list{display:flex;flex-direction:column;gap:10px;}
.mvp-history-item{
  background:white;border:1px solid var(--gray-200);border-radius:var(--radius-lg);
  padding:16px 20px;display:flex;align-items:center;gap:16px;
  transition:var(--transition);
}
.mvp-history-item:hover{border-color:var(--primary-light);box-shadow:var(--shadow-sm);}
.mvp-history-week{font-size:0.78rem;font-weight:700;color:var(--primary);min-width:90px;}
.mvp-history-winners{display:flex;gap:12px;flex:1;flex-wrap:wrap;}
.mvp-history-winner{display:flex;align-items:center;gap:6px;font-size:0.82rem;color:var(--gray-600);}
.mvp-history-winner strong{color:var(--gray-800);}
.mvp-history-empty{text-align:center;padding:30px;color:var(--gray-400);font-size:0.85rem;}

/* ═══ Step1: 내 순위 ═══ */
.mvp-my-rank-section{margin-bottom:20px;}
.mvp-myrank-card{
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  background:white;border:2px solid var(--primary-light);border-radius:var(--radius-xl);
  padding:20px 28px;box-shadow:0 4px 16px rgba(108,92,231,0.1);
}
.mvp-myrank-left{display:flex;align-items:center;gap:16px;}
.mvp-myrank-rank-circle{
  width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:1.3rem;font-weight:800;flex-shrink:0;
}
.mvp-myrank-rank-circle.rank-1{background:#FFF8E1;border:2px solid var(--gold);}
.mvp-myrank-rank-circle.rank-2{background:#F5F5F5;border:2px solid var(--silver);}
.mvp-myrank-rank-circle.rank-3{background:#FBE9E7;border:2px solid var(--bronze);}
.mvp-myrank-rank-circle.rank-n{background:var(--primary-bg);border:2px solid var(--primary-light);color:var(--primary);}
.mvp-myrank-name{font-size:0.95rem;font-weight:700;color:var(--gray-800);}
.mvp-myrank-label{font-size:0.65rem;font-weight:700;padding:2px 8px;border-radius:100px;background:var(--primary);color:white;margin-left:6px;vertical-align:middle;}
.mvp-myrank-detail{font-size:0.78rem;color:var(--gray-400);margin-top:3px;}
.mvp-myrank-right{text-align:right;flex-shrink:0;min-width:160px;}
.mvp-myrank-score{font-size:1.6rem;font-weight:800;color:var(--primary);}
.mvp-myrank-score span{font-size:0.72rem;font-weight:500;color:var(--gray-400);}
.mvp-myrank-bar{width:100%;height:6px;background:var(--gray-100);border-radius:100px;margin-top:6px;overflow:hidden;}
.mvp-myrank-bar-fill{height:100%;background:linear-gradient(90deg,var(--primary-light),var(--primary));border-radius:100px;transition:width 0.8s ease;}
.mvp-myrank-gap{font-size:0.72rem;margin-top:6px;color:var(--warning-dark);font-weight:600;}
.mvp-myrank-gap i{margin-right:4px;}
.mvp-myrank-gap.reward{color:var(--success);}

.mvp-myrank-empty{
  display:flex;align-items:center;gap:20px;flex-wrap:wrap;
  background:white;border:1px dashed var(--gray-300);border-radius:var(--radius-xl);padding:24px 28px;
}
.mvp-myrank-icon{font-size:2rem;}
.mvp-myrank-text strong{font-size:0.92rem;color:var(--gray-700);}
.mvp-myrank-text p{font-size:0.78rem;color:var(--gray-400);margin:4px 0 0;}
.mvp-myrank-quick-links{display:flex;gap:8px;margin-left:auto;flex-wrap:wrap;}
.mvp-quick-link{
  padding:8px 14px;border:1px solid var(--gray-200);border-radius:var(--radius-lg);
  font-size:0.78rem;font-weight:600;color:var(--gray-500);text-decoration:none;
  transition:var(--transition);white-space:nowrap;
}
.mvp-quick-link:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-bg);}
.mvp-quick-link.highlight{background:var(--primary);color:white;border-color:var(--primary);}
.mvp-quick-link.highlight:hover{background:var(--primary-dark);}

.mvp-myrank-login{
  display:flex;align-items:center;gap:12px;
  background:white;border:1px solid var(--gray-200);border-radius:var(--radius-xl);padding:18px 24px;
  font-size:0.85rem;color:var(--gray-500);
}
.mvp-myrank-login i{color:var(--primary);font-size:1.1rem;}
.mvp-myrank-login-btn{
  margin-left:auto;padding:7px 18px;background:var(--primary);color:white;
  border-radius:var(--radius-lg);font-size:0.82rem;font-weight:700;text-decoration:none;transition:var(--transition);
}
.mvp-myrank-login-btn:hover{background:var(--primary-dark);}

/* ═══ Step2: 빈 슬롯 CTA ═══ */
.mvp-top3-empty-slot{
  background:white;border:2px dashed var(--gray-300);border-radius:var(--radius-xl);
  padding:28px 20px;text-align:center;transition:var(--transition);
}
.mvp-top3-empty-slot.rank-1{order:2;padding:36px 20px;}
.mvp-top3-empty-slot.rank-2{order:1;}
.mvp-top3-empty-slot.rank-3{order:3;}
.mvp-top3-empty-slot:hover{border-color:var(--primary-light);background:var(--primary-bg);}
.mvp-empty-slot-medal{font-size:2rem;margin-bottom:8px;opacity:0.5;}
.mvp-empty-slot-text{font-size:1rem;font-weight:700;color:var(--gray-500);margin-bottom:4px;}
.mvp-top3-empty-slot p{font-size:0.78rem;color:var(--gray-400);margin:0 0 12px;}
.mvp-empty-slot-cta{
  display:inline-block;padding:8px 20px;background:var(--primary);color:white;
  border-radius:var(--radius-lg);font-size:0.82rem;font-weight:700;
  text-decoration:none;transition:var(--transition);
}
.mvp-empty-slot-cta:hover{background:var(--primary-dark);transform:translateY(-2px);}

/* ═══ Step3: TOP3 공유 버튼 ═══ */
.mvp-top3-share{
  position:absolute;top:12px;right:12px;width:28px;height:28px;
  display:flex;align-items:center;justify-content:center;
  border:1px solid var(--gray-200);border-radius:50%;background:white;
  color:var(--gray-400);cursor:pointer;font-size:0.68rem;transition:var(--transition);
}
.mvp-top3-share:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-bg);transform:scale(1.1);}

/* ═══ Step4: 프로그레스 바 ═══ */
.mvp-score-cell{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:60px;}
.mvp-score-bar{width:100%;height:4px;background:var(--gray-100);border-radius:100px;overflow:hidden;}
.mvp-score-bar-fill{height:100%;background:linear-gradient(90deg,var(--primary-light),var(--primary));border-radius:100px;transition:width 0.6s ease;}

/* Step4: 내 행 하이라이트 */
.mvp-row-me{background:var(--primary-bg) !important;}
.mvp-row-me td{font-weight:600;}
.mvp-me-badge{
  font-size:0.58rem;font-weight:700;padding:1px 6px;border-radius:100px;
  background:var(--primary);color:white;margin-left:4px;vertical-align:middle;
}

/* ═══ Step6: 역대 MVP 빈 상태 카운트다운 ═══ */
.mvp-history-coming{
  text-align:center;padding:48px 24px;
  background:white;border:1px solid var(--gray-200);border-radius:var(--radius-xl);
}
.mvp-history-coming-icon{font-size:3rem;margin-bottom:12px;}
.mvp-history-coming h3{font-size:1.05rem;font-weight:700;color:var(--gray-800);margin:0 0 6px;}
.mvp-history-coming p{font-size:0.85rem;color:var(--gray-400);margin:0 0 20px;}
.mvp-history-countdown{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:16px;}
.mvp-countdown-badge{
  display:flex;align-items:center;gap:6px;
  padding:8px 18px;background:linear-gradient(135deg,#FFF8E1,#FFE082);
  border-radius:var(--radius-lg);
}
.mvp-countdown-num{font-size:1.4rem;font-weight:800;color:#F57F17;}
.mvp-countdown-label{font-size:0.78rem;font-weight:600;color:#F57F17;}
.mvp-countdown-date{font-size:0.82rem;color:var(--gray-500);font-weight:600;}
.mvp-history-current{font-size:0.85rem;color:var(--gray-500);padding:10px 18px;background:var(--gray-50);border-radius:var(--radius-lg);display:inline-block;}
.mvp-history-current strong{color:var(--primary);}

/* ═══ Toast ═══ */
.mvp-toast{
  position:fixed;bottom:30px;left:50%;transform:translateX(-50%) translateY(80px);
  background:var(--gray-800);color:white;padding:14px 28px;border-radius:var(--radius-lg);
  font-size:0.88rem;font-weight:600;box-shadow:var(--shadow-lg);z-index:2000;
  opacity:0;transition:all 0.3s ease;pointer-events:none;
}
.mvp-toast.show{opacity:1;transform:translateX(-50%) translateY(0);}

/* ═══════ Responsive ═══════ */
@media(max-width:768px){
  .mvp-container{padding:16px 12px 40px;padding-top:80px;}
  .mvp-hero{flex-direction:column;text-align:center;padding:28px 20px;gap:20px;}
  .mvp-hero-stats{gap:20px;}
  .mvp-top3{grid-template-columns:1fr;gap:12px;}
  .mvp-top3-card.rank-1{order:1;padding:28px 20px;}
  .mvp-top3-card.rank-2{order:2;}
  .mvp-top3-card.rank-3{order:3;}
  .mvp-top3-empty-slot.rank-1{order:1;}
  .mvp-top3-empty-slot.rank-2{order:2;}
  .mvp-top3-empty-slot.rank-3{order:3;}
  .mvp-section-header{flex-direction:column;align-items:flex-start;gap:10px;}
  .mvp-reward-grid{grid-template-columns:1fr 1fr;}
  .mvp-table-wrap{overflow-x:auto;}
  .mvp-myrank-card{flex-direction:column;text-align:center;padding:20px;}
  .mvp-myrank-left{flex-direction:column;}
  .mvp-myrank-right{text-align:center;min-width:unset;width:100%;}
  .mvp-myrank-empty{flex-direction:column;text-align:center;}
  .mvp-myrank-quick-links{margin-left:0;justify-content:center;}
  .mvp-history-countdown{flex-direction:column;gap:8px;}
}
@media(max-width:480px){
  .mvp-reward-grid{grid-template-columns:1fr;}
}