.profile-host{max-width:1024px;padding-top:36px}.profile-heading h1{font-size:36px;line-height:1.2}.profile-heading>p{margin-top:10px;font-size:16px}
.profile-page[aria-busy=true]{min-height:440px}
.profile-preview-note{font-size:13px;color:var(--text-muted);margin-top:18px}.profile-tabs{display:flex;gap:24px;border-bottom:1px solid var(--border);margin:24px 0 28px;overflow-x:auto}.profile-tabs button{flex-shrink:0;background:none;color:var(--text-muted);border:0;border-bottom:2px solid transparent;padding:12px 2px;font:inherit;cursor:pointer}.profile-tabs button[aria-selected=true]{border-color:var(--accent-text);color:var(--text);font-weight:600}
.profile-form{max-width:720px;gap:20px}.profile-fields{display:grid;grid-template-columns:1.4fr 1fr;gap:20px}.profile-photo-row{display:flex;align-items:center;gap:20px;margin-bottom:8px}.profile-avatar{width:88px;height:88px;flex-shrink:0;overflow:hidden}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-photo-actions{display:flex;align-items:center;gap:18px}.profile-help{font-size:14px;line-height:1.6;color:var(--text-muted);margin:8px 0 0}.profile-photo-actions .text-button{margin:0}
.profile-save-row{display:flex;align-items:center;justify-content:flex-end;gap:10px;border-top:1px solid var(--border);padding-top:20px;margin-top:4px}.profile-dirty{margin-right:auto;font-size:13px;color:var(--text-muted)}.profile-form .profile-save-row .button{min-width:88px;min-height:40px}.profile-form [role=status]:empty{display:none}.profile-form button:disabled{opacity:.45;cursor:default}
.profile-code-preview{margin:0;background:var(--surface-subtle);padding:20px;border:1px solid var(--border);border-radius:8px;line-height:1.65;font-size:16px;overflow:auto;font-family:'IBM Plex Mono',monospace}.profile-code-preview.large{font-size:19px}html[data-code-size=large] .code-block pre,html[data-code-size=large] .code-block code{font-size:19px}
.profile-record-summary{display:grid;grid-template-columns:repeat(3,1fr);max-width:720px;gap:16px;margin-bottom:24px}.profile-record-summary>div{display:flex;flex-direction:column;gap:6px}.profile-record-summary strong{font-size:30px;font-weight:550}.profile-record-summary span{font-size:14px;color:var(--text-muted)}.profile-course-records{max-width:720px;border-top:1px solid var(--border)}.profile-course-record{display:flex;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid var(--border);text-decoration:none;color:var(--text)}.profile-course-record:hover{color:var(--accent-text)}.profile-record-actions{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0 0}.profile-import{max-width:720px}.profile-import summary{cursor:pointer;font-weight:500;font-size:15px}.profile-import p{line-height:1.6}
.avatar-dialog{width:min(440px,calc(100vw - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:24px;background:var(--page);color:var(--text);border:1px solid var(--border);border-radius:16px;overflow:auto}.avatar-dialog::backdrop{background:rgb(20 20 20 / .45)}.avatar-dialog-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:12px}.avatar-dialog h2{font-size:22px}.avatar-dialog .icon-button{font-size:28px}.avatar-dialog canvas{display:block;width:min(100%,280px);height:auto;aspect-ratio:1;border-radius:50%;margin:0 auto 20px;touch-action:none;cursor:grab;border:1px solid var(--border)}.avatar-dialog label{display:grid;grid-template-columns:80px 1fr;align-items:center;gap:12px;margin-top:12px;font-size:14px}.avatar-dialog input[type=range]{width:100%;accent-color:var(--accent-text)}.avatar-dialog .profile-record-actions{justify-content:flex-end}
@media(max-width:600px){.profile-host{padding-top:28px}.profile-heading h1{font-size:30px}.profile-fields{grid-template-columns:1fr;gap:20px}.profile-photo-row{gap:14px}.profile-avatar{width:72px;height:72px}.profile-record-summary{gap:10px}.profile-record-summary strong{font-size:26px}.profile-record-summary span{font-size:12px}.profile-save-row{flex-wrap:wrap}.profile-dirty{flex-basis:100%;min-height:0}.profile-record-actions .button{flex:1;white-space:nowrap}.profile-tabs{gap:20px}}

.account-activity{list-style:none;padding:0;margin:24px 0;max-width:760px}.account-activity li{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--border);font-size:14px}.account-activity time{color:var(--text-muted);font-size:12px;text-align:right}.profile-tabs button[aria-selected=true]{border-color:var(--learning-accent)}
