.face-selector{flex-direction:column;align-items:center;gap:16px;padding:8px;display:flex}.face-selector-desc{color:color-mix(in srgb,var(--gallery-text,#fff)60%,transparent);text-align:center;margin:0;font-size:14px}.face-selector-image-container{border-radius:12px;width:100%;max-width:400px;position:relative;overflow:hidden}.face-selector-image{border-radius:12px;width:100%;display:block}.face-selector-overlay{width:100%;height:100%;position:absolute;top:0;left:0}.face-selector-box{border:2px solid var(--border-strong,#ffffffb3);cursor:pointer;background:0 0;border-radius:6px;padding:0;transition:border-color .2s,box-shadow .2s;position:absolute}.face-selector-box:hover{border-color:var(--text-primary,#fff)}.face-selector-box.selected{border-width:3px}.face-selector-check{border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;display:flex;position:absolute;bottom:-8px;left:50%;transform:translate(-50%)}.face-selector-actions{gap:12px;width:100%;max-width:400px;display:flex}.face-selector-retake{border:1px solid color-mix(in srgb,var(--gallery-text,#fff)20%,transparent);color:color-mix(in srgb,var(--gallery-text,#fff)75%,transparent);cursor:pointer;background:0 0;border-radius:10px;flex:1;padding:12px 16px;font-size:14px;font-weight:500}.face-selector-retake:hover{background:color-mix(in srgb,var(--gallery-text,#fff)8%,transparent)}.face-selector-confirm{color:#fff;cursor:pointer;border:none;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:6px;padding:12px 16px;font-size:14px;font-weight:600;transition:opacity .2s;display:flex}.face-selector-confirm:disabled{cursor:not-allowed}.selfie-enrollment-prompt{border:1px dashed color-mix(in srgb,var(--gallery-text,#fff)20%,transparent);border-radius:12px;flex-direction:column;align-items:center;gap:12px;margin-top:16px;padding:20px;display:flex}.selfie-enrollment-icon{color:color-mix(in srgb,var(--gallery-text,#fff)60%,transparent)}.selfie-enrollment-text{color:color-mix(in srgb,var(--gallery-text,#fff)60%,transparent);text-align:center;margin:0;font-size:14px}.selfie-enrollment-btn{color:#fff;cursor:pointer;border:none;border-radius:10px;padding:10px 24px;font-size:14px;font-weight:600}.selfie-enrollment-processing{flex-direction:column;align-items:center;gap:12px;padding:32px 20px;display:flex}.selfie-enrollment-processing p{color:color-mix(in srgb,var(--gallery-text,#fff)60%,transparent);margin:0;font-size:14px}.selfie-enrollment-processing .processing-spinner{border:3px solid color-mix(in srgb,var(--gallery-text,#fff)10%,transparent);border-top:3px solid;border-radius:50%;width:32px;height:32px;animation:1s linear infinite selfie-spin}@keyframes selfie-spin{to{transform:rotate(360deg)}}.selfie-enrollment-success{flex-direction:column;align-items:center;gap:12px;padding:20px;display:flex}.selfie-enrollment-success .success-check{border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.selfie-enrollment-success .success-text{color:color-mix(in srgb,var(--gallery-text,#fff)60%,transparent);text-align:center;margin:0;font-size:14px}.selfie-enrollment-error{flex-direction:column;align-items:center;gap:12px;padding:20px;display:flex}.selfie-enrollment-error .error-msg{color:#ff6b6b;text-align:center;margin:0;font-size:14px}.selfie-enrollment-error .retry-btn{color:#fff;cursor:pointer;border:none;border-radius:10px;padding:10px 24px;font-size:14px;font-weight:600}.selfie-enrollment-error .cancel-btn{border:1px solid color-mix(in srgb,var(--gallery-text,#fff)20%,transparent);color:color-mix(in srgb,var(--gallery-text,#fff)60%,transparent);cursor:pointer;background:0 0;border-radius:8px;padding:8px 16px;font-size:13px}