.profile-layout{display:grid;gap:22px;min-width:0}
.profile-intro{display:flex;align-items:center;gap:24px;background:linear-gradient(115deg,#fff 45%,#e8f4fb)}
.profile-avatar{width:104px;height:104px;flex:none;display:grid;place-items:center;overflow:hidden;border-radius:50%;background:#dceef8;color:#12517a;font:800 34px/1 Manrope,sans-serif;border:4px solid #fff;box-shadow:0 6px 20px #0c4f8324}
.profile-avatar img{width:100%;height:100%;object-fit:cover}
.profile-intro-copy{min-width:0}.profile-intro-copy h2{margin:0 0 5px;overflow-wrap:anywhere}.profile-intro-copy p{margin:0;color:var(--muted);overflow-wrap:anywhere}.profile-intro-copy .eyebrow{margin-bottom:8px}
.profile-stats{margin:0}.profile-stats .stat small{font-size:15px;letter-spacing:0}
.profile-section-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:18px}.profile-section-heading h2{margin:0}.profile-section-heading a{font-size:13px;font-weight:700;text-align:right}
.profile-chart-legend{display:flex;flex-wrap:wrap;gap:18px;margin:8px 0 12px;font-size:12px;font-weight:700;color:#4c6170}.profile-chart-legend span{display:inline-flex;align-items:center;gap:7px}.profile-chart-legend i{width:11px;height:11px;border-radius:50%}.answered-dot{background:#15658f}.correct-dot{background:#238654}
.profile-chart svg{display:block;width:100%;height:auto;min-height:220px}.profile-gridline{stroke:#dce6ec;stroke-width:1}.profile-axis-label{fill:#647584;font:11px 'DM Sans',sans-serif}.profile-line{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.answered-line{stroke:#15658f}.correct-line{stroke:#238654}.answered-marker{fill:#15658f}.correct-marker{fill:#238654}.profile-chart>.small{margin:8px 0 0}
.profile-chart-empty{padding:28px;border:1px dashed #c9dbe6;border-radius:12px;background:#f7fbfd;text-align:center}.profile-chart-empty h3{margin:0 0 7px}.profile-chart-empty p{color:var(--muted)}.profile-chart-empty .btn{display:inline-flex;text-decoration:none}
.profile-details{max-width:960px}.profile-photo-control{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:17px 0;border-bottom:1px solid var(--line)}.profile-photo-control>div{flex:1 1 220px}.profile-photo-control b{display:block;font-size:14px}.profile-photo-control p{margin:2px 0 0}.profile-photo-control>label{font-size:13px;font-weight:700}.profile-photo-control input{max-width:230px;font-size:12px}.profile-photo-control .btn{padding:8px 10px}.profile-details>.auth-message{margin:7px 0 15px}
.profile-form{display:grid;gap:16px;margin-top:18px}.profile-form label{display:grid;gap:6px;font-size:13px;font-weight:700;color:var(--ink)}.profile-form input,.profile-form select,.profile-form textarea{min-width:0;width:100%;padding:11px 12px;border:1.5px solid #b8ccd9;border-radius:8px;background:#fff;color:var(--ink);font:inherit;font-weight:400}.profile-form input:disabled{background:#f4f6f8;color:#657583}.profile-form label small{font-weight:400;color:var(--muted)}.profile-form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.profile-form-actions{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.profile-form-actions .auth-message{margin:0}
.profile-evolution{border-top:5px solid var(--yellow)}.profile-chart{overflow-x:auto;-webkit-overflow-scrolling:touch}
.profile-reminders{border-top:5px solid #15658f}.profile-reminders h2{margin:8px 0 10px}.profile-reminders .small{max-width:640px}.profile-reminders .auth-message{margin:12px 0}.profile-reminders .btn{min-height:44px}
@media(max-width:650px){.profile-intro{gap:14px;padding:16px}.profile-avatar{width:72px;height:72px;font-size:23px}.profile-intro-copy h2{font-size:20px}.profile-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.profile-stats .stat{padding:12px 8px;text-align:center}.profile-stats .stat strong{font-size:20px}.profile-stats .stat p{font-size:11px}.profile-section-heading{display:block}.profile-section-heading a{display:inline-flex;min-height:40px;align-items:center;margin-top:8px}.profile-form-row{grid-template-columns:1fr}.profile-form input,.profile-form select,.profile-form textarea{font-size:16px}.profile-photo-control{align-items:stretch}.profile-photo-control input{max-width:100%;width:100%}.profile-form-actions .btn{width:100%}.profile-chart svg{min-height:170px}.profile-chart-legend{gap:10px 14px}}
@media(max-width:420px){.profile-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.profile-intro{flex-direction:column;align-items:flex-start;text-align:left}}
