.profile-page { max-width: 560px; margin: 0 auto; padding: 56px 24px 80px; }
.pf-header { text-align: center; margin-bottom: 36px; }
.pf-avatar-wrap { position: relative; display: inline-block; margin-bottom: 20px; }
.pf-avatar { width: 80px; height: 80px; border-radius: 50%; background: linear-gradient(135deg, rgba(212, 176, 82, 0.15), rgba(20, 22, 30, 0.6)); border: 2px solid rgba(212, 176, 82, 0.2); }
.pf-level-badge { position: absolute; bottom: -4px; right: -4px; background: rgba(20, 22, 30, 0.9); border: 1px solid rgba(212, 176, 82, 0.35); color: #D4B052; font-size: 11px; font-weight: 700; padding: 3px 10px; border-radius: 999px; }
.pf-name { font-size: 22px; font-weight: 700; color: rgba(255, 255, 255, 0.88); margin: 0 0 6px; }
.pf-constellation { font-size: 13px; color: rgba(212, 176, 82, 0.55); margin: 0 0 8px; letter-spacing: 0.08em; }
.pf-bio { font-size: 13px; color: rgba(255, 255, 255, 0.35); margin: 0; }
.pf-insight { background: rgba(212, 176, 82, 0.04); border: 1px solid rgba(212, 176, 82, 0.1); border-radius: var(--radius-lg); padding: 20px 24px; margin-bottom: 32px; }
.pf-insight-head { display: flex; align-items: center; gap: 8px; font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(212, 176, 82, 0.5); margin-bottom: 10px; }
.pf-insight-icon { font-size: 14px; color: #D4B052; }
.pf-insight-text { font-size: 14px; color: rgba(255, 255, 255, 0.6); line-height: 1.7; margin: 0; font-style: italic; }
.pf-section { margin-bottom: 32px; }
.pf-section-title { font-size: 13px; font-weight: 600; color: rgba(255, 255, 255, 0.5); letter-spacing: 0.1em; text-transform: uppercase; margin: 0 0 16px; }
.pf-calendar { background: rgba(20, 22, 30, 0.4); border: 1px solid rgba(255, 255, 255, 0.05); border-radius: var(--radius-lg); padding: 24px; text-align: center; }
.pf-cal-row { display: flex; justify-content: center; gap: 12px; margin-bottom: 12px; }
.pf-cal-day { width: 36px; height: 36px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 13px; color: rgba(255, 255, 255, 0.25); }
.pf-cal-day.done { background: rgba(212, 176, 82, 0.1); color: rgba(212, 176, 82, 0.6); }
.pf-cal-day.today { background: rgba(212, 176, 82, 0.18); color: #D4B052; border: 1px solid rgba(212, 176, 82, 0.3); font-weight: 600; }
.pf-cal-label { font-size: 12px; color: rgba(255, 255, 255, 0.3); margin: 0; }
.pf-journey-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.pf-js-item { background: rgba(20, 22, 30, 0.4); border: 1px solid rgba(255, 255, 255, 0.05); border-radius: var(--radius-md); padding: 20px 8px; text-align: center; }
.pf-js-num { display: block; font-size: 24px; font-weight: 700; color: rgba(255, 255, 255, 0.85); line-height: 1; margin-bottom: 4px; }
.pf-js-label { font-size: 10px; color: rgba(255, 255, 255, 0.3); text-transform: uppercase; letter-spacing: 0.08em; }
.pf-achievements { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.pf-ach { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 16px 8px; border-radius: var(--radius-md); background: rgba(20, 22, 30, 0.4); border: 1px solid rgba(255, 255, 255, 0.05); text-align: center; }
.pf-ach.locked { opacity: 0.3; }
.pf-ach-icon { font-size: 18px; color: #D4B052; }
.pf-ach.locked .pf-ach-icon { color: rgba(255, 255, 255, 0.2); }
.pf-ach span { font-size: 10px; color: rgba(255, 255, 255, 0.5); line-height: 1.3; }
.pf-links { display: flex; flex-direction: column; border-top: 1px solid rgba(255, 255, 255, 0.05); padding-top: 8px; }
.pf-link { display: flex; align-items: center; justify-content: space-between; padding: 16px 0; border-bottom: 1px solid rgba(255, 255, 255, 0.04); color: rgba(255, 255, 255, 0.55); font-size: 14px; text-decoration: none; cursor: pointer; transition: color 0.3s var(--ease-standard); }
.pf-link:hover { color: rgba(255, 255, 255, 0.8); }
.pf-link svg { color: rgba(255, 255, 255, 0.2); }
