.profile-photo-dialog{box-sizing:border-box;width:min(94vw,420px);max-height:calc(100dvh - 28px);overflow:auto;border:1px solid var(--line,#e4dce8);border-radius:24px;padding:22px;color:var(--ink,#332c3e);background:var(--surface,#fffafc);box-shadow:0 20px 70px #1f112744;font:inherit}
.profile-photo-dialog::backdrop{background:#211b2b99;backdrop-filter:blur(4px)}
.profile-photo-dialog h2{font-size:20px;margin:0 0 8px}.profile-photo-help{font-size:13px;line-height:1.6;margin:0 0 14px;color:var(--ink-2,#665c72)}
.profile-photo-stage{display:block;box-sizing:border-box;width:min(100%,320px);height:auto;aspect-ratio:1;margin:0 auto;border:1px solid var(--line,#e4dce8);border-radius:50%;background:#eee8f0;touch-action:none;cursor:grab;outline-offset:4px}.profile-photo-stage:active{cursor:grabbing}.profile-photo-stage[aria-disabled=true]{cursor:default}
.profile-photo-zoom{display:flex;align-items:center;gap:12px;margin:16px 0;font-size:14px;white-space:nowrap}.profile-photo-zoom input{flex:1;width:100%;min-width:0;accent-color:#74528b}.profile-photo-zoom output{min-width:40px;text-align:right;font-variant-numeric:tabular-nums}
.profile-photo-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.profile-photo-actions button{font:inherit;font-size:14px;min-height:44px;padding:10px 14px;border:1px solid var(--line,#d7c9df);border-radius:12px;background:var(--surface,#fff);color:var(--ink,#332c3e);cursor:pointer}.profile-photo-actions .profile-photo-save{margin-left:auto;background:#705080;border-color:#705080;color:white}.profile-photo-actions button:disabled{opacity:.55;cursor:default}
.profile-photo-status{font-size:13px;line-height:1.5;min-height:20px;margin:10px 0 0;color:var(--ink-2,#665c72)}.profile-photo-dialog :focus-visible{outline:3px solid #9570b1;outline-offset:3px}
@media(max-width:360px){.profile-photo-dialog{padding:16px}.profile-photo-actions{gap:6px}.profile-photo-actions button{padding:9px 11px}}
@media(prefers-reduced-motion:reduce){.profile-photo-dialog{scroll-behavior:auto}}
