*{box-sizing:border-box}html,body{background:#dfe3e8;width:100%;height:100%;margin:0;font-family:PingFang SC,Microsoft YaHei,Segoe UI,sans-serif}body{justify-content:center;align-items:center;display:flex}.page{background-color:#dfe3e8;background-position:50%;background-repeat:no-repeat;background-size:cover;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:relative;overflow:hidden}.page:before{content:"";z-index:0;background:#0f172a2e;position:absolute;inset:0}.modal{z-index:1;background:#ffffffe0;border:.0625rem solid #e5e7ebcc;border-radius:1.5rem;flex-direction:column;width:min(90vw,32.5rem);max-height:80vh;padding:1.75rem 1.5rem 1.375rem;display:flex;position:relative;overflow:hidden;box-shadow:0 .75rem 1.5rem #0f172a1a}.modal-header{justify-content:center;align-items:center;margin-bottom:1.125rem;display:flex}.modal-header .title{color:#d04775;text-align:center;width:100%;margin:0;font-size:2rem;font-weight:700;line-height:1.3}.modal-body{overscroll-behavior:contain;scrollbar-color:#91a1b2 transparent;scrollbar-width:thin;text-align:center;border-radius:1rem;max-height:calc(80vh - 7rem);overflow-y:auto}.modal-body::-webkit-scrollbar{width:.5rem}.modal-body::-webkit-scrollbar-thumb{background:#91a1b2 padding-box padding-box;border:.125rem solid #0000;border-radius:.5rem}.modal-body::-webkit-scrollbar-track{background:0 0}.modal-body .title{color:#111827;text-align:center;white-space:pre-line;margin-bottom:.625rem;font-size:1.12rem;font-weight:700}.context{color:#374151;text-align:center;word-break:break-word;font-size:1rem;line-height:1.8}.context .remark{color:#8050a7}.progress{margin-top:1.125rem;display:grid}.progress-track{background:#526170;border-radius:999rem;height:1.25rem;position:relative;overflow:hidden}.progress-fill{border-radius:inherit;width:0;height:100%;transition:width 15rem ease;background:#f94a4a;display:block}.progress-label{z-index:1;color:#fff;pointer-events:none;text-shadow:0 .0625rem .125rem #000000bf;place-items:center;font-size:.875rem;line-height:1.4;display:grid;position:absolute;inset:0}.image-selection{gap:1.125rem;display:grid}.image-selector-list{--selector-size:3rem;--selector-gap:1.125rem;justify-content:space-between;align-items:center;gap:var(--selector-gap);scrollbar-width:thin;flex-wrap:nowrap;width:100%;min-width:0;max-width:100%;padding:0;display:flex;overflow-x:auto}.image-selector{flex:0 0 var(--selector-size);width:var(--selector-size);height:var(--selector-size);border:.0625rem solid #0000;border-radius:50%;padding:0;overflow:hidden}.image-selector img{object-fit:cover;width:100%;height:100%;display:block}.image-selector.is-active{border-color:#2563eb;box-shadow:0 0 0 .125rem #fff}.image-selector.is-complete:not(.is-active){border-color:#16836f}.image-choice-list{overscroll-behavior:contain;scrollbar-width:thin;flex-wrap:wrap;place-content:flex-start center;gap:1.25rem .875rem;max-height:min(40vh,28rem);padding:.25rem 0;display:flex;overflow-y:auto}.image-choice-list::-webkit-scrollbar{width:.5rem}.image-choice-list::-webkit-scrollbar-thumb{background:#91a1b2 padding-box padding-box;border:.125rem solid #0000;border-radius:.5rem}.image-selection-results{grid-template-columns:repeat(2,minmax(0,1fr));justify-items:center;gap:.875rem;display:grid}.image-choice{aspect-ratio:3/4;background:#e5e7eb;border:.1875rem solid #0000;border-radius:50%;flex:0 calc(50% - .4375rem);width:auto;max-width:9.25rem;padding:0;overflow:hidden}.image-choice img,.image-selection-result img{object-fit:cover;width:100%;height:100%;display:block}.image-choice.is-selected{border-color:#16836f}.image-choice-list.is-empty{color:#526170;grid-column:1/-1;display:block}.image-selection-result{color:#374151;justify-items:center;gap:.5rem;width:100%;display:grid}.image-selection-result img{aspect-ratio:3/4;border-radius:50%;width:min(100%,9.25rem)}.buttons{justify-content:center;align-items:center;gap:.75rem;margin-top:.625rem;display:flex}button{appearance:none;cursor:pointer;border:.0625rem solid #ccc;border-radius:.75rem;padding:.5rem 1.375rem;font-size:.96rem}button:focus-visible,.modal:focus-visible{outline:unset;outline-offset:unset}.primary{color:#fff;background:#2563eb}.secondary{color:#686868;background:#fff}@media (width<=30rem){.modal{border-radius:1.125rem;padding:1.375rem 1.125rem 1.125rem}.title{font-size:1.45rem}.buttons{flex-direction:row}}