.avatar-editor-backdrop{position:fixed;inset:0;z-index:5000;display:grid;place-items:center;padding:24px;background:#0009;backdrop-filter:blur(6px)}
.avatar-editor{width:min(1120px,100%);max-height:calc(100dvh - 48px);overflow:auto;border:1px solid var(--theme-border-subtle,#353941);border-radius:20px;padding:26px;background:rgba(var(--theme-surface-elevated-rgb,12,14,18),.98);color:var(--theme-text-primary,#f4f5f7);box-shadow:0 24px 80px #0005}
.avatar-editor>header{display:flex;align-items:start;justify-content:space-between;gap:20px;margin-bottom:24px}.avatar-editor h2{font-size:24px;margin:0 0 8px;font-weight:750}.avatar-editor p{margin:0;color:var(--theme-text-secondary,#b6bbc5);font-size:14px;line-height:1.5}.avatar-editor h3{font-size:14px;margin:0 0 16px}.avatar-editor-content{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:22px}.avatar-crop-stage{position:relative;align-self:stretch;display:grid;place-items:center;overflow:hidden;background:var(--theme-media-surface,#050505);border:1px solid var(--theme-border-subtle,#353941);border-radius:14px;aspect-ratio:5/4;touch-action:none}.avatar-crop-stage>canvas{width:100%;height:100%;object-fit:fill;cursor:grab}.avatar-crop-stage>canvas.is-dragging{cursor:grabbing}.avatar-crop-frame{position:absolute;pointer-events:none;border:1px solid #fffc;background:linear-gradient(to right,transparent 33.2%,#fff4 33.3%,transparent 33.5%,transparent 66.5%,#fff4 66.6%,transparent 66.8%),linear-gradient(to bottom,transparent 33.2%,#fff4 33.3%,transparent 33.5%,transparent 66.5%,#fff4 66.6%,transparent 66.8%)}.avatar-crop-frame i{position:absolute;width:17px;height:17px;border:3px solid white}.avatar-crop-frame i:nth-child(1){top:-2px;left:-2px;border-right:0;border-bottom:0}.avatar-crop-frame i:nth-child(2){top:-2px;right:-2px;border-left:0;border-bottom:0}.avatar-crop-frame i:nth-child(3){bottom:-2px;left:-2px;border-right:0;border-top:0}.avatar-crop-frame i:nth-child(4){bottom:-2px;right:-2px;border-left:0;border-top:0}.avatar-crop-handle{position:absolute;transform:translate(-50%,-50%);width:22px;height:22px;border:0;background:transparent;cursor:nwse-resize;padding:0}.avatar-crop-handle[hidden]{display:none}
.avatar-editor aside{padding:20px 16px;border:1px solid var(--theme-border-subtle,#353941);border-radius:14px;background:var(--theme-surface-card,#101215)}.avatar-editor aside section+section{border-top:1px solid var(--theme-border-subtle,#353941);margin-top:20px;padding-top:20px}.avatar-circular-preview{display:block;width:128px;height:128px;border-radius:50%;border:1px solid var(--theme-border-strong,#656972);margin:0 auto 12px}.avatar-preview-section p{text-align:center;font-size:12px}.avatar-crop-presets{display:flex;gap:8px}.avatar-crop-presets button{flex:1;min-width:0;padding:10px 2px;display:grid;justify-items:center;gap:7px;border:1px solid var(--theme-border-subtle,#353941);border-radius:10px;background:var(--theme-surface-interactive,#1b1d22);color:var(--theme-text-secondary,#b6bbc5);font:inherit;font-size:11px;cursor:pointer}.avatar-crop-presets button[aria-pressed=true]{color:var(--theme-functional,#219dff);border-color:var(--theme-functional,#219dff);box-shadow:0 0 0 1px var(--theme-functional,#219dff)}.avatar-crop-presets svg{width:22px;height:22px}.avatar-zoom-label{display:grid;grid-template-columns:1fr auto;gap:8px;font-size:12px;color:var(--theme-text-secondary,#b6bbc5);margin-bottom:14px}.avatar-zoom-label input{grid-column:1/-1;width:100%;accent-color:var(--theme-functional,#219dff)}.avatar-adjust{width:100%;display:flex;align-items:center;gap:12px;margin-top:10px;min-height:42px;padding:9px 14px;border:1px solid var(--theme-border-subtle,#353941);border-radius:10px;background:var(--theme-surface-interactive,#1b1d22);color:var(--theme-text-primary,#f4f5f7);font:inherit;font-size:12px;cursor:pointer}.avatar-adjust svg{width:20px;height:20px}.avatar-editor button{transition:background .12s,border-color .12s,transform .1s}.avatar-editor button:hover{background:var(--theme-surface-hover,#292c33)}.avatar-editor button:active{transform:scale(.98)}.avatar-editor>footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:26px}.avatar-editor>footer .button{min-height:44px;padding:0 24px;border-radius:12px}.avatar-editor>footer .button-primary{background:var(--theme-functional,#219dff);color:var(--theme-on-functional,#fff)}.avatar-editor>footer svg{width:20px;height:20px}.avatar-editor-error{font-size:12px;color:var(--theme-danger,#ff5368)}
@media(max-width:780px){.avatar-editor-backdrop{padding:12px}.avatar-editor{padding:18px;max-height:calc(100dvh - 24px)}.avatar-editor-content{grid-template-columns:1fr}.avatar-editor h2{font-size:20px}.avatar-editor aside{display:grid;grid-template-columns:1fr 1fr;gap:14px}.avatar-editor aside section+section{margin:0;padding:0;border:0}.avatar-editor aside section:last-child{grid-column:1/-1}.avatar-circular-preview{width:100px;height:100px}.avatar-editor>footer .button{padding:0 14px}}
@media(prefers-reduced-motion:reduce){.avatar-editor button{transition:none}}
.avatar-crop-stage{min-width:0;min-height:0;width:100%;align-self:center}.avatar-crop-stage>canvas{position:absolute;inset:0;display:block;min-width:0;min-height:0}
.avatar-crop-frame{pointer-events:auto;cursor:move}.avatar-crop-frame i{pointer-events:none}.avatar-crop-frame.is-dragging{cursor:grabbing}
.avatar-editor .avatar-crop-grip{position:absolute;z-index:2;padding:0;border:0;background:transparent;transform:none;transition:none}.avatar-editor .avatar-crop-grip:hover,.avatar-editor .avatar-crop-grip:active{background:transparent;transform:none}
.grip-n,.grip-s{left:14px;right:14px;height:26px;cursor:ns-resize}.grip-n{top:-13px}.grip-s{bottom:-13px}.grip-e,.grip-w{top:14px;bottom:14px;width:26px;cursor:ew-resize}.grip-e{right:-13px}.grip-w{left:-13px}
.grip-ne,.grip-nw,.grip-se,.grip-sw{width:28px;height:28px}.grip-ne,.grip-sw{cursor:nesw-resize}.grip-nw,.grip-se{cursor:nwse-resize}.grip-ne{top:-14px;right:-14px}.grip-nw{top:-14px;left:-14px}.grip-se{bottom:-14px;right:-14px}.grip-sw{bottom:-14px;left:-14px}
.avatar-editor>footer [data-avatar-save]{transition:filter .14s,box-shadow .14s,transform .1s;box-shadow:0 3px 10px rgba(var(--theme-functional-rgb,33,157,255),.12)}.avatar-editor>footer [data-avatar-save]:hover:not(:disabled){background:var(--theme-functional,#219dff);filter:brightness(1.07);box-shadow:0 4px 14px rgba(var(--theme-functional-rgb,33,157,255),.22)}.avatar-editor>footer [data-avatar-save]:active:not(:disabled){transform:translateY(1px) scale(.98);filter:brightness(.94)}.avatar-editor button:disabled{cursor:default;opacity:.65}.avatar-save-spinner{width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:avatar-saving .7s linear infinite}@keyframes avatar-saving{to{transform:rotate(360deg)}}
