:root{color-scheme:dark;--bg:#111012;--panel:#1d1a1d;--text:#faf4f1;--muted:#aaa1a4;--accent:#f5b5ac;--line:#332b30;--font:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{cursor:default}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:4px}svg{width:22px;height:22px;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}[hidden]{display:none!important}.ambient{position:fixed;z-index:-1;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 5%,#50313827,transparent 52%)}.app{max-width:680px;margin:auto;padding:0 24px 170px}.header{padding-top:max(22px,env(safe-area-inset-top));padding-bottom:27px}.topline{display:flex;align-items:center;height:32px;margin-bottom:18px;position:relative}.step-count{font-size:11px;font-weight:650;letter-spacing:2px;color:#e8d8d5}.step-count span{color:#766d73;margin-left:4px}.adult{margin-left:auto;color:#a89b9e;border:1px solid var(--line);border-radius:7px;padding:4px 6px;font-size:10px;font-weight:600;letter-spacing:1px}.back{width:30px;height:32px;display:grid;place-items:center;background:transparent;border:0;color:#d2c4c7;margin-left:-9px;margin-right:9px;padding:0}.progress{display:flex;gap:5px}.progress span{height:3px;border-radius:5px;flex:1;background:#31292f;transition:background .2s}.progress .done{background:#bb817c}.progress .current{background:#f5b5ac;box-shadow:0 0 12px #f5b5ac32}main:focus{outline:none}.intro{text-align:center;margin-bottom:23px}.eyebrow{text-transform:uppercase;font-size:10px;letter-spacing:2.5px;font-weight:650;color:var(--accent);margin:0 0 12px}h1{font-size:clamp(30px,7.9vw,43px);line-height:1.12;letter-spacing:-1.5px;font-weight:620;margin:0 0 12px}h1 em{font-family:Georgia,"Times New Roman",serif;font-weight:400;color:var(--accent)}.subtitle{font-size:13px;line-height:1.65;color:var(--muted);margin:0}.face-note{display:flex;align-items:center;gap:12px;padding:14px 15px;margin:20px 0 25px;border:1px solid #62423f;background:linear-gradient(120deg,#3e292a75,#281e2660);border-radius:13px}.face-icon{width:30px;height:30px;display:grid;place-items:center;flex-shrink:0;color:var(--accent)}.face-icon svg{width:28px;height:28px}.face-note strong{display:block;font-size:12px;font-weight:550;color:#f3d7d0;line-height:1.5}.face-note p{font-size:11px;color:#bba7a5;line-height:1.5;margin:3px 0 0}.face-note.compact{padding:11px 12px;margin:0 0 23px;gap:9px}.face-note.compact .face-icon{width:24px}.face-note.compact svg{width:23px}.face-note.compact strong{font-size:11px;font-weight:450;color:#cdb8b4}.choices{display:grid;gap:10px}.style-grid{grid-template-columns:1fr 1fr}.card{position:relative;overflow:hidden;border:1px solid #44343a;border-radius:15px;background:var(--panel);padding:0;color:white;text-align:left;isolation:isolate;transition:transform .15s,border-color .15s,box-shadow .15s;min-width:0}.card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}.card:after{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,transparent 40%,#100b0d30 57%,#100b0df0 100%)}.card .label{position:absolute;z-index:1;bottom:16px;left:14px;right:10px;font-weight:550;font-size:16px}.card .label small{display:block;font-size:10px;font-weight:400;color:#d3c4c0;margin-top:5px;line-height:1.4}.card .check{display:grid;place-items:center;position:absolute;z-index:2;top:10px;right:10px;width:21px;height:21px;border:1px solid #fff9;border-radius:50%;background:#160f1633;backdrop-filter:blur(6px);color:transparent}.card .check svg{width:13px;height:13px;stroke-width:2.5}.card[aria-checked="true"]{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent),0 0 28px #c7847d15}.card[aria-checked="true"] .check{color:#322022;background:var(--accent);border-color:var(--accent)}.style-grid .card{aspect-ratio:0.68}.style-grid img{object-position:center 24%}.section-title{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13px;font-weight:550;margin:0 0 12px}.section-title span{font-size:10px;font-weight:400;color:#90848b}.ethnicity-grid{grid-template-columns:repeat(3,1fr)}.ethnicity-grid .card{aspect-ratio:.68;border-radius:12px}.ethnicity-grid .label{font-size:12px;bottom:13px;left:10px;line-height:1.3}.ethnicity-grid .check{width:18px;height:18px;right:7px;top:7px}.group{margin-bottom:24px}.body-grid{grid-template-columns:repeat(5,1fr);gap:7px}.body-grid .card{aspect-ratio:.61;border-radius:9px}.body-grid .label{font-size:10px;left:0;right:0;text-align:center;bottom:10px}.body-grid .check{width:15px;height:15px;top:5px;right:5px}.body-grid .check svg{width:10px;height:10px}.hair-grid{grid-template-columns:repeat(4,1fr);gap:8px}.hair-grid .card{aspect-ratio:.7;border-radius:10px}.hair-grid .label{font-size:11px;left:8px;bottom:11px}.hair-grid .check{width:16px;height:16px;top:6px;right:6px}.color-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.swatch{display:flex;align-items:center;gap:7px;min-height:44px;padding:7px;background:#201b20;border:1px solid #3d3238;color:#c7b9bd;border-radius:9px;font-size:10px}.swatch:before{content:"";height:17px;width:17px;flex-shrink:0;border-radius:50%;background:var(--swatch);border:1px solid #ffffff26}.swatch[aria-checked="true"]{border-color:var(--accent);color:#ffe1d9;background:#38272a}.portrait-preview{height:190px;position:relative;border-radius:16px;overflow:hidden;margin:8px 0 25px;background:#33272d}.portrait-preview img{height:100%;width:100%;object-fit:cover;object-position:50% 24%}.portrait-preview:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#100c0eb5,transparent 80%)}.portrait-preview p{position:absolute;z-index:1;left:22px;bottom:18px;max-width:140px;font-family:Georgia,serif;font-style:italic;font-size:28px;line-height:1.15;letter-spacing:-.6px;margin:0}.field-label{font-size:13px;font-weight:500;display:block;margin-bottom:12px}.name-wrap{display:flex;border:1px solid #493a40;background:#201a1f;border-radius:12px;margin-bottom:26px;align-items:center;padding-right:8px}.name-wrap input{min-width:0;width:100%;padding:16px;border:0;background:none;color:var(--text);font-size:16px;border-radius:12px}.shuffle{background:#33282e;color:#e2b9b1;border:0;border-radius:8px;width:38px;height:38px;display:grid;place-items:center;flex-shrink:0}.shuffle svg{width:19px;height:19px}.age-grid{grid-template-columns:repeat(4,1fr)}.pill{display:flex;align-items:center;justify-content:center;gap:8px;min-height:58px;background:#211b20;border:1px solid #45363d;color:#ccbfc3;border-radius:12px;font-size:14px;transition:border-color .2s,background .2s}.pill[aria-checked="true"]{border-color:var(--accent);background:#3a282b;color:#ffe5de}.select-wrap{position:relative}.select-wrap svg{position:absolute;right:16px;top:18px;width:17px;height:17px;pointer-events:none;color:var(--accent)}select{appearance:none;width:100%;padding:17px 45px 17px 17px;border:1px solid #48363e;border-radius:12px;background:#211a20;color:#d2c2c7;font-size:14px;line-height:1.4;cursor:pointer}select.selected{border-color:#a87772;color:#ffe3db}.personality-group{margin-bottom:26px}.personality-grid{grid-template-columns:repeat(3,1fr);gap:8px}.personality-grid .pill{min-height:51px;font-size:12px}.personality-grid .pill span{font-size:17px;opacity:.85}.mini-label{font-size:10px;color:#b6a0a7;letter-spacing:2px;text-transform:uppercase;text-align:center;margin-top:20px}.footer{position:fixed;z-index:5;bottom:0;left:0;right:0;background:linear-gradient(180deg,#11101200,#111012 20%);padding:28px 24px max(13px,env(safe-area-inset-bottom))}.footer-inner{max-width:632px;margin:auto}.hint{text-align:center;font-size:11px;color:#ac939a;min-height:16px;margin:0 0 11px}.next{height:58px;width:100%;display:flex;justify-content:center;align-items:center;gap:18px;color:#2c191a;background:linear-gradient(110deg,#f7c1b4,#ed9da3);border:none;border-radius:13px;font-weight:650;font-size:16px;box-shadow:0 5px 30px #d1797d17;transition:opacity .2s,transform .15s}.next svg{height:19px;width:19px}.next:disabled{background:#2b2329;color:#786771;box-shadow:none}.next:active:not(:disabled){transform:scale(.985)}.footer-note{display:flex;justify-content:center;align-items:center;gap:6px;color:#776b73;font-size:9px;letter-spacing:.3px;margin-top:12px}.footer-note svg{width:11px;height:11px;stroke-width:1.3}.ready .intro{margin-top:2px;margin-bottom:22px}.ready-portrait{height:290px;max-width:360px;margin:auto auto 24px;position:relative;border:1px solid #5a3f42;border-radius:20px;overflow:hidden}.ready-portrait img{height:100%;width:100%;object-fit:cover;object-position:center 22%}.ready-portrait:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 42%,#110e12df)}.ready-portrait .badge{position:absolute;z-index:1;left:14px;top:14px;display:flex;align-items:center;gap:6px;font-size:10px;background:#1b121ba8;backdrop-filter:blur(10px);border:1px solid #ffffff22;border-radius:30px;padding:8px 11px}.badge svg{width:13px;height:13px;color:var(--accent)}.ready-portrait .caption{position:absolute;z-index:1;bottom:20px;left:20px}.caption strong{display:block;font-family:Georgia,serif;font-size:28px;font-weight:400;font-style:italic}.caption span{display:block;font-size:11px;color:#dfc7c7;margin-top:6px}.ready-message{text-align:center}.ready-message p{font-size:15px;margin:0 0 9px;color:#f2e1dc}.ready-message .muted{font-size:12px;color:#b69da4;line-height:1.6}.ready .face-note{margin-top:20px;margin-bottom:0}.enter{animation:enter .25s ease both}@keyframes enter{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@media(hover:hover){.card:hover img{transform:scale(1.035)}.card:hover,.pill:hover{border-color:#c28c86}.next:hover:not(:disabled){filter:brightness(1.05)}}@media(min-width:700px){.app{padding-top:20px}.header{padding-bottom:36px}.intro{margin-bottom:28px}h1{font-size:43px}.style-grid{max-width:490px;margin:auto;gap:16px}.face-note{max-width:490px;margin-left:auto;margin-right:auto}.style-grid .card{aspect-ratio:.77}.ethnicity-grid{gap:14px}.ethnicity-grid .card{aspect-ratio:.83}.body-grid .card{aspect-ratio:.78}.hair-grid .card{aspect-ratio:.91}.color-grid{grid-template-columns:repeat(7,1fr)}.swatch{justify-content:center;flex-direction:column;gap:7px;padding:10px 5px}.ready-portrait{height:330px}.footer{padding-bottom:20px}}@media(max-width:360px){.app{padding-left:16px;padding-right:16px}.footer{padding-left:16px;padding-right:16px}.header{padding-bottom:21px}.face-note{padding:11px}.card .label{left:11px;font-size:14px}.color-grid{gap:6px}.swatch{font-size:9px;padding:6px;gap:5px}.swatch:before{width:14px;height:14px}.ethnicity-grid .label{font-size:11px;left:7px}.body-grid .label{left:0;font-size:9px}.hair-grid .label{font-size:10px;left:6px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* A deeper, playful red / violet mood. */
:root{--bg:#140b19;--panel:#27132e;--accent:#ff70a6;--line:#51233f;--muted:#c3a5bf}.ambient{background:radial-gradient(ellipse at 5% 16%,#a9094938,transparent 58%),radial-gradient(ellipse at 100% 55%,#6b16ac36,transparent 62%),linear-gradient(155deg,#190c1b,#160b20 55%,#210c1b)}.topline{justify-content:center}.step-count{color:#ffc5db}.back{position:absolute;left:0;margin:0}.progress .done{background:#a34176}.progress .current{background:linear-gradient(90deg,#ff466f,#cf56ff);box-shadow:0 0 14px #ef439a66}.eyebrow{color:#ff83b7}.intro h1 em{background:linear-gradient(95deg,#ff8b9f,#ef72df 75%,#bb76ff);background-clip:text;-webkit-background-clip:text;color:transparent}.face-note{border-color:#82305e;background:linear-gradient(110deg,#851b4338,#6b258a38);box-shadow:inset 0 1px 0 #ffffff08}.face-note strong{color:#ffbcd7}.face-note p{color:#e0aac5}.face-note.compact{display:block;text-align:center;max-width:none;border-radius:100px;padding:13px 12px;background:linear-gradient(105deg,#8e1e4933,#6f269544)}.face-note.compact .face-icon{display:none}.face-note.compact strong{display:block;width:100%;text-align:center;color:#ffb5d5;font-size:11px}.card{border-color:#62304d}.card[aria-checked="true"]{box-shadow:0 0 0 2px #ff70a6,0 0 26px #df30972b}.card[aria-checked="true"] .check{background:linear-gradient(135deg,#ff79a4,#d77cff);color:#240c28}.swatch,.pill{background:linear-gradient(130deg,#351827,#291632);border-color:#663451}.swatch[aria-checked="true"],.pill[aria-checked="true"]{background:linear-gradient(130deg,#7a214d,#582773)}.name-wrap{background:#2b162d;border-color:#6b3155}.shuffle{background:#562044;color:#ffb5dc}.footer{background:linear-gradient(180deg,#140b1900,#140b19 22%)}.next{color:#fff;background:linear-gradient(105deg,#f63763,#dc2c9e 55%,#9144e8);box-shadow:0 6px 32px #ed298e38}.next:disabled{background:#372039;color:#a27b9d;box-shadow:none}.hint{color:#d89dbc}.footer-note{color:#a27b9d}.chemistry-fields{display:grid;gap:14px}.popup-trigger{display:flex;align-items:center;gap:15px;width:100%;padding:19px 18px;text-align:left;position:relative;border:1px solid #7d365f;border-radius:17px;background:linear-gradient(125deg,#4b1b3d85,#301539);color:#ffe9f6;box-shadow:inset 0 1px 0 #ffffff08;transition:transform .16s,border-color .16s}.popup-trigger:hover{border-color:#ff72b4;transform:translateY(-2px)}.popup-trigger.needs-choice{border-color:#cd4e89;background:linear-gradient(120deg,#6e234c88,#48205e88)}.trigger-icon{display:grid;place-items:center;width:43px;height:43px;flex-shrink:0;border-radius:13px;background:linear-gradient(140deg,#f238743d,#a341e94d);color:#ff89bd;font-size:27px;line-height:1}.trigger-copy{display:flex;flex-direction:column;gap:6px;min-width:0}.trigger-label{font-size:11px;color:#ce9ebd}.trigger-copy strong{font-size:15px;font-weight:550;letter-spacing:.1px}.trigger-arrow{margin-left:auto;font-size:23px;color:#ff82bb}.chemistry-whisper{text-align:center;color:#cb8cb7;font-family:Georgia,serif;font-style:italic;font-size:14px;margin:24px 0 0}.choice-dialog{position:fixed;inset:0;margin:auto;padding:25px 22px 0;border:1px solid #9d4280;border-radius:26px;color:#fff2fa;background:radial-gradient(ellipse at 100% 0,#8e24605c,transparent 65%),linear-gradient(145deg,#2d142f,#1f102c);box-shadow:0 20px 100px #0009,0 0 55px #d32b7a1c;width:min(520px,calc(100% - 32px));max-height:min(760px,90dvh);overflow:auto;overscroll-behavior:contain}.choice-dialog::backdrop{background:#100518c9;backdrop-filter:blur(8px)}.sheet-handle{display:none}.modal-close{position:absolute;top:14px;right:15px;background:#ffffff0b;border:1px solid #ffffff1b;border-radius:50%;height:32px;width:32px;color:#e7adc9;font-size:23px;line-height:1}.modal-heading{text-align:center;padding:0 12px 23px}.modal-icon{display:inline-grid;place-items:center;width:50px;height:50px;border:1px solid #a84383;background:linear-gradient(135deg,#b72a6c44,#7b38bd55);border-radius:16px;color:#ff93c8;font-size:30px;margin:6px 0 16px}.modal-heading .eyebrow{font-size:9px;letter-spacing:2px;margin-bottom:10px}.modal-heading h2{font-size:26px;font-weight:580;letter-spacing:-.8px;margin:0 0 10px}.modal-heading>p:last-child{font-size:12px;color:#c89bb9;line-height:1.5;margin:0}.modal-options{display:grid;grid-template-columns:1fr 1fr;gap:9px}.modal-option{min-height:55px;padding:12px 10px;display:flex;align-items:center;gap:7px;text-align:left;border:1px solid #633355;background:#ffffff04;border-radius:12px;color:#ddbed5;font-size:12px;line-height:1.35}.option-symbol{font-size:17px;color:#e974b6;flex-shrink:0}.option-check{margin-left:auto;width:14px;height:14px;flex-shrink:0;color:transparent}.option-check svg{width:14px;height:14px}.modal-option[aria-checked="true"]{background:linear-gradient(125deg,#98235a66,#782cab66);border-color:#ff79b6;color:#fff2fa;box-shadow:0 0 15px #f6438a17}.modal-option[aria-checked="true"] .option-check{color:#ffb4da}.modal-footer{position:sticky;bottom:0;margin-top:12px;padding:17px 0 max(20px,env(safe-area-inset-bottom));background:linear-gradient(180deg,#25112b00,#25112b 18%)}.modal-save{height:53px;display:flex;align-items:center;justify-content:center;gap:15px;width:100%;border:0;border-radius:12px;background:linear-gradient(100deg,#fa416b,#d62e9e 55%,#9546ed);color:#fff;font-weight:600;font-size:15px}.modal-save:disabled{opacity:.45}.modal-save span{font-size:23px}@media(max-width:600px){.choice-dialog{inset:auto 0 0;margin:0 auto;width:100%;max-height:87dvh;border-radius:25px 25px 0 0;padding:10px 20px 0}.sheet-handle{display:block;width:34px;height:4px;border-radius:4px;background:#9e5e8d;margin:0 auto 14px}.modal-close{top:23px}.modal-heading{padding-bottom:21px}.modal-icon{margin-top:5px;margin-bottom:13px}.modal-heading h2{font-size:25px}.modal-options{gap:8px}.modal-option{min-height:53px}.trigger-copy strong{font-size:14px}.face-note.compact strong{font-size:10.5px}}@media(max-width:360px){.popup-trigger{padding:17px 13px;gap:11px}.modal-option{font-size:11px;padding:10px 8px;gap:5px}.option-symbol{font-size:15px}.modal-heading h2{font-size:23px}}
.edit-face{position:absolute;right:0;border:1px solid #914076;background:linear-gradient(110deg,#761e4944,#64288255);border-radius:20px;padding:7px 10px;color:#ffc0df;font-size:10px;letter-spacing:.1px;display:flex;align-items:center;gap:5px}.edit-face span{font-size:14px;line-height:1}.upload-card{position:relative;overflow:hidden;width:100%;min-height:187px;padding:22px 18px;border:1px dashed #df599f;border-radius:19px;background:radial-gradient(ellipse at 50% 0,#e53b8e20,transparent 75%),linear-gradient(115deg,#5a1c403e,#4b207649);color:#ffe4f4;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;transition:border-color .2s,transform .2s;box-shadow:inset 0 0 35px #c5258910}.upload-card:hover{border-color:#ffa7d3;transform:translateY(-1px)}.upload-orbit{width:49px;height:49px;border:1px solid #d8549a;border-radius:15px;display:grid;place-items:center;background:linear-gradient(135deg,#be2d6355,#7d3ecb66);color:#ffc3e2;font-size:30px;font-weight:300;margin-bottom:2px;box-shadow:0 0 30px #e4339e25}.upload-card strong{font-size:17px;font-weight:550;letter-spacing:-.3px}.upload-card>span:not(.upload-orbit):not(.upload-preview-copy){font-size:12px;color:#d6a3c5}.upload-card small{font-size:10px;color:#c185b0}.upload-permission{font-size:9px;line-height:1.5;color:#b183a6;text-align:center;margin:11px 0 0}.upload-error{font-size:11px;color:#ffb8cc;text-align:center;line-height:1.4;margin:8px 0 0}.upload-error:empty{display:none}.sample-heading{display:flex;align-items:center;gap:12px;margin:21px 0 13px}.sample-heading span{height:1px;flex:1;background:linear-gradient(90deg,transparent,#753054)}.sample-heading span:last-child{transform:rotate(180deg)}.sample-heading p{font-size:10px;color:#c697b8;margin:0;white-space:nowrap}.face-samples{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.face-sample{position:relative;isolation:isolate;aspect-ratio:.68;min-width:0;padding:0;border:1px solid #7c3c60;border-radius:11px;background:#30172e;overflow:hidden}.face-sample img{height:100%;width:100%;object-fit:cover;object-position:50% 18%;display:block}.face-sample .check{position:absolute;bottom:5px;right:4px;width:14px;height:14px;display:none;border-radius:50%;background:#ff79b5;color:#240c28;place-items:center}.face-sample .check svg{width:10px;height:10px}.face-sample[aria-checked="true"]{border-color:#ff82bf;box-shadow:0 0 0 2px #ff82bf}.face-sample[aria-checked="true"] .check{display:grid}.face-promise{margin:20px 0 0;text-align:center;font-size:11px;line-height:1.65;color:#e5a5ce}.upload-card.has-photo{height:205px;padding:0;border-style:solid;display:block;text-align:left}.upload-card.has-photo>img{height:100%;width:100%;object-fit:cover;object-position:50% 23%;display:block}.upload-card.has-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,#200c28ef)}.upload-preview-copy{position:absolute;left:18px;bottom:19px;z-index:1;display:flex;flex-direction:column;gap:7px}.upload-preview-copy small{color:#ffd0e8}.face-dialog .face-samples{grid-template-columns:repeat(3,1fr);gap:10px}.face-dialog .face-sample{aspect-ratio:1}.face-dialog .upload-card{min-height:158px;padding:16px}.face-dialog .modal-heading{padding-bottom:15px}.face-dialog .modal-icon{margin-bottom:10px}.face-dialog .modal-heading h2{font-size:24px}.face-dialog .sample-heading{margin-top:18px}.face-dialog .upload-card.has-photo{min-height:170px;height:170px;padding:0}.face-dialog .modal-footer{margin-top:10px}@media(min-width:700px){.upload-card{max-width:490px;margin-left:auto;margin-right:auto}.face-samples,.sample-heading,.face-promise{max-width:490px;margin-left:auto;margin-right:auto}.face-samples{gap:12px}.face-dialog .face-samples{gap:10px}}@media(max-width:360px){.edit-face{font-size:9px;padding:6px 8px}.edit-face span{font-size:12px}.face-samples{gap:6px}.face-sample{border-radius:8px}.upload-card{min-height:178px}.upload-card strong{font-size:16px}.face-dialog .modal-heading h2{font-size:22px}}
/* The final reveal: the supplied blurred clip, anticipation, then one CTA. */
.reveal-step .app{padding-bottom:30px}.reveal-step .header{padding-bottom:25px}.reveal-step main{padding-top:18px}.reveal-step main.reveal-finished{padding-top:0}.reveal-video-card{position:relative;isolation:isolate;width:100%;max-width:440px;aspect-ratio:.72;max-height:58svh;min-height:330px;margin:0 auto;border:1px solid #a05572;border-radius:22px;overflow:hidden;background:#674452;box-shadow:0 20px 65px #0003,0 0 40px #a3207f13}.reveal-video-card video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:blur(3px);transform:scale(1.035);pointer-events:none}.reveal-shade{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,#25102220,#28102524 38%,#2410245c);pointer-events:none}.reveal-loading{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px 22px;gap:38px}.reveal-message{font-size:clamp(23px,6.4vw,30px);font-weight:500;line-height:1.4;letter-spacing:-.55px;color:#fffafc;text-align:center;margin:0;max-width:360px;text-wrap:balance;text-shadow:0 2px 20px #32132733}.reveal-progress{height:5px;width:100%;background:#fff5;border-radius:20px;overflow:hidden}.reveal-progress span{display:block;width:100%;height:100%;border-radius:20px;background:#fffafc;transform-origin:left;transform:scaleX(0);transition:transform .1s linear;box-shadow:0 0 15px #ffeffa55}.video-next{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:3;display:flex;align-items:center;justify-content:center;gap:20px;min-width:210px;min-height:72px;padding:18px 32px;border:1px solid #ffffff38;border-radius:18px;color:white;background:linear-gradient(110deg,#f63763,#d52b9e 55%,#9144e8);box-shadow:0 10px 40px #42133477,0 0 35px #f63b9d2b;font-size:25px;font-weight:650;letter-spacing:-.5px}.video-next svg{width:27px;height:27px;stroke-width:2}.video-next:hover{filter:brightness(1.08)}.video-next:active{transform:translate(-50%,-50%) scale(.97)}.reveal-caption{position:absolute;bottom:25px;left:15px;right:15px;text-align:center;font-family:Georgia,serif;font-style:italic;font-size:21px;color:#fff0f6;z-index:2;text-shadow:0 2px 12px #30142988}.reveal-after{margin:22px auto 0;max-width:440px}.reveal-after.ready-message>p:first-child{font-size:13px}.reveal-after.ready-message .muted{font-size:11px;line-height:1.6;max-width:280px;margin:0 auto}.reveal-finished #reveal-intro{animation:enter .35s ease both}.reveal-finished .intro{margin-bottom:22px}.reveal-finished .intro h1{font-size:clamp(29px,7.4vw,39px)}.reveal-finished .subtitle{font-size:12px}.reveal-finished .reveal-shade{background:linear-gradient(180deg,#28112515,#2d11302d 45%,#210d2770)}@media(min-width:700px){.reveal-step .header{padding-bottom:30px}.reveal-step main{padding-top:0}.reveal-video-card{min-height:360px;max-height:58svh}.reveal-finished .intro h1{font-size:39px}}@media(max-width:360px){.reveal-loading{padding:25px 18px;gap:32px}.reveal-message{font-size:23px}.reveal-step .header{padding-bottom:20px}.video-next{min-width:190px;min-height:66px;font-size:23px}.reveal-finished .subtitle{font-size:11px}}
/* A clearer upload and an unmistakable relationship choice. */
.sample-heading{margin-top:28px;margin-bottom:17px;gap:10px}.sample-heading p{font-size:16px;font-weight:550;letter-spacing:-.25px;color:#f8d5ed;white-space:normal;text-align:center;line-height:1.4}.sample-heading span{max-width:22px}.face-samples{gap:9px}.upload-card{min-height:220px}.upload-card.has-photo{height:220px}.upload-feedback{color:#d9a4c9;text-align:center;font-size:11px;line-height:1.5;margin:12px 0 0}.upload-card.is-loading{cursor:wait;gap:12px;background:radial-gradient(ellipse at 30% 30%,#e62c8840,transparent 65%),radial-gradient(ellipse at 90% 90%,#9d40d74d,transparent 70%),#2a1231;border-style:solid;border-color:#b74490}.upload-card.is-loading strong{font-size:19px}.upload-loader{position:relative;display:grid;place-items:center;width:60px;height:60px;margin-bottom:4px;border-radius:50%;background:radial-gradient(circle,#e6348f33,transparent 75%);box-shadow:0 0 30px #d6349a22}.upload-loader:before{content:"";position:absolute;inset:0;border:2px solid #e86bbd30;border-top-color:#ffb2d3;border-right-color:#d45cff;border-radius:50%;animation:upload-spin 1.8s cubic-bezier(.45,.05,.25,1) infinite}.upload-loader>span{color:#ffb1db;font-size:28px;animation:upload-heart 1.4s ease-in-out infinite}.upload-loading-track{display:block;overflow:hidden;width:160px;height:3px;border-radius:10px;background:#e094c530;margin-top:7px}.upload-loading-track>span{display:block;height:100%;width:100%;transform-origin:left;transform:scaleX(0);background:linear-gradient(90deg,#ff75a3,#d57bff);animation:upload-fill 4s ease-in-out forwards;border-radius:10px}.upload-done .upload-preview-copy{left:20px;right:16px;bottom:20px;gap:9px}.upload-done .upload-preview-copy strong{font-size:21px}.upload-done .upload-preview-copy small{font-size:10px;color:#ffe2f2;line-height:1.5}.upload-done-check{display:grid;place-items:center;width:37px;height:37px;border:1px solid #ffc6df99;border-radius:50%;background:linear-gradient(135deg,#e94e9b80,#ac57dc80);backdrop-filter:blur(8px);margin-bottom:2px;box-shadow:0 0 22px #f76ac82e}.upload-done-check svg{height:20px;width:20px;stroke-width:2.5}.face-sample:disabled{opacity:.5;cursor:wait}.chemistry-fields{gap:23px}.choice-field{min-width:0}.choice-label{display:flex;align-items:center;justify-content:space-between;margin:0 0 11px 2px;font-size:16px;font-weight:580;color:#f8d8ee;letter-spacing:-.2px}.choice-label>span{font-size:9px;font-weight:600;letter-spacing:.6px;border:1px solid #c8589c66;background:#a42e6726;padding:4px 7px;border-radius:20px;color:#ff9dcc}.relationship-field .choice-label{font-size:20px;color:#ffecf8;margin-bottom:13px}.choice-field .popup-trigger{padding:16px;min-height:80px;border-radius:16px;gap:14px;border-color:#854373;background:linear-gradient(115deg,#5e1d444d,#572a6e50);box-shadow:inset 0 1px 0 #ffffff0b,0 6px 25px #0e061c20}.choice-field .trigger-icon{width:43px;height:43px;font-size:28px;border:1px solid #d5529e55;box-shadow:0 0 20px #d9399219;background:linear-gradient(140deg,#ed387c55,#ac4ee466);color:#ff98ce}.choice-field .trigger-copy{gap:5px}.choice-field .trigger-copy strong{font-size:18px;line-height:1.3;font-weight:570}.choice-field .trigger-copy small{font-size:10px;color:#d39cbd;line-height:1.4}.choice-field .trigger-arrow{font-size:33px;line-height:1;color:#ffb3d9;font-weight:300}.relationship-field .popup-trigger{min-height:103px;padding:19px 16px;border-color:#f069b0;box-shadow:0 0 28px #df338f23,inset 0 1px 0 #ffd2eb16;background:radial-gradient(ellipse at 0 50%,#cc28602e,transparent 80%),linear-gradient(110deg,#79295170,#60278680)}.relationship-field .trigger-icon{width:49px;height:49px;font-size:32px;border-color:#ef79bc66;box-shadow:0 0 25px #e954b335}.relationship-field .trigger-copy strong{font-size:21px;letter-spacing:-.35px;color:#fff1fa}.relationship-field .trigger-copy small{color:#ffb3d9;font-size:11px}.relationship-field .popup-trigger.needs-choice .trigger-arrow{animation:choose-nudge 1.8s ease-in-out infinite}.chemistry-whisper{font-size:13px;margin-top:19px}@keyframes upload-spin{to{transform:rotate(360deg)}}@keyframes upload-heart{50%{transform:scale(1.12);opacity:.7}}@keyframes upload-fill{0%{transform:scaleX(0)}12%{transform:scaleX(.16)}24%,34%{transform:scaleX(.32)}53%,64%{transform:scaleX(.64)}78%{transform:scaleX(.88)}91%{transform:scaleX(.9)}100%{transform:scaleX(1)}}@keyframes choose-nudge{50%{transform:translateX(3px)}}@media(max-width:360px){.sample-heading p{font-size:15px}.sample-heading span{max-width:11px}.choice-label{font-size:15px}.relationship-field .choice-label{font-size:19px}.relationship-field .trigger-copy strong{font-size:19px}.relationship-field .trigger-icon{width:42px;height:42px}.choice-field .popup-trigger{gap:11px;padding:15px 13px}.choice-field .trigger-copy strong{font-size:17px}.relationship-field .trigger-copy strong{font-size:19px}}@media(prefers-reduced-motion:reduce){.upload-loader:before,.upload-loader>span,.upload-loading-track>span,.relationship-field .popup-trigger.needs-choice .trigger-arrow{animation:none}}

/* A slower reveal and softer, intimate typography. */
.reveal-message{font-family:Georgia,"Times New Roman",serif;font-style:italic;font-size:clamp(21px,5.6vw,26px);font-weight:400;line-height:1.5;letter-spacing:-.25px;color:#fff1f5;max-width:320px;text-shadow:0 2px 18px #30112455}.reveal-loading{gap:32px}.reveal-progress span{transition:transform .18s ease-out}@media(max-width:360px){.reveal-message{font-size:21px}.reveal-loading{gap:30px}}

/* Lower the anticipation overlay; leave the finished Next button centered. */
.reveal-loading{inset:auto 0 16% 0;justify-content:flex-end;padding:0 22px}.selection-done{border-style:solid;background:radial-gradient(ellipse at 50% 25%,#c82f8450,transparent 70%),linear-gradient(130deg,#492044,#342047)}.selection-done .upload-done-check{width:48px;height:48px;margin-bottom:8px}.selection-done .upload-done-check svg{width:24px;height:24px}@media(max-width:360px){.reveal-loading{padding:0 18px}}

/* Center only the three step-six labels; keep the controls unchanged. */
.choice-label{position:relative;justify-content:center;text-align:center;margin-left:0}.choice-label>span{position:absolute;right:0;top:50%;transform:translateY(-50%)}
