.change-photo-modal{--change-photo-accent:var(--brand-500);--change-photo-accent-hover:var(--brand-600);--change-photo-accent-soft:color-mix(in srgb, var(--brand-500) 10%, white);--change-photo-accent-border:color-mix(in srgb, var(--brand-500) 32%, white);--change-photo-focus-ring:color-mix(in srgb, var(--brand-500) 16%, transparent);--change-photo-text:#18181b;--change-photo-muted:#71717a;--change-photo-line:#e4e4e7;--change-photo-surface:#fff;--change-photo-dropzone-bg:#fafafa;flex-direction:column;gap:1.15rem;display:flex}.change-photo-modal__dropzone{border:1.5px solid var(--change-photo-line);background:var(--change-photo-dropzone-bg);cursor:pointer;border-radius:1rem;flex-direction:column;justify-content:center;align-items:center;gap:.85rem;min-height:11.5rem;padding:1.75rem 1.25rem;transition:border-color .15s,background-color .15s,box-shadow .15s;display:flex}.change-photo-modal__dropzone:hover,.change-photo-modal__dropzone:focus-visible{border-color:var(--change-photo-accent-border);background:var(--change-photo-accent-soft);outline:none}.change-photo-modal__dropzone--active{border-color:var(--change-photo-accent);background:var(--change-photo-accent-soft);box-shadow:inset 0 0 0 1px var(--change-photo-accent)}.change-photo-modal__drop-icon{background:var(--change-photo-accent);color:#fff;border-radius:999px;justify-content:center;align-items:center;width:3.5rem;height:3.5rem;display:inline-flex}.change-photo-modal__drop-label{color:var(--change-photo-text);margin:0;font-size:.975rem;font-weight:500}.change-photo-modal__divider{color:var(--change-photo-muted);align-items:center;gap:.85rem;font-size:.875rem;display:flex}.change-photo-modal__divider:before,.change-photo-modal__divider:after{content:"";background:var(--change-photo-line);flex:auto;height:1px}.change-photo-modal__actions{flex-wrap:wrap;gap:.75rem;display:flex}.change-photo-modal__btn{cursor:pointer;border-radius:999px;flex:12rem;justify-content:center;align-items:center;gap:.5rem;min-height:2.75rem;padding:.65rem 1.15rem;font-size:.875rem;font-weight:600;line-height:1.2;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.change-photo-modal__btn:disabled{opacity:.6;cursor:not-allowed}.change-photo-modal__btn--outline{border:1.5px solid var(--change-photo-accent);background:var(--change-photo-surface);color:var(--change-photo-accent)}.change-photo-modal__btn--outline:hover:not(:disabled){background:var(--change-photo-accent-soft)}.change-photo-modal__btn--soft{border:1.5px solid var(--change-photo-accent-border);background:var(--change-photo-accent-soft);color:var(--change-photo-accent)}.change-photo-modal__btn--soft:hover:not(:disabled){background:var(--change-photo-accent-soft);border-color:var(--change-photo-accent)}.change-photo-modal__error{color:#b91c1c;background:#fef2f2;border-radius:.5rem;margin:0;padding:.65rem .8rem;font-size:.8125rem;line-height:1.4}.change-photo-modal__visibility{flex-direction:column;gap:.85rem;padding-top:.35rem;display:flex}.change-photo-modal__visibility-title{color:var(--change-photo-text);margin:0;font-size:.975rem;font-weight:700}.change-photo-modal__option{cursor:pointer;grid-template-columns:auto auto minmax(0,1fr);align-items:start;column-gap:.7rem;display:grid}.change-photo-modal__option input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.change-photo-modal__option-radio{border:1.5px solid var(--change-photo-line);background:var(--change-photo-surface);border-radius:999px;flex:none;justify-content:center;align-items:center;width:1.15rem;height:1.15rem;margin-top:.15rem;display:inline-flex}.change-photo-modal__option-radio:after{content:"";background:0 0;border-radius:999px;width:.45rem;height:.45rem}.change-photo-modal__option input:checked+.change-photo-modal__option-radio{border-color:var(--change-photo-accent)}.change-photo-modal__option input:checked+.change-photo-modal__option-radio:after{background:var(--change-photo-accent)}.change-photo-modal__option input:focus-visible+.change-photo-modal__option-radio{box-shadow:0 0 0 3px var(--change-photo-focus-ring)}.change-photo-modal__option-icon{color:var(--change-photo-muted);flex:none;justify-content:center;align-items:center;margin-top:.1rem;display:inline-flex}.change-photo-modal__option-copy{flex-direction:column;gap:.15rem;min-width:0;display:flex}.change-photo-modal__option-label{color:var(--change-photo-text);font-size:.9rem;font-weight:700;line-height:1.3}.change-photo-modal__option-desc{color:var(--change-photo-muted);font-size:.8125rem;line-height:1.45}.change-photo-modal__upload-status{color:var(--change-photo-muted);margin:0;font-size:.8125rem}.change-photo-modal__dropzone--has-file{background:radial-gradient(circle at 50% 18%, var(--change-photo-accent-soft), transparent 58%), var(--change-photo-dropzone-bg);border-style:solid;gap:.9rem;padding:1.5rem 1.35rem 1.35rem;overflow:visible}.change-photo-modal__dropzone--has-file:hover,.change-photo-modal__dropzone--busy:hover{border-color:var(--change-photo-line);background:radial-gradient(circle at 50% 18%, var(--change-photo-accent-soft), transparent 58%), var(--change-photo-dropzone-bg)}.change-photo-modal__dropzone--busy{cursor:default}.change-photo-modal__file-stage{flex-direction:column;align-items:stretch;gap:.7rem;width:min(100%,9.75rem);display:flex}.change-photo-modal__file-box{background:var(--change-photo-surface);width:100%;box-shadow:0 0 0 1px color-mix(in srgb, var(--change-photo-accent) 18%, var(--change-photo-line)), 0 10px 28px -14px #00000047;border-radius:1rem;padding:.28rem;transition:box-shadow .18s;position:relative}.change-photo-modal__file-box--busy{--upload-progress:0;background:linear-gradient(var(--change-photo-surface), var(--change-photo-surface)) padding-box, conic-gradient(from -90deg, color-mix(in srgb, var(--change-photo-accent) 70%, white) 0deg, var(--change-photo-accent) calc(var(--upload-progress) * 3.6deg), color-mix(in srgb, var(--change-photo-line) 55%, #d4d4d8) 0deg) border-box;box-shadow:0 0 0 1px color-mix(in srgb, var(--change-photo-accent) 35%, transparent), 0 0 18px color-mix(in srgb, var(--change-photo-accent) 28%, transparent), 0 10px 28px -14px #00000047;border:3px solid #0000}.change-photo-modal__file-box--error{box-shadow:0 0 0 2px #ef4444,0 10px 28px -12px #dc262666}.change-photo-modal__file-box-frame{aspect-ratio:1;background:#111827;border-radius:.78rem;position:relative;overflow:hidden}.change-photo-modal__file-box-thumb{object-fit:cover;width:100%;height:100%;display:block}.change-photo-modal__file-box-veil{pointer-events:none;background:#0006;position:absolute;inset:0}.change-photo-modal__file-box-progress-label{z-index:1;font-variant-numeric:tabular-nums;letter-spacing:.02em;color:#fff;text-shadow:0 1px 10px #0000008c;pointer-events:none;justify-content:center;align-items:center;margin:0;font-size:1.05rem;font-weight:800;display:flex;position:absolute;inset:0}.change-photo-modal__file-box-cover{z-index:2;-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px);background:#ffffff94;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.change-photo-modal__file-box-retry{color:#fafafa;letter-spacing:.01em;cursor:pointer;background:#18181b;border:0;border-radius:999px;justify-content:center;align-items:center;gap:.35rem;margin:0;padding:.45rem .9rem;font-size:.75rem;font-weight:700;transition:transform .15s,background-color .15s;display:inline-flex;box-shadow:0 6px 16px #0003}.change-photo-modal__file-box-retry svg{flex-shrink:0}.change-photo-modal__file-box-retry:hover{background:#dc2626;transform:scale(1.04)}.change-photo-modal__file-box-retry:focus-visible{outline-offset:2px;outline:2px solid #ef4444}.change-photo-modal__file-box-close{z-index:3;color:#fafafa;cursor:pointer;width:1.65rem;height:1.65rem;box-shadow:0 0 0 2px var(--change-photo-surface), 0 6px 14px #00000038;background:#18181b;border:0;border-radius:999px;justify-content:center;align-items:center;margin:0;padding:0;transition:transform .15s,background-color .15s;display:inline-flex;position:absolute;top:-.4rem;right:-.4rem}.change-photo-modal__file-box-close:hover{background:#dc2626;transform:scale(1.05)}.change-photo-modal__file-box-close:focus-visible{outline:2px solid var(--change-photo-accent);outline-offset:2px}.change-photo-modal__file-box-error{color:#b91c1c;text-align:center;background:#fef2f2;border-radius:.55rem;margin:0;padding:.35rem .45rem;font-size:.72rem;line-height:1.35}.dark .change-photo-modal__file-box{box-shadow:0 0 0 1px color-mix(in srgb, var(--change-photo-accent) 28%, var(--change-photo-line)), 0 14px 30px -16px #000000b3}.dark .change-photo-modal__file-box--busy{background:linear-gradient(var(--change-photo-surface), var(--change-photo-surface)) padding-box, conic-gradient(from -90deg, color-mix(in srgb, var(--change-photo-accent) 65%, white) 0deg, var(--change-photo-accent) calc(var(--upload-progress) * 3.6deg), color-mix(in srgb, var(--change-photo-line) 40%, #09090b) 0deg) border-box;box-shadow:0 0 0 1px color-mix(in srgb, var(--change-photo-accent) 45%, transparent), 0 0 22px color-mix(in srgb, var(--change-photo-accent) 35%, transparent), 0 14px 30px -16px #000000b3}.dark .change-photo-modal__file-box--error{box-shadow:0 0 0 2px #f87171,0 14px 30px -14px #f8717159}.dark .change-photo-modal__file-box-cover{background:#ffffff6b}.dark .change-photo-modal__file-box-retry{color:#18181b;background:#fafafa}.dark .change-photo-modal__file-box-retry:hover{color:#fff;background:#ef4444}.dark .change-photo-modal__file-box-close{color:#18181b;box-shadow:0 0 0 2px var(--change-photo-surface), 0 6px 14px #00000073;background:#fafafa}.dark .change-photo-modal__file-box-close:hover{color:#fff;background:#ef4444}.dark .change-photo-modal__file-box-error{color:#fca5a5;background:#450a0a}.dark .change-photo-modal{--change-photo-accent:var(--brand-400);--change-photo-accent-hover:var(--brand-300);--change-photo-accent-soft:color-mix(in srgb, var(--brand-400) 14%, #18181b);--change-photo-accent-border:color-mix(in srgb, var(--brand-400) 30%, #3f3f46);--change-photo-focus-ring:color-mix(in srgb, var(--brand-400) 18%, transparent);--change-photo-text:#fafafa;--change-photo-muted:#a1a1aa;--change-photo-line:#3f3f46;--change-photo-surface:#18181b;--change-photo-dropzone-bg:#09090b}.dark .change-photo-modal__error{color:#fca5a5;background:#450a0a}
