.photo-source-options{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}.photo-source-options .button{min-height:46px;margin:0}.photo-source-options svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5}.photo-source-options .camera-option{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--ink);background:#ffffff40;color:var(--ink);gap:9px}
.upload-dialog.camera-mode{width:min(540px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto}.selfie-camera{padding:28px 30px 20px;text-align:center}.selfie-camera .eyebrow{font-size:10px;letter-spacing:.12em;margin:0 24px 10px}.selfie-camera h2{font:400 30px/1.15 'Instrument Sans',sans-serif;letter-spacing:-.03em;text-transform:none;margin:0 0 8px}.camera-intro{font-size:14px;margin:0 0 18px;color:var(--muted)}
.camera-stage{position:relative;width:min(310px,100%);aspect-ratio:4/5;margin:auto;border-radius:18px;background:#d7d0c4;overflow:hidden;isolation:isolate}.camera-stage video,.camera-stage>img{display:block;width:100%;height:100%;object-fit:cover}.camera-stage video{transform:scaleX(-1)}.camera-guide{position:absolute;left:50%;top:45%;width:68%;aspect-ratio:34/45;transform:translate(-50%,-50%);border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 200px #201c1833,inset 0 0 0 1px #201c1822;transition:border-color .2s,box-shadow .2s}.is-ready .camera-guide{border-color:#79c99a;box-shadow:0 0 0 200px #201c1826,0 0 0 5px #79c99a33}.camera-ready-label{position:absolute;left:50%;bottom:20px;transform:translateX(-50%);border-radius:30px;background:#e6f5eaff;color:#235339;padding:6px 15px;font-size:12px}.camera-ready-label[hidden]{display:none}.camera-status{min-height:42px;font-size:14px;line-height:1.5;margin:14px 0 10px}.camera-actions{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px 20px}.camera-actions .button{min-width:170px;min-height:46px;border-radius:30px;font-size:12px}.camera-actions .text-button{font-size:12px;padding:8px 0}.camera-privacy{font-size:11px;line-height:1.5;color:var(--muted);margin:17px auto 0;max-width:340px}@media(max-height:760px){.camera-stage{width:min(245px,100%)}.selfie-camera{padding:22px 24px 18px}.selfie-camera h2{font-size:27px}}@media(max-width:450px){.selfie-camera{padding:26px 18px 18px}.camera-actions{flex-direction:column;gap:6px}.camera-actions .button{width:100%}.camera-intro{font-size:13px}.camera-stage{width:min(265px,100%)}}@media(prefers-reduced-motion:reduce){.camera-guide{transition:none}}
.upload-dialog.preparing-mode{width:min(540px,calc(100vw - 24px));max-height:calc(100svh - 24px);max-height:calc(100dvh - 24px);overflow:auto}.upload-dialog.preparing-mode .upload-content[hidden]{display:none}.selfie-preparation{min-height:390px;padding:54px 34px 34px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.selfie-preparation .eyebrow{font-size:10px;letter-spacing:.14em;margin:0 16px 24px}.selfie-preparation h2{font:400 32px/1.15 'Instrument Sans',sans-serif;letter-spacing:-.03em;margin:22px 0 12px}.selfie-preparation-status{font-size:14px;line-height:1.6;min-height:45px;max-width:320px;margin:0;color:var(--ink)}.selfie-preparation-note{font-size:12px;line-height:1.7;color:var(--muted);margin:12px 0 24px}.selfie-preparation .button{min-height:44px;border:1px solid #332a2440;background:#ffffff40;color:var(--ink);padding:12px 24px}.selfie-preparation-mark{width:58px;height:58px;border:1px solid #a34d3126;border-radius:50%;display:grid;place-items:center;background:#ffffff30}.selfie-preparation-mark span{display:block;width:36px;height:36px;border:1.5px solid #a34d3133;border-top-color:#a34d31;border-radius:50%;animation:selfie-preparation-turn 1.6s linear infinite}@keyframes selfie-preparation-turn{to{transform:rotate(360deg)}}@media(max-width:450px){.selfie-preparation{min-height:360px;padding:48px 24px 28px}.selfie-preparation h2{font-size:28px}.selfie-preparation .eyebrow{font-size:9px;letter-spacing:.1em}}@media(max-height:500px){.selfie-preparation{min-height:0;padding:36px 24px 22px}.selfie-preparation .eyebrow{margin-bottom:12px}.selfie-preparation-mark{width:40px;height:40px}.selfie-preparation-mark span{width:26px;height:26px}.selfie-preparation h2{margin-top:14px}.selfie-preparation-note{margin:8px 0 14px}}@media(prefers-reduced-motion:reduce){.selfie-preparation-mark span{animation:none}}
