.mobile-photo-entry{display:block;width:100%;text-align:start;font-size:12px;line-height:1.7;padding:12px 16px;border:1px solid var(--line);border-radius:7px;margin-top:12px}.mobile-photo-entry>span{display:block;font-size:10px;color:var(--muted)}#photo-dialog{width:min(100%,600px);max-width:100%;max-height:100dvh;padding:0;border:0;border-radius:12px;background:var(--paper);color:var(--ink)}#photo-dialog::backdrop{background:#102c29ab}.photo-inner{padding:24px}.photo-header{display:flex;gap:15px;align-items:flex-start;justify-content:space-between}.photo-header h2{font:500 34px/1.1 var(--serif)}.photo-header .eyebrow{font-size:7px;letter-spacing:.13em}.photo-header>button{font-size:28px;min-width:42px;min-height:42px}.photo-group-label{display:block;font-size:11px;margin:20px 0 12px}.photo-group-label select{display:block;width:100%;background:white;border:1px solid var(--line);border-radius:5px;padding:12px;font-size:16px;margin-top:6px}.photo-basics,.photo-pose-hint,.photo-clothing,.photo-privacy,.photo-unmirrored{font-size:11px;line-height:1.65;color:var(--muted);margin:12px 0}.photo-clothing{padding:13px;background:#e7efeb;border-radius:6px;color:var(--ink)}#photo-views{display:flex;gap:7px;margin:17px 0}#photo-views button{border:1px solid var(--line);border-radius:20px;min-width:40px;min-height:40px;font-size:11px}#photo-views [aria-current]{background:var(--green);color:white}.photo-stage-copy{display:flex;justify-content:space-between;gap:10px;font-size:12px;margin-bottom:8px}.camera-stage{width:min(100%,calc(48svh * .75));aspect-ratio:3/4;position:relative;background:#34554e;border-radius:9px;overflow:hidden;margin:auto;isolation:isolate}.camera-stage video,.camera-stage>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.camera-stage>img{object-fit:contain;background:#263e39}#photo-outline{position:absolute;inset:0;pointer-events:none}#photo-outline svg{width:100%;height:100%;stroke:none;filter:drop-shadow(0 1px 2px #000b)}#camera-placeholder{position:absolute;bottom:18px;left:15px;right:15px;text-align:center;font-size:9px;line-height:1.6;color:#fff;background:#1b3930b3;padding:8px;border-radius:5px}#photo-countdown{position:absolute;inset:0;display:grid;place-items:center;font-size:80px;color:white;background:#0003;z-index:2}.photo-unmirrored{font-size:9px}.photo-status{font-size:11px;color:var(--green);margin:10px 0;min-height:16px}.camera-buttons{display:flex;flex-wrap:wrap;gap:8px}.camera-buttons .primary{width:100%;margin:0}.camera-buttons .secondary{flex:1;min-width:130px;min-height:44px;font-size:10px}.photo-file{position:relative;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:10px;text-align:center;border:1px solid var(--line);border-radius:5px}.photo-file input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}.photo-file:focus-within{outline:2px solid var(--accent);outline-offset:3px}.photo-timer-row,.photo-review-actions{display:flex;gap:8px;align-items:center;justify-content:space-between;margin:10px 0;font-size:10px}.photo-timer-row label{display:flex;align-items:center;gap:7px;min-height:44px}.photo-timer-row button,.photo-review-actions button{min-height:44px;font-size:10px}.photo-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:16px}.photo-gallery button{padding:0;text-align:start}.photo-gallery img{width:100%;height:93px;object-fit:cover;border-radius:5px}.photo-gallery span{display:block;font-size:8px;line-height:1.4;margin-top:5px}.photo-finish{width:100%;margin-top:14px}.own-photo-summary{padding:18px 0;border-block:1px solid var(--line);margin:20px 0}.own-photo-summary h3{font:500 26px var(--serif);margin:0 0 10px}.own-photo-summary .photo-gallery{margin-bottom:15px}.own-photo-summary p{font-size:10px}.own-photo-summary label{display:flex!important;gap:9px;align-items:flex-start;font-size:11px!important}.own-photo-summary label input{width:auto!important;margin-top:4px!important}.own-photo-summary button{font-size:10px;min-height:44px;text-decoration:underline}.own-photo-summary .photo-gallery img{height:105px}.own-photo-summary .photo-gallery>figure{min-width:0}.own-photo-summary figcaption{font-size:8px}.own-photo-summary input{flex:none}
@media(max-width:760px){.mobile-photo-entry{display:block;margin-top:16px;border:1px solid var(--line);border-radius:7px;padding:15px;width:100%;text-align:start}.mobile-photo-entry strong{display:block;font-size:12px}.mobile-photo-entry span{display:block;font-size:10px;color:var(--muted);margin-top:4px}.request-step .mobile-photo-entry{font-size:10px;text-align:center;padding:8px;margin-top:8px}.request-step .mobile-photo-entry span{font-size:9px}#photo-dialog{height:100dvh;max-height:100dvh;width:100%;margin:0;border-radius:0}.photo-inner{padding:20px 19px calc(24px + env(safe-area-inset-bottom))}.photo-header h2{font-size:30px}.photo-pose-hint{font-size:10px}.camera-buttons{position:sticky;bottom:0;z-index:3;background:var(--paper);padding:8px 0;box-shadow:0 -8px 12px -12px #174a4666}}
@media(max-width:760px){.camera-buttons{position:static;box-shadow:none}.camera-active .photo-inner{height:100dvh;display:flex;flex-direction:column;gap:6px;padding:12px 16px}.camera-active .photo-inner> :not(.photo-header):not(.photo-stage-copy):not(.camera-stage):not(.camera-buttons):not(.photo-timer-row){display:none!important}.camera-active .photo-header{height:42px;flex:none;align-items:center}.camera-active .photo-header .eyebrow{display:none}.camera-active .photo-header h2{font-size:22px}.camera-active .photo-stage-copy{height:22px;margin:0;flex:none;font-size:11px}.camera-active .camera-stage{height:calc(100dvh - 250px);width:auto;max-width:100%;min-height:150px;flex:none;margin:0 auto}.camera-active .camera-buttons{padding:0;gap:6px;margin-top:auto}.camera-active .camera-buttons .primary{min-height:44px;padding:10px;font-size:11px}.camera-active .camera-buttons .secondary{min-height:38px;font-size:9px;padding:7px}.camera-active .photo-timer-row{margin:0;height:36px;flex:none}.camera-active .photo-timer-row label,.camera-active .photo-timer-row button{min-height:36px;font-size:9px}}
@media(max-width:760px){.can-share .send-options{display:flex;flex-direction:column}.can-share #native-share{order:-1;background:var(--green);color:white;min-height:50px;padding:12px;white-space:normal}.can-share #email-draft{background:transparent;color:var(--green);border:1px solid var(--line);font-size:10px}.own-photo-summary .photo-gallery button{font-size:8px;min-height:34px;text-align:start;padding:3px 0}}
@media(max-width:760px){.camera-active .camera-stage{--capture-height:clamp(120px,calc(100dvh - 250px),600px);height:var(--capture-height);width:calc(var(--capture-height) * .75);min-height:120px}}
/* Sculptural pose examples and an unobtrusive outline on the live photograph. */
#photo-dialog{background:#faf9f5}
.photo-header h2{font-size:38px;letter-spacing:-.02em;margin:3px 0 0}
.photo-header .eyebrow{font-size:8px;color:#8d8f7f;letter-spacing:.16em}
.photo-header>button{border-radius:50%;background:#efeee7;font-size:24px;min-width:36px;min-height:36px;margin-top:4px}
.photo-group-label{margin:16px 0 10px;font-size:10px;color:#6d7b70}
.photo-group-label select{border-color:#dcdfd3;background:#fffefa;border-radius:10px;padding:10px 12px}
#photo-views{display:flex;gap:6px;margin:13px 0 12px}
#photo-views button{position:relative;flex:1;min-width:0;min-height:70px;border:1px solid transparent;border-radius:12px;background:#f0eee7;overflow:hidden;padding:3px 0 7px;color:#6d756a}
#photo-views [aria-current]{background:#e5e9df;color:#214b40;border-color:#aebbaa;box-shadow:0 2px 7px #3e594012}
#photo-views button:focus-visible{outline:2px solid var(--green);outline-offset:3px}
.pose-tab-label{font-size:8px;display:block;line-height:1.25;white-space:nowrap;margin-top:2px}
.pose-tab-check{position:absolute;right:4px;top:4px;width:14px;height:14px;border-radius:50%;background:var(--green);color:white;font-size:9px;line-height:14px}
.photo-stage-copy{font-size:11px;margin-bottom:9px;align-items:center}
.photo-stage-copy strong{font-weight:400;letter-spacing:.02em}.photo-stage-copy>span{color:#8a9386;font-size:10px;letter-spacing:.08em}
.camera-stage{background:radial-gradient(ellipse at 48% 38%,#faf7f0 0%,#ece8de 65%,#deded2 100%);border-radius:19px;box-shadow:inset 0 0 0 1px #b5b9a52a;--pose-height:clamp(170px,calc(100svh - 390px),390px);width:min(100%,calc(var(--pose-height) * .75));}
.pose-art{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.pose-art img{position:absolute;max-width:none;object-fit:fill;width:100%;height:100%;left:0;top:0}
.pose-art--face img{width:91%;height:91%;left:4.5%;top:4%}
.pose-art--breast img{width:255%;height:255%;left:-77.5%;top:-40%}
.pose-art--abdomen img{width:210%;height:210%;left:-55%;top:-40%}
.pose-art--arms img{width:185%;height:185%;left:-42.5%;top:-28%}
.pose-art--legs img{width:167%;height:167%;left:-33.5%;top:-64%}
.pose-art--skin img{width:155%;height:155%;left:-30%;top:-24%}
.pose-art--mirror{transform:scaleX(-1)}
.pose-art--face:not(.pose-art--thumb){mask-image:linear-gradient(to bottom,#000 0%,#000 77%,transparent 96%)}
.pose-art--breast:not(.pose-art--thumb),.pose-art--abdomen:not(.pose-art--thumb),.pose-art--arms:not(.pose-art--thumb){mask-image:linear-gradient(to bottom,#000 0%,#000 89%,transparent 100%)}
.pose-art--thumb{position:relative;width:100%;height:39px;margin:auto}
.pose-art--thumb img{width:40px;height:54px;left:calc(50% - 20px);top:0;object-fit:contain}
.pose-art--thumb.pose-art--breast img,.pose-art--thumb.pose-art--abdomen img,.pose-art--thumb.pose-art--arms img{width:56px;height:75px;left:calc(50% - 28px);top:-8px}
.pose-art--thumb.pose-art--legs img{width:56px;height:75px;left:calc(50% - 28px);top:-30px}
#photo-outline{--guide-ink:#e8e9df;--guide-frame:#eff0e5}
#photo-outline svg{position:absolute;inset:0;filter:none;stroke:none;fill:none;display:none}
#photo-outline path{fill:none;stroke:var(--guide-ink);stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
#photo-outline .guide-frame{stroke:var(--guide-frame);stroke-width:1;opacity:.48}
#photo-outline .guide-level{stroke-width:1;stroke-dasharray:2 6;opacity:.45}
#camera-placeholder{bottom:12px;left:12px;right:12px;font-size:8px;font-weight:400;letter-spacing:.08em;color:#738071;background:none;padding:0;border-radius:0;text-transform:uppercase}
.camera-stage:has(.pose-art--legs) #camera-placeholder{bottom:auto;top:9px;font-size:7px;background:#eeece3db;border-radius:8px;padding:4px}
#photo-outline.illustration-unavailable .pose-art{display:none}
#photo-outline.illustration-unavailable svg{display:block;--guide-ink:#829081;--guide-frame:#a5ad9d}
.camera-active #photo-outline .pose-art{display:none}
.camera-active #photo-outline svg{display:block;filter:drop-shadow(0 1px 1.2px #102e27c4)}
.camera-active .camera-stage{background:#40594f;box-shadow:none}
.photo-pose-hint{font-size:10px;line-height:1.6;margin:12px 0 8px}
.photo-status:empty{display:none}.camera-buttons{margin-top:12px}
.photo-unmirrored{color:#869080;font-size:8px;line-height:1.55;margin-top:6px}
.camera-buttons .primary{border-radius:10px}.camera-buttons .secondary{border-radius:10px}
.photo-clothing{background:#edf0e7;border-radius:10px}.photo-finish{border-radius:10px}
@media(max-width:760px){.photo-inner{padding:18px 19px calc(24px + env(safe-area-inset-bottom))}.photo-header h2{font-size:36px}.camera-active .photo-header>button{min-width:32px;min-height:32px;margin:0}.camera-active .photo-header h2{font-size:25px}.camera-active .photo-inner{padding:12px 16px}}

/* Keep the neutral pose visible before the camera starts. */
#photo-outline .pose-art--neutral svg{display:block;--guide-ink:#567469;--guide-frame:#94a59a}

#photo-dialog.preview-mirrored #photo-video,#photo-dialog.preview-mirrored #photo-outline{transform:scaleX(-1)}
#photo-dialog #photo-mirror{min-height:34px;width:100%;flex-basis:100%;font-size:10px;border:1px solid var(--line);border-radius:20px;justify-content:center}
#photo-dialog #photo-mirror[aria-pressed=true]{background:#e8eee5;color:#234d3d}
@media(max-width:760px){.camera-active .camera-stage{--capture-height:clamp(120px,calc(100dvh - 292px),600px)}}

/* The preparation orb disappears into the user's own camera; saved photos stay unaltered. */
#photo-orb{position:absolute;width:100%;height:auto;aspect-ratio:1;top:50%;left:0;transform:translateY(-50%);border-radius:50%;z-index:2;pointer-events:none}
#photo-orb[hidden]{display:none}
#photo-dialog.photo-preparing .camera-stage{width:min(100%,300px);aspect-ratio:1;border-radius:50%;background:#09141c;box-shadow:none}
#photo-dialog.photo-preparing #photo-outline,#photo-dialog.photo-preparing #camera-placeholder{visibility:hidden}
#photo-dialog.photo-preparing #photo-mirror,#photo-dialog.photo-preparing .photo-unmirrored{display:none}
@media(max-height:700px){#photo-dialog.photo-preparing .camera-stage{width:min(100%,230px)}}
