/* 图片素材保持正方形，容器统一决定实际展示的形状。 */
.avatar-shape{display:grid;place-items:center;overflow:hidden;background:var(--color-control);color:var(--color-text);flex-shrink:0}
.avatar-shape img,.room-shortcut img,.recent-room-icon img{width:100%;height:100%;object-fit:cover;display:block}
.avatar-rounded{border-radius:22%}
.avatar-circle{border-radius:50%}
.room-shortcut,.recent-room-icon{overflow:hidden}
.recent-room-icon{font-size:12px;font-weight:600}
.message>.avatar,.profile-button>.avatar{border-radius:50%}
.room-avatar-button{width:29px;height:29px;padding:0;border:1px solid var(--color-border-subtle);border-radius:9px;overflow:hidden;background:var(--color-control);flex-shrink:0;font-size:11px;color:var(--color-text)}
.room-avatar-button>img{display:block;width:100%;height:100%;object-fit:cover}
.room-summary{gap:8px}
.avatar-settings{margin:18px 0;padding:16px;border:1px solid var(--color-border-subtle);border-radius:12px;background:var(--color-accent-tint)}
.avatar-settings h3{font-size:12px;margin:0 0 14px;color:var(--color-accent)}
.avatar-setting-previews{display:flex;align-items:flex-start;gap:24px}
.avatar-setting-previews figure,.avatar-crop-preview figure{margin:0;text-align:center}
.avatar-setting-previews .avatar-shape{width:64px;height:64px;font-size:23px}
.avatar-setting-previews figcaption,.avatar-crop-preview figcaption{margin-top:8px;font-size:10px;color:var(--color-secondary)}
.avatar-setting-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:17px}
.avatar-setting-actions button,.avatar-upload-button{font-size:11px;padding:8px 10px}
.avatar-setting-actions .avatar-upload-button{position:relative;display:inline-flex;align-items:center;cursor:pointer;margin:0;border:1px solid var(--color-border);border-radius:9px;background:var(--color-control);color:var(--color-text)}
.avatar-file-input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}
.avatar-upload-button:focus-within{outline:2px solid var(--color-accent);outline-offset:3px}
.avatar-upload-button:has(input:disabled){opacity:.4;cursor:not-allowed}
.avatar-settings>p{font-size:10px;line-height:1.8;margin:12px 0 0;color:var(--color-secondary)}
#avatar-editor-dialog{width:min(590px,calc(100vw - 24px));padding:24px}
#avatar-editor-dialog>.room-dialog-heading{margin-bottom:12px}
.avatar-crop-tools{display:flex;gap:8px;margin:16px 0}
.avatar-crop-tools button{font-size:11px;padding:8px 11px}
.avatar-crop-tools button[aria-pressed=true]{color:var(--color-text);border-color:var(--color-accent-border);background:var(--color-surface)}
.avatar-crop-layout{display:grid;grid-template-columns:minmax(0,360px) minmax(80px,1fr);align-items:start;gap:20px}
#avatar-editor-canvas{display:block;width:100%;height:auto;aspect-ratio:1;touch-action:none;cursor:grab;border:1px solid var(--color-border);border-radius:7px;background:var(--color-surface)}
#avatar-editor-canvas:active{cursor:grabbing}
#avatar-editor-canvas[data-mode=select]{cursor:crosshair}
.avatar-crop-preview{display:flex;flex-direction:column;align-items:center;gap:20px;padding-top:5px}
.avatar-crop-preview canvas{display:block;width:80px;height:80px}
.avatar-crop-preview>p{text-align:center;font-size:9px;line-height:1.8;margin:0;color:var(--color-muted)}
#avatar-editor-dialog .avatar-zoom-label{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:12px;margin:18px 0 10px;font-size:11px}
#avatar-editor-zoom-value{font-variant-numeric:tabular-nums;color:var(--color-accent)}
#avatar-editor-zoom{display:block;width:100%;accent-color:var(--color-accent)}
#avatar-editor-dialog .avatar-editor-help{font-size:10px;color:var(--color-muted);margin:12px 0 0}
@media(max-width:480px){
 #avatar-editor-dialog{padding:18px}
 .avatar-crop-layout{grid-template-columns:minmax(0,1fr);gap:14px}
 .avatar-crop-preview{flex-direction:row;justify-content:center;gap:26px;padding:0}
 .avatar-crop-preview canvas{width:58px;height:58px}
 .avatar-crop-preview>p{display:none}
 .avatar-setting-actions{gap:6px}
 .avatar-setting-actions button,.avatar-upload-button{font-size:10px;padding:8px}
}
