.avatar-upload__button{border:3px solid var(--surface);background:0 0;border-radius:50%;width:96px;height:96px;padding:0;display:block;position:relative;overflow:hidden}.avatar-upload__button img{object-fit:cover;width:100%;height:100%}.avatar-upload__button--static{cursor:default}.avatar-upload__hint{color:#fff;font-size:var(--fs-meta);opacity:0;background:#0009;padding:6px 0;transition:opacity .15s;position:absolute;inset:auto 0 0}.avatar-upload__button:hover .avatar-upload__hint{opacity:1}.avatar-upload__error{font-size:var(--fs-meta);color:var(--danger-fg);margin:8px 0 0}
.profile-form{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--card);box-shadow:var(--shadow-card);padding:22px}.profile-form__title{font-size:var(--fs-h2);color:var(--fg-2);margin-bottom:18px}.profile-form__field{display:block}.profile-form__field+.profile-form__field{margin-top:14px}.profile-form__field input,.profile-form__field textarea{border:1px solid var(--border-firm);border-radius:var(--radius);background:var(--surface-2);width:100%;color:var(--fg);font:inherit;font-size:var(--fs-body);resize:vertical;outline:none;padding:10px 14px}.profile-form__field input:focus,.profile-form__field textarea:focus{border-color:var(--accent-border-strong)}.profile-form__label{font-size:var(--fs-meta);color:var(--meta);justify-content:space-between;margin-bottom:6px;display:flex}.profile-form__label b{font-variant-numeric:tabular-nums;font-weight:400}.profile-form__tag{align-items:center;gap:8px;display:flex}.profile-form__tag i{color:var(--meta);font-style:normal}.profile-form__error,.profile-form__saved{font-size:var(--fs-sm);margin:14px 0 0}.profile-form__error{color:var(--danger-fg)}.profile-form__saved{color:var(--ok-fg)}.profile-form__submit{height:var(--tap);border-radius:var(--radius-pill);background:var(--accent);color:#fff;font-size:var(--fs-sm);border:0;margin-top:18px;padding:0 26px;font-weight:600}.profile-form__submit:hover:not(:disabled){background:var(--accent-hover)}.profile-form__submit:disabled{opacity:.6;cursor:default}
