/* ── Layout ────────────────────────────────────────────────── */
.profil {
  min-height: 100%;
  background: #EDE0CE;
  padding: 0 16px 32px;
  overflow-y: auto;
}

/* ── Header ────────────────────────────────────────────────── */
.profil-header {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 20px 4px 16px;
}

.avatar-wrap {
  position: relative;
  flex-shrink: 0;
}

/* Animated ring */
.avatar-ring {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: conic-gradient(from 0deg, #EDE0CE, #C4A882, #7A5C3A, #D4B896, #EDE0CE);
  animation: spin-ring 4s linear infinite;
  padding: 2px;
}

@keyframes spin-ring {
  to { transform: rotate(360deg); }
}

.avatar-inner {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: #EDE0CE;
  padding: 2px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.avatar {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: linear-gradient(135deg, #7A5C3A, #4A3728);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  font-weight: 800;
  color: #F5EFE6;
  letter-spacing: 1px;
}

/* Online dot */
.online-dot {
  position: absolute;
  bottom: 2px;
  right: 2px;
  width: 11px;
  height: 11px;
  background: #7A5C3A;
  border-radius: 50%;
  border: 2px solid #EDE0CE;
  z-index: 2;
}

.online-dot::after {
  content: '';
  position: absolute;
  inset: -4px;
  border-radius: 50%;
  border: 2px solid #7A5C3A;
  animation: pulse-ring 1.8s ease-out infinite;
}

@keyframes pulse-ring {
  0%   { opacity: 0.7; transform: scale(0.8); }
  100% { opacity: 0;   transform: scale(1.8); }
}

/* Level badge on avatar */
.avatar-level-badge {
  position: absolute;
  top: -4px;
  right: -6px;
  z-index: 3;
  filter: drop-shadow(0 1px 3px rgba(74, 55, 40, 0.3));
}

.profil-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.profil-name {
  font-family: 'Lora', Georgia, serif;
  font-size: 18px;
  font-weight: 700;
  color: #4A3728;
}

.profil-handle {
  font-size: 12px;
  color: #7A5C3A;
}

/* ── Cards ──────────────────────────────────────────────────── */
.progress-card,
.skills-card {
  background: #F5EFE6;
  border: 0.5px solid #D4B896;
  border-radius: 16px;
  padding: 16px;
  margin-bottom: 12px;
}

.card-title {
  font-size: 11px;
  font-weight: 500;
  color: #8C7A65;
  letter-spacing: 0.07em;
  margin-bottom: 12px;
}

/* ── XP Section ─────────────────────────────────────────────── */
.xp-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}

.lang-label {
  font-size: 13px;
  font-weight: 500;
  color: #4A3728;
}

.xp-value {
  font-size: 13px;
  font-weight: 500;
  color: #7A5C3A;
}

.xp-bar {
  background: #D4B896;
  border-radius: 99px;
  height: 8px;
  width: 100%;
  margin-bottom: 8px;
  overflow: hidden;
}

.xp-fill {
  height: 100%;
  border-radius: 99px;
  background: #7A5C3A;
}

/* Level row */
.level-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.level-pill {
  background: #7A5C3A;
  color: #EDE0CE;
  font-size: 11px;
  font-weight: 500;
  padding: 3px 10px;
  border-radius: 99px;
}

.level-hint {
  font-size: 11px;
  color: #8C7A65;
}

/* ── Radar ───────────────────────────────────────────────────── */
.radar-wrap {
  display: flex;
  justify-content: center;
  padding: 8px 0 4px;
}
