/* ---- 成就视图 ---- */
#achievement-view {
  background: #EEF6FB;
}

.achievement-header {
  background: var(--bg-achievement);
  padding: calc(var(--space-md) + env(safe-area-inset-top, 12px)) var(--space-md) var(--space-lg);
  color: #FFF;
}

.achievement-header-title {
  font-size: var(--font-size-lg);
  font-weight: 800;
  color: #FFF;
  margin-bottom: var(--space-md);
}

/* 统计数字网格 */
.stats-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-sm);
}

.stat-card {
  background: rgba(255,255,255,0.2);
  border-radius: var(--border-radius);
  padding: var(--space-sm) var(--space-md);
  text-align: center;
  backdrop-filter: blur(8px);
}

.stat-number {
  font-size: var(--font-size-2xl);
  font-weight: 800;
  color: #FFF;
  line-height: 1.1;
}

.stat-label {
  font-size: 11px;
  color: rgba(255,255,255,0.8);
  margin-top: 2px;
}

/* 荣誉殿堂 */
.hall-section {
  padding: var(--space-md);
}

.section-title {
  font-size: var(--font-size-md);
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: var(--space-sm);
  display: flex;
  align-items: center;
  gap: 6px;
}

.trophy-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-sm);
}

.trophy-card {
  background: #FFF;
  border-radius: var(--border-radius);
  padding: var(--space-sm);
  text-align: center;
  box-shadow: var(--shadow-sm);
}

.trophy-icon { font-size: 36px; }
.trophy-name {
  font-size: 11px;
  color: var(--text-secondary);
  margin-top: 4px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* 排行榜 */
.leaderboard-section {
  padding: 0 var(--space-md) var(--space-md);
}

.leaderboard-item {
  background: #FFF;
  border-radius: var(--border-radius);
  padding: var(--space-sm) var(--space-md);
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  margin-bottom: var(--space-xs);
  box-shadow: var(--shadow-sm);
}

.rank-number {
  font-size: var(--font-size-xl);
  font-weight: 800;
  min-width: 36px;
  text-align: center;
}

.rank-1 { color: #FFD700; }
.rank-2 { color: #B0BEC5; }
.rank-3 { color: #FF8A65; }
.rank-other { color: var(--text-muted); }

.rank-avatar {
  font-size: 32px;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #F5F5F5;
  border-radius: 50%;
}

.rank-name {
  flex: 1;
  font-size: var(--font-size-base);
  font-weight: 600;
  color: var(--text-primary);
}

.rank-value {
  font-size: var(--font-size-md);
  font-weight: 700;
  color: var(--primary);
}
