.teacher-dashboard .teacher-profile-block .teacher-avatar-wrap { position: relative; flex: 0 0 auto; width: 68px; height: 68px; margin: 0; overflow: visible; background: transparent; }
.teacher-dashboard .teacher-avatar-upload { position: absolute; right: -7px; bottom: -4px; z-index: 2; }
.teacher-dashboard .teacher-avatar-camera { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border: 2px solid white; border-radius: 9px; color: white; background: #1677e8; cursor: pointer; box-shadow: 0 3px 8px #17344d24; }
.teacher-dashboard .teacher-avatar-upload .ant-upload:focus-visible { outline: 2px solid #1677e8; outline-offset: 3px; border-radius: 9px; }
.teacher-avatar-upload .avatar-upload-label { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.hero-avatar-action { margin-top: 20px; padding-top: 16px; border-top: 1px solid #e2eaf2; }
.hero-avatar-button { min-width: 128px; min-height: 42px; padding: 9px 20px; border: 1px solid #1666d7; border-radius: 10px; background: #1677e8; color: #fff; font-weight: 700; cursor: pointer; }
.hero-avatar-button:hover:not(:disabled) { background: #125fbe; }
.hero-avatar-button:focus-visible { outline: 2px solid #1677e8; outline-offset: 3px; }
.hero-avatar-button:disabled { background: #eaf3ff; border-color: #cddff6; color: #527195; cursor: default; }
.hero-avatar-action p { margin: 10px 0 0; color: #dceaff; font-size: 12px; line-height: 1.6; }
.hero-portrait img, .modal-portrait-wrap img { object-fit: cover; object-position: center; }
.student-dashboard:has(.hero-modal-mask) .dashboard-main,
.teacher-dashboard:has(.hero-modal-mask) .dashboard-main { position: relative; z-index: 1001; }
.playground-page .hero-modal-mask { z-index: 1100; }
@media (max-width: 767px) { .hero-avatar-button { width: 100%; } }
