.profile-photo-crop-modal{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:22px;font-family:inherit}
.profile-photo-crop-modal[hidden]{display:none}
.profile-photo-crop-modal__backdrop{position:absolute;inset:0;background:rgba(33,24,30,.54);backdrop-filter:blur(5px)}
.profile-photo-crop-modal__dialog{position:relative;width:min(640px,100%);max-height:calc(100dvh - 36px);overflow:auto;border:1px solid rgba(122,45,87,.18);border-radius:24px;background:#fff;box-shadow:0 30px 90px rgba(55,22,40,.26);padding:22px}
.profile-photo-crop-modal__head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}
.profile-photo-crop-modal__eyebrow{display:block;margin-bottom:4px;color:#8a315f;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.profile-photo-crop-modal h2{margin:0;color:#2f2930;font-size:24px;line-height:1.15}
.profile-photo-crop-modal__head p{margin:7px 0 0;color:#756c72;font-size:13px;line-height:1.45}
.profile-photo-crop-modal__close{width:38px;height:38px;flex:0 0 38px;border:1px solid #ead5e0;border-radius:50%;background:#fff;color:#7a2d57;font-size:24px;line-height:1;cursor:pointer}
.profile-photo-crop-modal__stage{display:grid;place-items:center}
.profile-photo-crop-modal__frame{position:relative;width:min(430px,78vw);aspect-ratio:1/1;border:2px solid #7a2d57;border-radius:18px;overflow:hidden;background:#f4eef1;box-shadow:inset 0 0 0 1px rgba(255,255,255,.72);touch-action:none;cursor:grab}
.profile-photo-crop-modal__frame.is-dragging{cursor:grabbing}
.profile-photo-crop-modal__canvas{width:100%;height:100%;display:block}
.profile-photo-crop-modal__circle{position:absolute;inset:6%;border:2px solid rgba(255,255,255,.95);border-radius:50%;box-shadow:0 0 0 999px rgba(34,22,29,.28),0 0 0 1px rgba(122,45,87,.45);pointer-events:none}
.profile-photo-crop-modal__corner{position:absolute;inset:0;border:1px solid rgba(255,255,255,.75);border-radius:16px;pointer-events:none}
.profile-photo-crop-modal__controls{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;margin:18px auto 0;max-width:430px}
.profile-photo-crop-modal__controls label{font-size:12px;font-weight:800;color:#51454d}
.profile-photo-crop-modal__controls input[type=range]{width:100%;accent-color:#7a2d57}
.profile-photo-crop-modal__reset{border:1px solid #e7ccd9;border-radius:999px;background:#fff;color:#7a2d57;font-weight:800;padding:8px 12px;cursor:pointer}
.profile-photo-crop-modal__actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:20px}
.profile-photo-crop-modal__button{min-height:42px;padding:10px 17px;border-radius:999px;border:1px solid #dfbfce;background:#fff;color:#6d2b4c;font-weight:850;cursor:pointer}
.profile-photo-crop-modal__button--primary{border-color:#7a2d57;background:#7a2d57;color:#fff;box-shadow:0 8px 20px rgba(122,45,87,.18)}
.profile-photo-crop-modal__button:hover{transform:translateY(-1px)}
.profile-photo-control__file{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;overflow:hidden!important}
.profile-photo-control__actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.profile-photo-control__pick{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 16px;border:0;border-radius:12px;background:#7a2d57;color:#fff;font:inherit;font-weight:800;cursor:pointer}
.profile-photo-control__pick:hover{filter:brightness(.97)}
.profile-photo-control__preview.is-photo img,[data-profile-photo-preview].is-photo img{width:100%;height:100%;object-fit:cover;display:block;border-radius:inherit}
body.profile-photo-crop-open{overflow:hidden!important}
@media(max-width:620px){.profile-photo-crop-modal{padding:10px}.profile-photo-crop-modal__dialog{padding:17px;border-radius:20px}.profile-photo-crop-modal h2{font-size:20px}.profile-photo-crop-modal__frame{width:min(420px,88vw)}.profile-photo-crop-modal__controls{grid-template-columns:1fr auto}.profile-photo-crop-modal__controls label{grid-column:1/-1}.profile-photo-crop-modal__actions{display:grid;grid-template-columns:1fr}.profile-photo-crop-modal__button{width:100%}}
