.avatar-uploader{min-width:0;color:var(--color-text);border:0;margin:0;padding:0}.avatar-uploader legend{clip-path:inset(50%);width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.avatar-uploader__control{place-items:center;width:fit-content;margin:0 auto;padding:.35rem;display:grid;position:relative}.avatar-uploader__dropzone{box-sizing:border-box;width:8rem;height:8rem;min-height:0;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;transition:transform .16s;display:grid;position:relative}.avatar-uploader__dropzone:hover{background:0 0}.avatar-uploader__dropzone:hover .avatar-uploader__preview{border-color:var(--color-primary);box-shadow:0 12px 30px color-mix(in srgb, var(--color-primary) 16%, transparent)}.avatar-uploader__dropzone:active{transform:scale(.995)}.avatar-uploader__dropzone:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}.avatar-uploader__input{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.avatar-uploader__preview{border:2px solid color-mix(in srgb, var(--color-primary) 45%, transparent);width:7.5rem;height:7.5rem;color:var(--color-primary);background:var(--color-surface);border-radius:50%;place-items:center;transition:border-color .16s,box-shadow .16s;display:grid;position:relative;overflow:visible;box-shadow:0 10px 26px #0f172a1a}.avatar-uploader__preview img{border-radius:inherit;object-fit:cover;width:100%;height:100%}.avatar-uploader__camera-badge{border:2px solid var(--color-surface-subtle);color:#fff;background:var(--color-primary);pointer-events:none;border-radius:50%;place-items:center;width:1.9rem;height:1.9rem;display:grid;position:absolute;bottom:-.1rem;right:-.25rem}.avatar-uploader__remove{z-index:1;border:1px solid color-mix(in srgb, #b91c1c 24%, var(--color-border));color:#b91c1c;background:color-mix(in srgb, var(--color-surface) 88%, #fee2e2);width:2.75rem;height:2.75rem;box-shadow:var(--shadow-card);cursor:pointer;border-radius:50%;place-items:center;padding:0;transition:color .16s,background-color .16s,transform .16s;display:grid;position:absolute;top:-.1rem;right:-.1rem}.avatar-uploader__remove:hover{color:#991b1b;background:color-mix(in srgb, var(--color-surface) 70%, #fee2e2)}.avatar-uploader__remove:active{transform:scale(.94)}.avatar-uploader__remove:focus-visible,.avatar-uploader__back:focus-visible,.avatar-uploader__source-action:focus-visible{outline-offset:3px;outline:3px solid #7aa7ff}.avatar-uploader__progress{background:var(--color-surface-subtle);border-radius:999px;height:1.35rem;margin-top:.5rem;display:grid;position:relative;overflow:hidden}.avatar-uploader__progress>span{border-radius:inherit;background:color-mix(in srgb, var(--color-primary) 28%, transparent);transition:width .18s;position:absolute;inset:0 auto 0 0}.avatar-uploader__progress small{z-index:1;color:var(--color-text);align-self:center;padding-inline:.6rem;font-size:.7rem;font-weight:700}.avatar-uploader__error{color:#b91c1c;margin-top:.45rem;font-weight:600;display:block}.avatar-uploader:disabled{opacity:.68}.avatar-uploader__modal-layer{z-index:3000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#070a11c7;place-items:center;min-height:100dvh;padding:1rem;display:grid;position:fixed;inset:0}.avatar-uploader__modal{color:#f8fafc;background:#202124;border:1px solid #ffffff1a;border-radius:1.75rem;grid-template-rows:auto minmax(0,1fr);width:min(100%,44rem);height:min(52rem,100dvh - 2rem);display:grid;overflow:hidden;box-shadow:0 30px 90px #00000073}.avatar-uploader__modal-header{padding:max(1rem, env(safe-area-inset-top)) 1rem .75rem;grid-template-columns:3rem minmax(0,1fr) 3rem;align-items:center;gap:.5rem;display:grid}.avatar-uploader__modal-header h2{text-align:center;margin:0;font-size:clamp(1.25rem,4vw,1.65rem)}.avatar-uploader__back{color:#fff;cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;width:3rem;height:3rem;padding:0;display:grid}.avatar-uploader__back:hover{background:#ffffff17}.avatar-uploader__header-spacer{width:3rem}.avatar-uploader__source-stage{min-height:0;padding:clamp(3rem, 9vh, 6rem) 1.5rem calc(1.5rem + env(safe-area-inset-bottom));grid-template-rows:auto auto auto 1fr;align-content:start;justify-items:center;gap:clamp(2.75rem,8vh,5rem);display:grid;position:relative}.avatar-uploader__source-preview{color:#87a7ff;background:linear-gradient(145deg,#d9f7ff,#a9e0f3);border:1px solid #ffffff2e;border-radius:2.25rem;place-items:center;width:13rem;height:13rem;display:grid;overflow:hidden;box-shadow:0 16px 40px #00000040}.avatar-uploader__source-preview img{object-fit:cover;width:100%;height:100%}.avatar-uploader__source-actions{grid-template-columns:repeat(2,minmax(8rem,1fr));gap:clamp(2.5rem,12vw,6rem);width:min(100%,32rem);display:grid}.avatar-uploader__source-action{color:#fff;min-height:8rem;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:1.25rem;justify-items:center;gap:1.1rem;padding:1rem;display:grid}.avatar-uploader__source-action:hover{background:#ffffff12}.avatar-uploader__source-action svg{stroke-width:1.55px;width:3.25rem;height:3.25rem}.avatar-uploader__source-action strong{font-size:1.25rem}.avatar-uploader__source-help{color:#ffffff94;text-align:center;align-self:end;margin:0;font-size:.82rem}.avatar-uploader__modal-error{color:#fecaca;text-align:center;background:#7f1d1d47;border:1px solid #fca5a547;border-radius:.75rem;max-width:32rem;padding:.75rem 1rem;font-weight:650;display:block}.avatar-uploader__crop-stage{min-height:0;padding:0 1.25rem calc(1.25rem + env(safe-area-inset-bottom));grid-template-rows:minmax(0,1fr) auto;gap:.8rem;display:grid}.avatar-uploader__crop-stage .image-crop-editor{grid-template-rows:minmax(16rem,1fr) auto auto auto;min-height:0;display:grid}.avatar-uploader__crop-stage .image-crop-editor__viewport{background:#111215;border-color:#ffffff24;border-radius:.5rem;min-height:0}.avatar-uploader__crop-stage .image-crop-editor__controls label{color:#f8fafc}.avatar-uploader__crop-stage .image-crop-editor__controls input{accent-color:#5b7cfa}.avatar-uploader__crop-stage .image-crop-editor__actions{background:#ffffff0a;border:1px solid #ffffff1f;border-radius:.75rem;width:min(100%,32rem);margin-inline:auto;padding:.75rem}.avatar-uploader__crop-stage .ui-button{border-color:#ffffff2e}.avatar-uploader__crop-stage .image-crop-editor__confirm{min-width:10rem}.avatar-uploader__crop-stage .ui-button--toner{color:#fff;background:#ffffff14}.avatar-uploader__crop-stage .ui-button--fill{color:#fff;background:#3659e3}.avatar-uploader__crop-stage .image-crop-editor__error{color:#fecaca}@media (width<=34rem){.avatar-uploader__dropzone{width:7.5rem;height:7.5rem}.avatar-uploader__preview{width:7rem;height:7rem}.avatar-uploader__modal-layer{background:#202124;padding:0}.avatar-uploader__modal{width:100%;height:100dvh;box-shadow:none;border:0;border-radius:0}.avatar-uploader__source-stage{padding-inline:1rem}.avatar-uploader__source-actions{gap:1rem}.avatar-uploader__crop-stage{padding-inline:.75rem}.avatar-uploader__crop-stage .image-crop-editor{gap:.75rem}.avatar-uploader__crop-stage .image-crop-editor__controls{grid-template-columns:repeat(2,minmax(0,1fr))}.avatar-uploader__crop-stage .image-crop-editor__controls label{grid-template-columns:1fr;gap:.3rem}.avatar-uploader__crop-stage .ui-button{min-width:0;padding-inline:.5rem;font-size:.78rem}.avatar-uploader__crop-stage .image-crop-editor__confirm{min-width:0}}@media (width<=22rem){.avatar-uploader__source-actions{grid-template-columns:1fr}.avatar-uploader__source-action{grid-template-columns:auto 1fr;place-items:center start;min-height:4.5rem}}@media (pointer:coarse){.avatar-uploader__remove{width:3rem;height:3rem}}@media (prefers-reduced-motion:reduce){.avatar-uploader__dropzone,.avatar-uploader__remove{transition:none}}
