.photo-crop-open{overflow:hidden}.photo-crop-overlay{position:fixed;inset:0;z-index:4000;display:flex;align-items:center;justify-content:center;padding:12px;background:#020711d9;color:#edf4ff;font:14px system-ui,sans-serif}.photo-crop-overlay *{box-sizing:border-box}.photo-crop-dialog{width:min(580px,100%);max-height:94dvh;overflow:auto;background:#102033;border:1px solid #6386a94d;border-radius:20px;padding:16px;box-shadow:0 18px 70px #0007}.photo-crop-dialog header,.photo-crop-dialog footer,.photo-crop-tools{display:flex;align-items:center;justify-content:space-between;gap:10px}.photo-crop-dialog header strong{font-size:18px}.photo-crop-dialog p{color:#b6c9dc;line-height:1.45;margin:10px 0}.photo-crop-dialog button{min-height:42px;padding:9px 13px;border:1px solid #6386a980;border-radius:12px;background:#18324c;color:#f3f8ff;font:inherit;cursor:pointer}.photo-crop-dialog button:focus-visible,.photo-crop-stage:focus-visible{outline:2px solid #63e5b6;outline-offset:3px}.photo-crop-dialog [data-crop-apply]{background:#087d53;border-color:#24c88b}.photo-crop-dialog button:disabled{opacity:.5}.photo-crop-stage{position:relative;margin:12px auto;width:100%;max-width:440px;aspect-ratio:1;touch-action:none;overflow:hidden;background:#07111f;border:1px solid #95aec755;border-radius:12px;cursor:grab}.photo-crop-stage.is-cover{aspect-ratio:16/7;max-width:none}.photo-crop-stage canvas{display:block;width:100%;height:100%}.photo-crop-mask{position:absolute;inset:0;pointer-events:none;border:1px solid #ffffffa0}.is-avatar .photo-crop-mask{border-radius:50%;box-shadow:0 0 0 200px #02071199}.photo-crop-zoom{display:flex;align-items:center;gap:12px;margin:12px 0}.photo-crop-zoom input{flex:1;min-width:0;accent-color:#32d69d}.photo-crop-status{min-height:20px}.photo-crop-dialog footer{justify-content:flex-end;flex-wrap:wrap}.profile-photo-preview{width:min(100%,440px);aspect-ratio:16/7;object-fit:cover;border-radius:14px;border:1px solid var(--line,#6386a94d)}.profile-photo-preview.is-avatar{width:150px;aspect-ratio:1;border-radius:50%}.profile-photo-preview[hidden]{display:none}.profile-photo-status{min-height:20px;color:var(--muted,#b6c9dc)}@media(max-width:480px){.photo-crop-dialog{padding:12px}.photo-crop-dialog header strong{font-size:16px}.photo-crop-stage.is-avatar{max-width:min(76vw,42dvh)}}
