.profile-page{max-width:760px!important;padding-top:32px;padding-bottom:48px}.profile-page h1{font-size:clamp(30px,5vw,42px);margin:0 0 24px}.profile-identity,.profile-welcome{text-align:center;padding:12px 16px 28px}.profile-identity img,.profile-welcome img{border-radius:50%;object-fit:cover;background:var(--surface,#f1f4ed);box-shadow:0 0 0 6px rgba(49,91,44,.08)}.profile-identity h2{margin:14px 0 6px;font-size:26px}.profile-edit{border:0;background:none;color:var(--green,#315b2c);text-decoration:underline;min-height:44px;padding:8px 18px;font-weight:700}.profile-history{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#315b2c;color:#fff!important;border-radius:22px;padding:24px;text-decoration:none;box-shadow:0 8px 26px #315b2c18}.profile-history strong{display:block;font-size:21px;margin-bottom:8px}.profile-history span span{display:block;opacity:.9;font-size:14px}.profile-history>span:last-child{font-size:30px}.profile-settings-title{font-size:25px;margin:32px 0 8px}.profile-setting,.profile-setting-link{border-bottom:1px solid var(--border,#dbe2d9)}.profile-setting summary,.profile-setting-link{display:flex;gap:16px;align-items:center;padding:20px 2px;min-height:64px;cursor:pointer;color:inherit;list-style:none;text-decoration:none;font:inherit;width:100%;text-align:left;background:none;border-top:0;border-left:0;border-right:0}.profile-setting summary::-webkit-details-marker{display:none}.profile-setting summary>span:nth-child(2),.profile-setting-link>span:nth-child(2){flex:1}.profile-setting svg,.profile-setting-link svg{width:25px;height:25px;flex:0 0 25px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.profile-setting-link small{display:block;font-size:13px;opacity:.7;margin-top:5px}.profile-setting-body{padding:0 16px 24px 42px}.profile-setting-body label{display:block;margin:14px 0}.profile-setting-body input:not([type=checkbox]),.profile-setting-body textarea,.profile-setting-body select{display:block;width:100%;margin-top:8px;padding:12px;border:1px solid var(--border,#dbe2d9);background:var(--surface,#fff);color:inherit;border-radius:10px;font:inherit}.profile-setting-body input[type=checkbox]{width:20px;height:20px;vertical-align:middle;margin-right:8px}.profile-setting-body fieldset{border:0;padding:0}.profile-note{font-size:14px;opacity:.75;line-height:1.6}.profile-setting-body button{margin:5px 4px 5px 0;min-height:44px}#yourData{scroll-margin-top:100px;margin-top:22px}.profile-page .university-access-card{padding:20px;border:1px solid var(--border,#dbe2d9);border-radius:16px;margin-bottom:18px}.profile-page .university-access-card input{width:100%;padding:12px;margin:10px 0;border-radius:9px;border:1px solid var(--border,#dbe2d9);background:var(--surface,#fff);color:inherit}.profile-page .university-access-card button{min-height:44px}.profile-page .university-access-card:first-child{display:none}[data-theme=dark] .profile-edit{color:#a8d397}[data-theme=dark] .profile-setting-body input:not([type=checkbox]),[data-theme=dark] .profile-setting-body textarea,[data-theme=dark] .profile-setting-body select,[data-theme=dark] .profile-page .university-access-card input{background:#1c251e}@media(max-width:480px){.profile-page{padding-top:22px}.profile-history{padding:20px}.profile-history strong{font-size:19px}.profile-setting-body{padding-left:6px;padding-right:6px}.profile-setting summary,.profile-setting-link{gap:12px}.profile-identity{padding-bottom:24px}}[data-reduced-motion=reduce] .profile-page *{animation:none!important;transition:none!important}
.profile-identity .profile-photo-control{display:inline-flex;flex-direction:column;align-items:center;gap:8px;padding:0;border:0;background:none;color:inherit;font:inherit;cursor:pointer}.profile-identity img,.profile-welcome img{width:104px!important;height:104px!important;aspect-ratio:1;flex:none;border-radius:50%;object-fit:cover;border:1px solid #111;box-shadow:none!important}.profile-photo-control span{font-size:14px;text-decoration:underline}.profile-photo-control:focus-visible{outline:3px solid #79ac64;outline-offset:6px;border-radius:6px}.profile-page [data-logout]{color:#b32222}.profile-page .btn-secondary{background:#edf1eb;color:#21371f;border:1px solid #879982}.profile-page .btn-secondary:hover{background:#dce7d7}.profile-page .btn:focus-visible{outline:3px solid #79ac64;outline-offset:3px}.profile-page .btn:disabled{opacity:.6;cursor:wait}[data-theme=dark] .profile-identity img,[data-theme=dark] .profile-welcome img{border-color:#fff}[data-theme=dark] .profile-page .btn-secondary{background:#2c3a30;color:#fff;border-color:#a4b09f}[data-theme=dark] .profile-page .btn-secondary:hover{background:#405144}[data-theme=dark] .profile-page [data-logout]{color:#ff9a9a}
body .profile-page [data-personal] .btn-primary{background:var(--experience-brand,#315b2c);color:var(--experience-on-brand,#fff);border:1px solid var(--experience-control-line,#7b9771);border-radius:999px;padding:12px 24px;font:inherit;font-weight:650}
body .profile-page [data-logout]{border-bottom:0}
body .profile-page #data .university-access-card{border:0;border-radius:0;padding:0;margin:0;background:transparent;box-shadow:none}
body .profile-page #data .university-access-card:first-child{display:none}
body .profile-page #data h2{font-size:1.1rem}
/* Photo editing stays on the avatar; source and crop choices use top-layer dialogs. */
body .profile-photo-control{position:relative;width:104px;height:104px}
body .profile-photo-control .profile-photo-pencil{position:absolute;right:-3px;bottom:-3px;width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:var(--experience-raised,#edf1eb);color:var(--experience-text,#203128);border:1px solid currentColor;text-decoration:none;box-shadow:0 1px 4px #0003}
body .avatar-source-dialog{width:min(340px,calc(100vw - 24px));border-radius:20px}
body .avatar-source-dialog button{display:block;width:100%;text-align:left;margin-top:8px}
body .avatar-crop-dialog{width:min(410px,calc(100vw - 24px));border-radius:20px}
body .avatar-crop-dialog canvas{display:block;width:min(100%,320px);height:auto;aspect-ratio:1;margin:auto;touch-action:none;border-radius:50%;background:#111;cursor:grab}
body .avatar-crop-dialog input[type=range]{padding:0;min-height:44px;accent-color:#80ad68}
body .avatar-crop-dialog>div{display:flex;gap:12px;margin-top:16px}
body .avatar-crop-dialog details>summary{min-height:44px;cursor:pointer}

.profile-identity [data-remove-photo]:not([hidden]){display:block;margin:8px auto 0}
/* The avatar button itself is circular, without global button padding or fill. */
body .profile-page .profile-identity .profile-photo-control{display:flex;position:relative;align-items:center;justify-content:center;width:104px;height:104px;min-width:104px;min-height:104px;padding:0!important;margin:0 auto!important;border:0!important;border-radius:50%;background:transparent!important;box-shadow:none;overflow:visible}
body .profile-page .profile-identity .profile-photo-control img{display:block;margin:0;max-width:none;flex:none}
.profile-setting-link>span:first-child{flex:1}
body .profile-page .profile-guest-avatar{display:flex;align-items:center;justify-content:center;width:104px;height:104px;margin:0 auto 20px;overflow:hidden;border-radius:50%;background:#ff545b}
body .profile-page .profile-guest-avatar img{display:block;width:128px!important;height:128px!important;max-width:none;flex:none;border:0;border-radius:0;background:transparent;box-shadow:none}
.profile-setting-link>span:last-child[aria-hidden=true]{flex:0 0 auto}

body .profile-page a.profile-setting-link{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;box-sizing:border-box;padding:20px 4px;border:0;border-bottom:1px solid var(--experience-line);background:transparent;color:var(--experience-text);font:inherit;font-weight:600;text-decoration:none;border-radius:0}
/* Every settings row shares one weight, spacing and divider in both themes. */
html body[data-page=account] #profilePage .profile-setting,
html body[data-page=account] #profilePage .profile-setting-link{border:0!important;border-bottom:1px solid var(--experience-line)!important;border-radius:0!important;box-sizing:border-box}
html body[data-page=account] #profilePage .profile-setting summary,
html body[data-page=account] #profilePage .profile-setting-link{font-family:inherit!important;font-size:16px!important;font-weight:400!important;line-height:1.5!important;padding:20px 4px!important;min-height:64px;box-sizing:border-box}
html body[data-page=account] #profilePage .profile-setting summary{border:0!important}
html body[data-page=account] #profilePage .profile-setting summary span,
html body[data-page=account] #profilePage .profile-setting-link :is(span,strong){font-weight:400!important}
html body[data-page=account] #profilePage [data-invite-status]:empty{display:none}

.student-verification-badge{position:relative;width:fit-content;max-width:100%;margin:10px auto 12px;color:var(--experience-brand,#315b2c)}.student-verification-badge summary{display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:4px 10px;cursor:pointer;list-style:none;font-size:14px;font-weight:650}.student-verification-badge summary::-webkit-details-marker{display:none}.student-verification-badge summary:focus-visible{outline:3px solid currentColor;outline-offset:3px;border-radius:12px}.student-verification-badge p{display:none;position:relative;max-width:300px;margin:0;padding:12px;border-radius:12px;background:var(--experience-raised,#edf1eb);color:var(--experience-text,#203128);font-size:14px;line-height:1.5}.student-verification-badge[open] p,.student-verification-badge:hover p,.student-verification-badge:focus-within p{display:block}[data-theme=dark] .student-verification-badge{color:#a8d397}
